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.

Variant in C++ 98/03

Mit std::variant aus C++17 hat die standardbibliothek boost::variant integriert. Das Template ist mit C union Typen verwandt, bietet jedoch Typensicherheit und Eindeutigkeit.

Ich bin bekanntlich auf die alten Standards C++98 und C++03 fixiert und fragte mich daher, wie schwer es wohl sei, so etwas “quick & dirty” auch dort nachbauen zu können.

» Weiterlesen

Wikipedia

Wikipedia zählt zu den ganz wenigen Projekten im Netz, denen ich vertraue ohne Details über die internen Abläufe zu kennen. Ich glaube, dass es DAS Vorzeigeprojekte schlichthin ist, wie eine freie Gesellschaft im Internet produktiv arbeiten kann.

Und wenn sie jetzt noch eine “bessere” Markup-Syntax für ihre eigenen Seiten hätten (z.B. Markdown), dann würde ich dort auch mehr beitragen.

» Weiterlesen

C Function Overloading

In C kann eine Funktion genau eine Signatur haben, während in C++ unter einem Funktionsnamen mehrere Implementierung möglich sind. Der Compiler adressiert die richtige basierend auf den Datentypen beim Aufruf.

Aber mit ein paar Makro-Tricks, kann man zumindest bei der Anzahl der Parameter ein bisschen C++ Overloading in den alten C Standard übertragen.

» Weiterlesen

Thor: Love and Thunder

Oder: Ihre Kinder werden es mögen.

W-T-F ist denn das für eine Story?

… war einer der Gedanken, die ich heute Abend im Kino hatte.

» Weiterlesen

Pinephone Keyboard

Smartphone + Keyboard = PC ?

Naja, nicht ganz. Aber wenn man mehr texten will, braucht man einfach eine Tastatur, denn egal wie gut sie ist, die Onscreen-Tastatur kann einfach keine echte ersetzen.

Und dank des neuen Keyboard-Docks für mein PinePhone, lässt sich das jetzt realisieren.

» Weiterlesen

UI Blödheiten

Mit der Einführung von “mobilen” Apps haben eine Menge Ahnungsloser, die keine bis wenig IT Erfahrung hatten, die Möglichkeit der Welt ihren Stempel aufzudrücken, weil es dem Marketing erfolgreich gelungen ist allen einzureden, dass man jetzt alles neu braucht.

Und diesem Wahnsinn sind leider auch Checkboxen und Textfelder zum Opfer gefallen.

» Weiterlesen

Dokumentation

Wenn man den Satz

Gute Programmierer sind schlechte Dokumentierer.

umgekehrt auffasst, dann bin ich einer der besten Programmierer, denn Dokus schreiben mag ich so gar nicht.

However … auch das muss mal sein.

» Weiterlesen

Makro-C-Objekte in Doxygen

Wenn ich meine selbstgestrickten Makros einsetze, um V-Table structs generieren zu lassen und anschließend C-Klassen structs, dann schreibt Doxygen ziemlich wirres Zeug.

Ähnlich ergeht es manch alten COM Projekten in C, die ebenfalls mit Makros arbeiten (die mir ja auch als Inspiration gedient haben).

Wie bekommt man also eine Doxygen-konforme Lösung hin?

» Weiterlesen

ARM Assembler in MSVC++

Mit meinem neuen ARM-PC und dem ebenso neuen Visual Studio 2022 Preview für ARM64 eröffnet sich mir wieder ein neues Kapitel in der Softwareentwicklung:

ARM32 und ARM64 Assembly Language.

Denn nun kann ich beides live debuggen.

» Weiterlesen

Spaziergang nach Schwechat

Ich soll doch mehr Bewegung machen, also dachte ich mir, ich marschiere mal vom Reumannplatz aus in Richtung Simmeringer Hauptstraße und über die gerade aus nach Schwechat.

Gesagt … getan … denn das Wetter war herrlich schön.

» Weiterlesen

Windows on ARM: APCSILMIC Dot 1 Mini PC

Mit dem Dot 1 Mini PC von APCSILMIC ist nun ein alter Traum von mir endlich in Erfüllung gegangen:

