30 Nov 2018
💻
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.
» Ganzen Beitrag lesen
29 Nov 2018
⌨
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.
» Ganzen Beitrag lesen
28 Nov 2018
💾 💻
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…
» Ganzen Beitrag lesen
27 Nov 2018
⌨ 💾
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.
» Ganzen Beitrag lesen
26 Nov 2018
⌨ 💾
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 …
» Ganzen Beitrag lesen
25 Nov 2018
⌨ 💾
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 …
» Ganzen Beitrag lesen
24 Nov 2018
🔧
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.
» Ganzen Beitrag lesen
23 Nov 2018
🔧 💻
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.
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.
» Ganzen Beitrag lesen
22 Nov 2018
🔧 💻
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?
» Ganzen Beitrag lesen
21 Nov 2018
⌨
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);
» Ganzen Beitrag lesen
20 Nov 2018
💻
Ich bin offenbar schon viel zu lange weg vom Thema Server-Administration, und
so wurden einige Features eingeführt, die klanglos an mir vorübergegangen sind.
Windows Work Folders,
zu Deutsch Arbeitsordner, gehören auch dazu.
Doch nun mit einem neuen
Domain Controller bietet
sich die Chance das nachzuholen.
» Ganzen Beitrag lesen
19 Nov 2018
💾 💻
Bei Datenübersiedelungen fällt mir alle paar Jahre dann ein altes Archiv auf,
bei dem ich es einfach nicht übers Herz bringe es zu löschen.
Es beinhaltet Disketten Images mit dem FORM Virus.
In den guten alten Tagen kam ich mit 3 klassischen Computer-Viren in Berührung.
» Ganzen Beitrag lesen
18 Nov 2018
💻
Dass ich das noch erleben darf, seit 18 Jahren kreuz und quer im Netz
unterwegs und endlich, endlich versucht mich auch mal jemand zu erpressen
und fordert Bitcoins ein!
Yay! Geschafft!
» Ganzen Beitrag lesen
17 Nov 2018
💻
Eine der Nachwirkungen meines Server-Crashes ist, dass ich der
Versionsverwaltung GIT nun doch etwas
mehr abgewinnen kann.
Bisher war ich (einer der letzten) Verfechter von
SVN.
Nun ist mir zwar durch den Crash keine Zeile Quellcode verloren gegangen
(glaube ich), doch der Wiederaufbau von SVN aus veralteten Backups ist
auch nicht ganz das Wahre.
» Ganzen Beitrag lesen
16 Nov 2018
⌨
Bei Protokollen ist man schnell versucht einen konstanten String
“mal einfach so” als Argument zu schreiben.
do_something("Hello", "World");
Der Compiler macht das schon!
Er reserviert sich im Datenbereich zwei Blöcke und generiert den
Funktionsaufruf mit zwei Pointer auf die Blöcke.
Wer Eindeutigkeit und Übersichtlichkeit bevorzugt, investiert ein paar
Zeilen mehr:
1static char const* TEXT_HELLO = "Hello";
2static char const* TEXT_WORLD = "World";
3...
4do_something(TEXT_HELLO, TEXT_WORLD);
… doch dann kam die Portierung auf
Mikrocontroller …
» Ganzen Beitrag lesen