Schon mal versucht eine moderne Seite mit einem Raspberry PI Zero zu öffnen?
Viel Spaß dabei!

Hier befindet sich eine entschlackte Zusammenstellung meiner Tagebucheinträge von opengate.at/blog, aber ohne unnötigem HTML oder CSS Schnickschnack.

So haben Webseiten vor 20 Jahren ausgesehen und ich möchte hiermit beweisen, dass man auch heute noch Content so gestalten kann, dass er auf alten Browsern, Embedded-Systemen und energie-effizienten SoCs vernünftig dargestellt werden kann.

Denn schließlich geht es hier um Inhalte, und nicht darum, ob Überschriften mit Farbverläufen funkeln können.
d(^_^)b

Meine Ärztin hat mir vom Verzehr von Cookies abgeraten.
Cookies sind schädlich für den Organismus und schränken die Bewegungsfreiheit im Netz ein.
Folglich muss auch diese Seite ohne diese Bürde auskommen.

Die globale Welt von 1970

Es ist schon klar, dass eigentlich alles “aus der Historie” entstanden ist. Kein System, das älter als 5 Jahre ist, leidet nicht an seinen Design-Entscheidungen aus der Vergangenheit.

Wie auch immer … manche Dinge sind schon ein bisschen unverzeihlich, wenn wir im 21. Jahrhundert immer noch mit “globalen” Zuständen und Variablen konfrontiert sind, nur weil um 1970 noch keiner objektorientiert nachgedacht hat.

» Weiterlesen

Der kleinste gemeinsame Nenner

Will man zwischen unterschiedlichen Plattformen einen Datenstandard durchsetzen, trifft man schnell auf das Problem, dass die Plattformen selbst Standards setzen, die sich untereinander gegenseitig ausschließen.

Mein aktuelles Beispiel ist ein “Text-Trennzeichen”.
Z.B.: Wir wollen mehrere Felder in eine Zeile bekommen. Also definieren wir ein Zeichen, das im Text selbst nicht vorkommt und erklären es stolz zum Trennzeichen.

» Weiterlesen

Kein RAII - Kein Spaß

Wer “Resource Acquisition Is Initialization” - kurz RAII - nicht kennt, hat nicht das Recht sich als C++ Entwickler zu bezeichnen.

Und selbstverständlich gehört auch die Umkehrung dazu: “Resource Release Is Destruction” - kurz RRID.

Doch die erste Implementierung im GATE Projekt findet in C statt und hier fehlt dieses C++ Konzept wirklich sehr.

» Weiterlesen

Low Voltage RAM

Einmal nicht genau hingesehen und schon muss man 60 Euro zusätzlich ausgegeben.

Ich besitze jetzt also ein Mainboard, das meine Standard SO-DIMM DDR3 Riegel nicht verdauen kann. … Aha.

Tja, auch in der Hardware gibt es im Laufe der Zeit Veränderungen. Seit langem pflege ich mein “Atom-Kraftwerk”, also eine Reihe von kleinen Intel-Atom-ITX-Mini-Servern und ich habe mir bisher nie über die Spannungspegel der RAM Module einen Kopf gemacht.

» Weiterlesen

WIN32 Todessehnsucht

Mark Twain’s

Die Nachricht von meinem Tod ist stark übertrieben.

gilt heute für Vielerlei. Und die Windows-API, heute auch bekannt als WIN32, zählt meines Erachtens auch dazu.

Ebenso könnte man unter Linux behaupten: POSIX war früher, heute gibt es nur noch D-BUS und Docker.

Warum kommt im 3-Jahres-Rhythmus immer ein neuer Hype um etwas auf, das zeitgleich behauptet: “Das andere war früher, ist jetzt tot und ich allein bin die Zukunft”?

» Weiterlesen

HD Dilemma

Irgendwann Mitte der 90er, kurz vor dem Windows 95 Release hatte ich wieder mal eine PC-Zeitschrift mit Heft-CD gekauft und darauf befand sich ein krasses Update für Windows 3.11: nämlich Video für Windows … und eine AVI Datei.

Nach der Installation auf meinem 486DX2 mit 16-Farben-640-x-480-Pixel-Windows öffnete ich also diese “AVI” Datei.

» Weiterlesen

Referenz-Zählung

Objekte oder Datenblöcke werden immer an einer nachvollziehbaren Stelle erzeugt. Aber beim Freigeben ist es nicht immer so leicht vorzugeben, wo das geschehen soll.

