Notizen zu meinen Büchern und anderen Themen RSS 2.0
 Tuesday, December 09, 2008

von Peter Monadjemi

PDCTrendGesucht_Klein
(wohin geht die Reise? - während einer Keynote der PDC 2008)

Microsoft's Professional Developers Conference 2008 liegt inzwischen wieder ein paar Wochen zurück. Die folgende kleine "Nachlese" soll noch einmal die wichtigsten Themen (aus meiner subjektiven und mit Sicherheit alles andere als vollständigen Sicht) zusammenfassen.

Die wichtigsten Themen der PDC 2008 waren:

  • Die Windows Azure Services Plattform
  • Der neue Application Server Dublin und die ebenfalls neue "Modellierungssplattform" Oslo (heute ist alles eine Plattform)
  • Visual Studio 2010 (mit Schwerpunkt Team System) und .NET Framework 4 (übrigens mit einem neuem .NET-Logo)
  • C# 4 und Visual Basic 10
  • Windows 7

Der "Knaller" war natürlich Azure. Nicht, weil sich damit ganz tolle neue Anwendungen entwickeln lassen (im Grunde sind es gewöhnliche ASP.NET-Web- und Webservice-Anwendungen, wo Entwickler zudem auf vertraute Dinge wie ADO.NET verzichten müssen) oder weil das Blau auf den Werbeprospekten so wunderschön tiefblau ist, sondern weil Microsoft damit (endlich) den Schritt in Richtung einer Services-Plattform geht, die sich hinter den Angeboten von Amazon oder Google nicht verstecken muss, und Kunden (gegen Bezahlung) in naher Zukunft eine hochskalierbare und entsprechend performante Hosting-Plattform für Web-Anwendungen anbieten wird, für die Entwickler mit vertrauten Werkzeugen (Visual Studio und .NET Framework) entwickeln können.

 

Der entscheidende Unterschied zwischen einem Azure-Hosting und dem traditionellen Web-Hosting ist die Skalierbarkeit und der Umstand, dass der Benutzer/Kunde über sein Webinterface die benötigten Dienste jederzeit hinzunehmen oder abbestellen kann. Dies sind attraktive Rahmenbedingungen für das Hosting großer Webanwendungen, die ein einzelner traditioneller Provider im Allgemeinen nicht bieten kann (Microsoft hat bereits und will in Zukunft weitere Milliarden (!) in die Hardware investieren - die Rede ist von 20 DataCentern, von denen jedes einzelne 1 Milliarde US$ kosten soll). Wie es bei Amazon (klingt ein wenig ungewöhnlich, das ist klar, da Amazon nicht gerade als Provider für Server-Kapazitäten bekannt ist) mit dem Elastic Cloud Computing Service schon seit längerem möglich ist, "kauft" sich ein Anwender einfach zusätzliche (virtuelle) Server, wenn die Performance seiner Anwendung gesteigert werden soll. Ein intelligenter "Controller" (bei Azure der Fabrique Controller) sorgt für die Verteilung der Anwendung auf die zur Verfügung stehenden Ressourcen. Wird die Performance nicht mehr benötigt, werden die Server wieder abbestellt, was über ein Web-Interface erledigt wird. Weder bekommt die Anwendung davon etwas mit, noch muss sie dafür ausgelegt sein. Anwendungen, die auf Azure am Anfang gehostet werden, werden vermutlich klassische Webanwendungen (bzw. Teile einer größeren Webanwendung sein) und Webservices.

 

Während der Azure-Keynote am ersten Tag der PDC hat die Firma Bluehoo eine neue Social Networking-Plattform vorgestellt, bei der sich die Teilnehmer über ihr Handy anmelden und danach sehen können, welche anderen Teilnehmer sich gerade in der Nähe aufhalten. Diese Anwendung hätte man natürlich auch bei einem traditionellen Provider hosten können, doch wäre es für den Betreiber der Anwendung nicht steuerbar, wenn kurzfristig statt den üblichen 1.000 auf einmal 100.000 seiner Anwender gleichzeitig online sind.

Ein Kunde kann preiswert einsteigen und bei Bedarf Dienste dazu kaufen. Das ist in etwa so als würde Microsoft ein Word für 29.99€ verkaufen und eine Grammatikprüfung oder einen Editor für ClipArts für jeweils 20 Cent pro Tag extra vermieten, in dem der Freischaltcode zeitlich begrenzt wird (in der Praxis würde das aber nicht funktionieren, da es für die Mitbewerber sehr einfach wäre das Angebot zu unterbieten – nach dem Motto "Wenn Sie das neue SuperDuperOffice für 10€ noch heute bestellen, sind Grammatikprüfung und ClipArt-Editor für die ersten 6 Monate gratis" -  bei einer Hardwareinfrastruktur, die mehrere Milliarden US$ kostet ist das nicht möglich - OpenSource kann hier nicht ganz mithalten).

 

Bestehende ASP.NET-Webanwendungen können nicht nach Azure 1:1 übernommen werden, da hier andere Spielregeln gelten. Statt ADO.NET und DataSets gibt es die eher schlichten SQL Data Services (SDS). Auch der Umstand, dass jede Anwendung in einer strengen „Sicherheitssandbox“ ausführt wird eine Rolle spielen. Auch das direkte Debuggen einer Azure-Anwendung ist nicht möglich, es muss auf dem Desktop vor dem Hochladen der Anwendung in der Wolke geschehen (oder per Einträge in Log Files, die dann z.B. mit der PowerShell elegant ausgewertet werden können).

Azure - was dahinter steckt

Die Azure Services Platform besteht aus insgesamt vier Kernelementen:

  1. Windows Azure
  2. SQL Services
  3. .NET Services
  4. Live Services

DieWolke
(Abbbildung: Ein Blick in das innere der Wolke)

 

Kernelement der Azure Services Plattform ist das neue "Wolken-Betriebssystem" Windows Azure, hinter dem ein gewöhnlicher Windows Server 2008 mit IIS 7.0 und dem .NET Framework als Grundbestandteile steht. Jede Anwendung läuft in ihrer eigenen virtuellen Maschine. Hardware-Virtualisierung spielt daher eine zentrale Rolle. Diese virtuellen Maschinen muss der Entwickler allerdings nicht selber anlegen, darum kümmert sich natürlich Azure. Der Entwickler gibt im Rahmen eines Web-Interface lediglich bestimmte Eckdaten vor. Der gigantische Datenstore von Windows Azure basiert zwar auf einem SQL Server 2008-Cluster, doch wird dieser nicht wie in einer typischen Webanwendung per ADO.NET angesprochen, sondern über die schlichten SQL Data Services. Microsoft macht sich so schnell nicht selber Konkurrenz. Wer einen SQL Server 2008 hosten will, muss ihn auch voll bezahlen.

 

>>Mit den SQL Services lassen sich Tabellendaten in einer SQL Server-Datenbank (per LINQ) ansprechen. Aktuell gibt es aber nur die SQL Data Services, die bereits seit Frühjahr letzten Jahres zur Verfügung stehen.  Für die Zukunft sind weitere (natürlich kostenpflichtige) Services, etwa Reporting, geplant.

 

>>Mit den .NET Services (vormals BizTalk Services) lassen sich Unternehmensdaten im Stile von BizTalk Server (wenngleich BizTalk Server und BizTalk Services nicht direkt, sondern eher konzeptionell verwandt sind) zwischen Unternehmensgrenzen "orchestriert" (also gemäß festgelegten und in der Regel aus Unternehmensprozessen abgeleiteten Prozessen) austauschen. Auch diese Services gibt es bereits eine Weile als Vorabversion.

>>Mit den Live Services lassen sich  jene Daten ansprechen, die im Rahmen von Windows Live gespeichert sind, z.B. Kontaktdaten oder Fotos. Dies ist der Bereich, der mir am wenigsten behagt. Wozu soll das gut sein und was haben die Live-Services mit Unternehmensanwendungen zu tun? Vermutlich wurden die Live Services nur deswegen in das Gesamtbild aufgenommen, damit nicht ständig gefragt wird, wie sich Windows Live von Azure unterscheidet. Jetzt kann man sagen: Frag nicht so blöd, es ist ein Teil davon (hier erklärt Dariusz Parys, wie das Live Framework SDK installiert wird).

Da der Azure-Server "in den Wolken" läuft, sieht man ihn als Anwender/Entwickler genauso wenig wie man einen Windows Server 2003-Server sieht, den der eigene Provider einsetzt. Für viele Verantwortliche wird sich daher die Frage stellen, bleibe ich bei meinem Provider oder hoste ich künftig meine (noch nicht entwickelten) Anwendungen bei Microsoft unter Azure? Microsoft hat auf der Azure-Webseite ein kleines FAQ zusammengestellt, das ich aber für nicht sehr ergiebig halte.´

 

Neben der Frage, wie stark sich die Anwendungarchitektur einer Azure-gehosteten ASP.NET-Webanwendung von der einer regulär gehosteten ASP.NET-Webanwendung unterscheidet, ist die die entscheidende Frage natürlich die nach den Kosten. In diesem Punkt hält sich Microsoft noch bedeckt und hat lediglich angekündigt, dass die Preise "konkurrenzfähig" sein sollen. Das aktuelle Preismodell von Office Online (SharePoint-Hosting) ist vernünftig. Kein Dumping-Angebot, was sich Microsoft sicher problemlos leisten könnte, aber auch nicht hochpreisig. Da sich die Cloud-Dienste jederzeit kündigen lassen und fein granuliert sein dürften, dürfte es ähnlich wie bei den Handy-Tarifen bei einzelnen Teildiensten um sehr kleine Beträge gehen.

