Archive for Dezember, 2005

ActiveSync 4 und Fehlercode 8503001f

Wenn ich schon beim Beheben von ActiveSync-Fehlern bin: Wird Outlook mit einer anderen als der bei der ActiveSync verwendeten primären PST-Datei betrieben, kann es vorkommen, dass ActiveSync nicht mehr will und sich beim Synchronisieren mit dem Fehlercode 8503001f und der Fehlermeldung “Synchronisierung ist mit dem z. Zt. benutzten Outlook-Profil nicht möglich, da zuvor ein anderes Profil eingerichtet wurde oder weil das Profil kennwortgeschützt ist. Öffnen Sie Outlook mit dem richtigen Profil” verabschiedet.

Die Lösung ist recht simpel: Mobile Device entfernen, aus ActiveSync löschen und neu anstecken. Manchmal muss auch noch ein Reboot sein. Danach wird eine neue Verbindung eingerichtet und es sollte wieder alles funktionieren.

ActiveSync 4 und Fehlercode 85010014

Das kann ungeheuer lästig werden: ActiveSync 4.x verabschiedet sich sehr gerne mit dem Fehlercode 85010014, der auf einen Fehler in der Outlook-API hinweisen soll. Ich selbst habe das jetzt über einige Tage gehabt, konnte das Problem aber mittlerweile lösen:

  • Uninstallieren von ActiveSync
  • Neustart des Computers
  • Aufrufen von C:\Programme\Gemeinsame Dateien\System\MSMAPI\1031\ScanPST.exe (auf einem deutschen System, auf einem englischen System lauten die Pfade anders) und überprüfen der PST-Datei, die mit Outlook verwendet wird
  • Outlook 2003 öffnen und auf Hilfe (?) > Erkennen und Reparieren gehen
  • Neustarten
  • ActiveSync neu installieren

Der Prozess dauerte bei mir zwar eine Weile, hat letztlich aber zum Ziel geführt.

Und nein: Andere Ideen (ausser Outlook deinstallieren und neu installieren und hoffen und beten) habe ich nicht. :-)

ActiveSync 4, WM 5 und VMware

Ich habe heute mein komplettes Outlook in eine VMware übertragen, da ich so eine abgeschlossene Umgebung nur für Mails und Kontakte habe – und bei meinen häufigen Neuinstallationen nun nur noch VMware neu installieren muss. Spart höllisch Zeit und das elendige Übertragen von Einstellungen, etc. gehört der Vergangenheit an.

Ein Problem gab es aber: Die Synchronisation meines Qtek 9100 und meines i-mate JASJAR mit dem Outlook in der VMware – das ging nämlich nicht. Die PDAs wurden zwar erkannt, aber ein ActiveSync schlug einfach fehl. Nach ein wenig Suche wurde mir klar, dass der Schlüssel in einem kleinen Satz lag:

“Since Windows Mobile 5.0 and ActiveSync 4.0 now utilize the Windows system TCP/IP stack for communication, the device connection will appear as a network interface…” (hier)

Kurz nachgedacht, die VMware-Konfiguration angeschaut… Klar, die Lösung war relativ einfach: Die Standard-VMware-Connections sind Bridged-Connections, die aber mit WM 5 nicht funktionieren. Setzt man stattdessen eine NAT-Verbindung ein, bei der die VMware sich quasi hinter dem Host versteckt (und dessen Verbindungen mitverwendet), klappt es – da WM 5 über eine TCP/IP-Verbindung synchronisieren möchte, wird diese an die VMware durchgereicht – und kann dort genutzt werden.

Jahresend-Shopping: DeveloperExpress Refactor! Pro

Normalerweise verwende ich das wirklich ausgezeichnete ReSharper 1.5, um meinen Code besser wartbar und performanter zu machen (nennt sich Refactoring…). Leider hat ReSharper gleich zwei unangenehme Probleme:

  • Es funktioniert nur mit C#
  • Es funktioniert nur mit VS.NET 2003

Momentan habe ich jedoch mehrere VB.NET und VB 2005-Projekte zu bearbeiten. Und da ich den Komfort eines Refactoring-Plugins nicht missen möchte, mussten Alternativen her. Aus diesem Grund habe ich mir Refactor! Pro, den großen Bruder des VS 2005-VB-Refactoring-Plugins zu Gemüte geführt und letztlich auch gekauft, denn die Vorteile sprechen für sich:

  • Funktioniert mit C# (da bleibt für mich aber ReSharper bei VS.NET das Mittel der Wahl)
  • Funktioniert mit VB.NET und VB 2005
  • Funktioniert mit VS.NET 2002, VS.NET 2003, VS 2005

