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.

Hardware und Software in Filmen

Es gibt für Insider nichts komischeres, als wenn Outsider so tun, als würden sie sich auskennen.

Und zu den lustigsten Dingen zählen dabei die Darstellung von Hardware und Software in Film und Fernsehen.

» Weiterlesen

WSL Special: Debian und Server 2019

Für WSL ist Ubuntu die beste Distribution, denn hier hat jede Distro-Version eine eigene ID, und man kann sie alle parallel installieren, z.B.: Ubuntu-18.04, Ubuntu-20.04 usw.

Debian heißt immer nur Debian und man bekommt offiziell immer nur die neueste Variante. Doch wie kann man auf einem älteren Stand seine Software testen?

» Weiterlesen

RDP klaut ALT-GR

Und nun zu den aktuellen Nachrichten:

Während der interaktiven Sitzung zwischen Windows 10 und Server 2019 kam es heute zu einem Unfall im ALT-GR Tastenbereich.

Mehrere Codes wurden korrumpiert, als sämtliche Tastenanschläge für Backslash \ und Pipe | durch scharfe-S ß und Kleinerzeichen < ersetzt wurden.

Die zuständigen Behörden wurden umgehend informiert und erarbeiteten vor Ort eine Lösung.

» Weiterlesen

Offline Installationen mit Linux

Bei Produktinstallationen für Kunden melden diese oft:

Wir haben ein XYZ Linux Version 9.8.7 ohne Internetanbindung. Senden Sie uns alle notwendigen Installationspakete zu.

Und dann fängt das große Weinen an, wenn man bei Python3 angefangen eine halbe Linux-Distribution “nachliefern” soll.

» Weiterlesen

Keyboard- und Tastencodes

A bis Z und 0 bis 9 wird von jedem OS auf ASCII bzw. Unicodezeichen abgebildet. Das gilt auch für die Konsole.

Aber wie bekommt man z.B. Pfeiltasten per read(stdin) geliefert?

» Weiterlesen

Altes Debian für alte Hardware

Mein aus dem Jahr 2005 stammende HP NX6310 Laptop lebt noch immer, fristet aber sein Dasein auf der Reservebank.

Und ich dachte mir: Nachdem man nicht mal mit einem Raspberry PI 3 heute vernünftig “ins Internet” gehen kann, klappt das mit einem 1.4 GHz Single-Core Celeron erst recht nicht.

Doch man staune: Debian macht es möglich.

» Weiterlesen

Fail: Timeout NEVER = ?

Ich mag Funktionen mit Timeouts, denn mit denen kann man “kalkulieren”, während andere ewig blockieren können.

Folglich baue ich auch selbst gerne solche ein.
Doch … was ist, wenn man unendlich auf ein Ereignis warten will?

» Weiterlesen

Parameter per Kommandozeile

Wenn Programme andere Programme starten sollen, stellt sich die Frage:

Wie?

Die C Standard Bibliothek beantwortet das leider sehr unzufriedenstellend, doch trotzdem basieren viele Lösungen auf dem alten
system("myprog arg1 arg2") Schema.

Und da kann man leider auch viel falsch machen.

» Weiterlesen

Defragmentierung

Die Defragmentierung von Festplatten war früher eines der schönsten Schauspiele, die ein DOS oder Windows PC mit sich brachte.

Heute ist sie in Vergessenheit geraten, obwohl im Hintergrund immer noch stückweise “optimiert” wird.

» Weiterlesen

QBasic: CALL ABSOLUTE

Als ich in den 90ern meine DOS und QBASIC-Babyschritte machte, lernte ich, dass “Systemroutinen” (auch als “Software-Interrupts” bekannt) mit QBasic nicht möglich waren, jedoch in QuickBasic 4.5+ unterstützt wurden.

Es gab jedoch einen dunklen Hack, mit dem auch das kostenlose QBasic “mächtiger” werden konnte … doch mir war das damals leider nicht bewusst.

» Weiterlesen

Spezialfälle in Windows 95