Azure ist nur der Anfang

Sehr viel interessanter als Windows Azure (skalierbares Hosting, wichtig, aber relativ unspektakulär) ist für Entwickler der Applicationsserver Dublin, der BizTalk Server ersetzen kann/soll und, da er eine kostenlose Erweiterung von Windows Server 2008 sein soll,  auf der PDC als "BizTalk Server Express" verspöttelt wurde (allerdings nicht von Microsoft). Mit Dublin und der Modellierungsplattform Oslo, die aus der Modellierungssprache M und dem grafischen Tool Quadrant besteht, werden ganz neue Sorten von Anwendungen möglich sein. Doch davon sind wir im Moment noch ein paar Jahre entfernt.

Überhaupt hielt sich Microsoft auf der PDC mit Terminen wie üblich vornehm zurück. Azure liegt gerade als erstes CTP vor (irgendwo im Web habe ich von dem "2. Halbjahr 2009" als anvisierten Freigabetermin der 1.0 Version gelesen, den ich, sollte die Information seriös sein, für realistisch halte, da das Fundament bereits steht und am Anfang anscheinend nur ein Minimum zusätzlicher Services angeboten wird). Oslo dürfte ein Thema für die Zeit "nach Visual Studio 2010" sein. Auf der einen Seite ist das gut, da es Entwicklern Zeit gibt sich mit den neuen Themen und Techniken ausführlich zu beschäftigen (viele dürften noch nicht einmal auf dem Stand des .NET Framework 3.5 SP1 sein und bei Themen wie Entity Framework oder auch LINQ allenfalls eine vage Vorstellung haben). Auf der anderen Seite ist es (wieder einmal) ein wenig frustrierend, dass kein Zeitplan kommuniziert wird, der eine Orientierung für eigene Projekte sein könnte (doch ein solche Terminplan wäre unrealistisch bis unseriös, das hat das Vista-Debakel leider deutlich gemacht).

Services als neuer Umsatzträger

Azure - der Name liegt nach Mittelmeer, einer sanften Brise und Urlaub in Italien. Für Microsoft soll es in Zukunft jene Milliarden einfahren, die vermutlich durch sinkende Verkaufszahlen im klassischen Lizenzgeschäft verloren gehen dürften. Microsoft meint es ernst mit seiner Software+Service-Strategie (was bislang eher eine vage skizzierte Vision war). Software wie Windows und Office wird weiterhin in "Boxen" verkauft (es ist aus meiner Sicht ein verbreitetes Missverständnis, dass Azure bedeutet, dass Office in Zukunft als Web-Anwendung angeboten wird), wenngleich das Medium nicht mehr die DVD sein muss, sondern auch das Internet. Auf der PDC wurde am 1. Tag Microsoft Online (in einem unpassenden Marketing-Vortrag) erneut angekündigt, über das in Zukunft u.a. Office online bezogen werden kann, wobei hier Microsoft auf das Partnermodell setzt, das bereits in der Vergangenheit sehr erfolgreich war. Der Service-Teil ist ein weiteres Angebot, das z.B. die CRM Services, die SharePoint Services und irgendwann sicher auch die SQL Services (ein heikles Thema, da Microsoft sehr viel Geld mit SQL Server-Lizenzen verdient) umfassen wird.

Die große Frage ist natürlich, wer das überhaupt braucht. Die Antwort ist meiner Meinung nach, das mit Azure (und vergleichbaren Angeboten anderer Firmen) eine neue Kategorie von Anwendungen entstehen wird, die, was die Architektur betrifft, heute noch nicht existieren. Anwendungen, die ihre Funktionalitäten über Service-Funktionen beziehen und damit Vorteile bieten was Skalierbarkeit, Wartbarkeit und Kosten/Zeit-Faktor bei der Umsetzung angehen. Diese neue Kategorie von Anwendungen wird aber nicht nur in großen Unternehmen anzutreffen sein. Sebastian Weber von Microsoft hatte mir auf der PDC ein paar Beispiele genannt, die sehr interessant klangen. Ein Beispiel, soweit ich mich noch an den Kurzvortrag vor dem Starbucks Cafe erinnern kann, betraf den klassischen Handwerker (immer ein beliebtes Beispiel, wenn es um die Glaubwürdigkeit einer neuen Anwendungskategorie geht - das war damals schon zu den Zeiten des C64, neben der Kochrezeptesammlung, das ultimative Argument für die Anschaffung eines Heimcomputers), der z.B. seine Rechnungsdaten und Auftragsdaten, da er als Einzelunternehmer häufig unterwegs ist, mobil einsehen und erfassen möchte. Bislang musste ein Entwickler einer solchen Lösung seinem handwerkenden Kunden die komplette Infrakstruktur selber zur Verfügung stellen - vom mobilen Gerät (meistens ein unhandlicher Notebook) über die Synchronisationsschnittstelle bis hin zum (meistens auf FoxPro) basierenden Backend.

Mit Windows Azure gibt es diese Infrastruktur bereits und darüber hinaus mit .NET und .NET Compact Framework eine reichhaltige API, die auch das Einbinden mobiler Geräte in die Reichweite eines "normalen" Entwicklers holt. Seinen Kunden aus der Handwerkszunft kann der Entwickler dann Windows Azure in Zukunft mobile Erfassung, transaktionsorientiert und sicher mit hoher Verfügbarkeit und theoretisch beliebiger Skalierbarkeit bieten (für den Fall, dass die Lösung so gut ankommt, dass gleich der gesamte Handwerkerverband auf die neue Plattform unseres Entwicklers umschwenkt).

Entwickeln für Azure

Für Entwickler bietet Microsoft derzeit:

Voraussetzung ist Visual Studio 2008 SP1 unter Windows Server 2008 oder Web Developer mit SP1 und damit kann jeder kostenlos einsteigen. Wie sich ein erstes Hello, World umsetzen lässt wird hier beschrieben. Die Microsoft-Homepage für Azure-Entwickler ist http://www.microsoft.com/azure/resources.mspx.

Zur Zeit wirkt das Ganze leider noch nicht wie aus einem Guss. Es fehlen Guidelines, die einem Entwickler erklären, wie eine Cloud-Anwendung aufgebaut sein muss. Es fehlen Beispiele (lediglich im Zusammenhang mit den SQL Data Services gibt es ein paar). Und für die Nutzung der SQL Data Services CTP wird allen Ernstes eine Kreditkarte verlangt (die aber nicht belastet wird - ein schlechter Scherz, der nicht gerade die Entwickler in Massen dazu bringen wird sich mit dem Thema zu beschäftigen).

Es gab noch mehr auf der PDC 2008

Natürlich war auf der PDC 2008 Azure nur ein Thema von mehreren, wenngleich das Beherrschende. Am 2. Tag wurde der Fokus auf die Produkte gelegt, die für die nahe Zukunft eine Rolle spielen:

  • Visual Studio 2010 - hier ging es in erster Linie um die Team System Edition. Die Vorabversion basiert auf einer frühen Alpha und ist (zu mindestens bei mir) komplett instabil und mit 25 GByte (!) jenseits des Glaubwürdigen aufgebläht (sorry, Microsoft, aber das sollte man anders hinbekommen). Die finale Version soll WPF-Elemente enthalten oder gar ganz auf WPF basieren, was vor Jahren schon angekündigt wurde (Stichwort: Hawaii). Microsoft deutet an, dass die Version noch 2009 kommen könnte. Mein Tipp ist, nicht vor Sommer 2010 (wenn überhaupt), wenn man von der lausigen Qualität der Alpha auf die finale Version schließen würde (was nicht einfach bzw. seriös ist, da man intern bei Microsoft schon längst mit deutlich neueren Builds arbeitet).
  • Oslo - das Modellierungswerkzeug der Zukunft. M die Sprache, mit der Entwickler ihre Modelle (visuell oder textuell) formulieren, um daraus die Anwendungen der Zukunft entstehen zu lassen (nebenbei hat Microsoft UML wieder entdeckt). Ich weiß leider viel zuwenig über Architektur, um das kompetent kommentieren zu können. Nur soviel, einige der fähigsten Köpfe bei Microsoft (Don Box, Clemens Vaster usw.) sind in das Projekt direkt und indirekt involviert. Das ist die Zukunft für Unternehmensentwicklungen. In einigen Jahren. Höchstwahrscheinlich. Auf alle lohnt es sich, sich mit dem Thema intensiver zu beschäftigen. WCF-Experte Christian Weyer war angeblich nicht so angetan von dem Ganzen, ich hatte bislang leider keine Gelegenheit ihn zu fragen was ihm speziell an Oslo und/oder M nicht gefällt. Vielleicht war es auch nur ein Gerücht.
  • C# 4.0 und Visual Basic 10 - Anders Hejlsberg rief in seinem Vortrag (indirekt) die große "Verbrüderung" beider Sprachen aus (warum ist mir ein Rätsel, offenbar möchte man alle Kräfte auf Azure und Oslo bündeln und nicht Entwickler mit Diskussionen über Sprachfeatures vom Wesentlichen ablenken). C# soll künftig jene Features erhalten, die es in Visual Basic gibt und umgekehrt (mit den optionalen Parametern, die vor allem in der Office-Programmierung begrüßt werden, wird mit C# 4.0 ein Anfang gemacht). Zwar nicht immer versionsgleich, aber über einen längeren Zeitraum sollen sich beide Sprachen nicht mehr wesentlich unterscheiden. In Zukunft soll es auch den Compiler als einen "Service" geben, so dass sich Entwickler gleich ihren eigenen "Vaubezeh"-Compiler zusammenbauen könnten. Das bedeutet aber nicht, dass Visual Basic in Zukunft (wie bereits zu Beginn der .NET-Ära) wieder die ungeliebte "gibt es ja auch noch"-Sprache wird, die sich nur durch sprachliche Besonderheiten von der wahren Sprache. Microsoft arbeitet in der "Visual Biz App"-Gruppe zur Zeit an einer großen Sache (angeblich SharePoint-basierend), die vor allem an Visual Basic-Entwickler adressiert ist. Etwas genaueres weiß man nicht, denn alles unterliegt der größten Geheimhaltung - ohne NDA läuft da nichts (wenn Microsoft nicht will, dass etwas nicht an die Öffentlichkeit gelangt, dann erfährt sie auch nichts - das war schon immer so gewesen - alle im Umlauf gebrachten "Gerüchte" über künftige Version sind meiner Meinung nach gezielt platziert, wenngleich das an dieser Stelle nichts zur Sache tut). Aber im Frühjahr 2009 soll der Vorhang fallen - ich bin sehr gespannt.
  • Office 14 & SharePoint 14 - waren auf der Konferenz nur am Rande ein Thema. Die großen Ankündigungen wird es erst im Frühjahr 2009 geben.
  • Windows 7 - der Nachfolger des glücklosen Vista (es ist mir nach wie vor unbegreiflich, wie Microsoft ohne Not ein solch grandiosen Flop landen und den "Brandname" Windows auf diese Weise beschädigen konnte - dagegen verblasst sogar das Classic Coke-Marketing-Disaster ein wenig - aber was bei großen Mega-Konzernen - man darf nicht vergessen, dass bei Microsoft weltweit mehr als 80.000 Menschen beschäftigt sind - alles schief gehen kann sieht man an der US-Autoindustrie). Mit Windows 7 soll alles besser werden und die gezeigten Demos wirkten auch alle sehr viel versprechend. Windows 7 = Vista wie es hätte sein sollen + TouchScreen- und Sensor-Unterstützung. Vor allem müssen sich Entwickler nicht mehr fragen, wie sie an die wenigen Neuerungen von Vista bzw. Windows 7 programmtechnisch herankommen, denn alle neuen APIs sollen auch per Managed Code ansprechbar sein.

