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.

Dialoge

Es war - glaube ich - im Religionsunterricht in der Schule, wo lang und breit erklärt wurde DIA und LOGOS bedeutet, dass zwei miteinander reden, also Worte auswechseln.

Um so verwirrter war ich, als ich Microsoft Word und Excel die Erstellung von “Dialogen” vorfand. … wie sollte denn der PC mit mir “reden”?

In der Programmierung sind Dialog-Fenster und besonders die “modalen” Dialoge ein Spezialfall, dessen Implementierung seine Tücken haben kann.

» Weiterlesen

Final Fantasy VII

Während sich die Welt über das Remake von Final Fantasy VII freuen darf, habe ich das “beste Rollenspiel aller Zeiten” von 1997 nochmal für die Nintendo Switch gekauft.

Hmm … da werden wieder schöne Erinnerungen wach … aber nicht an vorgestern sondern nur an gestern.

» Weiterlesen

CMake für Windows von gestern

Wo CMake ganz brav das GATE Projekt verwaltet, stellt sich für mich auch die Frage:

Wie sieht es mit älteren Plattformen aus?

Denn unter Windows 7 und 10 mit Visual Studio 2017 läuft alles reibungslos. Aber schon für Windows XP und Studio 2005 hat das aktuelle CMake Release keinen Support mehr integriert.

» Weiterlesen

Masquerade

OK, ich gebe zu, ich habe mich geirrt.

Wir befinden uns den größten Krise seit Menschen-Gedenken.

Denn seit Anbeginn der Zeit (bzw. Zeitrechnung) hat es noch nie ein Jahr gegeben, in denen die Pokemon Vorentscheide für die Weltmeisterschaft vorerst abgesagt wurden …

» Weiterlesen

HTTP Upload unterbrechen

In den vergangenen Wochen beschäftigte mich das Thema HTTP wieder einmal.

Und ich freue mich stets aufs Neue, wenn nach langem herumprobieren sogar meine Kollegen zu folgendem Schluss kommen (den auch ich immer favorisiere):

Wir MÜSSEN einen eigenen Client bzw. einen eigenen Server schreiben.

» Weiterlesen

Der ATmega2560 entfacht Träume

Wegen der Corona Krise und meines aktuellen Exils am Land komme ich aktuell leider so gut wie gar nicht mehr dazu, mit meinen MCUs zu spielen.

Zwar hätte ich meinen PI-Top dabei, doch wenn keine ordentliche Lötstation in der Nähe ist, was soll man da schon was Interessantes anstellen?

Aber man kann planen … da fiel mir wieder ein, dass ich die Lösung gegen Pin-Mangel schon lange in der Tasche habe, sie aber noch nie eingesetzt habe: den ATmega2560

» Weiterlesen

Pfeif' aufs Menü

Eine mittlere Katastrophe bei der Implementierung von GUI Frameworks ist das “Menü”.

Ich meine damit diese Zeile, wo Datei und Bearbeiten usw. steht, auch “Pull-down-menu” genannt.

Wieso können nicht alle Frameworks und Plattformen das gleichartig umsetzen?

» Weiterlesen

Ausverkauft

Keine Zwiebeln und Aufbackbrötchen, dafür aber Homeworking.

Wow, so schnell kann’s gehen mit dem Weltuntergang.

Und weil man darin die Universallösung für alles sieht, haben psychotische Menschen in ganz Österreich wegen der steigenden Anzahl an COVID-19 Corona-Infektionen die Läden gestürmt um vor allem Klopapier zu hamstern.

» Weiterlesen

Visual Leak Detector ohne Callstack

Und alle paar Monate das gleiche Problem:

Verdammt, den Fehler kenne ich … das hatte ich schon mal … Wie war noch gleich die Lösung?

Unsere heutige Episode aus der Serie Was ich mir merken sollte heißt: “Visual Leak Detector ohne Callstack”

» Weiterlesen

Corona: Wir werden alle sterben

Die ganze Welt dreht durch und ich drehe mich auch mit.

Ist das nicht bescheuert, wenn alle von einem erwarten ebenso nervös zu sein?

Beinahe habe ich ein schlechtes Gewissen, weil mir die ganze Sache ziemlich gleichgültig ist … zumindest noch …

» Weiterlesen

varargs vs. arrays

