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.

Exception Drama

Einst liebte ich sie … doch da wusste ich noch nicht, woraus sie bestehen.

So könnte man meine aktuelle Beziehung zu C++ Exception beschreiben. Denn dieses wirklich gute “Sprachmittel” ist so etwas von unterschiedlich implementiert, dass man sie nur durch das Neuschreiben eines vollständigen Compilers in ihren Abläufen nachvollziehen kann.

» Weiterlesen

Thread local storage

Einer der Gründe, warum ich auf meinem Weg zu C++ außerhalb von Betriebssystemen stolpere, liegt am “thread local storage”.

Denn wo werden Exception-Daten abgelegt?
Offenbar genau dort!

Und was mir fehlt ist ein funktionierender Nachbau von __tls_get_addr.

» Weiterlesen

EFI und MinGW inline API

Es hätte so einfach sein können: Man implementiert einfach alle Funktionen der C-Standard Bibliothek selbst in einer statischen Bibliothek und linkt gegen diese. Schon hätte man C Programme direkt als EFI App laufen lassen können.

Aber nicht so mit MinGW … denn der hat keine “echte” C API.

» Weiterlesen

Online Übersetzungen

Vor 3 Jahren fand ich den Übersetzungsdienst für Webseiten bei Microsoft und verlinkte ihn auf der Blog-Seite, damit bei Bedarf für jeden auch eine englische Variante des Blogs verfügbar ist.

Leider hat Microsoft diesen Dienst offenbar in diesem Jahr eingestellt. Nun bleibt mir leider nur der Wechsel zu Google übrig.

» Weiterlesen

CONAN Abhängigkeiten und Versionen

Grundsätzlich gilt für CONAN Projekte:

Ändert man die Version, eine Einstellung oder eine Option in einer Komponente, errechnet CONAN einen neuen Hash für ein Paket und auch alle Abhängigkeiten davon bekommen neue Hashes zugeteilt.

… dachte ich.
Doch nun kenne ich eine interessante Ausnahme.

» Weiterlesen

Corona Impfung - Teil 4

Nachdem mit Anfang September die allgemeine Empfehlung ausgesprochen wurde, sich eine 4. Covid-19 Booster-Impfung zu holen, habe ich unmittelbar einen Termin im Impfzentrum gebucht und mir meine 4. Dosis gestern geholt.

Nun - so hoffe ich - komme ich weiter gut durch den Winter.

» Weiterlesen

GITLAB, CONAN und LF vs CRLF

Seit langem quält mich eine Unschönheit in der CONAN Welt an meinem Arbeitsplatz:

MSVC und GCC Pakete des gleichen Projektes erzeugen unterschiedliche Recipe-Hashes, weshalb immer eine Variante als “outdated” markiert wird.

Lösung: Zeilenenden vereinheitlichen!

» Weiterlesen

ARM64 Assembler

Mit meinem ARM64 Windows 11 und Linux am Pinebook habe ich zwei Umgebungen, auf denen ich endlich auch mal ARM64 Assembler Codes testen kann.

Das Schlimme an dem Dialekt ist, dass er sich von ARM32 unterscheidet, was die Portierung von ARM32 Code erschwert.

» Weiterlesen

Windows 11 mit altem Kontextmenü

Eigentlich bin ich grundsätzlich noch von Windows 11 unabhängig, denn nach einer ersten “Beschau”, stellte ich fest, dass ich es einfach nicht brauche, und blieb bei Windows 10.

Doch seit ich mit meinem APCSILMIC die ARM64 Welt erforsche, ist Windows 11 notwendig.
Und etwas, was mich dort in den Wahnsinn treibt, ist das beknackte “vereinfachte” Kontextmenü …
… das muss weg!

» Weiterlesen

GITLAB mit Tests und Code Coverage

Gitlab wird als Quellcode Verwaltungssystem in vielen Firmen eingesetzt, auch in denen für die ich gearbeitet habe und arbeite.

Gitlab ist simpel … und deshalb sehr kompliziert.
Den jeder Anwender kann sich seinen eigenen Weg durch einen Berg von Funktionen graben und deshalb sieht jeder Tunnel dann etwas anders aus.

Und eine interessante Herausforderung ist das Sammeln von Code-Coverage Daten in C++.

» Weiterlesen

RISC-V: Lichee RV Allwinner D1

RISC-V ist der neue “heiße Scheiß”, der kommt/kommen wird/gekommen ist.