Insgesamt wurden sehr viele Themen in die 3 1/2 Tage PDC gepackt. Es gab viele Ankündigungen, ein konkreter Termin wurde wie immer nicht genannt (oder ich habe es nicht mitbekommen, was immer eine Möglichkeit ist). Fertig ist lediglich Silverlight 2, was aber keine echte Neuerung ist. Wie immer setzt sich Microsoft mit einer solchen Ankündigungsparade enorm unter Druck. Insbesondere bei Azure führt der Umstand, dass man (aus meiner subjektiven Perspektive) 2-3 Jahre zu spät ist dazu, dass es wenig Puffer für Verschiebungen gibt (auf der anderen Seite hatten die Firmen, die mit einem neuen Trend die ersten waren, nie etwas davon - siehe Netscape). Viele Entwickler hätten sicher nichts dagegen, wenn Visual Studio 2010 (sieht man von einigen Neuerungen bei Team System und vor allem Team Foundation Server ab) frühestens erst in 3 Jahre kommen würde. Nun wird es vermutlich in 1 1/2 Jahren kommen, wenngleich ich immer noch von Herbst 2010 ausgehe. Doch egal, wann die Ankündigungen nun genau in käufliche Produkte umgesetzt werden, ein paar Trends sind unübersehbar:

  • Auch bei Microsoft bewegt sich alles ins Internet. Die klassische Standard-Anwendung wird in ein paar Jahren an Bedeutung verlieren.
  • Service-Orientierte-Architekturen kommen ebenfalls. In naher Zukunft werden mehr und mehr Branchenpakete auf diesem Modell basieren (der Handwerker soll allen in diesem Punkt uneinsichtigen Entwicklern als Mahnung dienen).
  • WPF kommt spät, aber es kommt. Mein Tipp ist es daher, sich möglichst bald in WPF einzuarbeiten und bei neuen Projekten wenn irgendwie möglich auf WinForms zu verzichten.
  • Auch das ist einer Erwähnung wert. Managed Code hat sich etabliert, wenngleich er nichts an der deutlichen Dominanz von Unmanaged Code (sprich C++) ändern wird.

Erwähnenswert ist auch, was auf der PDC 2008 kein Thema war: SOA, Composite Applications, ALM (zumindestens nicht als Schlagwort), Open Soure, Shared Source usw. (lediglich Miguel de Icaza hielt die Open Source-Flagge hoch, in dem er in einem tollen Vortrag Mono 2 vorstellte), Interoperabilität zu anderen Welten und Mindori, jene "Geheimwaffe" in Gestalt eines zum großen Teil auf Managed Code basierenden "Windows-Nachfolgers", die im Sommerloch dieses Jahres lanciert wurde als es (vermutlich) darum ging, das Vista-Debakel PR-technisch ein wenig abzufedern.

Als Fazit bleibt. Der Azure-Zug hat Fahrt aufgenommen, Dublin und Oslo werden später dazu gekommen und eine Art Transrapid (wie es diesem "Leuchturm-Projekt" ergangen ist, ist mir natürlich klar - das dpa-Bild, auf dem zu sehen ist, wie das Transrapid-Modell Mitte des Jahres vom Münchener Flughafen per LKW abtransportiert wurde sollte Foto des Jahres werden und steht sinnbildlich für gescheiterte Großprojekte) für die Umsetzung einer neuen Generation von Unternehmensanwendungen bilden, die wahre "Service orientierte Anwendungen" sein werden.

Peter Monadjemi, November 2008

Tuesday, December 09, 2008 9:54:32 AM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -
dasBlog
 Monday, December 08, 2008
Witzig, was sich manche Drehbuchschreiber in Hollywood unter Visual Basic vorstellen:

http://www.youtube.com/watch?v=Ni_rAamVP2s

Der Link verweist auf einen kurzen Ausschnitt auf eine Folge der Krimiserie CSI Miami (die ich selber allerdings lediglich vom Durchzappen kannte und bis dahin mit Miami Vice verwechselt hatte), in der es in etwa heißt "I create a GUI interface using Visual Basic and see if I can track that IP address" (oder so ähnlich). Wahrscheinlich ist der Drehbuchautor nach kurzem googlen beim Stichwort GUI Interface bei Visual Basic gelandet und dachte sich, dass das wohl das Tool dafür sein muss (was es ja auch einmal war - im Jahre 1991).

In die Kategorie "Nett, aber leider relativ nutzlos" fällt ein VB6-Clone mit dem Namen
Jabaco, eine IDE, die einer früheren Visual Basic-Version zum Verwechseln ähnlich sieht, mit Compiler, Debugger, Datenbankanbindung usw. Das Ganze macht einen netten Eindruck, der Autor hat auf Fälle ein dickes Kompliment für seine Arbeit verdient (es gibt Leute, die besitzen eine für mich nicht ganz nachvollziehbare Faszination für alte "Sachen", wie etwa den C64, den Commodore Amiga oder, unglaublich, aber wahr das "Ur-Alt"-Betriebssystem CP/M), und ich bin sicher, dass es einige wieder als die "Entdeckung des Jahres" feiern werden. Aber, es macht wenig Sinn Programmiersysteme, die schon seit mehr als 10 Jahren nicht mehr zeitgemäß sind, nachzubauen. Wenn der Autor eine Sprache wie Ruby oder Python als Grundlage benutzt hätte, hätte ich darin noch einen gewissen Sinn gesehen, aber bitte nicht mit einer Sprache, die ihre Wurzeln in den 70er Jahren hat.
Monday, December 08, 2008 4:25:00 PM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

 Monday, December 01, 2008

NotebookAmStrand
(das mobile Internet von morgen)

 

Dieser Beitrag fällt zwar in die Kategorie "schamlose Werbung", allerdings wird er für einige Leser, wie bei mir vor kurzem, einen positiven "Aha, Effekt" auslösen. Ich weise allerdings ausdrücklich darauf hin, dass ich in keiner wie auch immer gearteten Beziehung zu dem Hersteller des Produkts stehe, um das es im Folgenden geht. Es geht um ein Thema, dem sich kaum jemand verschließen kann, der mit seinem Notebook öfter unterwegs ist. Wäre es nicht praktisch, wenn man, etwa auf einer längeren Bahnfahrt (Stuttgart-Berlin - knapp 6 Stunden, die inzwischen übliche Verspätung eingerechnet) oder beim Warten auf einen Zug, mal eben mit seinem mobilen Arbeitsgerät ins Internet könnte (etwa, um am Samstagnachmittag die Bundesliga-Konferenz über SWR1 oder WDR2 hören zu können)?

 

Möglich ist das natürlich schon lange und natürlich kann das praktisch jedes Handy (meines allerdings nicht). Einfach eine mit SIM-Karte ausgerüstete UMTS-Karte in den USB-Port des Computers stecken und schon kann es losgehen (Radio hören kann man auch ohne Internet, nur befindet man sich nicht immer im Sendegebiet der genannten Sender und wer besitzt noch ein tragbares Radio?). Moderne Notebooks, die heutzutage kaum teuer sind als jene Geräte ohne "UTMS on board", haben diese Technik bereits integriert. Der einzige Hacken war bislang, dass man sich aus dem Dickicht der Angebote erst einmal das Passende heraussuchen musste und das war alles andere als leicht.

 

