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.
|
|
Wenn ich eines emotional überhaupt nicht verkraften kann, dann sind das
14-jährige Jungs, die mehr über Technik wissen, als ich.
So geschehen letzten Freitag im CoderDojo, das
einige Beispielprogramme für die micro:bit
Platine in seinen Übungsmappen hat.
Also in die Schuhe, auf zum Händler, genommen, bezahlt und zurück nach Hause.
|
11 Mar 2019
|
|
» Weiterlesen
|
|
Im Jahr 1996 habe ich ihn von einem Lehrer an der Schule geschenkt bekommen,
und ich liebte diese hellgrau-braune Kiste:
Mein alter Commodore 64.
Die hohen Zeiten der Heimcomputer
hatte ich natürlich nicht mehr miterlebt, doch schon damals, als gerade mein
Wechsel von DOS zu
Windows 95 stattfand,
hatte dieser Großvater der PCs auch meine Aufmerksamkeit.
… vor allem weil Programmierung dort kein Zusatz sondern eine absolute
Notwendigkeit war. Und so entstand nebenbei eine nette Freundschaft zum
PC-Kollegen aus dem vergangenen Jahrzehnt.
|
10 Mar 2019
|
|
» Weiterlesen
|
|
Man kann durchaus behaupten, ich sei “etwas aus der Art” geschlagen.
Denn während viele Programmierer
“Links” in
unixoiden Dateisystemen als Segen
betrachten, sehe ich das ganz konträr und behaupte, dass Links eher ein
Feind der Ordnung als dessen Freund sind.
Also … was stimmt nicht mit mir?
|
09 Mar 2019
|
|
» Weiterlesen
|
|
Selbst wenn ich als Mann 50 Prozent meiner Privilegien einfach ablege,
bin ich wahrscheinlich immer noch besser gestellt,
als eine durchschnittliche Frau.
Und deshalb soll uns der heutige
Weltfrauentag
daran erinnern, dass wir zwar viel über Gleichberechtigung reden, sie aber
immer noch lange nicht erreicht haben.
|
08 Mar 2019
|
|
» Weiterlesen
|
|
Pünktlich am reservierten Platz wurde das Handy auf lautlos geschaltet, noch
schnell ein Zug von der Limoflasche und dann wurde es still. Die ersten
Minuten Vorspiel waren - wie immer - vorüber und dann kam, auf was “wir”
gespannt wartet hatten:
Die Violinen stimmten an, die ersten rötlichen Bilder klatschten auf die
Leinwand und dann kam …
Ja was? Nicht Iron Man,
Hulk und
Black-Widow?
Nein, sondern Stan Lee,
Stan Lee und noch viele weitere Male Stan Lee.
|
07 Mar 2019
|
|
» Weiterlesen
|
|
Zu den ältesten und ersten Kodierungen, die ich lernen durfte,
zählte BASE64.
3 Bytes zu je 8 bits (3 x 8 = 24 bits), werden auf 4 Bytes aufgeteilt,
wobei nur 6 bit breite Wertebereiche genutzt werden, schließlich ist ja
4 x 6 auch gleich 24.
Und dieser 6-bit breite Wertebereich wird auf die ASCII-Zeichen
A-Z , a-z , 0-9 und ‘+’ und ‘/’ aufgeteilt.
Und so können wir jeden erdenklichen binären Block als reine
Buchstaben- und Zahlenkombinationen darstellen, womit keine Sonderzeichen
oder ASCII
Steuercodes benutzt werden müssen.
|
06 Mar 2019
|
|
» Weiterlesen
|
|
Die stärkste Energieform in unserem Sonnensystem ist und bleibt die
Sonne.
Sie schuf die Voraussetzungen mit, die unser Leben überhaupt erst ermöglicht
hat und liefert weit mehr Energie, als wir Menschen überhaupt nutzen können.
Ist es daher nicht pervers, dass wir ausgerechnet Kohle, Öl und Gas verbrennen
um im Sommer Räume herunter zu kühlen und im Winter unsere Häuser zu beheizen?
Die Lösung: Solarenergie,
Solarwärme und Photovoltaik.
Und all das existiert schon seit über 50 Jahren in der Raumfahrt, doch in den
letzten 15 Jahren wurden sie auch für Privathaushalte leistbar.
|
05 Mar 2019
|
|
» Weiterlesen
|
|
In Visual Basic 6 war
auch die nicht-grafische Programmierung “grafisch”.
Es ist logisch, dass man einen Button oder ein Textfeld auf eine Fensterform
zieht, aber dass man eine “Internetverbindung” auch wie einen Button auf einem
Fenster ablegt, finde ich bis heute “merkwürdig”.
Dieses alte VB6 ActiveX
“Internet Transfer Control” war nichts weiter als ein
Wrapper um die
WinInet Komponente,
also DIE HTTP
Komponente von Windows, die mit dem
Internet Explorer 2 und 3
schon unter Windows NT 4
und Windows 95
eingeführt wurde.
Heute ist diese alte C-API
neben dem modernen WinHTTP
parallel zur libcURL unter
Unix Systemen für mich die primäre
Anlaufstelle, wenn Programme per HTTP(S) Daten aus dem Netzwerk laden möchten.
|
04 Mar 2019
|
|
» Weiterlesen
|
|
Anfang der 40er Jahre des vergangenen Jahrhunderts verschwand nahe eines
Bauerndorfes in der nördlichen
Ostmark
ein junger Mann spurlos.
Er sollte mit zwei Ochsen den Acker pflügen. Die Ochsen fand man verlassen
auf dem Feld und seine Mutter weinte - wie man so sagte - “kübelweise”.
Etwas später langte der Verhaftungsbescheid bei der Familie ein, dass
der 17-Jährige wegen Hetzerei gegen den Staat “zur Sicherheit” in
Gewahrsam genommen wurde, weil Mitbürger sein aufrührerisches Verhalten
gemeldet hatten.
Das “aufrührerische Verhalten” war die trotzige Weigerung die “rechte Hand”
beim Gruß zu heben oder Sprüche zu klopfen wie nachfolgend:
Gott der Herr schuf Menschen und Tiere,
nur keine Unteroffiziere,
doch in einer schwachen Stunde
schuf der Herr auch diese Hunde.
Dieser damals junge Mann war mein inzwischen lange verstorbener Großvater.
|
03 Mar 2019
|
|
» Weiterlesen
|
|
Viele APIs
stehen uns nur in synchroner Form zur Verfügung. Dazu zählen
vor allem Funktionen für Kompression und Verschlüsselung.
Will man diese im Hintergrund werken lassen während sich das Hauptprogramm
etwa um die UI kümmert, erzeugt man einen weiteren
Thread und lässt die
Arbeit dort ausführen (Workerthread).
Und dann gibt es APIs die den Kontext des Threads auf dem sie laufen
verändern. Es gibt thread-lokale Variablen oder es werden sogar eigene
Einsprungpunkte in diesem Thread aktiv.
Das kann wiederum mit anderen APIs kollidieren oder dort Seiteneffekte
auslösen.
Auch hier greift man gerne zu separaten Threads, wo Aufgaben in eine
Warteschlange (Queue)
eingefügt werden und dann hintereinander abgearbeitet werden.
|
02 Mar 2019
|
|
» Weiterlesen
|
|
Wie viele Layer und Abstraktionsschichten “über” einer
konkreten Implementierung sind gut und ab wann ist die
Grenze des guten Geschmacks erreicht?
Diese Frage stelle ich mir bei jedem Projekt aufs Neue und komme stets
zu anderen Ergebnissen.
|
01 Mar 2019
|
|
» Weiterlesen
|
|
Oder: Was es so für Typen von IT-Menschen gibt
Die vergangenen Wochen haben mich einige neue Gesichter kennen lernen lassen.
So ist das eben beim Job-Wechsel und den Bewerbungsterminen.
Dabei ist es immer wieder interessant mitzuerleben, wie “andere” Programmierer
mit ihrem Beruf, ihrer Berufung und ihrem Leben umgehen.
Bei einigen Stories denkt man sich:
Oh - mein - Gott, was hast du in der Software-Entwicklung verloren?
Doch dann gibt es wieder diese Highlights, wo man sich denkt:
Hey! Du bist jetzt mein Freund!
|
28 Feb 2019
|
|
» Weiterlesen
|
|
Es ist schon faszinierend, wieviel Daten wir Menschen (und Maschinen) brauchen
und produzieren.
Belegte mein erstes DOS+Windows
so um die 20 MB, brauchte
Windows XP bereits 1 GB
und seit Windows 10
bekommt man das OS unter 10 GB (fast) nicht mehr installiert.
Doch schlimmer sieht es mit unseren Daten aus, die wir so mit uns
herumschleppen. Denn während meine Schuldokumente und fast alle Quellcodes
auf ein bis 2 Disketten passten
(so um die 2 MB), fängt heute jedes einzelne geschäftliche E-Mail mit einer
Logo-Grafik von 5 MB an und viele Einzeldokumente mit ein paar Seiten Text
belegen den Platz, den früher meine gesamte
Festplatte bieten konnte.
Und wenn man die Selfies und VOD
Movies mitrechnet, die jeder auf dem Smartphone mitschleppt,
kommen wir in noch höhere Sphären.
|
27 Feb 2019
|
|
» Weiterlesen
|
|
Was macht man mit den alten CPU Lüftern, die seit Jahren in einer Schachtel
liegen?
Genau, man baut sich daraus einen Luftreiniger.
Und dank einiger Vorlagen auf thingiverse.com
(Suchbegriff “air purifier”) braucht man neben einem 3D-Drucker nur noch eine
Kohlefiltermatte.
|
26 Feb 2019
|
|
» Weiterlesen
|
|
Egal ob es sich damals um DOS oder
heute um Linux Konsolen handelt(e),
niemand will einzelne Dateien per
Kommandozeile suchen, bearbeiten
und kopieren.
(Außer es handelt sich um sich wiederholende Muster, die automatisierbar sind.)
Und so fand ich schon Mitte der 90er Jahre schnell zum weitverbreiteten Tool
Norton Commander (NC.EXE),
mit dem ich auf dem Textbildschirm mit den Pfeiltasten durch das Dateisystem
huschen konnte.
|
25 Feb 2019
|
|
» Weiterlesen
|
|
Da meinte doch tatsächlich mal ein
Java-Programmierer,
ich solle keinen Code nutzen, der auf den
Calendar -
Klassen basiert und
SimpleDateFormat
einsetzt, denn diese sind nicht Thread-sicher.
Ich kann das ja immer noch nicht glauben, dass Java in seinem Aufbau so defekt
ist, dass es Kalender-Rechnungen in globalen Variablen vermurxt und dann
Fehler oder Abstürze produziert, wenn unterschiedliche Instanzen in Threads
benutzt werden.
… doch offenbar melden mehrere Seiten solche Probleme.
|
24 Feb 2019
|
|
» Weiterlesen
|
|
In einer Zeit, als die alten Götter herrschten,
schrie das Land, das Kriegsherrn in Aufruhr versetzten, nach …
Exceptions, weil weder
Hercules noch
Xena
ein Konzept zur strukturierten Fehlerbehandlung vorweisen konnten.
C++ wurde erst 1998
vollständig standardisiert und die anderen Sprachen
… gab es die eigentlich schon?
Doch einer der ältesten Titanen, nämlich
C, zeigte sich
unbeeindruckt, da er schon lange über ein Technik verfügte, in “Ausnahmefällen”
quer durch den Code zu springen.
|
23 Feb 2019
|
|
» Weiterlesen
|
|
Ein paar wichtige Informationen bekommt jeder genetisch mitvererbt,
wenn er das Licht der Welt erblickt.
Das ist bei Prozessen ganz ähnlich wie bei Menschen.
Die “Umgebung”
(“Environment”) beinhaltet einige Datenwerte, die der
Elternprozess seinen Kindern “aufdrücken” kann, und wenn er sich nicht
weiter darum kümmert bekommen die Kinder das gleiche, was er selbst
auf den Weg mitbekommen hat … die Umgebung wird also vererbt.
|
22 Feb 2019
|
|
» Weiterlesen
|
|
Hätte man “Pipes”
in der Programmierung als “Pipeline” bezeichnet, würden vielleicht mehrere
Entwickler den Namen kennen und die Technik einsetzen.
Linux bzw. Unix -
Fans wissen mit dem Begriff gut umzugehen, doch auf Seiten
der Windows
Gemeinde fehlt dieses Wissen leider nur all zu oft.
Dabei sind Pipes eine schöne klassische Form Daten zwischen Eltern- und
Kindprozessen auszutauschen.
|
21 Feb 2019
|
|
» Weiterlesen
|
|
WBEM , oder auch
Web-Based Enterprise Management
ist ein Ansatz um Administration und Fernwartung in großen Netzwerken
(Unternehmen) zu standardisieren.
Microsoft preschte schon vor den 2000ern mit seiner eigenen
COM-Implementierung
davon vor, nannte es WMI und deshalb haben wir heute zu vielen
Systemkonfigurationen primär nur über die WMI-Schnittstellen Zugang.
|
20 Feb 2019
|
|
» Weiterlesen
|
|
|