15 Dec 2018
⌨
Die Funktion CallByName
war für mich eine der Besonderheiten,
die mit Visual Basic 6
in die Sprache aufgenommen wurde. Sie hat es via
VBA auch in die
Office Familie geschafft und ermöglicht eine ganz spezielle dynamische
Erweiterbarkeit von Programmen.
Denn während die Menge an aufrufbaren Funktionen und Code im wesentlichen
zur “Entwurfszeit” vom Programmierer festgelegt wird und nach dem Kompilieren
nicht mehr anwachsen kann, gestattet uns diese Funktion in Kombination mit ein
paar anderen neue Funktionen aufzuführen, die dem Programmierer nicht bekannt
sein müssen.
Hmm … ein spannendes Feature…
» Ganzen Beitrag lesen
14 Dec 2018
💻 💾
Bevor mit Windows Vista
das Image basierte Rollout-Verfahren des Betriebssystems massentauglich wurde,
gab es für die Vorgängersysteme Tools, um die Windows CDs entsprechend zu
patchen.
Eines davon war n-Lite, welches ich
jahrelang nutzte, um Windows 2000,
Windows XP und Server 2003 Images auf den neuesten Stand zu bringen.
» Ganzen Beitrag lesen
13 Dec 2018
⌨
Vor Jahren habe ich Exception
in C++ als “die beste und genaueste” Methode beschrieben, um Fehler zu
kommunizieren.
Doch im C basierten GATE Projekt steht dieses Feature auf unterster Ebene
nicht zur Verfügung.
Also tun wir das, was seit den Anfängen der Programmierung getan wurde:
Wir ziehen Zahlen heran um anzuzeigen, was uns gerade nicht gepasst hat.
» Ganzen Beitrag lesen
12 Dec 2018
⌨
Einer der Gründe, warum im GATE Projekt alle Funktionen und Typennamen so
verflucht lange sind, liegt an der Tatsache, dass die
Sprache C
keine Namensräume anbietet.
Es bleibt einem gar nichts anderes übrig, als den Namensraum als Teil
des Funktions- oder Typennamens zu kodieren.
Blickt man tiefer in die IT, stellt man fest, dass Namensräume ein
gängiges Konzept in fast allen Bereichen sind, um Datenstrukturen
zu ordnen.
» Ganzen Beitrag lesen
11 Dec 2018
💻
Ein Jahr ist der große Hype um
Bitcoin nun her.
Die Blase ist geplatzt … leider noch nicht ganz, und jetzt frage ich mich:
Was ist geblieben?
Wenn eine Technologie names Blockchain
fast 10 Jahre so herumliegt, der Mainstream sich nicht wirklich dafür
interessiert … und plötzlich geht alles durch die Decke, weil das Gerücht
die Runde macht: “So wirst du reicht”, dann sollte man etwas skeptisch sein,
ob es tatsächlich die Technologie ist, was so genial daran ist.
» Ganzen Beitrag lesen
10 Dec 2018
🔧
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.
» Ganzen Beitrag lesen
09 Dec 2018
💻
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?
» Ganzen Beitrag lesen
08 Dec 2018
💻 ⌨
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.
» Ganzen Beitrag lesen
07 Dec 2018
💻
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 …
» Ganzen Beitrag lesen
06 Dec 2018
⌨
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.
» Ganzen Beitrag lesen
05 Dec 2018
⌨
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.
» Ganzen Beitrag lesen
04 Dec 2018
💾 ⌨
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.
» Ganzen Beitrag lesen
03 Dec 2018
💾
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
» Ganzen Beitrag lesen
02 Dec 2018
⌨
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.
» Ganzen Beitrag lesen
01 Dec 2018
⌨
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.
» Ganzen Beitrag lesen