Für jemanden, der nicht gerade ein glühender Anhänger von Verträgen mit 2 Jahren Laufzeit, Volumentarifen, Datenoptionen, "Pseudo-Flat-Raten" und anderen Klauseln der Kategorie "Kleingedrucktes" ist und wer nicht ein halbes Jahr später in der c't in der Rubrik "Vorsicht, Kunde" sein Leid klagen möchte, gibt es inzwischen zahlreiche "Pay per Use"-Angebote. Per Zufall bin ich auf das Angebot von Fonic gestoßen (der Zufall bestand darin, dass in einem Leserkommentar zu einem großen Vergleichstest einer großen Deutschen PC-Zeitschrift, die in den letzten Jahren deutlich an Glanz verloren hat, bemängelt wurde, dass genau dieses Angebot nicht berücksichtigt wurde).

 

Das Angebot von Fonic (die auch normale Handy-Tarife zum Telefonieren anbieten) ist preislich attraktiv, ohne dass es den typischen „Um jeden Preis in den Markt wollen“-Dumping-Charakter hat, vor allem aber denkbar unkompliziert und zudem sympathisch verpackt. Kein Vertrag, keine Mindestabnahme, keine versteckten Klauseln (zu mindestens sind mir keine aufgefallen). Der USB-Stick (er könnte ein wenig kompakter sein, aber es muss ja auch Grund zur Kritik geben) kostet 99 €, darin enthalten sind 10 € Startguthaben. Jeder Tag wird flat mit 2.50 € abgerechnet, was für Gelegenheitssurfer ein faires Angebot ist, für die "Jeden Tag Online"-Nutzer allerdings deutlich zu teuer sein dürfte.

 

Das Startpaket trifft ein paar Tage später per Post ein, das Freischalten der SIM-Karte geschieht per Telefon oder über das Web. Das erforderliche Guthaben wird bei Bedarf nachgekauft. Auch die Installation könnte einfacher nicht sein. Einfach den USB-Stick einschieben und die auf dem Stick befindliche Software (auch eine innovative Idee) installiert sich selber. Nach dem Klick auf den Verbinden-Button muss lediglich, sofern ein Netz gefunden wurde, die PIN eingegeben werden und schon ist man im Internet. Auch SMS-Nachrichten lassen sich mit der kleinen Kommunikationssoftware verschicken, was für Menschen, die schon immer Schwierigkeiten hatten über die Handytastatur Botschaften zu verfassen, natürlich ideal ist (die SIM-Karte mit einer eigenen Rufnummer kann anscheinend alles außer telefonieren). Selbst für Jemanden, der das Internet bereits seit Mitte der 90er Jahre kennt und zudem der Meinung ist, dass der Trend (zu mindestens für einige) wieder in Richtung "Low-Tech" geht (bzw. gehen sollte) ist das eine tolle Sache.

 

(der Autor übernimmt keine Gewähr für die Richtigkeit der Angaben in diesem Blog-Eintrag – alle Details über das Vertragsangebot von Fonic müssen auf der Webseite des Herstellers nachgelesen werden. Und damit auch dieser Punkt geklärt wäre, ich habe mir mein Fonic-Paket zum regulären Preis selber gekauft und schreibe nicht über ein "Presse-Exemplar", das es möglicherweise geben könnte)

Monday, December 01, 2008 11:22:57 AM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

 Sunday, November 30, 2008

ManfredMannKonzertKarte.bmp
(die Klassiker - zum Glück immer noch bzw. wieder auf Tour und immer noch sehr gut)

Es gibt sie also noch, die guten, alten Konzertkarten mit "Bandlogo" und anderen Details (die nicht alle aus dem Drucker eines Quasi-Monopolisten für Veranstaltungen jeglicher Art im deutschsprachigen Raum stammen). Man bekommt sie manchmal noch an der Abendkasse oder wenn man die Karte direkt beim lokalen Veranstalter kauft. Was einmal gut war, kommt mit Sicherheit wieder. Das gilt für das Radio (angeblich hören Jugendliche heutzutage wieder mehr Radio, was bei Sendern wie Bayern2, EinsLive oder FM4 auch kein Wunder ist), für Schallplatten (bei einem beliebten Einzelhändler für Kaffeebohnen mit angeschlossenem Warenhaus soll es angeblich einen tollen USB-Plattenspieler geben) und sicher auch für Fachbücher (und eventuell sogar für Entwicklermagazine).

Ich hoffe, dass dies auch für Entwicklungswerkzeuge gilt, denn ich bin mir nicht sicher, ob Microsoft mit dem Versuch immer mehr Features in Visual Studio zu packen auf dem richtigen Weg ist. Ein anderer Trend, der mich schon beim letzten Visual Studio gestört hat, war die fragwürdige Qualität der öffentlich zur Verfügung gestellten Vorabversionen (CTPs).

Die aktuelle Vorabversion von Visual Studio 10 ist leider eine Bestätigung dieser für die meisten Entwickler unerfreulichen Regel. Das auf Windows Server 2008 basierende Image (Windows XP hätte meiner Meinung nach vollkommen gereicht) ist nicht nur unglaubliche 25 GByte groß (wer möchte, kann es mit einem Tool in ein VMWare-Image konvertieren), es stürzt bei mir alle ca. 5  Minuten und damit "in schöner Regelmäßigkeit" ab (mit anderen Worten, es ist unmöglich damit zu arbeiten). Abgesehen davon, dass es damit auch unmöglich ist, eines der neuen Sprachelemente von Visual Basic 10 oder C# 4.0 zu testen, nerven Hinweise auf die erforderliche Aktivierung (die Version stellt irgendwann im Januar nächsten Jahres ihren Dienst ein), und dass man möglicherweise ein "Victim of sofware counterfeiting" sein könnte weil sich die Validierung aufgrund fehlender Internet-Verbindung im VPC nicht durchführen lässt. Microsoft hat also wieder einmal ein paar Hürden für alle eingebaut, die aus welchen Gründen auch immer eine so  frühe Vorabversion des nächsten Visual Studio ausprobieren möchten (bei Visual Studio 2008 war es leider ähnlich, eine "absturzfreie Version" kam erst mit der finalen Version - das mag nach Polemik klingen, war bei mir leider Tatsache - eine deutsche Version gab es sogar erst nach der Freigabe der englischen Version, was für einen Buchautor nicht gerade erfreulich ist - allerdings kam mein Buch dann aus anderen Gründen so spät, dass es nichts ausgemacht hat). Auch wenn vollkommen klar ist, dass es sich bei der auf der PDC ausgeteilten und per Download zur Verfügung gestellten Version um eine Pre-Alpha handelt mit der niemand ernsthaft entwickeln sollte und wird, frage ich mich, welchen Sinn solche Vorschauversionen haben. Mit Qualitätssoftware hat das jedenfalls nicht viel zu tun, denn sobald eine Version offiziell frei gegeben wird erwarte ich, dass ich damit arbeiten kann. Und sei es nur, ein paar Konsolenprogrämmchen auszuprobieren.

Microsoft geht es mit solchen frühen Versionen nach eigener Aussage nur darum, das Feedback der Entwickler zu erhalten (auf das Einreichen meines Feedbacks verzichte ich, da es etwas einseitig ausfallen würde). Da aber ohnehin nur ein sehr kleiner Teil der Entwickler, die sich das Ganze "antun", ein solches Feedback liefern dürfte, sollte man wie früher wieder geschlossene Beta-Tests durchführen, zu denen sich die interessierten Entwickler anmelden, und Vorabversionen für "die Massen" wirklich nur dann freigegeben, wenn sie wirklich stabil laufen. Ich wäre sogar dafür, dass es gar keine freien CTPs mehr gibt und eine neue Version von Visual Studio für die Öffentlichkeit erst dann freigegeben wird, wenn sie wirklich fertig ist. Auf instabile Vorabersionen, bei denen zudem "die Hälfte" der geplanten Features ohnehin noch fehlt, würde ich in Zukunft gerne verzichten. Das hat auch etwas mit der Glaubwürdigkeit als Hersteller von Werkzeugen zu tun (man stelle sich nur für einen Augenblick vor, auch wenn es zugegeben reichlich absurd ist, ein Hersteller von Sägen würde seine neuesten, noch in der Testphase befindlichen Modelle im Baumarkt kostenlos an alle verteilen, die sie ausprobieren möchten - natürlich mit dem Hinweis, damit ja nichts wirklich zu zersägen).

Was früher gut war, nämlich Vorabversionen nur an qualifizierte Tester zu verteilen, dann aber dafür zu sorgen, dass sie wirklich lauffähig sind (ich bin z.B. nur einmal bei Version 4 ein offizieller Beta-Tester von Visual Basic gewesen), kommt hoffentlich auch in diesem Bereich wieder.

Sunday, November 30, 2008 11:13:12 PM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

 Saturday, November 22, 2008

Zur Abwechslung wieder einmal ein Blog-Eintrag, der ausschließlich etwas mit Visual Basic zu tun hat. Mit Visual Basic 9.0 wurden bekanntlich die anonymen Typen eingeführt, die vor allem bei LINQ zwecks "Projektion" benötigt werden. Sie sind aber auch unabhängig von LINQ eine praktische Angelegenheit, da man nicht bei jeder Gelegenheit eine Klasse definieren muss, wenn man für die Dauer der Programmausführung einen vorübergehenden Typen benötigt.

