Archives
-
.NET Doctors Sprechstunde und Lesung der .NET Twins
Als das Buch "Jetzt lerne ich ADO.NET" von Christian Weyer und mir im September erschienen ist, hatten wir schon geplant, dazu eine "Lesereise" als PR-Veranstaltung zu machen. Leider ist durch verschiedene Umstände letztlich nur eine "Lesung" daraus geworden, dir wir gestern in der Buchhandlung Lehmann´s in Hamburg gehalten haben.
-
Making of dotnet.tv II - Day 4
4. Drehtag: Heute noch schnell an zwei Außenlocations gedreht. Die Konzentration auf den Text an einer Supermarktkasse war dabei allerdings nicht ganz so einfach. Am Ende hat es aber hingehauen.
-
Making of dotnet.tv II (the adventure continues)
3. Drehtag: Gestern Bildschirmszenen gedreht. Ging am Ende ganz gut, aber das richtige Setup für die Kamera usw. zu finden, war nicht so einfach. Am Ende war es dann aber wie erwartet sehr viel einfacher, alle Bildschirmeinstellungen nacheinander zu drehen, als das ewige hin&her bei der ersten Folge zwischen "Studio" und "Bildschirm". Drehbücher und Drehpläne machen doch irgendwie Sinn.
-
Making of dotnet.tv II - Continued (Day 3)
Puh. Bis jetzt haben wir heute nur das Material von gestern auf den Schnittrechner gecaptured. D.h. wir haben alle Szenen mit allen Takes gesichtet und vom Aufnahmeband in der Digitalkamera nur die Takes gewählt, die wir in der Endfassung auch haben wollen. Keine einfache Sache, denn so ein Digiband ist ein ziemlich sequenzielles Medium. Der Zugriff dauert so seine Zeit. Und die wird auch nicht kürzer, wenn das Capture/Schnittprogramm zwischendurch mal abstürzt. Und das auf einem Mac! Ha! Wie kann das eigentlich sein??? :-)
-
Making of dotnet.tv II
Hier ein paar Impressionen:
-
Do the Chameleon - Windows Impersonation Made Easy
Recently I again stumbled into a situation where I just wanted to test, if a certain portion of my code would also work, if it ran under different Windows user accounts. But instead of switching users by hand, I wanted to impersonate them in my code. How to do this in Managed Code (e.g. C#), is described in quite a few online sources. Here are two examples:
-
PDC Fazit
Der letzte Tag der PDC ist vorbei. Donnerstag wurden fast nur noch Panel Discussions und Wiederholungssessions angeboten. Viele Teilnehmer schienen schon abgereist, denn die Geschwindigkeit des WLAN-Internetzugangs war meistenteils phänomenal. Nichtsdestotrotz waren einige Räume immer noch überfüllt und die Teilnehmer mussten das Geschehen von draußen auf einem Bildschirm verfolgen:
-
PDC-Snippets
Zur Ehrenrettung des formalen Ablaufs der PDC: Gerade hat die Organisation bekanntgegeben, man würde sich bemühen, auf das Feedback der Teilnehmer reagieren, die sich beschwert hätten, die Sessions seien so überfüllt. Als Abhilfe würden nun heute schon 14 Vorträge wiederholt und morgen weitere. Darüber hinaus erhielten alles TN eine DVD mit den Videos der 10 populärsten Sessions. (Die DVDs mit allen Session-Videos ist kostenpflichtig ($195 für Teilnehmer, wenn ich nicht irre).)
-
Ein ganz anderer Form Factor auf der PDC
Mal was ganz anderes und sehr erfrischend auf der PDC ist der Segway:
-
Zweiter Eindruck von der PDC: Unerwartete Prioritäten
Der zweite Tag auf der PDC ist um, eine Nacht ist vergangen, der Jet Lag lässt nach. Und was hat mir der zweite Konferenztag gegeben? Hm... Ich denke, ich bin zwiegespalten und muss unterscheiden zwischen Form und Inhalt.
Die Form der PDC enttäuscht mich irgendwie. Das liegt nicht an der Verpflegung, die ich für gut und ausreichend halte, gerade wenn man bedenkt, dass hier 7500 Menschen bewirtet werden müssen. Überall und jederzeit kann man gratis Getränke nehmen und sich mit Snacks kugelrund essen. Das Mittagessen ist solide und es gibt sogar Metallbesteck :-)
Demotivierend sind dagegen die ständig überfüllten Sessions. Sie zwingen zu einer Entscheidung, welchen Vortrag man sich anhören möchte, denn ein Wechsel ist nur schwer möglich, weil man beim nächsten dann sehr wahrscheinlich draußen vor der Tür stehen muss. (Dort sind zwar Übertragungsfernseher angeschlossen, aber die sind oft unscharf
eingestellt und der Ton ist nicht so laut.) Und in den Sessionräumen ist es wg der großen Fülle oft sehr warm. Bei Don Box bin ich gestern auch einen Moment eingenickt (was tatsächlich nicht nur am gedrängten Sitzen und der Wärme lag, sondern leider auch an ihm; der Altmeister ist nicht bei jedem seiner Vorträge auf der Höhe seiner Kunst).
Also: Die Popularität des Events in Zusammenspiel mit den Veranstaltungsräumen machen es schwer, die Fülle an Inhalten zu genießen, finde ich. Mir stellt sich deshalb die Frage nach der Sinnhaftigkeit, mehrere Tausend Leute über den halben Globus zusammenzukarren, um ihnen ein Lehrervorträgen (einer spricht, viele hören nur zu) Wissen zu vermitteln. Es werde das Gefühl nicht los, dass das anachronistisch, uneffektiv und unökologisch ist.
Die Möglichkeit zur Interaktion mit dem Sprecher wird von den allerwenigsten wahrgenommen und der Gewinn durch die 2-3 Fragen (also den Live-Charakter) während einer Session steht in keinem Verhältnis zum Aufwand. Das Networking um die Sessions herum ist natürlich sehr nett und bringt etwas. Aber es ist informell und damit auch ein Stück ineffektiv. Doch dafür lohnt sich der Weg zu einem Event - nur muss der dann so weit sein und der Event so lang? Ich bin sehr, sehr gespannt zu sehen, wie die
Qualität der Videos von den Vorträgen ist. Wenn die einigermaßen geworden sind, man den Code lesen, den Sprecher verstehen (und auch mal sehen) kann, dann würde mir das völlig reichen. Nein, es wäre sogar besser, als vor Ort zu sein. Denn bei einem Video bestimme ich, was ich wie lange höre/sehe. Und ich kann beliebig zwischen den Vorträgen wechseln. Der technische Aufwand für den Mitschnitt ist hier jedenfalls sehr groß. Ich bin gespannt.
Die Form der PDC finde ich also nicht so ideal. Die Inhalte dagegen sind sehr spannend. Umso bedauerlicher, dass die Form ihre Aufnahme erschwert.
Wenn ich die für mich die Inhalte nach Interessantheit und Wichtigkeit ordne, dann kommt folgende Liste heraus:
-Smartphone: Das Smartphone von Microsoft ist real! Es wurde gestern in der Keynote gezeigt und anprogrammiert. Cooool! Ein PDA mit einem .NET Compact Framework drauf ist ja schon eine schöne Sache. Aber ein PDA leidet oft unter seiner Isoliertheit. Er ist nicht so oft mit einer Netzwerkverbindung ausgestattet, so dass auch der Datenaustausch mit dem Desktop/Netzwerk schwer fällt. Das ist anders beim Smartphone: Weil es eben ein Telefon ist, ist es mit der Welt in Verbindung. Das Display ist zwar vergleichsweise klein, aber die Verbundenheit der .NET Compact Framework Applikationen darauf mit der Welt, lassen die Phantasien hochschießen. Ein Smartphone lässt sich kinderleicht mit einem WebService verbinden, in ein paar Zeilen sind damit Emails verschickt und es bietet sogar Zugriff auf Ortsdaten (wo befinde ich mich gerade?). Mit einem Smartphone kann man immer und überall (wo ein GSM-Netz ist) online sein. Das halte ich für einen Quantensprung für Software bzw. Devices, von dem wir noch gar nicht abschätzen können, wie weitreichend er unsere Gewohntheiten im Umgang mit "PCs" und auch miteinander verändern wird. Die simplen SMS haben ja schon eine quasi magische Wirkung auf Millionen ausgeübt und Handys nach vorne katapultiert - was können dann erst echte Applikationen in jedermanns Tasche bewirken? Ich bin seeeeehr gespannt - und werde mir gleich heute (wenn es noch klappt) einen Smartphone SDK kaufen. Wasfürein Spielzeug zu Weihnachten :-)))
-WinFS: Das neue Dateisystem von Longhorn ist für mich der größte Sprung, den Microsoft in der Zukunft macht. In WinFS werden nur noch Objekte gespeichert, vom kleinsten Kontakteintrag bis zur großen Bilddatei. "Dateien" im heutigen Sinn gibt es darin zwar noch, aber sie stellen sozusagen einen Sonderfall dar. Heute speichert das Filesystem Dateien und der Inhalt der Dateien ist für das Filesystem uninteressant. Spezielle Programme wissen, wie sie damit umzugehen haben: Word mit Word-Dokumenten, Paint mit
BMP-Dateien, Outlook mit PST-Dateien. Morgen speichert das Filesystem aber nicht mehr einfach Blobs, sondern diese Blobs haben Struktur. Jeder Datei können beliebig viele Eigenschaften anhängen. Eine Datei ist damit dann im Grunde eine Zeile in einer Datenbanktabelle, die eine Spalte für den unstrukturierten Dateiinhalt (z.B. den Text im Word-Dokument) hat, aber auch viele Spalten für strukturierte Informationen (Metadaten) über diesen Dateiinhalt hinaus. Für eine word-Datei könnten das Autor, Wortanzahl,
Abstract usw. sein, für einen Outlook-Kontakt Name, Email-Adresse, Tel usw. Dem Dateisystem (oder eigentlich müsste es "Objektsystem" heißen) ist dann auch keine "Datei" mehr zu klein. WinFS wird die universelle, in das Betriebssystem integrierte Datenbank. Das ist revolutionär!
-Avalon: Die Art & Weise, wie mit Avalon zukünftig Benutzeroberflächen deklarativ und getrennt vom dahinterstehenden Code realisiert werden können, wird nicht nur das Aussehen von Programmen verändern, sondern auch den Softwareproduktionsprozess. In der Keynote am Montag hat Adobe z.B. eine Designtool für Avalon XAML Dateien vorgestellt (eine Abwandlung seines Video-Schnittprogramms After Effects), mit dem ein Designer das Aussehen eines Windows Longhorn Programms völlig getrennt vom Entwickler bestimmen kann. Es ist damit eine Trennung von Frontendgestaltung und Programmierung wie bei Web-Projekten auch bei der Entwicklung von Desktop-Software zu erwarten. Programmierer, die sich heute schon nicht wohl mit der unseligen GUI-Gestaltung fühlen, werden es in Zukunft auch nicht mehr tun müssen. Das entlastet sie für andere Aufgaben (Geschäftslogikprogrammierung) und wird die Qualität der Benutzerschnittstellen hoffentlich in ästhetischer Hinsicht und in puncto Benutzbarkeit erhöhen. Programmierer sind einfach und waren nie Gestalter. Zukünftig müssen sie es also nicht mehr vorgeben. Das ist revolutionär (und bietet auch die Mac-Welt nicht, selbst wenn dort immer schon GUIs hübscher waren) und beeinflusst nicht nur die technichen Möglichkeiten, sondern den Softwareentwicklungsprozess.
-Yukon: Die Integration der CLR in die nächste SQL Server-Version ist schon beeindruckend. Gestern wurde gezeigt, wie man eigene Klassen als Spaltentypen für SQL Server-Tabelle definieren kann. Das Paradigma der atomaren Spalteninhalte des relationalen Datenmodells ist damit überholt. Sie wollen eine Struktur wie Point oder sogar ein komplexes Objektgeflecht in einer Spalte speichern? Kein Problem! Und nicht nur das! Sie können in diese Strukturen hinein abfragen und sogar in SQL-Anweisungen
Methoden darauf aufrufen! Das ist revolutionär für die Microsoft-Welt (wenn auch das Konzept einer gehosteten Runtime oder strukturierter Spalten nicht neu ist) und bietet wunderbare Chancen. Allerdings müssen wir sehen, welches Feature wie performant läuft und welche Organisation von Daten und Code vorteilhaft ist. Sicherlich bestehen zukünftige Datenbanken dann nicht nur aus einer Tabelle mit einer strukturierten Spalte und sicherlich soll Yukon auch nicht die .NET Enterprise Services als Applikationsserver ersetzen. Was aber der richtige Mix ist, muss sich erst herausschälen. (Deutlich ist jedoch, dass Yukon so aussehen muss, wie es ist, damit WinFS seine Leistungen bieten kann. Denn die Grundlage des neuen Dateisystems ist der SQL Server.)
-Indigo: Indigo als neue vereinheitlichte Kommunikationsinfrastruktur ist für mich weniger greifbar als die anderen Technologien. Die versprechungen sind schön, das Programmiermodell konsequent und endlich steht die Welt auf den Füßen (messagebasierte Kommunikation zwischen verteilten Komponenten ist der Normalfall, RPC der Sonderfall) - aber am Ende sehe ich noch keinen wirklich kategorial neuen Ansatz. Hier fehlt die Revolution etwas (naja, ist ja auch mal schön :-) - oder ich weiß noch nicht genug darüber.
Vor dem Event hätte ich nicht gedacht, dass meine Prios so aussehen würden. Da dachte ich, Yukon sei das wichtigste, spannendste. Aber die Welt ist bunt und nicht immer so, wie wir sie erwarten.
Inhaltlich hat sich die PDC also voll gelohnt. Sie ist ein Blick weit in die Zukunft (Longhorn mit Avalon, WinFS usw.), aber zeigt auch viel unmittelbarere Chancen auch (Smartphone, Yukon, ADO.NET 2.0, ASP.NET 2.0 usw.). Ihren Zweck der Vorausschau auf die Softwareentwicklung hat sie damit voll erfüllt. Keine Frage. Aber muss ich dafür nach LA fliegen? Hm... -
Erster Eindruck von der PDC 2003: Da kommt was auf uns zu
Nun bricht schon der zweite Tag der PDC an und ich habe noch nichts in meinem Blog. Hm... Woran liegt es? Ich glaube, an einer gewissen Unsicherheit, was ich zur PDC 2003 sagen soll. Auf der einen Seite ist alles gewaltig (und) spannend. Das beginnt beim Portal der PDC beim Convention Center in Los Angeles
-
Ein Cooler Event in Leipzig: Das Microsoft Summer Camp an der Uni
Der .NET Framework ist doch immer eine Reise wert. Und manchmal auch eine längere. Derzeit findet in Leipzig ein 14tägiges Training auf dem .NET Framework an der Universität statt, das so genannte Summer Camp. Und ich bin fast die ganze Zeit in der Stadt anwesend und an 6 Tagen der Trainings auch mit von der Partie. Aber nicht nur die Dauer des Trainings ist ungewöhnlich, sondern auch Veranstaltungsort und Anlass.
-
Ausgeschlafen - Nachtrag
Dank an Torsten Rendelmann für seinen Hinweis auf die SystemEvents im Microsoft.Win32 Namespace. Ich hab sie gleich mal ausprobiert und meine WndProc-Lösung ersetzt. (Dass es jetzt allerdings besser funktionieren soll, kann ich nicht feststellen.) Meine Anwendung sieht jetzt so aus:
-
Ausgeschlafen - Reagieren auf Windows Events beim Systemstart nach Standby/Hibernate
Gerade bastle ich an einer kleinen Anwendung, mit der ich mir im System Tray immer die aktuell günstigsten Call-by-Call-Nummern anzeigen lassen kann. Wenn ich dann einen Anruf machen möchte, muss ich nur die Maus über das Tray Icon bewegen und sehe schon, welche Vorwahl ich wählen muss. Das finde ich einfacher, als eine Seite wie www.telefontarife.de im Browser aufzurufen oder gar ein Tarifvergleichsprogramm zu installieren.
-
Nimm dies, Sobic F Wurm, du Elender!
Aus, vorbei! No more Mr. Niceguy! Jetzt ist Schluss! Ich hab diesen unseligen, nervenden, grau-en-haf-ten "Sobig.F-Wurm" (oder was immer es ist) satt, satt, satt. Stündlich dutzende Emails ohne Sinn und Verstand mit PIF-Anhang in meiner Outlook Inbox. Wenn das die Zukunft der Email ist, dann sag ich mal gute Nacht.
-
IDisposable handlich verpackt
Objekte, die Ressourcen halten, sollten diese Ressourcen schnellstmöglich wieder freigeben. Das gilt insbesondere für Unmanaged Resources wie File Handle usw. Eine Ressourcenfreigabe ausschließlich im „Destruktor“ von Klassen erfüllt diese Forderung aber nicht, da ungewiss ist, wann die Garbage Collection ihn aufruft. Trotzdem müssen aber natürlich auch dort allerspätestens die Ressourcen freigegeben werden.
-
Datenbankpfad einsetzen in Connection String in WinForms und ASP.NET Anwendungen
Bei der Datenbankprogrammierung ist ja immer wieder eine Frage, ob denn der Connectionstring gespeichert werden sollte. Die Optionen reichen von einer Integration in den Code über .NET Enterprise Services Constructor Strings bis zu verschlüsselten Dateien.
-
Winforms Data Binding: Auf die Quelle kommt es an
Gestern habe ich mich ein paar Stunden mit WinForms Data Binding auseinandersetzen müssen. Puh, keine so leichte Sache. Microsoft hat es bestimmt gut gemeint dabei - aber ob wirklich am Ende etwas rundum Gutes herausgekommen ist? Hm... Ich weiß nicht, ich weiß nicht. Es funktioniert zwar auf weite Strecken ganz nett, aber so richtig reibungslos ist es in nicht trivialen Szenarien nicht. Trotzdem habe ich mich damit durchaus angefreundet und es erleichtert die Arbeit gerade beim Prototyping.
-
Assemblies nur einen Mausklick entfernt von COM+
Mein kleines Tool zur Vereinfachung des Umgangs mit dem GAC hat mich nicht in Ruhe gelassen. Ein paar Kleinigkeiten wollte ich noch polieren - aber vor allem wollte ich eine automatisches Registrierung von Serviced Components. Jetzt habe ich endlich Zeit gefunden, alles einzubauen. Der komplette Quelltext ist unten zu finden.
-
ILdasm at your fingertips
Es ist schon merkwürdig: Da sind wir auf der einen Seite ganz glücklich darüber, dass die CLR eine Ebene zwischen unseren Sourcecode und das Betriebssystem zieht. Wir begrüßen die Abstraktion von der Maschine. Und auf der anderen Seite haben wir uns (oder zumindest die ehemaligen VB6-Entwickler) seitdem ungleich öfter mit Assemblercode auseinandergesetzt. Zumindest für mich ist IL-Assembler seit meinen Z80-Zeiten der erste Assemblercode, den ich mir oft und gern anschaue.
-
Hürde beim Warten auf ein Prozessende
In meinem Code von gestern habe ich gacutil.exe gestartet, um die (De)Registrierung einer Assembly im GAC vorzunehmen:
-
Assemblies nur einen Mausklick entfernt vom GAC
So, jetzt hab ich keine Lust mehr. Ich hab keine Lust mehr, Aufwand zu treiben, um Assemblies im GAC zu installieren: Consolenfenster auf, in das Assembly-Verzeichnis wecheln, gacutil aufrufen, beim Deinstallieren vergessen, dass der Dateiname ohne Extension geschrieben werden muss usw. usf.
-
Tag 3
Die Teilnehmer der TechEd wurden heute von ganz speziellen Herren begrüßt:
-
Tag 2 - Nachlese 2
Auch wenn Partying ein beliebter und auch wichtiger Teil von (so großen) Events wie der TechEd ist, so soll doch nicht der Eindruck entstehen, die Tageszeit wäre nur ein lästiger, irgendwie zu überbrückender Zwischenraum. Nein, nein, die Vorträge sind natürlich wichtig und auch die Hauptsache, wegen der die Teilnehmer auf der TechEd sind.
-
Tag 2 - Nachlese
Technischen Inhalten gehört auf der TechEd der Tag.
Der Nacht gehören Geselligkeit, Community, das persönliche Gespräch, der Spaß. Und das ist gut so. Irgendwann muss man ja auch mal die Informationsflut sacken lassen :-) -
Tag 2
Wer feiern kann, kann auch arbeiten! So heißt es zurecht und so begann der zweite Tag der TechEd schon um 8:30h mit Vorträgen. Eingeladen zu einem Roundtable Gespräch um 10:15h mit dem Keynoter Sanjay Parthasarathy vom ersten Tag, habe ich den Weg zum Gelände erst gegen 9:30h gefunden und dann die Zeit genutzt, um etwas Email aufzuarbeiten.
-
Tag 1 - Nachlese
Nach den aufregenden "erotischen Blicken hinter die Kulissen" der TechEd habe ich mir doch noch zur Abkühlung ein wenig technische Einblicke gegönnt, u.a. "Windows Forms Tips and Tricks" und "SQL Server Notification Services". Der Weg dahin über das ausgedehnte TechEd Gelände und durch die Ausstellung war zwar lang, aber am Ende hat es sich gelohnt, wie sich zeigen wird.
-
Tag 1
Die TechEd 2003 hat begonnen! Vorbei ist die Zeit der sonnigen Urlaubstage in Barcelona. Zwar ist das Wetter unverändert heiß, aber ein Tag auf der Konferenz läuft fast komplett in den weiten Hallen der Veranstaltung ab. Nach der morgendlichen Fahrt mit den Shuttlebussen um 8:00h
-
Reference couting für Assemblies im GAC
Eine kleine Erkenntnis für zwischendurch: Gerade habe ich versucht, eine Assembly aus dem GAC zu löschen. Zuerst wollte ich es über den Windows Explorer machen, der verweigerte aber den Dienst mit dem Hinweis xyz.dll could not be uninstalled because it is required by other applications. Hm... eine Anwendung, die die Assembly aber (gerade) benutzte, war mir nicht bekannt. Also habe ich es nochmal zu Fuß mit gacutil.exe probiert. Mit dem selben schlechten Erfolg - aber dafür einer etwas ausführlicheren Fehlermeldung: Unable to uninstall: assembly is required by one or more applications Pending references: SCHEME:
ID: .DESCRIPTION : -
Der Tag davor
Barcelona ist eine schöne Stadt! Die TechEd gerade hier zum Jubiläum stattfinden zu lassen, ist eine gute Entscheidung :-) Ein paar Impressionen, um den Daheimgebliebenen den Mund wässrig zu machen...
-
In Barcelona
Bin nun schon in Barcelona zur TechEd angekommen. 4 Tage Urlaub vor dem grossen Event tun gut. Getruebt wird die Entspannung nur durch einen Artikel, den ich noch schreiben muss. Puh... Aber nach des Tages Hitze ist spaet abends dafuer immer noch Zeit.
-
Das komplette Gegenteil
Gerade habe ich Clemens Vasters' Blog Eintrag vom 24. Juni gelesen und erlaube mir einfach mal zu sagen: Ich empfinde genau das Gegenteil :-)
-
Serialisieren eines Objektes, das Events feuert
Objektserialisierung ist mit dem .NET Framework denkbar einfach. Sie müssen eine Klasse nur mit einem Attribut als Serialisierbar markieren. Die Serialisierung erfolgt dann entweder implizit, wenn eine Instanz einer solchen Klasse über eine Remoting-Grenze bewegt wird. Oder Sie führen sie explizit durch, weil Sie z.B. das Objekt speichern oder per TcpClient verschicken wollen. Für die (De)Serialisierung sind Formatter-Objekte zuständig.
-
To the English Speaking Developer Community Members Stumbling Across My Blog
Today I have received a number of requests from developers who asked me to post English Web Log messages.
-
Assemblies zur Laufzeit ersetzen II
Um Assemblies zur Laufzeit zu ersetzen, d.h. eine neue Version (quasi) jederzeit einbinden zu können, müssen nicht mehr benötigte Assembly-Versionen aus dem Speicher entfernt werden. Darum ging es gestern.
-
Assemblies zur Laufzeit ersetzen
Seit meinem TechTalk über "Kompilieren statt Interpretieren" treibt mich die Frage um, wie Assemblies zur Laufzeit ausgetauscht werden können.
-
.NET Databinding für ADODB.Recordset?
Für den Einstieg in das Schreiben für die dotnetpro hatte ich neulich als Thema gewählt, Databinding für ADODB.Recordset Objekte zu realisieren. Ich wollte Recordsets wie DataTables an WinForms/WebForms UIs binden können. Complex und simple binding wollte ich realisieren.
-
Suchen mit Google ganz einfach
Habe heute bei Christoph Sprenger (Microsoft SE) einen netten kleinen Trick gesehen, wie man sehr einfach insb. Internetverzeichnisse wie Google oder dict.leo.org im Browser ansprechen kann. Statt auf ihre Suchseite zu gehen und dort ein Suchwort in ein Formularfeld einzugeben, kann man direkt in der IE Adressenzeile die Suche formulieren. In Google kann man dann z.B. mit
-
Sanduhr zeigen
In einer WinForms-Anwendung den Mauspfeil in eine Sanduhr zu verwandeln, ist eigentlich einfach:
-
Nachricht aus dem Reich der Toten
Habe heute noch ein Rezensionsexemplar eines Wrox-Buches bekommen: Professional .NET Network Programming. Das war ein komisches Gefühl, denn Wrox hat vorgestern Insolvenz angemeldet. Das Buch ist damit wie eine Nachricht von einem Verstorbenen, etwas Hinterlassenes, ein letztes Zeichen. Tja... so kann es gehen. Schade um Wrox. Gute Bücher (auch wenn am Ende mehr Masse denn Klasse stand) und innovative Ideen (z.b. www.asptoday.com und www.csharptoday.com oder die Handbook-Serie).
-
Los geht´s
Tja, so kann es kommen: Neulich noch habe ich mich förmlich geweigert, der neuen Mode WebLogs zu folgen, heute fange ich selbst eines an. Mal schauen, wie lange und mit welcher Intensität ich es durchhalte. Vielleicht muss ich aber auch nur meine Sichtweise ändern: Wenn ich weniger darin eine "Pflicht" zur Selfpromotion und Information anderer sehe, sondern eher eine Form der Archivierung meiner eigenen Gedanken, dann ist das Blog vielleicht weniger eine "notwendige Last", als vielmehr eine "Hilfe", um noch produktiver zu sein. So wie Autoren private Zettelkästen führen, um Material für ihre Bücher zu sammeln (ich habe das nie wirklich getan), so kann das Blog vielleicht auch ein Zettelkasten für Artikel, Bücher, Projekte usw. sein. Und seine Öffentlichkeit ist dann ein Nebeneffekt.