Es ist eine Open-Source Prozessor-Architektur, die in Zukunft den Computer Markt mitbestimmen soll. So wie vor 15-20 Jahren ARM Prozessoren über Smartphones eine große Verbreitung erlebten, so soll jetzt mit RISC-V ein weiterer Spieler hinzukommen.

» Weiterlesen

GCC Weak Symbols und no-as-needed

Mit dem GCC 6 hat noch alles funktioniert und seit dem Upgrade auf GCC 10 crashen unsere Binaries …

Und wieder einmal durfte ich lernen, dass kleine unscheinbare Änderungen an Standard-Features große Ausfälle bei den Resultaten auslösen können.

Doch so lernte ich etwas über “Weak Symbols”, also “Schwache Symbole” in Bibliotheken.

» Weiterlesen

PS/2 Modell 30

In meiner Vergangenheit finden sich in erster Linie “billige” Klone von PCs.

Doch darunter steht tatsächlich auch ein “originaler” IBM PC der Gattung
PS/2 Modell 30.
Das Geräte ging vermutlich um das Jahr 1987 über den Ladentisch, bis es dann im Jahr 2000 in meiner Sammlung von Althardware landete.

» Weiterlesen

Pinebook Pro

Endlich … ein weiterer Schritt in Richtung ARM64.

2 Monate musste ich warten, bis “mein” Pinebook Pro von Pine64 endlich geliefert werden konnte, doch nun besitze ich einen Linux basierten Laptop, mit dem auch die mobile Programmierung möglich wird.

» Weiterlesen

XTEA und Blowfish

Kryptographie-Bibliotheken gibt es viele. OpenSSL libReSSL und Crypto++ sind wiederkehrende Weggefährten meines Programmieralltags.

Doch wenn es darum geht ohne Abhängigkeiten “ein bisschen” Sicherheit über Daten zu legen (z.B.: am Mikrocontroller), dann sind die genannten Moloche ungeeignet.

Hier greife ich dann gerne zu Blowfish oder XTEA.

» Weiterlesen

HTA - Hypertext Applikationen

Hypertext Applications (HTAs, auch HTML-Applications) waren eine interessante und heute bedeutungslose Erweiterungen von Microsofts Internet Explorer, um “echte” Fenster per XML erweitertem HTML zu erzeugen und Desktop UIs damit zu bauen.

Und mit eben einer solchen HTA gelang es mir vor etwas über 10 Jahren Windows PE basierte Setups zu erstellen.

» Weiterlesen

Atom D2550/D2700

Als nach der Pineview Serie (ich nutzte zuvor einen D510) die Cedarview Serie von Intel Atom Boards in den Handel kam, kaufte ich mir die Modelle D2550 und D2700 als Test-Client und als meinen neuen Home-Server.

Leider sind diese Modelle bis heute ein Lehrbeispiel dafür, wie man ein System nicht gestalten sollte.
(Aber das passt ja perfekt zu mir: Nämlich mit schlechten Systemen zu arbeiten.)

» Weiterlesen

Virtual Server 2005

Mit Server 2008 stieg Microsoft “richtig” ins Virtualisierung-Geschäft ein und schuf das erste Windows mit eingebautem Hyper-Visor Kern.

Doch tatsächlich gab es Virtualisierung schon vorher aus dem Hause Microsoft. Und obwohl diese Produkte gegenüber VM-Ware und andere Lösungen “abstanken”, erinnere ich mich noch gerne an Zeiten von Virtual PC und “Virtual Server 2005” zurück.

» Weiterlesen

DOS API Aufrufe

Heute bringen die meisten Programmiersprachen “alles” mit, was notwendig ist um alle möglichen Formen von Programmen, UIs und Spielen zu bauen. Doch zu DOS Zeiten, war man auf die C Standardbibliothek und einfache Text Ein- und Ausgaben beschränkt.

Den Spielraum konnte man sich mit direkten Aufrufen von Interrupt Service-Routinen erweitern, darunter vor allem der int 21h mit allen DOS Funktionen.

» Weiterlesen

Toshiba T300 - Teil 2

Und wieder einmal musste ich mich davon überzeugen, dass mein Toshiba T-300 noch läuft.

Diesmal sah ich meine alten Disketten durch, ob ich vielleicht noch ein paar Infos über das Gerät aus dem Jahr 82/83 erhalten kann.

» Weiterlesen