Der folgende Befehl definiert ein Objekt mit zwei Properties, die gleich ihre Werte erhalten:

Dim P3 = New With {.Name = "Ernie", .Alter = 32}

 

Was ich bislang leider nicht wusste und es erst letzte Woche in dem wirklich sehr guten Vortrag von Paul Yuknewicz auf dem Technical Summit 2008 (mehr dazu in Kürze) erfahren hatte, man kann eine einzelne Property mit dem Key-Schlüsselwort als Schlüssel-Eigenschaft auszeichnen:

 

Dim P1 = New With {Key .Name = "Ernie", .Alter = 32}

 

Damit lassen sich per Equals Objekte auf einmal anhand ihres Inhalts vergleichen:

Dim P1 = New With {Key .Name = "Ernie", .Alter = 32}
Dim P2 = New With {Key .Name = "Bert", .Alter = 44}
Dim P3 = New With {.Name = "Ernie", .Alter = 32}
Dim P4 = New With {Key .Name = "Ernie", .Alter = 32}

Console.WriteLine("P1 Equals P2: {0}", P1.Equals(P2))
Console.WriteLine("P1 Equals P3: {0}", P1.Equals(P3))
Console.WriteLine("P1 Equals P4: {0}", P1.Equals(P4))

In diesem Beispiel ergeben der 1. und 2. Vergleich ein False, der dritte Vergleich ergibt ein True, d.h. beide Objekte werden dank des Voranstellen von Key durch Equals auf einmal als identisch behandelt, auch wenn sie es streng genommen nicht sind, da P1 und P4 unterschiedliche Referenzen besitzen. Sehr nett.

Ein Geheimnis war dieses kleines Feature übrigens nicht.

 

Saturday, November 22, 2008 3:04:00 PM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

 Friday, November 21, 2008

Die PDC (Professional Developer Conference), die vom 26. bis 30. Oktober über die Bühne ging, liegt zwar wieder schon eine Weile zurück, doch für alle, die dieses Mal nicht dabei oder noch nie auf einer solchen Konferenz waren, ist es mit Sicherheit interessant über das zu lesen, was auf einer so großen Entwicklerkonferenz wie der PDC alles "los" war. Der folgende Bericht beschränkt sich auf die Konferenz selber. Details über Los Angeles, Kalifornien (immerhin angeblich die acht größte Volkswirtschaft weltweit), Hollywood, Venice Beach oder die Universal Studios kann man heutzutage überall nachlesen.

 

IMG_0334
(L.A. Downtown im Landeanflug aus Frankfurt - noch ahnt die Stadt nichts von meinem Kommen)

Nur soviel: Die Konferenz fand, wie jedes Mal seit 2001, im modernen Staples Conference Center in Downtown Los Angeles statt. Staples ist nicht etwa der Name eines ehemaligen Bürgermeisters der Stadt, eines Ex-Präsidenten oder einer anderen lokalen Berühmtheit, sondern schlicht der Name der großen Bürozubehörskette, die sich damals anscheinend die Namensrechte gesichert hat (Bruce Springsteen-Fans kennen sicher jenen Live-Mitschnitt, wo sich der Boss zu Beginn eines Konzerts in der Staples Arena ein wenig über diesen Umstand lustig macht).

 IMG_0402
(das Staples Center ist auch bei Nacht eine Attraktion - die PDC fand allerdings "nebenan" statt)

Hollywood Horror Nights

Alleine das Konferenzcenter kann sicherlich "locker" 10.000 Teilnehmer aufnehmen– auf der PDC waren es vermutlich "nur" knapp 7.000 (dies ist eine grobe „Schätzung“ – eine offizielle Zahl habe ich leider nirgendwo gefunden). Das Staples Center besteht nicht nur aus einem großen Konferenzcenter mit vielen Räumlichkeiten, gleich nebenan spielen die L.A. Lakers, ein Spitzenteam aus der Basketballbundesliga NBA, und seit einiger Zeit auch die weniger erfolgreichen L.A. Clippers (die vor Jahren aus San Diego in die Metropole nach Norden gezogen sind). Sogar Fussball wird hier gespielt.

 

Natürlich finden im Staples Center auch (Rock-) Konzerte statt (für die Klassik ist die von Star-Architekt Frank Gehry entworfene und 2005 eröffnete Disney Symphony Hall in der Nachbarschaft zuständig). Anlässlich der PDC 2001 gaben z.B. die Counting Crows exklusiv für die Konferenzteilnehmer ein tolles Konzert. Diese Zeiten sind allerdings längst vorbei. Die offizielle PDC-Party beschränkt sich seit 2003 auf einen Besuch im Universal Studio Themenpark am Dienstagabend, was auch sehr nett ist (Party kann man es allerdings nicht nennen, zumal ich schon wieder den 3D-Terminator verpasst habe und der Themenpark dieses Mal unter dem Motto „Halloween Horror Nights“ stand, was ich nicht so lustig fand – wer mag schon Zombies, die mit Kettensägen in der Hand auf einen zu stolpern und für Zombies zudem erstaunlich gut zu Fuß sind – Körperkontakt ist allerdings vermutlich laut Arbeitsvertrag streng verboten, so dass auch zartbesaitetere Gemüter, man ist schließlich in einem amerikanischen Vergnügungspark, keine traumatischen Erlebnisse zurückbehalten werden, wenngleich manche nachstellte Szene aus modernen Horror-Klassikern sehr "realistisch" präsentiert werden und es sehr gewöhnungsbedürftig ist, wenn man beim Essen in einem der zahlreichen Schnellimbisse im Freien die "Schreie der Eingekerkerten" aus der Horror-Attraktion gleich nebenan als Endlosschleife serviert bekommt).

 

IMG_0459
(der Horror war nur gespielt - während der Konferenz ging es ganz friedlich zu)

IMG_0468
(die Universal Studio-Party gehört zur PDC dazu wie Baywatch zu Kalifornien)

Die PDC war mit nur 3 ½ Tagen (sieht man von der Pre-Conference am Sonntag mit ganztägigen Workshops ab) als 2003. Und noch ein Detail am Rande. Es gibt nicht jedes Jahr eine PDC, sondern nur alle 2-3 Jahre. Eigentlich hätte 2007 eine PDC stattfinden sollen, die jedoch kurz nach der Ankündigung wieder abgesagt wurde, da man bei Microsoft im Herbst 2007 nichts Neues hätte zeigen können. Als Ausgleich soll es gleich im nächsten Jahr wieder eine PDC am selben Ort geben (vielleicht schafft es ja jemand aus den Jahreszahlen 1992 (San Francisco), 1994 (Anaheim), 1996 (San Diego), 1997 (Denver), 2000 (Orlando), 2001 (Los Angeles), 2003 (Los Angeles), 2005 (Los Angeles), 2008 (Los Angeles) und 2009 (Los Angeles) eine allgemeingültige Formel zu machen, mit der sich zuverlässig die Jahreszahlen künftiger PDCs berechnen lässt).

 

Montag und Mittwoch war offiziell frei, doch dürfte kaum ein Konferenzteilnehmer diese Abenden alleine im Hotel verbracht haben, denn es liegt natürlich nahe mit Kollegen, anderen Teilnehmern oder Leuten von Microsoft essen zu gehen oder sich an der Hotelbar auf ein Bier zu treffen (das "Nachtleben" in Downtown L.A., das sich als Wohn- und Geschäftsviertel in den letzten Jahren enorm positiv entwickelt hat, dürfte etwa mit dem von Osnabrück vergleichbar sein, aber routinierte "Szenegänger" dürften die wenigen "Hotspots" trotzdem gefunden haben). Nach Downtown gelangt man vom Flughafen LAX übrigens schnell und preiswert mit einem der verschiedenen "Kleinbusunternehmen" wie Prime Time Shuttle für schlappe 15 US$. Man muss zwar ein wenig warten und wird, da es sich um ein Sammeltaxi handelt, unter Umständen erst als Letzter abgesetzt, aber die Fahrt geht trotzdem schnell und macht zudem Spaß.

 

 

IMG_0360
(es ist wieder PDC-Time - dies ist aber nur ein Seiteneingang)

 

Der Höhepunkt der Konferenz war bereits für Montagmorgen angesetzt, die mit Spannung erwartete Keynote ("Eröffnungsrede") von Microsoft-Chief Software Architect Ray Ozzie. Warum mit Spannung? Weil dies der erste große offizielle Auftritt jenes Menschen war, der bei Microsoft bereits seit Mitte 2005 die Entwicklungslinie vordenkt und daher maßgeblich die strategische Ausrichtung des Konzerns bestimmt (das berühmte letzte Wort dürfte allerdings nach wie vor der CEO, Steve Balmer haben).  Mr. Ozzie hat auf diesem Posten Microsoft-Mitbegründer Bill Gates beerbt, der auf der Konferenz kein mehr Thema mehr war (und auch keine Grußbotschaften sendete).

 