Aus API Sicht waren Windows 95, 98 und ME für mich so ziemlich das gleiche, nämlich ein reduziertes Set von NT4. Die Frage war damals also:

Ist etwas kompatibel mit “NT4” oder “nur 9x”.

Doch … Windows 95 war stets “weniger”, der Support wurde schnell fallen gelassen als 98 auf den Markt kam … und heute verstehe ich erst, warum das so war.

» Weiterlesen

Codeberg: das bessere Github

Ich bin 2018 nur deshalb zu Bitbucket gegangen, weil man dort kostenlose private Repos anlegen konnte.
Erst ein Jahr später zogen Github und andere nach, doch einen Grund zur Migration gab es für mich keinen.

Mit Codeberg ist in Deutschland ein offener und kostenloser Git-Hoster aufgetaucht, der mich aber über einen Umzug nachdenken lässt:

Der Code liegt auf Servern in der EU … also “bei Freunden”.

» Weiterlesen

Weiter kein Versand mit Aliexpress

Aliexpress wurde für mich “attraktiv”, als es von Kreditkartenzahlungen zu PayPal wechselte. (Das muss Ende 2019 passiert sein.)

Doch seit dem 1. Januar 2023 ist Österreich von der größten Handelsplattform für Bauteile für Baster ausgeschlossen … und es wird einfach nicht besser.

» Weiterlesen

Strategiewechsel

Bisher habe ich im GATE Projekt versucht, die herauskommenden Programme als größere “Universalwerkzeuge” anzulegen.
Doch das war falsch … oder sagen wir mal: Es ist nicht der beste Weg.

Denn jenseits der Windows und Linux Welt gelten teilweise andere Regeln und die möchte ich auch gerne einhalten.

» Weiterlesen

__near, __far, wherever you are

Während Kate rebelliert, Leo stirbt und Céline von “near” und “far” singt (siehe Titanic), überlege ich gerade, wo ich überall “spezielle” Pointer-Attribute unterbringen muss.

Na … da blutet fast das Herz des Ozeans …

» Weiterlesen

Windows 95 Update ohne Windows 3.x

Retro-Time!
Beim Aufräumen meiner Backups ist mir wieder ein altes NT-4 ISO-Image untergekommen, welches neben Windows NT Varianten auch Windows 95 enthielt, und zwar eine englische Version.

Da ich aus meiner Vergangenheit nur deutsche Versionen aufgehoben hatte, startete ich spaßhalber das Setup in einer VM … Doch das brach mit einer Upgrade-Fehlermeldung ab.

» Weiterlesen

dll_import für Templates

Sind in für DLLs exportierten C++ Klassen unter Windows Datentypen enthalten, die auf Templates aufbauen, sieht man schnell den Fehler:

1warning C4251: ... needs to have dll-interface ...

Doch den bekommt man gar nicht so leicht weg, wenn man portabel bleiben möchte.

» Weiterlesen

Trampolin-Springen

Bei meinem Rust-Kurs hat mich eine Aussage während des Vortrages gestört:

C++ erzeugt oft schlechten Maschinen-Code mit Trampolines.

Das ist etwas weit hergeholt.

» Weiterlesen

Linux auditd und CRLF

Bei mir lagen heute zwei Dateien in /etc/audit/rules.d. Wenn in der zweiten alle Regeln auskommentiert wurden, funktionierte auditd zumindest mit den Regeln der ersten Datei.
Kaum wurden die Regeln in der zweiten Datei aktiviert, funktionierte gar nichts mehr.

Und wieder einmal habe ich einen Tag Lebenszeit verloren …

» Weiterlesen

_bios_disk()

Der Zugriff auf Disketten (und die ersten Festplatten) war bereits mit dem originalen IBM BIOS möglich, denn der INT 13h bot einige Dienste, wie etwas das Lesen und Schreiben einzelner Sektoren.
Das brauchte das BIOS auch selbst, um das OS booten zu können.

Watcom (und andere historische Compiler) stellen für diesen Systemaufruf die C-Funktion _bios_disk() zur Verfügung.

» Weiterlesen