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.
|
|
Die Terminatoren vom
Typ T-800 müssen mit
äußerst gut kalibrierten und robusten
Servomotoren ausgestattet gewesen
sein … bzw. gewesen werden.
Denn der Nachbau der Mechanik des menschlichen Körpers ist äußerst schwierig.
Mir zumindest gelingt es mit meinem
Bausatz
leider nicht, einen Greifarm so zu steuern, dass er wirklich exakt gleiche
Bewegungen durchführt. Denn wenn jedes Gelenk auch nur ein kleines bisschen
abweicht - also seine Endposition nicht ganz genau erreicht - liegt die
Vorderzange daneben.
Der Bau eines selbstreparierenden Roboters ist so leider nicht möglich.
|
10 Dec 2018
|
|
» Weiterlesen
|
|
Ich bin regelmäßig davon entsetzt, wie es meine
Webbrowser stets schaffen,
die 3.2 Gigahertz Prozessoren meines PCs voll auszulasten um einfachste
Webseiten wie Suchmaschinen-Ergebnisse anzuzeigen.
Gleichzeitig wird das Arbeiten auf
ARM und
Atom Tablets zur Qual.
Warum zur Hölle sind Webseiten heute langsamer, als zu Zeiten von
56KBit Modems?
|
09 Dec 2018
|
|
» Weiterlesen
|
|
Auch wenn modernere Frameworks
etwas anderes versprechen, so haben alle bekannten
GUI
Umgebungen die Eigenschaft, dass sie im Kern “single-threaded” aufgebaut sind.
Oft kommt der Einwand: “Das kommt aus der Vergangenheit”, aber das hätte
man schon lange ändern können.
In Wahrheit hat es einige Vorteile, wenn UI Aktionen linear abgearbeitet
werden können.
|
08 Dec 2018
|
|
» Weiterlesen
|
|
Grafische Benutzeroberflächen,
auch GUIs genannt, leiden seit ihrer Erfindung an einem ihrer wichtigsten
Features:
Nämlich dem Speichern des letzten Zustandes oder der letzten Aktionen des
Benutzers.
Während einfache Tools und Konsolenprogramme bei jedem Start glauben, sie
seien das erste mal gestartet worden, wollen “die schönen Programme” dort
weitermachen, wo sie zuletzt aufgehört haben.
Das klappt so lange, bis ihr Gedächtnis nachlässt …
|
07 Dec 2018
|
|
» Weiterlesen
|
|
Während der Session-Begriff unter Windows noch einigermaßen eindeutig ist,
haben wir unter Linux mehrere Hierarchie-Ebenen, auf die
dieser Begriff bedeutet werden kann.
Von Prozessen über Logins bis hin zu grafischen Sitzungen
finden wir hier unterschiedliche Mechanismen vor,
die wir jeweils als “Session” bezeichnen können.
|
06 Dec 2018
|
|
» Weiterlesen
|
|
Eine “Sitzung” auch als “Session” bekannt, kann je nach Applikationssicht
alles mögliche sein.
Windows nutzte den Begriff schon in seinen Anfängen.
This will end your Windows Sessions.
(OK) (Cancel)
Doch mit NT 4 und
der Einführung von
Terminal-Services,
hat der Begriff auch programmatisch Bedeutung.
|
05 Dec 2018
|
|
» Weiterlesen
|
|
Oft behaupten Personen, dass man in der Software-Entwicklung niemals Dinge
doppelt tun soll.
Das mag ja grundsätzlich stimmen, doch wird es damit gleich gesetzt, dass
bestehende Praktiken nicht mehr hinterfragt werden dürfen.
Ich sehe das anders: Den besten Wissenseinblick erlangt man oft
erst durch den Nachbau von Bestehendem.
|
04 Dec 2018
|
|
» Weiterlesen
|
|
Etwas vor dem Jahr 2000 wurden
Disketten für mich endgültig zu
klein, um Daten darauf auszutauschen. Textdokumente wurden mit jeder Office
Version größer und anstatt von kleinen
WMF Vektorgrafiken fanden
immer mehr echte Bilder Einzug in die Dokumente.
Das gleiche passierte auch mit Quellcode. Immer größer wurden die
Resource-Dateien,
bis sie schließlich nicht mehr auf 1.44 Megabyte Datenträger passten.
Doch es gab eine Lösung: Das
ZIP-Laufwerk von Iomega
|
03 Dec 2018
|
|
» Weiterlesen
|
|
Unixianer preisen
fork()
für die schnelle und effiziente Art, neue Kind-Prozesse zu erzeugen.
In Windows ist dieses
Feature (offiziell) nicht enthalten, was bei der Portierung von Applikationen
immer zu Problemen und recht komplexen Workarounds führt.
Während fork() in manchen finalen Programmen vor allem vor der
Erfindung von Threads
eine großartiges Feature darstellt, so ist - meiner Meinung nach - seine
Funktion für Bibliotheken störend.
|
02 Dec 2018
|
|
» Weiterlesen
|
|
Wenn aus Dateiformaten oder Datenpuffern Variablen entnommen werden, bzw. wenn
Pointer auf eine bestimmte Stelle gesetzt werden und als ein bestimmter Typ
re-interpretiert
werden, dann hat man PC oft Glück und das funktioniert.
Will man den gleichen Code auf den
Raspberry PI oder aufs
SmartPhone portieren, erlebt man Abstürze.
Vielleicht handelt es sich dabei um Alignment-
Exceptions.
|
01 Dec 2018
|
|
» Weiterlesen
|
|
Und? Bei euch auch alles verschlüsselt?
Zertifikate gestatten uns sicher über das Internet Daten auszutauschen.
Alles wird verschlüsselt.
… doch Verschlüsselung ist nur eine von vielen Funktionen von Zertifikaten.
Und hier beginnt die leidige Geschichte, was wann wie sicher und sinnvoll ist.
|
30 Nov 2018
|
|
» Weiterlesen
|
|
Zu den wichtigsten Container-Datenstrukturen zählten in meiner bisherigen
Karriere:
- Arrays:
Lineare Felder von Datentypen, die per Index angesprochen werden
- Maps:
Felder von Schlüssel-Wert Paaren, die über den Schlüssel angesprochen werden
Maps sind auch als
assoziative Arrays,
Dictionaries
oder
Tables
bekannt. Jede Programmiersprache bzw. -umgebung lässt sich da offenbar einen
anderen Namen einfallen.
|
29 Nov 2018
|
|
» Weiterlesen
|
|
Früher habe ich meinen Lehrern die Schuld daran gegeben, aber die Wahrheit
ist, dass ich in Fremdsprachen einfach schlecht bin.
Das gilt auch für Englisch.
Trotzdem ist es gerade in der Online-Welt unumgänglich diese Sprache
zu verstehen und zu nutzen.
Und für die Programmierer beherrscht Englisch ohnehin die ganze Welt.
Die ganze Welt? Nein,
Office 95
leistete erbitterten Widerstand…
|
28 Nov 2018
|
|
» Weiterlesen
|
|
Nachdem ich mit der
Anno-Spiele-Serie
nie direkt in Berührung gekommen bin und nur davon gelesen habe,
handelt dieser Artikel nicht von der Besiedelung unentdeckter Welten.
Es geht um die Zeitrechnung auf unseren Computern.
|
27 Nov 2018
|
|
» Weiterlesen
|
|
Als sich mein Wechsel von
Pascal zu
Assembler
(unter DOS) vollzog, war es für mich
ein Spaß, mit Grafiken zu spielen. Da gab es dann immer wieder Vergleiche
zwischen meinen damals 3 Rechnern:
Pentium,
486 und
386.
Bei mir bildete sich dann die Meinung:
Es reicht eine plattformabhängige Funktion SetPixel() , die einen Pixel auf
dem Schirm einfärbt, und alles andere kann plattformunabhängig implementiert
werden.
OK, ich war jung und wusste es nicht besser …
|
26 Nov 2018
|
|
» Weiterlesen
|
|
Ein Kollege beharrte einmal darauf, dass eine Datenbankstruktur
für die Bedürfnisse der eingesetzten
Datenbank abgeändert werden
müssen, weil die Performance beim Lesen sehr gering ausfiel.
Konkret ging es um eine Tabelle, die Kunden beinhaltete und
die eigentlichen Daten waren mit dieser verkettet.
Es stellte sich heraus, dass bei jeder Anfrage zuerst der gewählte
Kunde gesuchte wurde und danach mit dessen ID die weiteren Daten
geladen wurden. … Und das geschah unzählige Male für jede Form
der Datenbeschaffung.
Mein Vorschlag:
Wieso speichert ihr euch nicht zumindest die Kunden-ID bei der
ersten Abfrage und nutzt sie dann direkt?
wurde mit seltsamen Ausreden abgelehnt. Immer wurde auf die
Datenbank selbst verwiesen, die mit anderen
Abfragen (Queries)
schneller läuft.
… für mich klang das eher nach Ich weiß nicht wie. … also
ändern wir lieber alle Datenformate ab und brechen die Kompatibilität …
|
25 Nov 2018
|
|
» Weiterlesen
|
|
In den 90ern zählte die
serielle Schnittstelle
neben der
parallelen Schnittstelle
am PC zu den wichtigsten
Anschlüssen neben Tastatur und Bildschirm.
Während Drucker am breiten parallelen Port hingen, war die
wichtigste Anwendung des seriellen Ports, eine
Computer-Maus
an das Gerät anzubinden.
Noch viel wichtiger war die Schnittstelle aber in der Industrie und das
ist sie teils heute noch.
|
24 Nov 2018
|
|
» Weiterlesen
|
|
Die Geschichte von Iason,
dem Anführer der Argonauten,
umfasst auch die Suche nach dem
Goldenen Vlies.
Sie wurde schon öfter verfilmt, aber nichts kommt an die Darstellung von
Popeye aus dem
Jahr 1960 heran.
[ Youtube Video Link ]
Heute 3500 Jahre nach dem Zeitalter der
griechischen Helden
erlebt Jason in Form von
JSON
neue Beliebtheit.
… ganz besonders, wenn es darum geht in
Jekyll-Seiten eine
Suchfunktion einzubauen.
|
23 Nov 2018
|
|
» Weiterlesen
|
|
Nachdem Microsoft das Rollout von
Windows 10 1809 im
September bzw. Oktober wegen Fehlern zurücknehmen musste und erst
Mitte November wieder bereit stellte, fand nun auch mein Update statt.
Die Prozedur lief korrekt ab und nach ein paar Tests entfernte ich
das alte Windows 1803 Backup von der Festplatte.
Und dann fiel es mir auf: Das Kopieren von Dateien auf
Netzlaufwerke
war schwer beeinträchtigt.
Datenraten von 50 Kilobyte pro Sekunde waren das Maximum.
Was zur Hölle ist da wieder schief gelaufen?
|
22 Nov 2018
|
|
» Weiterlesen
|
|
Das Schreiben der Funktion int main() - also ohne Parameter - ist erlaubt
und vollkommen OK.
Doch wie kann das sein?
C kennt kein
Function-Overloading
und wir wissen doch, dass main eigentlich so aussieht:
int main(int argc, char** argv);
|
21 Nov 2018
|
|
» Weiterlesen
|
|
|