Nachdem ich im GATE Projekt die C-Delegate-Lösung mit varargs umgesetzt hatte, war ich glücklich diese Methode einmal “zielführend” wo eingesetzt zu haben.

Wenn man aber reguläre APIs mit varargs überfüttert, schafft man sich damit aber mehr Probleme als Vorteile.
Und das kann man am Beispiel GTK+ gut nachvollziehen.

» Weiterlesen

double free wegen const std::string

Nun gut, wenn mir wieder mal die GCC Fehlermeldung

double free or corruption

um die Ohren fliegt, dann weiß ich in Zukunft, wie ich reagieren soll.

… aber dieses Wochenende hat mir jene Nachricht sprichwörtlich versaut!

» Weiterlesen

VPN - Soll ich wieder eines aufbauen?

Corona Covid-19 macht’s möglich: Wir arbeiten von zu Hause!

Und wie? Natürlich per VPN. Dann sieht es zu Hause so aus, als stünde unser Laptop mitten in der Firma und “sieht” alle dortigen Ressourcen.

Hmm … eigentlich könnte ich das mit “meinem” Netzwerk auch wieder mal machen …

» Weiterlesen

DllMain unter Linux

Windows-API Nutzer kennen natürlich die globale Funktion DllMain, die vom Betriebssystem automatisch beim Laden und Entladen einer DLL ausgeführt wird. (Dass das auch bei jedem neuen Thread geschieht lassen wir hier mal unter den Tisch fallen.)

Und Linux? Kann man auch in Linux erzwingen, dass Code ausgeführt wird, ohne dass explizit eine Funktion aufgerufen wird?

» Weiterlesen

Hüfte schwingen leicht gemacht?

Im vergangenen Monat hat sich meine Mutter eine Hüftoperation unterzogen und ein künstliches Gelenk eingesetzt bekommen.
Als externer Beobachter des Genesungsprozesses und als Analytiker komme ich nicht drum herum die ganze Sache kritisch zu diskutieren.

» Weiterlesen

tag, userdata, userparam und LPARAM

Wenn man eigene Konstrukte mit jenen einer anderen C Bibliothek verknüpfen muss, braucht man mindestens an einer Stelle ein Verbindungsglied oder einen Ankerhaken, mit dem man Datenstrukturen, die sich gegenseitig nicht kennen, verknüpfen kann.

Und genau deshalb hat jede “gute” C-Bibliothek in seinen Objekten (bzw. structs) ein Feld, wo man einen Fremdwert eintragen kann, der überall hin mitgenommen werden kann …
… also ein freien Parameter für den Anwender: ein userparam

» Weiterlesen

Der kleine Lichee Nano

Na endlich … mit großer Verzögerung, habe ich meinen Lichee Nano zum Laufen gebracht.

Mit ein bisschen mehr Doku wäre es vermutlich schneller gegangen.

Also dann, berichten wir mal …

» Weiterlesen

Im Reich der zügellosen Geister - Teil 2

Neben all den einzigartigen Erlebnissen, die ich bei “den zügellosen Geistern”, also in meiner Gruppe mit geistig behinderten Menschen erleben durfte, gab es neben Licht auch Schatten.

Bis heute lässt mich die Frage:

Wie weit darf man gehen?

immer wieder an einige Szenen von damals denken.

» Weiterlesen

`static` bei C Funktionen

Ich wurde gelegentlich schon in unterschiedlichen Projekten gefragt, wieso ich vor Funktionen häufig ein static davor setze.

Die kurze Antwort darauf ist einfach:

Weil es dort hingehört.

Doch wie so oft im Leben, liegt auch hier viel individuelle Meinung vor, die ich aber gerne zu rechtfertigen bereit bin.

» Weiterlesen

Lichtverschmutzung, der Nacht-Modus und das Web

Fuck! Mein Monitor ist defekt!

dachte ich mir vor ein paar Jahren, als plötzlich die Farben der Anzeige kräftig nachließen. Ich startete meinen Rechner neu und bemerkte, dass wieder alles in Ordnung war, bis der Windows-Login fertig war und plötzlich dunkelte sich die Anzeige wieder seltsam etwas rötlich ab.

Kurz das Netz befragt und wieder etwas gelernt:
Windows hat den Nacht-Modus aktiviert.

» Weiterlesen