Abonnieren

Liebes BLOG Tagebuch!

Man sagt:
Was wir wissen, ist ein Tropfen, was wir nicht wissen, ist ein Ozean.
(von Isaac Newton oder aus Dark)

Ich muss heute also noch sehr viel trinken. 😉

Diese Seite benutzt KEINE Cookies! Wozu auch?
Hier geht es NICHT um Browser-Kekse, Werbung und Spionage, SONDERN um Programmierung, Hardware, Software und was mir sonst noch so passiert ist, damit ich in 10 bis 20 Jahren eine Erinnerungshilfe an meine momentanen Erlebnisse parat habe.

Was bisher geschah:


Zeitrechnungen

Da meinte doch tatsächlich mal ein Java-Programmierer, ich solle keinen Code nutzen, der auf den Calendar - Klassen basiert und SimpleDateFormat einsetzt, denn diese sind nicht Thread-sicher.

Ich kann das ja immer noch nicht glauben, dass Java in seinem Aufbau so defekt ist, dass es Kalender-Rechnungen in globalen Variablen vermurxt und dann Fehler oder Abstürze produziert, wenn unterschiedliche Instanzen in Threads benutzt werden.

… doch offenbar melden mehrere Seiten solche Probleme.

» Ganzen Beitrag lesen

setjmp / longjmp

In einer Zeit, als die alten Götter herrschten, schrie das Land, das Kriegsherrn in Aufruhr versetzten, nach …

Exceptions, weil weder Hercules noch Xena ein Konzept zur strukturierten Fehlerbehandlung vorweisen konnten.

C++ wurde erst 1998 vollständig standardisiert und die anderen Sprachen … gab es die eigentlich schon?

Doch einer der ältesten Titanen, nämlich C, zeigte sich unbeeindruckt, da er schon lange über ein Technik verfügte, in “Ausnahmefällen” quer durch den Code zu springen.

» Ganzen Beitrag lesen

Umgebungsvariablen und mehr

Ein paar wichtige Informationen bekommt jeder genetisch mitvererbt, wenn er das Licht der Welt erblickt.
Das ist bei Prozessen ganz ähnlich wie bei Menschen.

Die “Umgebung” (“Environment”) beinhaltet einige Datenwerte, die der Elternprozess seinen Kindern “aufdrücken” kann, und wenn er sich nicht weiter darum kümmert bekommen die Kinder das gleiche, was er selbst auf den Weg mitbekommen hat … die Umgebung wird also vererbt.

» Ganzen Beitrag lesen

Pipes: Rohrpost zwischen Prozessen

Hätte man “Pipes” in der Programmierung als “Pipeline” bezeichnet, würden vielleicht mehrere Entwickler den Namen kennen und die Technik einsetzen.

Linux bzw. Unix - Fans wissen mit dem Begriff gut umzugehen, doch auf Seiten der Windows Gemeinde fehlt dieses Wissen leider nur all zu oft.

Dabei sind Pipes eine schöne klassische Form Daten zwischen Eltern- und Kindprozessen auszutauschen.

» Ganzen Beitrag lesen

Windows Management Instrumentation (WMI)

WBEM, oder auch Web-Based Enterprise Management ist ein Ansatz um Administration und Fernwartung in großen Netzwerken (Unternehmen) zu standardisieren.

Microsoft preschte schon vor den 2000ern mit seiner eigenen COM-Implementierung davon vor, nannte es WMI und deshalb haben wir heute zu vielen Systemkonfigurationen primär nur über die WMI-Schnittstellen Zugang.

» Ganzen Beitrag lesen

Durch den Callstack wandern

Verwaltete Sprachen wie Java oder jene des dotNet Frameworks definieren einen Standard wie Funktionen ausgestalten sein müssen.
Damit kann das Framework seine eigenen Funktions-Aufrufbäume genau zurückverfolgen.

Das merkt man vor allem bei Exception, die ganz genau wissen woher sie kamen.

C und C++ kennen einen solchen Standard für den Aufbau des Callstacks nicht, weil im Zuge der Optimierung Funktionen eingebettet (Inlining) werden können oder andere interne Calling-Conventions benutzt werden dürfen.

Will man aber dennoch “seine Herkunft” zur Laufzeit ermitteln muss man selbst Hand anlegen.

» Ganzen Beitrag lesen

Eiscreme ohne Zucker

Wäre es nicht so Deppen-einfach, dass sogar ich es hinbekomme, würde ich nicht darüber schreiben:

Also: Wie kann man Vanille-Eiscreme ohne Kohlenhydrate zubereiten, damit man in seiner Low-Carb Diät auch etwas zum Naschen hat?

» Ganzen Beitrag lesen

ANSI und UNICODE

Während Windows 9x nur ANSI-kodierte Byte-Strings kannte, unterstützte NT 4 einige Unicode-Bereiche in der Form von UTF-16. Die Windows API ist daher auf NT-Systemen großteils doppelt implementiert.
Pessimistisch könnte man auch sagen: Sie ist gespalten.

Wer mit “alten” ANSI-Bytes-Strings arbeitet darf hinten ein großes “A” anhängen, und wer Unicode nutzen will, lässt seine APIs und Strukturen auf ein großes “W” für Wide-Character enden.

Die meisten kümmern sich jedoch darum nicht sondern nutzen die API ohne “A” oder “W” Suffix und verlassen sich darauf, dass die Windows-Header automatisch die richtige Form wählen.

» Ganzen Beitrag lesen

Rechte und Pflichten im Dateisystem

So wie sich Sommer und Winter abwechseln, so kämpften Microsoft und die OpenSource Programmierer jahrelang um “das Beste” Berechtigungskonzept.

