Tim Jansen's Blog (deutsch)


2003/11/01
KDE 4.0
Die APIs werden grösser. Ich schreibe gerade einen sicheren Ersatz für QByteArray namens MemArea. Zusammen mit einem speziellen Pointer namens MemPtr, der nur innerhalb des MemAreas benutzt werden kann, macht MemArea das Lesen und Schreiben von binären Daten wesentlich komfortabler und vor allem frei von Buffer-Overflows. Es beseitigt all die Probleme, die ich beim Schreiben des QByteArray-basierten SLP-Parsers für Knot identifiziert habe, und noch ein paar mehr. Auch relativ enthusiatisch bin ich über PeekingInputStream, ein InputStream Filter der es mittels Buffern erlaubt, einen InputStream mehrmals zu lesen. Das löst ein sehr häufiges und ansonsten selten elegant gelöstes Problem, wenn mehrere Module sich einen Byte-Strom ansehen müssen, um zu wissen, welches ihn letztenendes bearbeiten muss. Ausserdem denke ich gerade über eine typsichere DOM-Variante nach, mit der sich alle Dateiarten (inklusive binärer) beschreiben liessen. Für jedes Datei Format gäbe es mehrere Schemas, von Format-spezifischen über klassische Meta-Beschreibungen des Typs (zB Künstler und Titel für Musik) bis hin zu simplen Schemas, die einfach nur den gesamten Text der Datei beinhalten. Sinn der Sache wäre vor allem eine Struktur, über die man XPath oder XQuery Abfragen fahren kann. Quasi ein Pedant zu WinFS oder Storage, das aber weiterhin auf Byte-Strömen aufsetzt und auch vollständig rückwärtskompatibel zum Unix-Filesystem ist.


SOAP & Service-Orientierung
Zum Thema Service-Orientierung gibt es von MSDN zwei sehr empfehlenswerte Videos, in denen Don Box das Konzept erklärt und nebenbei auch auf die Probleme von SOAP, XML Schema und XmlRPC eingeht. Teil 1 und Teil 2.

Kampf gegen das Analoge
Die FCC hat eine pragmatische Lösung gefunden gegen die Plage des analogen Fernsehens: sie verbieten einfach ab 2007 den Bau analoger Fernsehen. Das Abschalten der analogen Übertragung halte ich zwar für effektiver (wer hindert die Leute sonst daran, sich analoge Geräte bei eBay zu besorgen?), aber verbieten ist immer eine gute Lösung.



This page is powered by Blogger. Isn't yours? Creative Commons License
All text in this blog is licensed under a Creative Commons License.
(Images containing screenshots etc are excluded)