Ray Ozzie begann seinen Vortrag mit dem Hinweis, dass er vor Jahren noch selber als Entwickler auf solchen Konferenzen als Zuhörer gesessen habe. Die „ich bin einer von Euch“-Botschaft wurde durch seinen Auftritt unterstrichen, der vollkommen ohne jeglichen Pomp und Pathos auskam. Auch auf die üblichen Videoclips zu Beginn einer Keynote zum "Aufputschen der Massen" wurde verzichtet. Die Bühnenausstattung bestand aus einem schlichten Pult und einer Reihe von LCD-Bildschirmen auf dem Boden, von denen die meisten Keynote-Sprecher ihre Texte brav ablasen, was manchmal ein wenig störend wirkte und irgendwie den Eindruck verstärkte, dass der Sprecher entweder ein wenig unsicher war (was eher untypisch wäre), keine Zeit hatte sich vorzubereiten (dito) oder ihm vor dem Auftritt von seinem Assistenten ein "lies einfach die Folien ab" eingeschärft wurde (ein echter "Teleprompter" war vermutlich im Budget nicht drin, bei Microsoft muss auch dafür PowerPoint herhalten). Der wahre Grund war vermutlich, dass es allen sehr darauf ankam, die richtige Botschaft rüber zu bringen und das mächtige Microsoft-Marketing streng darüber wachte, dass dies wortgetreu geschah.

 

IMG_0366
(IT-Journalisten bei der Arbeit)

IMG_0368
(die Legende lebt - Mr. Jerry Pournelle)

IMG_0372
(kündigt Microsoft 2.0 an - Chief Software Architect Ray Ozzie)

IMG_0418

(all eyes on Scott Guthrie, der für den Entwickler-Content am zweiten Tag zuständig war)

Ray Ozzie, der inzwischen nicht nur an den Schläfen bereits leicht ergraut ist, trat überaus bodenständig und sachlich auf und wirkte alleine dadurch bereits sympathisch und vertrauenserweckend (und der mit Sicherheit jeden Sonntag mit seiner Familie in die Kirche geht). Er hielt seinen Vortrag weitestgehend frei und verzichtete darauf allzu viel von den Folien abzulesen. Nicht nur dadurch, sondern auch durch den Inhalt der Rede, kam das Verkaufen einer komplett neuen Strategie sehr viel ehrlicher rüber als etwa der "Multimediale-Irrsinn", der im Zusammenhang mit einer anderen "Cloud-Strategie" eine Woche zuvor auf der Dreamforce-Konferenz von Salesforce.com in San Francisco betrieben wurde, wo nebenbei auch gleich das "Ende der Software" verkündet wurde (ich war natürlich nicht dabei, habe mir aber die Keynote-Filme angesehen).

Yes, we can too

Auch wenn der Slogan "Yes, we can" niemand in den Mund nahm, er hätte gut zur Keynote gepasst, denn wenn man Microsoft in den letzten Jahres eines nicht zugetraut hätte, dann war es, sich in eine echte Internet-Company zu transformieren. Mit Azure wurde ein großer Schritt in diese Richtung unternommen, die Auslieferung steht allerdings noch aus, denn bislang gibt es nur einen eingeschränkten Probe- und keinen Regelbetrieb.

Dass die große Eröffnungsrede relativ gut ankam (als erstmals der Name "Ässchurre" fiel ging ein kurzes Raunen durch die ersten Reihen – es waren vermutlich alle jene, die das Ganze bislang unter seinem Codenamen "Red Dog" kannten und vielleicht über den kühnen Namensschwenk erstaunt waren), hat gleich mehrere Gründe. Alle heiklen Themen (Preise, Termine, Datensicherheit) wurden ausgeklammert, die meisten Entwickler dürften die klassischen Unternehmensentwickler sein, bei denen serviceorientierte Anwendungen zwar auf einer ToDo-Liste stehen, denen es aber auf ein paar Jahre nicht ankommt. Für den Endanwender war nichts dabei, aber das ist a) nicht möglich bei einer neuen Enterprise-Plattform und b) ist die PDC nun einmal eine Konferenz für "Professional Developers". Die kleine Hello, World-Demo-Anwendung war sicher etwas mager und der Umstand, dass es Jahre dauern wird bis die Entwickler neue Techniken wie Oslo aufgreifen werden, wurde mit keinem Wort erwähnt. Dennoch, das Fundament von "Microsoft 2.0" wurde gelegt und das ist bereits eine ganze Menge.

Tipp: Hier gibt es witziges Live-Blog-Transcript zur Keynote des 1. Tages (mit dabei u.a. Mary Jo Foley und Paul Thurrot). Das offizielle Transcript des für Entwickler sehr viel interessanteren 2. Tages gibt es hier.

Das Kürzel SOA fiel auf der gesamten Konferenz genauso wenig wie das Wort „Interoperabilität“ mit anderen Service-Plattformen. Auch ironische Seitenhiebe auf die Konkurrenz, die früher oft in Keynotes einflossen, blieben komplett aus. Lediglich beim Windows 7-Vortrag am Dienstag gab sich Microsoft-Vize Stephen Sinofsky, der Anfang 2006, nach dem sich abzeichnete, dass sich das damals noch nicht ausgelieferte Vista erneut deutlich verspäten würde, in einer Nacht und Nebel-Aktion den bisherigen Leiter Jim Allchin, der in den vorzeitigen Ruhestand versetzt wurde, ablöste, gab sich am Anfang betont selbstkritisch und wies mehrmals darauf hin, dass mit Vista nicht alles "optimal" gelaufen sei.

IMG_0416
(Stephen Sinofsky stellt Windows 7 vor)

 

Die einzige Referenz auf die in den USA etwas "angespannte" Konkurrenzsituation zu Apple waren recht langweilige "I am PC"-T-Shirts, die sich vermutlich nur deswegen verkauften weil sie mit 10 US$ sehr preiswert waren und das offizielle Konferenz-Shirt in einem tiefen weinrot gehalten war, was sicher nicht Jedermanns Geschmack war (warum hält man die Shirts nicht einfach in Standard-Weiß und druckt ein schlichtes "PDC 2008" auf den Rücken?).

Windows 7 soll Vista-Fiasko vergessen machen

Windows 7 wird bei Entwicklern schon deswegen etwas besser angekommen, weil es eine echte Managed Code API geben für die Oberfläche geben wird, die mit Office 2007 eingeführten Ribbons auch in den Desktop Einzug halten und die nächste WPF 4.0-Version anscheinend eine Ribbon-Unterstützung enthalten wird. Praktisch alle Neuerungen von Windows 7 sollen sich, genau wie die Windows Live API, direkt per Managed Code ansprechen lassen. Die große Ankündigung für Entwickler am Dienstag war Silverlight 2. Natürlich war es nichts Neues (die zur MIX08 im Februar verteilte Version war bereits "feature complete"), auch die Silverlight Tools für Visual Studio 2008 lösten natürlich keine Stürme der Begeisterung aus, aber alleine die Tatsache, dass es endlich offiziell verfügbar ist (inzwischen wurde von Scott Guthrie in seinem Blog bereits "Silverlight 3" für 2009 angekündigt) ist eine positive Sache.

