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:


Wrapper und Abstraktionsschichten

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.

» Ganzen Beitrag lesen

Hackers 'n' Slackers

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!

» Ganzen Beitrag lesen

Festplattengrößen

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.

» Ganzen Beitrag lesen

Luftreiniger

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.

» Ganzen Beitrag lesen

Commanders, von Norton bis Midnight

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.

» Ganzen Beitrag lesen

Zeitrechnungen

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.

» Ganzen Beitrag lesen

setjmp / longjmp

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.

» Ganzen Beitrag lesen

Umgebungsvariablen und mehr

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.

» Ganzen Beitrag lesen

Pipes: Rohrpost zwischen Prozessen

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.

» Ganzen Beitrag lesen

Windows Management Instrumentation (WMI)

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.

» Ganzen Beitrag lesen

Durch den Callstack wandern

Verwaltete Sprachen wie Java oder jene des dotNet Frameworks definieren einen Standard wie Funktionen ausgestalten sein müssen.
Damit kann das Framework seine eigenen Funktions-Aufrufbäume genau zurückverfolgen.

Das merkt man vor allem bei Exception, die ganz genau wissen woher sie kamen.

C und C++ kennen einen solchen Standard für den Aufbau des Callstacks nicht, weil im Zuge der Optimierung Funktionen eingebettet (Inlining) werden können oder andere interne Calling-Conventions benutzt werden dürfen.

Will man aber dennoch “seine Herkunft” zur Laufzeit ermitteln muss man selbst Hand anlegen.

» Ganzen Beitrag lesen

Eiscreme ohne Zucker

Wäre es nicht so Deppen-einfach, dass sogar ich es hinbekomme, würde ich nicht darüber schreiben:

Also: Wie kann man Vanille-Eiscreme ohne Kohlenhydrate zubereiten, damit man in seiner Low-Carb Diät auch etwas zum Naschen hat?

» Ganzen Beitrag lesen

ANSI und UNICODE

Während Windows 9x nur ANSI-kodierte Byte-Strings kannte, unterstützte NT 4 einige Unicode-Bereiche in der Form von UTF-16. Die Windows API ist daher auf NT-Systemen großteils doppelt implementiert.
Pessimistisch könnte man auch sagen: Sie ist gespalten.

Wer mit “alten” ANSI-Bytes-Strings arbeitet darf hinten ein großes “A” anhängen, und wer Unicode nutzen will, lässt seine APIs und Strukturen auf ein großes “W” für Wide-Character enden.

Die meisten kümmern sich jedoch darum nicht sondern nutzen die API ohne “A” oder “W” Suffix und verlassen sich darauf, dass die Windows-Header automatisch die richtige Form wählen.

» Ganzen Beitrag lesen

Rechte und Pflichten im Dateisystem

So wie sich Sommer und Winter abwechseln, so kämpften Microsoft und die OpenSource Programmierer jahrelang um “das Beste” Berechtigungskonzept.

DOS und Windows 3.x und 9x waren rechtelos und damit den Unix-Derivaten schwer unterlegen. Mit Windows NT 3 und NT 4 legte man ACLs (Access Control Lists) über FAT32 und taufte es NTFS, was flexibler als die alten POSIX-Rechte war, die nur zwischen einem Eigentümer (Owner), einer Gruppe (Group) und allem anderen (Other) unterschied.

Etwas später zogen Linux und BSD nach unten bauten einen erweiterten POSIX Entwurf ein, der diese Zugriffslisten (ACLs) auch auf ihrer Seite möglich machte.

Und letztendlich versuchte man in beiden Welten durch diverse Tricks die begehrten “Administrativen Privilegien” stückweise den Anwendungsprogrammen bereitzustellen, ohne dass man gleich alle Macht dem Standard-Benutzer-Account vor die Füße warf.

Um niemanden zu beleidigen sagen wir deshalb: Es steht nun unentschieden.

» Ganzen Beitrag lesen

Hash-It, und das Dirty-Bit fällt weg

In der letzten Episode unserer Daily-Soap “Gute APIs, Schlechte APIS” sahen Sie:

Aufruhr in der Editoren-Straße! Großmutter Textbox zeigte erste Anzeichen für Demenz, als ihr Schwiegersohn Updatetimer sie nach der aktuellen Cursorposition fragte. Während dessen plagen Familienvater Streamwriter schwere Gewissensbisse, nachdem er heimlich mit seiner Jugendfreundin UTF-16 fremd gegangen war, während seine angetraute UTF-8 zu Hause saß und den kleinen ANSI-Codec stillte. Parallel kam es zu einer Schlägerei zwischen dem pubertierenden Jungen ToolBar, der mit seinem Zimmergenossen MenuBar um seine ID-Zuordnung im Streit lag. Und während alle ihren Problemen nachgehen, beobachtet Professor Statemanager distanziert und dennoch mit Sorge, wie sich Grußmutter Textbox’ Gesundheitszustand verändert.

» 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!