Wer es testen möchte, sollte noch ein paar kurze Tage warten: Die aktuelle Trial-Version läuft schon am 02.01.2006 aus…

Neu auf ASP.extra: XML-Dokumente per XmlReader lesen

Die im .NET-Framework 2.0 sehr stark überarbeitete XmlReader-Klasse aus dem System.Xml-Namensraum ist die Basisklasse einer Reihe von Ableitungen, die einen nicht cachenden, vorwärtsgerichteten und nur-lesenden Zugriff auf ein XML-Dokument erlauben.

Hier gibt es den kompletten Artikel:

Mehr zum Thema in den beiden ASP.NET Premium Codebooks:

Jetzt auf Deutsch: VS 2005, Express Editionen und SQL Server 2005

Ja, genau so ist es: Für MSDN-Abonnenten gibt es VS 2005, die VS Express Editionen und SQL Server 2005 jetzt auch auf Deutsch. Wurde ja Zeit. :-)

Das Erlebnis am Samstag: Installation von Windows 2000

Ich hatte heute mal wieder ein Erlebnis der besonderen Art: Für ein Buch habe ich mir Windows 2000 Server in meiner VMWare installiert. Reine Installationszeit für das System: cirka 90 Minuten, was für eine VMWare nicht schlecht ist. Seit mittlerweile vier Stunden aber werden ServicePacks, Updates und Hotfixes installiert – und ein Ende ist noch nicht in Sicht.

Und das ganz schlimme dabei: Windows 2000 ist bereits abgekündigt – es werden nur noch kritische Fehler beseitigt. Auch wenn jetzt also soviel installiert wird, ist die Halbwertszeit des Systems mehr als begrenzt.

Bookbashing – und ich bin dabei!

Der Typ hat zu 100% Recht:

Gesehen bei Ralf und bei Michael.

Stoppt WHAM!

Stoppt WHAM!Carsti hat voll und ganz Recht: Es wird Zeit, dass das “Werk” dort verschwindet, wo es herkommt! Nichts gegen Weihnachtslieder – aber das Lied ist ja noch nichtmal eines! Also, weg damit!

Das schöne Bild kommt übrigens von Damir, der sich diesem Wunsch auch angeschlossen hat.

Wie kann man Halbwissen verbergen…?

…aus einem Gespräch, das ich heute in U’Schl bei einem großen Software-Haus hatte:

Wie kann man in einer Session / einem Training / einem Talk verbergen, dass man in gewissen Bereichen nur über ein gepflegtes Halbwissen verfügt? Hier ein paar Ideen:

  • So viel erklären, das keine Fragen mehr sind
  • Schnell aus dem Raum rennen
  • Den W. geben und einfach so mit Abkürzungen und Fachbegriffen um sich werfen, das ohnehin keiner mehr folgen kann…

Weitere Ideen? Oder auch Ideen, wer sich hinter “W” verbirgt?

Java vs. .NET – it’s so technology…

Bezugnehmend auf das gestrige Posting von Damir, meine Entgegnung und die Antworten von Shinja und Thomas, hier nun meine Gedanken zur Thematik:

Technologiehörigkeit

Viele, viel zu viele Entwickler und Entscheider sind technologiehörig. Da wird DIE Technologie in den Himmel gelobt und jede andere Technologie verteufelt. Da schlägt dann auch mal schnell ein beleidigter Ton durch, da wird unsachlich diskutiert und ein gepflegtes Halbwissen aus der Vergangenheit als Basis für Aussagen in der heutigen Zeit genommen. Das ist der Status quo, den wir immer wieder sehen.

Standards vs. Technologien

Die Wahrheit jedoch ist (und das hat Shinja heute sehr schön geschrieben): Technologien sind vergänglich. Technologien sind nur temporär. Die Diskussion um Technologien geht also an den Bedürfnissen vorbei – Unternehmen investieren heute weniger in .NET oder Java, sondern in Plattformen, mit denen sie ihre vorhandenen Lösungen integrieren und weiter sinnvoll nutzen können. Das ist der Moment, wo Standards – etwa XML oder WebServices – ins Spiel kommen. Die sind das, was eigentlich zählt. Die zugrundeliegende Technologie verliert an Bedeutung – sie kann bei Bedarf ausgetauscht werden. Wenn also gegen eine spezifische Technologie polemisiert wird, trifft das den Kern der Sache einfach nicht.

Aussterbende Technologien

