Heute habe ich meinen Artikel zum Thema »Deklaratives Multithreading« auf CodeProject online gestellt. Da es mein erster, komplett in englisch verfasster Artikel ist, bin ich auf das Feedback ziemlich gespannt. weiterlesen…
Heute habe ich meinen Artikel zum Thema »Deklaratives Multithreading« auf CodeProject online gestellt. Da es mein erster, komplett in englisch verfasster Artikel ist, bin ich auf das Feedback ziemlich gespannt. weiterlesen…
Ich arbeite gerade an einer WPF-Applikation, welche wie ein Notizblock aussehen soll. Natürlich passen die von Windows bereitgestellten Icons und Buttons nicht wirklich zu diesem Design. Also habe ich überlegt, wie ich handgezeichnete Icons in WPF übernehmen kann. Der erste Versuch einfach eingescannte PNG-Bilder zu verwenden sah — zumindest in höheren Zoomstufen — schrecklich aus. Doch zum Glück gibt es eine Möglichkeit Icons als Vektorgrafik in WPF zu überführen. Ich habe mich für den aktuellen Anwendungsfall nur auf schwarz-weiße Strichzeichnungen beschränkt. Das Verfahren lässt sich jedoch auch auf andere Grafiken übertragen. weiterlesen…
Einen Satz, den sich jeder Programmierer über den Schreibtisch hängen sollte, habe ich in einem Interview mit James Gosling (einem der Urväter von Java) gefunden:
»I think in any kind of design, you must drive for simplicity all the time. If you don’t, complexity will nail you.« weiterlesen…
Was ein Embedded Controller ist, kann man ausführlich in der Wikipedia nachlesen. Kurz gesagt steuert er die vielen Sonderfunktionen heutiger Notebooks wie Battrieladung, Lüfter, Temperatursensoren, usw. Der Zugriff auf diesen kleinen Coprozessor ist jedoch unter Windows nicht gerade einfach. Viele Programmierer nutzen daher Bibliotheken um direkt auf die Hardware zuzugreifen. Dies führt oft zu Fehlermeldungen im EventLog und anderen Problemen. Dies liegt daran, dass Windows eigentlich einen Treiber für diese Bausteine mitliefert. Dieser nennt sich acpiec.sys. Leider ist die Dokumentation zu diesem Treiber mehr als dürftig. Also habe ich mir gedacht, dass etwas reverse engineering nicht schaden kann. Das Ergebnis meiner Bemühungen ist eine DLL, welche den Zugriff auf den Ebedded Controller von Notebooks (zumindest auf meinem Thinkpad und einem Aspire One) unter Windows XP erlaubt.
Die Projektseite ist diesmal ausnahmsweise in englisch gehalten, da ich keine Lust habe zwei Webseiten zu pflegen. Ich habe jetzt einmal die Version 0.6 des Tools (hiermit lassen sich alle 256 Register des Controllers lesen und schreiben) sowie die Version 0.4 der DLL bereitgestellt. Besonders interessier wäre ich an Berichten, ob das ganze auch unter Windows Vista (mit Administrator rechten) funktioniert. Wenn jemand das Tool auf einem anderen Notebook testen kann, bin ich ebenfalls an Feedback sehr interessiert.