Das Problem trifft oft Bibliotheken, deren Nutzer andere Entwickler sind.

Die schlimmste (aber auch Speicher schonendste) Variante, ist die alte C-Lösung, dass Ergebnisse in einer globalen Variable landen und die Daten-nutzende Komponente einen Pointer dort hin erhält.

» Weiterlesen

Strings: Ketten sprengen

Oder: Warum Strings immer so besonders sind.

Während sich viele Programmiersprachen klar darüber sind, was Texte oder sogenannte Zeichenketten (Strings) sind, erleben wir in C und C++ einen Religionskrieg, der kulturelle und philosophische Grenzen überschreitet.

In Java oder C# heißt es einfach

1String textVar = "Hello World";

Ich hatte anfangs nie verstanden, warum jeder C oder C++ Compiler, jede f~~king UI Bibliothek seine eigene String-Bibliothek etabliert.

» Weiterlesen

C vs C++

Die wahrscheinlich “seltsamste” Entscheidung im GATE Projekt ist die duale C/C++ Strategie, wo alles in C implementiert wird und C++ nur noch einen dünnen Layer darüber legt. Die STL soll selten bis gar nicht zum Einsatz kommen.

Warum ist das so?

» Weiterlesen

PC Magazin

Wo bekam man Infos, Tools und Code vor dem Jahr 2000 her?

Vor allem wenn man “auf dem Dorfe” wohnt und sich täglich dankbar vor den Eltern verneigt, dass man diesen sündteuren Computer mit Strom versorgen darf, wo andere doch Blut und Schweiß lassen mussten, dass wir alle voll elektrifiziert im Hellen und Warmen sitzen können.

» Weiterlesen

SYSPREP

Offen gesagt pisst es mich langsam echt an, dass arbeitsfaule ITler ihre Quick-And-Dirty Aktionen als “ausgereifte” Lösungen anpreisen, diese im Netz publizieren und dann darauf verweisen und behaupten, dass eben diese Publikation beweist, dass es sich um eine “ausgereifte” Lösung handelt.

… Na das kann ja wohl jeder!

» Weiterlesen

Atomic

… war ein Spiel, in dem man Atome zu Molekülen zusammenführen musste.

In jener Zeit waren auf dem guten alten PC noch alle Instruktionen “atomar” und Programmierer mussten sich um den Zugriff auf Variablen nicht weiter kümmern.

Nicht einmal als präemptives Multitasking aufkam, wurde das Thema besonders populär, obwohl damit sowohl durch Linux wie auch unter Windows der unterbrochene Zugriff auf Speicherzellen möglich wurde.

» Weiterlesen

Jekyll Blog aufsetzen

Zum Bloggen braucht man Software … aber welche? Anbieter gibt es zahlreiche, doch was passt am besten … und vor allem … was will man überhaupt?

» Weiterlesen

Dynamisch oder statisch linken?

Nachdem dieses Thema immer wieder Verwunderung auslöst, wenn ich mich offen zum statischen Linken bekenne, fasse ich mal die Details zu dieser Philosophie zusammen.

Update: Eine Anleitung zur technischen Umsetzung befindet sich nun bei den Dokus und Infos: Statisches Linken

» Weiterlesen

Das GATE Projekt

Also was ist GATE? Und was will ich eigentlich damit?

Seit 12 Jahren bin ich nun hauptberuflich in C++ unterwegs. Und meine große Leidenschaft ist und bleibt die systemnahe Programmierung. Folglich investiere ich viel Zeit in die Lösung von Schnittstellenproblemen zwischen Plattformen und den Aufbau von Abstraktionsschichten hin zum Business-Layer.

Doch in den oft recht klein dimensionierten Projekten, an denen ich bisher mitwirkte, war der Aufbau von nachhaltigen Bibliotheken kein primäres Entwicklungsziel.

Und so passiert es immer wieder, dass man für jedes neue Projekt wieder von vorne beginnt, alles was nicht zur STL zählt neu zu schreiben.

» Weiterlesen

int main()

Na mal sehen, ob das Experiment Blogging gelingt.

The Old New Thing war der Blog, den ich am längsten verfolgt habe. Selten findet man Technik, Anekdoten und Fachwissen so gut dargestellt beieinander.

Aber auch viele Betreiber kleinerer Projekte im Web publizieren ihr Wissen und oft liefert einem Google einen Blog-Artikel, wenn man ein Problem recherchiert, wo ein IT-ler sein Wissen und seine Lösung geteilt hat.

Und das ist eine echt gute Sache.

» Weiterlesen