Bestimmte Technologien werden an Bedeutung verlieren – etwa klassisches ASP. Hier sind die Gründe klar: Die Technologien sind veraltet und bieten einfach nicht die Funktionalitäten, die heute erwartet werden. Auf Kosten dieser Technologien findet das zukünftige Wachstum statt – die freiwerdenden Marktanteile werden sich integrierte Frameworks wie .NET und Java teilen. Da eine Verschiebung zwischen Java und .NET zu erwarten ist blauäugig – dafür sind die Laufzeiten der Projekte zu lange und dafür sind auch die Investitionen in die Umgebung oftmals zu hoch.

PHP ist Technologie, kein Standard

PHP spielt zwar derzeit eine gewichtige Rolle im Umfeld von dynamischen Applikationen, hat jedoch im Enterprise-Bereich noch kein Bein auf den Boden bekommen. Und das nicht ohne Grund: Es dreht sich hier einfach zu wenig um Standards – und somit ist PHP vergleichsweise uninteressant in Bereichen, in denen es um Integration geht. Übrigens sollte man an der Stelle nicht von der reinen Anzahl an PHP-Webseiten ausgehen und die Sprache als seligmachendes Mittel anpreisen: In der schieren Masse verstecken sich Unmengen an kleinen und kleinsten Präsentationen, Gästebücher und Foren. Die als Enterprise (also Unternehmensanwendung) zu sehen, fällt ernstlich schwer.

Standards zählen, nicht Technologien – Integration zählt, nicht Hype

Wenn das alles zusammengezählt wird, schlägt hier die Stunde von .NET und von Java, denn beides sind integrierte Frameworks, die schon eine Menge an Funktionalität mitbringen, sehr leicht erweitert werden können und sich nahtlos in bestehende Strukturen einfügen lassen. Wer das nicht sehen will oder kann, dem fehlt tatsächlich die Kenntnis, der lebt nur in seiner eigenen Welt und der diskutiert am Thema vorbei. Und nur, weil ein Framework plötzlich nicht mehr der neueste Hype ist, muss es nicht zwingend schlechter sein oder gar an Bedeutung verlieren – auch wenn sich das der eine oder andere Kollege wünscht.

Don’t bash the community!

Ein Fehler wird übrigens gerne gemacht, wenn keine anderen Argumente mehr greifen: Da wird mal eben schnell die Community der Konkurrenz schlecht dargestellt. Leider, leider zeigt das, dass der Betreffene auf sehr wackeligem Grund argumentiert: Eine Community als träge zu bezeichnen (etwa im Falle von AJAX, was im Übrigen nur ein Hype ist), ist erstens sachlich falsch (hier, hier, hier, hier und hier) und wirkt zweitens einfach nicht besonders gut – oder wollen wir etwa von der anderen Seite beschimpft werden?

Java-Bashing: It’s so boring!

Der liebe Kollege Tomicic hat einen Beitrag in seinem Blog verfasst, den ich so nicht stehenlassen kann. Es geht dabei um die Aussage der Businessweek, dass Java und die J2EE tot seien – was aber nur simples Wunschdenken des Autoren, einer Meinungsforschungsfirma und leider auch des Kollegen ist.

Nur weil eine Zeitung und ein Marktforschungsinstitut es behaupten, sind weder Java noch die J2EE tot. Im Gegenteil: Sie rocken mehr als je zuvor und sind innovativer als je zuvor: Ein Beispiel: Generics – kam bei Java 5 mehr als ein Jahr vor .NET 2.0, und ist nebenbei auch noch konsequenter implementiert.

Hinsichtlich Beans: Ich hoffe, dem Autor ist klar, dass eine einfache Klasse bereits eine Bean ist? Und ja, die musste man einfach haben – nämlich weil es einfach besser war und ist, objektorientiert (neben dem ganzen Hype) zu arbeiten. Falls Enterprise Java Beans gemeint sind: Die bewegen sich Bereichen, in die man derzeit mit .NET-Technologie noch kaum hinkommt. Insbesondere deshalb, weil es eben noch kein Pendant zu integrierten Applicationservern wie WebLogic oder WebSphere mit deren weitreichenden Funktionalitäten gibt. Ohnehin ist .NET bisher kaum im Enterprise-Bereich angekommen, weil eben wichtige Technologien und Techniken nicht verfügbar waren und nach wie vor auch sind – erwähnt seien nur mal Sachen wie Hibernate (ja, da gibt es einen mittelprächtigen Port), serverbasierende Persistenz, Spring oder ähnliche Sachen. Es ist also recht vermessen, hier einen Abgesang auf Java und J2EE zu singen – auch wenn da der Wunsch der Vater des Gedanken ist.

Hinsichtlich der “Basistechnologie für Service-Provider” lässt sich nur soviel sagen: Sowohl .NET als auch Java rollen den Markt an der Stelle auf – und zwar zu Lasten von älteren Technologien (COM, CORBA, etc.). Beide bieten sehr schön nutzbar WebServices-Implementierungen an und sind beide performant und schnell.