IMG_0426 
(soll Microsoft's Erfolg im Web 2.0 untermauern - Silverlight 2.0)

 

Dass Windows 7 trotz aller Skepsis, die bleiben wird, ein Verkaufserfolg wird könnte alleine schon daran liegen, dass mit seiner Einführung (vermutlich bereits Ende 2009) alle Hersteller Touch-Displays anbieten werden und Windows 7 das Touch-Interface ähnlich radikal anwendet wie Apple bei seinem IPhone und dem IPod Touch. Die Demo einer britischen Lebensmittelkette zeigte, wie (natürlich sofern man es sich leisten kann) der Einkauf der Zukunft aussehen kann. Lebensmittel werden über das Touch Displays des Kühlschranks bestellt und eine Cola fügt man der Einkaufsliste hinzu, in dem man den Barcode der Dose einfach vor die in das Display eingebaute Kamera hält. Auch wenn das vielen als die Steigerung von überflüssig erscheinen mag, Touch Screens sind schwer im Kommen (der Hinweis sei erlaubt, dass es diese Technik bereits seit Mitte der 70er Jahre gibt – wer damals vor einem Plato-Terminal sitzen durfte, war mit Sicherheit schon damals fasziniert von den Möglichkeiten).

 

IMG_0449
(wird in naher Zukunft sicher "überall" anzutreffen sein - Microsoft Touch lädt zum Anfassen ein)

So viele Sessions, so wenig Zeit

Am Mittwochnachmittag wurden dann endlich die "Goods" ausgeteilt. Während es 2005 noch ein DVD-Jewel Case war, musste es dieses Mal bereits ein USB-Festplattenlaufwerk sein, wie sonst ließen sich sagenhafte 160 GByte verteilen? (BlueRay ist bei Microsoft bekanntlich nicht sehr beliebt). Lediglich die Vorabversionen von Windows 7 und Windows Server 2008 R2 wurden auf einem herkömmlichen Medium (DVD) verteilt. Neid muss bei den "Daheimgebliebenen" deswegen allerdings nicht unbedingt aufkommen, denn die wichtigsten Vorabversionen waren kurze Zeit später auch als Downloads für jeden verfügbar.

 

IMG_0485
(der Lohn der weiten Reise  - ein Haufen Vorabversionen, die frühestens 2010 offiziell werden dürften)

Überhaupt stellt sich die Frage, ob es heutzutage noch zeitgemäß ist vor Ort bei einem Vortrag dabei sein zu müssen. Praktisch alle Vorträge sind, anders als auf einer Microsoft TechEd, für die Öffentlichkeit frei zugänglich (man konnte also ganz gemütlich bei Hamburger Nieselregen und einer Tasse Tee die Vorträge im fernen Kalifornien verfolgen). Und wer bei der Vorträge vor Ort in einem "Overflow-Room" (oder, falls dieser ebenfalls überfüllt war, in einem "Overflow-Overflow"-Room) Platz nehmen musste, sah Sprecher, Folien und Vorführcode auch nur auf einer Leinwand, aber in einer bestechenden Live-Qualität. Dennoch macht es einen kleinen Unterschied, ob man z.B. bei Anders Hejlsbergs Vortrag über C# 4.0 in der ersten Reihe sitzt oder den Vortrag des Chefentwicklers nur auf einem kleinen LCD-Bildschirm verfolgt. Der Informationsgehalt ist natürlich derselbe, aber das kleine Delta bestehend aus Atmosphäre, Mimik und Betonung des Vortragenden und Kleinigkeiten wie der Reaktion der Zuhörer kann es doch ausmachen. Es gibt daher einige Vorträge, bei denen es einfach Spaß macht live dabei zu sein. Bei vielen Vorträgen spielt dieser Live-Effekt allerdings keine allzu große Rolle, zumal man oft im Voraus nichts über die rhetorischen und didaktischen Fähigkeiten eines Sprechers wissen kann.

IMG_0377
(Auch wer nicht live dabei war bekam fast alles mit)

 

Überhaupt muss man sich darüber im Klaren sein, dass man nur einen Bruchteil der Vorträge besuchen kann. Geht man davon aus, dass man pro Tag max. 6 Vorträge in voller Länge besuchen kann (was bereits viel ist) kommt man auf knapp 20 Vorträge in 3 ½ Tagen, was bei über 200 Vorträgen nur ein Zehntel und damit bereits rein rechnerisch frustrierend wenig ist (alleine aus diesem Grund ist es gut zu wissen, dass man ein paar Wochen später alle Vorträge auf einer DVD-Sammlung per Post erhält).

 

IMG_0381
(Anders Hejlsberg zu C# 4.0)

Den Reiz der PDC macht daher auch weniger das Vortragsprogramm aus, sondern die Möglichkeit, sich mit Microsoft-Experten (meistens Program Managern aus Redmond - echte Entwickler bekommt man auch auf einer PDC selten zu Gesicht, denn diese sollen daheim in Redmond vor allem eines tun – entwickeln) von Angesicht zu Angesicht über die Neuankündigungen unterhalten zu können, wozu es während der Konferenz sehr viele Gelegenheiten im "Ask the Experts"-Bereich gibt. Hier trifft man dann auch bekannte Gesichter aus Deutschland, Österreich und der Schweiz (nachdem Motto „wozu sich daheim verabreden, wenn es dafür die PDC gibt?“).

 IMG_0491
(eine Entwicklerkonferenz bietet vor allem Gelegenheit für SmallTalk)

Wer sich intensiv über Themen wie Azure, Oslo, M oder Dublin (ein heikles Thema für alle BizTalk-Server-Fachleute, da sich die Frage stellt, welche Zukunft BizTalk Server in seiner jetzigen Form haben wird, da Dublin der inoffizielle Nachfolger zu sein scheint) informieren wollte war hier sehr viel besser aufgehoben als in einem der zahlreichen Vorträge, wo am Ende maximal Zeit für ein Dutzend Fragen bleibt und sich um einen Sprecher nach dem Vortrag oft Menschentrauben bilden, die alle noch etwas mehr wissen wollen. Nett ist auch der "Ask the Expert"-Abend (üblicherweise am Mittwoch), wo man an Thementischen jene Fragen bei Leuten von Microsoft und anderen Teilnehmern los werden kann, die man immer mal schon einmal stellen wollte. Weniger nett ist es, wenn einzelne Tische (etwa der zu den Office Business Applications) komplett verwaist sind. Das sollte eigentlich nicht vorkommen. Vorbei sind auch die Zeiten, wo die "Microsofties" an ihren einheitlichen Polo-Shirts zu erkennen waren. Die einheitliche Kleiderordnung wurde wohl irgendwann einmal aufgehoben, so dass man schon genau hinschauen muss, um zu erkennen, wer der Gesprächspartner am Tisch ist (auch die allermeisten Konferenzteilnehmer sind erstaunlich gut und vor allem thematisch breit informiert, so dass sich fast immer ein interessantes Gespräch ergibt).

IMG_0494
(Azure war im "Ask the Experts"-Bereich natürlich das Thema)

IMG_0490
(und auch in anderen Bereichen nicht zu übersehen)

Was wirklich wichtig ist

Wer als "normaler" Entwickler Berichte wie diesen liest dürfte manchmal das Gefühl haben, dass manche Verantwortliche das Rad nicht erfinden, sondern denen ein solches verlustig geht. Können die nicht endlich einmal die aktuelle Version einigermaßen fehlerfrei machen, bevor sie wieder alles auf den Kopf stellen? Visual Studio 2010 Prä-Alpha auf Windows Server 2008 R2 Alpha unter .NET 4 Alpha hört sich nicht gerade nach eine soliden Entwicklungsplattform an. Dieser etwas überspitze rhetorische Einwand darf natürlich so nicht ganz stehen bleiben:

  • Microsoft hatte bereits mit der Einführung des .NET Frameworks angekündigt, dass es alle 2-3 Jahre ein neues Releases geben wird (warum sie allerdings keine Roadmap veröffentlichen, auf der man sich zuverlässig über die Planung informieren kann verstehe ich nicht). Ende 2007 kam .NET 3.5, .NET 4.0 wird mit Sicherheit nicht vor Sommer 2010 kommen. Dasselbe gilt für Visual Studio.
  • Unter dem Strich ändert sich bei weitem sehr viel weniger als es den Anschein haben könnte. Zieht man einmal das Ganze Azure ab, bleibt sogar relativ wenig übrig. Die VS 2010-Preview ist in erster Linie eine VSTS-Preview und enthält das, was durch "Osario" bereits seit langem offiziell ankündigt wurde. Die Änderungen der CLR beziehen sich auf die Integration mit dynamischen Sprachen und die neue Parallelverarbeitung. WPF, WC und WF werden mit der Version 4.0 deutlich weiterentwickelt, was auch notwendig und alles andere als eine Überraschung ist. Mit VB 10 und C# 4.0 wird es nur kleine und nüchtern betrachtet auch wenig bedeutende Neuerungen geben (späte Bindung und optionale Parameter in C#, nicht für jeden C#-Entwickler ein Grund zur Vorfreude). Windows 7 ist so wie Vista vor drei Jahren hätte sein sollen und "Office 14" wurde in der Keynote am Dienstag lediglich kurz gestreift und es wurde gezeigt, wie sich mit den kommenden Office 14 Web Applications Dokumente z.B. in Office Live direkt bearbeiten lassen oder Daten aus einem Online-CRM in ein Dokument übernommen werden können. Ähnliches geht bei Google Apps prinzipiell schon seit ein paar Jahren und Microsoft hätte genauso gut für einige Demos eine abgespeckte Version von Open Office zeigen können und keiner hätte es bemerkt (weder war eine Office 14-Preview Teil des Konferenzmaterials noch gab es Vorträge zu Office 14).

IMG_0392
(die Zukunft ist schon da - wieder einmal)

 

Die PDC 2008 hat dennoch eine Kehrtwende markiert. Microsoft hat mit Azure den längst erforderlichen Schritt vollzogen und eine fundiert erscheinende Service-Plattform vorgestellt (aber noch nicht ausgeliefert). Schon einmal gab es 2001 mit Hailstorm bzw. "My Services" eine im Ansatz vergleichbare Ankündigung. Vergleiche zu damals zu ziehen sind ähnlich seriös wie die aktuelle Weltwirtschaftskrise mit jener von 1929 zu vergleichen. Es passt einfach nicht. Das "Hosten" von privaten Daten im Internet war damals vielen noch suspekt, .NET stand damals ganz am Anfang und die Technik war unausgereift und ohne "Tool-Unterstützung". Fakt bleibt aber, dass Microsoft was Initiativen im Internet angeht zwar keinen allzu guten "Track Record" besitzt und mit Hailstorm ein "Service-Projekt“" grandios in den Sand gesetzt hat, gleichzeitig aber hartnäckig seine Ziele verfolgt und mit ASP.NET, IIS, Msn Hotmail, Msn Messenger, Virtual Earth und jüngst Silverlight sein Terrain erfolgreich erobert hat. Vergleicht man Microsoft und Google direkt, sehen die Bemühungen in Redmond vielleicht etwas unbeholfen aus, doch vergleicht man Microsoft mit dem "Rest der Welt" wie Yahoo, Sun (immerhin früher einmal „die Java- und dot.com-Company“, jetzt ums Überleben kämpfend) oder auch SAP besitzt es eine Entwicklungsstrategie, die (nach wie vor) geradezu brilliant ist (und seit über 30 Jahren funktioniert). Man gibt den Entwicklern eine komplett neue Plattform, gegen die sie mit ihren vertrauten Werkzeugen entwickeln können.

 

Für die Mehrheit der Entwickler dürfte dies die deutlich attraktivere Botschaft sein.

Peter Monadjemi

 Hier gibt es alle Session zum Anschauen.

Produkt/Technik Was ist neu? Wann soll es kommen?
.NET 4.0 Neue Versionen von WCF, WF und WPF, Parallelverarbeitung, CLR 4.0 Herbst 2010?
C# 4.0 Dynamische Datentypen, optionale Parameter, späte Bindung(?), Paralleverarbeitung Teil von .NET 4.0
VB 10 Mehrzeilige Lambdas, Collection-Initialisierer, automatische Zeilenfortführung, Parallelverarbeitung und etwas, das frühestens im Februar 2009 angeündigt werden soll. Teil von .NET 4.0
Visual Studio WPF-Elemente bei der Projektauswahl und im Code-Editor und die Features, die bereits mit dem Rosario-Vorab-Release bekannt sind. Zusammen mit .NET 4.0
VSTO 4.0 Mehrere Projekte lassen sich gemeinsam deployen, Pre-Build-Aktionen bei ClickOnce und einiges, was noch nicht angekündigt wurde. Der Name VSTO wird vermutlich verschwinden. Teil von VS 2010
F# Wird vermutlich fester Bestandteil von VS 2010. Teil von VS 2010
WIX Windows XML Installer wird vermutlich fester Bestandteil von VS 2010. Teil von VS 2010
M Als DSL (Domain Specific Language) implementierte Modellierungssprache als Teil von Oslo ????


Tabelle: Einige der auf der PDC 2008 angekündigte neue Versionen für Entwickler.

Friday, November 21, 2008 12:09:42 AM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

 Wednesday, November 12, 2008

Chefredakteur von einem Entwicklermagazin, dem dot.net-Magazin. Immerhin fast 3 Jahre. Seit Mai bin ich es nicht mehr. Der Grund ist alles andere als spektakulär (und hat nichts mit den üblichen inneren Zerwürfnissen, Streitigkeiten über Spesenabrechnungen oder unterschiedliche Meinungen über die inhaltliche Ausrichtung mit dem Verleger- nach dem Motto "Ab morgen machen wir Open Source, iPhone und Gamekonsolen" - zu tun), sondern ist eher profaner Natur.

Es hat mir am Ende einfach keinen Spaß mehr gemacht, da das "Dasein" eines "Chefredakteurs" (die Anführungsstriche müssen sein, da ich weder fest angestellt war, noch über jenen Stab von Mitarbeitern und Mitarbeiterinnen verfügte, die man sich normalerweise vorstellt, wenn man nach dem Motto "Fakten, Fakten, Fakten" an einen Chefredakteur denkt) doch eine recht einsame wie einseitige Angelegenheit ist.

Ich schreibe nach wie vor sehr gerne, ich schreibe auch nach wie vor sehr gerne über .NET und verwandte Themen (mehr dazu in Kürze, wenn es um die PDC 2008 geht), weniger Spaß hat es mir am Ende gemacht, Autoren regelmäßig zum Schreiben zu "motivieren" und Monat für Monat eingegangene Texte von Autoren in eine lesbare Form bringen zu müssen (wobei ich fairerweise anmerken muss, dass praktisch alle Autoren immer pünktlich abgegeben haben - das kann sicher nicht jeder Chefredakteur eines dotnet-magazins behaupten) und ich bis auf ganz wenige Ausnahmen immer sehr zufrieden mit den abgegebenen Artikeln war - insbesondere, wenn man das doch etwas moderate Honorar berücksichtigt).

Und, bevor der Eindruck entsteht, ich hätte den Laden alleine geführt, die meiste Arbeit hatten Markus (der als Redakteur das Magazin übernommen hat und nun den großen Traum leben darf), Anke (offiziell nur Volontariat, inoffiziell natürlich Vollzeitstelle Redaktion) und die jungen Menschen in der Layoutabteilung in Frankfurt. Am Ende lief es auch mit der Kommunikation im Verlag nicht mehr richtig rund, es gab unterschiedliche Auffassungen über die Online-Aktivitäten, mein Buch nahm immer mehr Zeit in Anspruch und da man bekanntlich dann gehen sollte, wenn es am schönsten ist (auf der Basta! im Herbst hatten wir immerhin die 50te Ausgabe gefeiert), fiel bei mir Entscheidung, den Job des Chefredakteurs wieder aufzugeben.

Falls mir noch jemand an meine alte Adresse peterm@entwickler.com geschrieben haben sollte (Peter K.  aus Wien zum Beispiel;) - diese Adresse gibt es bereits ab Mai nicht mehr (sorry for the inconvience).

Wednesday, November 12, 2008 10:46:06 PM (Romanische Normalzeit, UTC+01:00)  #    Comments [1] -

mit Sicherheit noch in diesem Jahr heraus, voraussichtlich sogar schon Anfang Dezember (2008). Das ist auch ein Grund, warum ich schon lange keine Blog-Einträge geschrieben hatte (ein anderer, dass ich bedingt durch die lange Pause erst die Zugangsdaten meines Providers und dann die zu dem Blog vergessen hatte). Dabei hat sich so einiges an Themen angesammelt, die ich niemanden vorenthalten möchte. Etwa, Dinge,die mir beim Schreiben des Buches in den vielen einsamen Stunden vor der Tastatur aufgefallen sind (u.a., dass ich mit Sicherheit so schnell, wenn überhaupt noch jemals, keines dieser "Mammutbücher" mit 1.100 Seiten schreiben werde - 800 Seiten reichen vollkommen. Nein, kleiner Scherz, die Kunst beim Bücherschreiben besteht eben darin, mit wenigen Seiten das Wichtigste erklären zu können - es sollte bzw. muss möglich sein, Visual Basic 2008 auf 400 Seiten so zu beschreiben, dass angehende Entwickler damit etwas anfangen können). Und dann steht natürlich mein großer Bericht von der PDC 2008 aus, auf der es wirklich interessante Neuerungen gab (und damit meine ich noch nicht einmal "Aschurre").

Also, in Kürze mehr...
Wednesday, November 12, 2008 10:21:26 PM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

 Wednesday, June 25, 2008

LINQ ist faszinierend und ein wenig beängstigend zu gleich. Faszinierend, weil die Programmiersprache auf einmal so viel mehr Möglichkeiten bietet, man näher an die Daten herankommt und man die über die Jahre mühsam aufgebaute “objektorientierte Denkweise” beibehalten kann. Beängstigend, weil man das alles erst einmal verstehen und verinnerlichen muss und man sich nie sicher kein kann, ob eine gefundene Variante wirklich die beste Lösung ist (Debuggen lassen sich LINQ-Konstrukte nicht).

Für mein Visual Basic-Kompendium (das noch in diesem Sommer erscheinen soll – was sich ganz entspannt behaupten lässt, da der Sommer gerade eben erst begonnen hat) habe ich mir eine kleines Gerüst bestehend aus einer Klasse Produkt, einer Klasse Kunde und einer Klasse Bestellung zurechtgelegt, von denen ein paar Instanzen in den Collections Produkte, Kunden und Bestellungen enthalten sind. Nicht sehr originell, aber gut geeignet, um elementare LINQ-Abfragen zu veranschaulichen).

