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.

Fehlschlag: Stack Koroutinen

Aus Fehlern lernt man bekanntlich am meisten, und deshalb möchte ich einen meiner Irrtümer hier schildern.
Es begann mit der Idee:

Man könnte doch einen Stack durch diverse Funktionsaufrufe aufblasen und dann per setjmp() “Einsprungpunkte” in den Stack setzen. Wenn man dann noch einen Scheduler schreibt, der per longjmp() zwischen diesen Einsprungpunkten auswählen kann, dann hätte man:
Eine rein generische C Implementierung für Koroutinen.

» Weiterlesen

Koroutinen

Mit C++20 werden Koroutinen (#include <coroutine>) in den Sprachstandard aufgenommen. Mich wundert aber, dass im nächsten C Standard (C2x) von Koroutinen keine Rede ist.

Also habe ich mich mal in den Betriebssystemen umgesehen, wie man Koroutinen selbst implementieren kann.

» Weiterlesen

GCC Problem: Statische Shared-Libs

Da denkt man, statische Bibliotheken (static libraries) wären stets “privat” für ihre Nutzer und nur dynamisch gelinkte Bibliotheken (shared libraries) würden ihr Dienstleistungsangebot öffentlich preisgeben.

Doch nicht so beim GCC.
Denn der spielt gerne Twitter und teilt auch Privates quer über Modulgrenzen hinweg, ohne dass jemand danach gefragt hätte.

» Weiterlesen

flock, lockf und LockFileEx

Der “exklusive” Zugriff auf Dateien spaltet die Nation der Entwickler, wenn es darum geht, wie, wann und wo dieses Kontrollmittel eingesetzt werden soll.

Dateisperren sind eine recht alte Erfindung und deshalb wundert es mich, wie uneinheitlich das Thema behandelt wurde.

» Weiterlesen

Apache und PHP unter WSL

Wenn ich PHP Scripts für den Webspace bei mir zu Hause ausprobieren will, dann helfen mir leider der IIS oder Jana wenig. Denn schließlich möchte ich ja die dortige Apache2 Umgebung mit seinen typischen .htaccess Dateien genau nachstellen.

Früher hätte ich jetzt auf einen Linux Rechner oder eine VM ausweichen müssen, doch heute erlaubt mir das Windows Subsystem für Linux das gleiche “Feeling” ohne Zusatzaufwand.

» Weiterlesen

ITX Gehäuse selbstgedruckt

Aus vergangenen Tagen habe ich einige ITX PC Gehäuse in denen meine Test-Notfall- und Backupboards verbaut sind. Die liegen etwas bei Größen von 32x27x7 cm und bieten auch für 3.5 Zoll Festplatten Platz.

Mini-ITX Boards sind aber nur 17x17 cm lang und breit. Und 2.5 SSDs oder M2 Chips viel kleiner geworden sind, fragte ich mich, ob ich nicht auch mit einem viel kleineren Gehäuse auskommen kann.

» Weiterlesen

E3930 GPIO mit Linux

In meinem Intel Atom Kraftwerk wurde ein neuer Reaktor ans Netz angeschlossen. Und zwar ein Intel Atom E3930 im Supermicro A2SAV-2C-L Mainboard.

Denn seit 3 Jahren arbeitet dessen größerer Bruder E3940 als Server bei mir und deshalb wagte nie ich sein “spezielles” Feature auszuprobieren.
Beide Boards haben einen 10-Pin Header, über den 8 GPIO Kontakte frei nach außen geleitet sind.

» Weiterlesen

noexcept und constexpr

noexcept und constexpr kamen mit C++11 in den Standard und sind zwei ganz tolle Features. Doch wegen der Abwärtskompatibilität bleibt mir deren Nutzung im GATE Projekt eigentlich verwehrt.

… oder eben nicht, wenn man ein bisschen trickst.

» Weiterlesen

JanaServer2

Über ein Jahrzehnt war der Jana-Server mein bester Freund und Helfer. Denn während man normalerweise für HTTP, Proxy, SMPT und Dialer vier separate Softwarelösungen brauchte, brachte der kostenfreie Jana-Server alle diese Features auf einen Windows Rechner.

» Weiterlesen

Dark-Mode für Win32

Etwa gleichzeitig mit der Netflix-Serie Dark hat Microsoft in Windows 10 das Dunkle Design als Dark-Mode schrittweise eingeführt und mit jedem halbjährigen Update weiter ausgebaut.

Doch leider nur für UWP Apps und das pisst mich offen gesagt sehr an. Was bitte ist so schwer, dieses Design auch in die klassische WinAPI zu übernehmen?

» Weiterlesen

CONAN und Remote Debugging

Neulich hat mich noch das Debugging in Visual Studio von CONAN Projekten beschäftigt und eine einfache CMake Variable löste das Rätsel.

Doch wie geht man das Problem unter Linux an?
Oder: Wie löst man das Abhängigkeitsproblem mit Visual Studio Code?

» Weiterlesen

Windows Impersonation Bugs

In seiner langen Geschichte hat Windows leider immer wieder bewiesen, wie ein Feature zum Bug werden kann.

Dazu fällt mir immer eine Anekdote zum IIS mit ActiveX ein und wie ich lernen musste, dass “Plugins” ein wahrer Teufel sein können.

» Weiterlesen

2. Impfung mit Nebenwirkungen

Liebes Corona-Tagebuch.
Am Dienstag habe ich meine zweite Impfung erhalten. Und danach ist es mir echt dreckig gegangen.

Das gute daran ist, dass man bei mir nun sicher sagen kann, dass die Impfung gewirkt hat.

» Weiterlesen

PineTime mit FreeRTOS

Das Pine64 Projekt umfasst nicht nur Laptops, Tablets und Smartphones. Sogar Smart-Watches bieten die Macher mit Open-Source Software zum Kauf an.

Auch ich nenne eine solche PineTime nun mein Eigen und bin von der Idee positiv beeindruckt.

» Weiterlesen

Das TAR Dateiformat

Ich bin (leider) nicht alt genug, als dass ich den Einsatz von Bandkassetten zur Datenspeicherung live mitbekommen hätte. Disketten waren für mich von 1995 bis 2003 das “älteste” Medium.

Doch dank Unix und seinen Linux-Sprösslingen haben “Band-Archive” bzw. Tape-Archives, kurz TAR, als primitives Dateiformat bis heute überlebt.

Grund genug dieses Format selbst zu implementieren.

» Weiterlesen

VB6 und COM Spezialitäten

20 Jahre liegen meine VB6 Zeiten zurück und trotzdem denke ich immer wieder gerne an damals zurück.
Die einfache Möglichkeit UIs mit Freude zu erstellen, konnte mir bis heute kein noch so moderner dotNet Editor wiederbringen.

Doch an die Limitierungen dieser Programmiersprache erinnere ich mich auch noch … und auch, wie man sie “kreativ” umgehen musste.

» Weiterlesen

CONAN und der MSVC Debugger

Eine weitere Story in meinem CONAN Tagebuch ist seine schwierige Beziehung zu Debuggern.

Denn obgleich conan build . brav im lokalen Verzeichnis alle Quellcodes durchbauen kann, so bekommen wir dann jede Menge fehlende Abhängigkeiten, wenn wir die gebauten Programme im Debugger ausführen möchten.

» Weiterlesen

WinGet

Worüber die Linux Community seit Jahrzehnten bei Windows lacht und was auch Windows-Nachbauprojekte wie ReactOS hinbekommen haben, ist das Fehlen eines Anwendungs-Installationsprogramms, das alle möglichen Apps aus einem Repository installiert.
Oder anders gesagt: Windows hatte nie ein apt install.

Und jetzt, 20 Jahre zu spät, kommt winget

» Weiterlesen

Loki und die TVA

Diese Woche wurde die letzte Folge von Marvels neuester Serie Loki ausgestrahlt (bzw. ausgestreamt).

Und … W-T-F, ich hätte nie gedacht, was sich daraus nun für die “Zukunft” … oder sagen wir mal, “die Zeitlinie” ableiten wird.

» Weiterlesen

GATE Games

Mit gategames existiert nun also die erste GATE Framework basierte Demo-App für Windows, X11 # und Android, die per OpenGL ein bisschen Grafik auf die Displays zeichnet.

Damit ist ein nicht unwesentliches Teilziel des GATE-Projektes erreicht, wenn gleich UIs kein Primärfeature darstellen.

Wie auch immer, meiner Motivation tat diese Demo recht gut.

» Weiterlesen