Ein günstiger ARM64 PC mit Windows 11 Support für unter 300 Euro ist auf dem Markt!

Und das Teil ist echt genial, denn mit Windows 11 ARM64 hat man nun ein Betriebssystem, das alles ausführen kann. x86, x64, ARM32 und ARM64 Windows Binaries, sowie WSL Linux.

» Weiterlesen

Linux hasst static binaries

Ich staune immer wieder darüber, wie etwas so “einfaches” wie statisch Abhängigkeiten unter Linux so schwer bzw. unmöglich gemacht werden.

Denn eigentlich sind Programme mit dem Compiler Flag -static etwas ganz Tolles … denn sie laufen unter jedem Linux-System (naja, zumindest unter vielen davon) ohne dass man Bibliotheken nachinstallieren muss.

… doch dann fangen die Probleme an.

» Weiterlesen

printf() Marke Eigenbau

Und Schuld hat libsupc++

… dass ich jetzt auch noch printf() und seine Freunde nachbauen darf.

Und so beginnt ein weiterer Tag meiner Reise ins EFI-Land.

» Weiterlesen

Erdbeeren++

Neben Schokolade sind Erdbeeren schon seit eh und je eine meiner Schwächen. Tatsächlich verbinde ich damit aber viele schöne Erinnerungen an meine Kindheit.

Und obwohl die Preise für das schmackhafte Obst nicht gerade niedrig sind, fällt es mir schwer am Supermarkt vorbei zu gehen ohne eine Schale mitzunehmen.

» Weiterlesen

Kein Safe-Bool Idiom?

Das Safe-Bool Idiom wurde früher jedem eingetrichtert, der daran dachte eigene Smart-Pointer Strukturen zu bilden.

Doch plötzlich, mit dem Aufkommen von C++11 und seinen Nachfolgern, verschwand dieses Mysterium wieder …

» Weiterlesen

5.25 Floppy Disks

5.25 Zoll Disketten sind die ältesten Computer-Medien, die ich besitze. Und aus gegebenem Anlass hatte ich (nach 20 Jahren) wieder mal Lust und Laune, meinen alten Rechner mit IDE und Diskettenanschlüssen zu aktivieren und meine 5.25er durchzuprobieren.

» Weiterlesen

Windows User-Mode Scheduling entfernt

Tja, einen offenen Punkt auf meiner Liste kann ich jetzt unerledigt abhaken: nämlich die Ums-APIs, die mit Windows 7 eingeführt wurden.

Denn mit der Einführung von Windows 11 sind diese Funktionen beinhart entfernt worden, bzw. zu ERROR_NOT_SUPPORTED degradiert worden.

» Weiterlesen

M.2 SSD 2242 Adapter zu 2280

Ein Betriebssystem ist einfach zu wenig … doch mit 250 GB wird es dann eng.
Und so wollte ich heute meinem Laptop eine andere SSD verpassen.

Doch der war nur auf M.2 SSDs mit der Größe 2280 (also 80 mm Länge) ausgelegt, ich hatte aber nur eine mit Größe 2242 (also 42 mm Länge) in der Schublade.

Welch Glück, dass ein 3D Drucker das Problem sofort lösen kann.

» Weiterlesen

operator<()

Jahre code ich herum, und dann passieren mir so unglaublich dumme Anfängerfehler, wie ein falsch implementierter operator<(). (C++ Operator overloading)

Und das Schlimme ist, dass man das nicht immer gleich mitbekommt, wenn plötzlich ganz andere Codes anfangen zu bocken.

Es wird also Zeit, das Thema zu “wiederholen” … so lange bis auch ich es richtig mache.

» Weiterlesen

dlopen(NULL, 0)

Da Linux Distributionen hart daran arbeiten zu einander so inkompatibel wie möglich zu sein, suchte ich nach Strategien, wie man ohne Plattform-spezifische Linkereien so viel möglich an Features erhalten kann.

Aber um zu wissen, was einem überhaupt fehlt, muss man erst mal wissen, was man schon hat … und hier kommt dlopen ins Spiel.

» Weiterlesen