Abonnieren

Liebes BLOG Tagebuch!

Man sagt:
Was wir wissen, ist ein Tropfen, was wir nicht wissen, ist ein Ozean.
(von Isaac Newton oder aus Dark)

Ich muss heute also noch sehr viel trinken. 😉

Diese Seite benutzt KEINE Cookies! Wozu auch?
Hier geht es NICHT um Browser-Kekse, Werbung und Spionage, SONDERN um Programmierung, Hardware, Software und was mir sonst noch so passiert ist, damit ich in 10 bis 20 Jahren eine Erinnerungshilfe an meine momentanen Erlebnisse parat habe.

Was bisher geschah:


CallByName

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

N-lightening Windows

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

Errorcodes

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

Namensräume

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

Der Mythos Blockchain

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

Die Servos vom Arnold kalibrieren

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

jQuery Verbot

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

GUIs und Threads

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

Defekte Profile

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

Sessions unter Linux

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

Sessions unter Windows

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

Notwendigkeit des eigenen Ansatzes

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

ZIP drive

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

fork()

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

Alignment: Korrekte Ausrichtung

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

📧 📋 🐘 | 🔔
 

Meine Dokus über:
 
Weitere externe Links zu:
Alle extern verlinkten Webseiten stehen nicht in Zusammenhang mit opengate.at.
Für deren Inhalt wird keine Haftung übernommen.



Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!