DOS und Windows 3.x und 9x waren rechtelos und damit den Unix-Derivaten schwer unterlegen. Mit Windows NT 3 und NT 4 legte man ACLs (Access Control Lists) über FAT32 und taufte es NTFS, was flexibler als die alten POSIX-Rechte war, die nur zwischen einem Eigentümer (Owner), einer Gruppe (Group) und allem anderen (Other) unterschied.

Etwas später zogen Linux und BSD nach unten bauten einen erweiterten POSIX Entwurf ein, der diese Zugriffslisten (ACLs) auch auf ihrer Seite möglich machte.

Und letztendlich versuchte man in beiden Welten durch diverse Tricks die begehrten “Administrativen Privilegien” stückweise den Anwendungsprogrammen bereitzustellen, ohne dass man gleich alle Macht dem Standard-Benutzer-Account vor die Füße warf.

Um niemanden zu beleidigen sagen wir deshalb: Es steht nun unentschieden.

» Ganzen Beitrag lesen

Hash-It, und das Dirty-Bit fällt weg

In der letzten Episode unserer Daily-Soap “Gute APIs, Schlechte APIS” sahen Sie:

Aufruhr in der Editoren-Straße! Großmutter Textbox zeigte erste Anzeichen für Demenz, als ihr Schwiegersohn Updatetimer sie nach der aktuellen Cursorposition fragte. Während dessen plagen Familienvater Streamwriter schwere Gewissensbisse, nachdem er heimlich mit seiner Jugendfreundin UTF-16 fremd gegangen war, während seine angetraute UTF-8 zu Hause saß und den kleinen ANSI-Codec stillte. Parallel kam es zu einer Schlägerei zwischen dem pubertierenden Jungen ToolBar, der mit seinem Zimmergenossen MenuBar um seine ID-Zuordnung im Streit lag. Und während alle ihren Problemen nachgehen, beobachtet Professor Statemanager distanziert und dennoch mit Sorge, wie sich Grußmutter Textbox’ Gesundheitszustand verändert.

» Ganzen Beitrag lesen

Kompression: Von ZLIB bis LZMA

Ach die liebe ZLIB … nichts kommt ohne sie aus und immer noch hat sie den Speichermanager mit im Schlepptau um auch noch unter DOS mit 64 KByte auszukommen.

Die deflate Kompressionsmethode zählt zu den ältesten und am weit verbreitesten und ist die Basis des GZIP und ZIP Formats.

Da sie als OpenSource zur Verfügung gestellt wird, wird sie auch intern in vielen Produkten benutzt um Datenmengen zu verkleinern.

Doch im Laufe der Zeit wurden neuere Algorithmen entwickelt, die durchaus mit der alten ZLIB in Konkurrenz treten.

» Ganzen Beitrag lesen

Videoschnitt mit Virtual DUB

Fortsetzung zu gestern: Apropos Video!

Das Video-Tool Virtual-DUB zählte für über 10 Jahre zu einem meist genutzten Tools am PC.
Schließlich wurde jede Woche entweder etwas im Fernsehen mit der der TV-Karte aufgenommen, oder ein DVD-Inhalt auf eine CD herunter konvertiert.

Und das tat ich mit dem OpenSource Video-Editierungs- und -Konvertierungs-Tool Virtual DUB (www.virtualdub.org.

» Ganzen Beitrag lesen

Fernsehen am PC

Nachdem der Millennium-Bug (wie erwartet) überhaupt nichts angerichtet hatte, war eine der ersten Investitionen im neuen Jahrtausend eine TV-Karte.

Ich hatte bei einem Bekannten mit großen Augen verfolgt, wie er “am Computer” das terrestrisch ausgestrahlte Fernsehprogramm in einem Fenster unter Windows 98 sehen konnte, und wusste: “Das will ich auch haben!”

» Ganzen Beitrag lesen

Langsamer Nachdenken

In der Programmierung zieht sich ein bestimmter Faden durch meine persönliche Entwicklung, die die Art der Nutzung der Sprachen entscheidend geprägt hat.

Und dabei handelt es sich um “langsamere” Systeme.

In Jugendtagen lag dies stets an fehlenden Geldmitteln, dass das Low-Cost System eingekauft wurde und die High-End Gamer-Maschine gar nicht erst beachtet wurde.

Dieses Situation hat sich bis heute nicht geändert, obwohl es heute einen taktischen und keinen finanzieller Hintergrund dafür gibt.
Denn die Devise lautet: “guten” Code zu produzieren, der auch auf langsameren und älteren Systemen vernünftig ausführbar sein soll.

» Ganzen Beitrag lesen

Schwarz-Weiß oder graue Grafik

Ja, es hatten damals viele gedacht, dass zu den 2 Pokemon Editionen Schwarz und Weiß wie in den Generationen zuvor etwas später eine dritte erscheinen würde. Und da lag die Spekulation auf den Namen “Grau” natürlich nahe.

Doch Nintendo bzw. Game Freak machte allen Strich durch die Rechnung und brachte sowohl Schwarz als auch Weiß in einer 2. Edition heraus und brach somit im Jahr 2012 ein Schema, welches sie seit 1998 konsequent verfolgt hatten.

Das Umrechnen von Farbpixel in graue oder im Extremfall in schwarz-weiße hat auch heute noch Relevanz, wenn es um das sparen von Speicherplatz geht, oder um Bereiche, wo Farben irrelevant sind (z.B. in bestimmten Szenarien der Bilderkennung).

» Ganzen Beitrag lesen

📧 📋 🐘 | 🔗 🔔
 

Meine Dokus über:
 
Weitere externe Links zu:
Alle extern verlinkten Webseiten stehen nicht in Zusammenhang mit opengate.at.
Für deren Inhalt wird keine Haftung übernommen.



Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!