Und, lieber Autor: Wenn Du denkst, dass Java langsam und träge sei, dann wird es Zeit, dass Du es mal ausprobierst… Ich kann dieses Vorurteil von den ach so langsamen Java-Applikationen nicht mehr hören. Auch hinsichtlich “schwerfällig” und “teuer am Ende”: Das sind Vorurteile! Was bitte ist denn an einer gut programmierten J2EE-Lösung schwerfällig? Und was ist an einer J2EE-Lösung auf Basis von JBoss und anderen OpenSource-Tools teuer? Nicht mal die Folgekosten sind höher als bei einer .NET-Lösung – wie auch, das Wissen liegt praktisch auf der Strasse, das System ist weitestgehend egal und Lizenzkosten fallen auch nicht an.

Noch ein Aspekt: Die wesentlich ältere und oftmals auch regere Community im Java-Umfeld: Sorry, was allein die Anzahl der Leute angeht kann .NET derzeit noch nicht mithalten. Zwar steigt hier die Anzahl, aber Java / J2EE hat da sicher auf lange Zeit noch die Nase vorn.

Versteh mich nicht falsch, lieber Autor: Ich liebe .NET und ich setze es nicht ohne Grund sehr weitreichend ein. Aber ich kenne und nutze auch Java und die J2EE – und kann die Aussagen nur unter dem Aspekt einer ziemlich plumpen Werbung nachvollziehen. Wer sich ein Urteil über eine andere Technologie erlauben möchte, sollte sie doch bitte zuvor kennen lernen und nicht einfach nur mit Halbwissen und Hörensagen um sich schlagen.

Klare Aussage am Ende: Weder Java noch J2EE sind tot. Im Gegenteil: Sie leben! Das wird sich spätestens mit der J2EE 1.5 und Java 6 zeigen, die beide im nächsten Jahr zu erwarten sind. Und das haben wir alle davon: Mehr Innovation und mehr neue Features sowohl in .NET als auch in Java, denn Konkurrenz belebt das Geschäft.

Ach so, zuletzt: Ich nutze beide Technologien, gebe Trainings mit ihnen und schreibe Bücher drüber. Ganz ehrlich: Das alles würde ich nicht machen, wenn eine der beiden Technologien träge, langweilig oder unpraktisch wäre. Ich kann nur jedem Entwickler und Entscheider raten: Schaut mal über den Tellerrand und seht euch mal die Konkurrenz an. Es könnte durchaus interessante Überraschungen geben!

Webcast VB.NET Best Practices

Heute um 14 Uhr halte ich einen Webcast zum Thema “VB.NET Best Practices”: Viele Wege führen nach Rom, aber manche sind besser gangbar als andere. Für viele gängige Szenarien wird hier gezeigt, wie man es am Besten machen kann. Mit dabei sind unter anderem: Dateizugriff, XML, Datenbanken, Ausnahmen, Fehlerbehandlung und mehr. Als Bonbon oben drauf: Unit-Testing mit NUnit und VB.NET für mehr Qualität und Sicherheit beim Programmieren. Also, reinschauen!

Mehr Informationen gibt es unter

ASP.extra wieder da

Was lange währt… Nachdem ASP.extra nunmehr fast zwei Wochen offline war (herzlichen “Dank” an die Herren von 9na, deren Kundenorientierung nicht wirklich weit reicht und die sich außer Stande sahen, den selber angerichteten Fehler zu korrigieren), habe ich soeben beim neuen Anbieter erfahren, dass ASP.extra jetzt erfolgreich übertragen worden ist.

Das bedeutet: Heute im Laufe des Tages sollte die Domain wieder erreichbar sein – und dann geht auch Mail wieder… :-)

Wie gross können Haufen wirklich werden…?

Hier gibts die Antwort:

Das hab ich heute gebraucht, das hat mir den Abend gerettet… :-)

ASP.extra derzeit nicht erreichbar

Aufgrund einer verloren gegangenen Rechnung (Junk-Filter, nicht gesehen), hat mein (nunmehr ehemaliger) Domainanbieter und Ex-Hoster 9 Net Avenue Deutschland die Adresse www.aspextra.de ohne weitere Rücksprache und ohne weitere Kontaktversuche in Transit geschickt. Ich versuche derzeit die Domain zu meinem derzeitigen Domainpartner zu übertragen, weiss aber leider nicht, wie lange das dauern wird. Ich rechne damit, dass bis Montag ASP.extra wieder erreichbar sein wird.

Sorry für alle Umstände!