Wie wäre es z.B. mit einer Abfrage, die den Gesamtwert aller Bestellungen zurückgibt, die Summe über ein Join sozusagen. Hört sich nicht so kompliziert an, doch es hat mich einigen Schweiß gekostet (bei den subtropischen Temperaturen hier am Neckar im Moment auch kein Wunder). Mein Ergebnis sieht wie folgt aus:

Dim SummeBestellungen = Aggregate A In _
                                        From K In Kunden _
                                        From B In Bestellungen _
                                        Join P In Produkte On B.ProduktNr Equals P.ProduktNr _
                                        Select New With { .Kunde, .SummeBetrag  B.Anzahl * B.Preis } _
                                        Into Summe = Sum (A.SummeBetrag)

Am Ende steht die Variable SummeBestellungen tatsächlich für die gesuchte Summe.

Ist das nun kompliziert oder einfach? Elegant oder kompliziert? Im Moment kann ich es noch nicht ganz beurteilen, da ich noch alles andere als ein LINQ-Experte bin. Auf alle Fälle macht es sehr viel Spaß, sich mit LINQ zu beschäftigen, zumal IntelliSense und die Hilfe einem dabei gehörig unter die Arme greifen.

Sollte jemand eine einfachere Lösung haben, immer her damit. Ich freue mich über jeden Vorschlag (so wie über den Tipp des unbekannten C#-Kenners, dass es grundsätzlich auch in C# funktioniert, allerdings nichts so elegant – dabei bleibe ich). LINQ ist nicht dazu da, SQL überflüssig zu machen, sondern um die Möglichkeiten der Programmiersprache zu erweitern. Und das ist bei VB 9.0 und C# 3.0 wirklich gelungen (100% identisch ist die Syntax übrigens nicht, C# kennt das Into-Schlüsselwort auch im Zusammenhang mit einem Select oder Join, was bei VB scheinbar nicht geht).

Hier noch ein Tipp für alle Besitzer eines Samsung X20-Notebooks bzw. generell eines Notebooks, auf dem Windows Server 2003 laufen soll, was ja grundsätzlich kein Problem ist. Insgeheim muss Microsoft den Hardwarestellern wohl bei Strafe untersagt haben Treiber zu entwickeln, denn diese scheinen Mangelware zu sein. Insbesondere WLAN-Treiber gibt es keine. Für den Intel 2200BG-Chip klappt aber die Installation der Original Intel-Treiber für Windows XP. Immerhin (wenngleich es beim Herstellen der Verbindung laufend Probleme gibt, die sich aber komischerweise nicht auf die Verbindung selber auswirken).

Wednesday, June 25, 2008 4:22:25 PM (Romanische Sommerzeit, UTC+02:00)  #    Comments [2] -

Categories
Archive
<December 2008>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Blogroll
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Peter Monadjemi
Sign In
Statistics
Total Posts: 84
This Year: 12
This Month: 0
This Week: 0
Comments: 0
Themes
Pick a theme:
All Content © 2010, Peter Monadjemi
DasBlog theme 'Business' created by Christoph De Baene (delarou)