01 Mar 2019
⌨
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
28 Feb 2019
💬
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
27 Feb 2019
🔧 💾
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
26 Feb 2019
🔧
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
25 Feb 2019
💻 💾
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
24 Feb 2019
⌨
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
23 Feb 2019
⌨
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
22 Feb 2019
⌨
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
21 Feb 2019
⌨
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
20 Feb 2019
⌨
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
19 Feb 2019
⌨
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
18 Feb 2019
💬
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
17 Feb 2019
⌨
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
16 Feb 2019
⌨
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
15 Feb 2019
⌨
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