📆
17.04.2024
Die Huffman-Codierung bildet die Grundlage für die Kompression (und Dekompression) von Daten. In diesem Beitrag geht es um die entsprechende Datenstruktur (den Huffman-Baum) mit den zugehörigen Algorithmen (Aufbau des Baums, Kompression und Dekompression). Dabei soll es ausschliesslich um Text (und nicht um Binärdaten) gehen, womit sich die ganzen Vorgänge leicht veranschaulichen lassen.
Auftretenshäufigkeit und Komprimierbarkeit Als Ausgangslage soll der Text „abracadabra“ dienen. Der Buchstabe ‚a‘ kommt darin ganze fünf mal vor, die Buchstaben ‚c‘ und ‚d‘ jedoch je nur einmal.
📆
12.04.2024
Zur sicheren Datenübertragung einzelner Nachrichten hat sich PGP/GPG etabliert. Für gesicherte, d.h. verschlüsselte Verbindungen gibt es SSH. Eine SSH-Sitzung wird jedoch unterbrochen, wenn die TCP-Verbindung abbricht. Der Secure Pipe Daemon (spiped) arbeitet als Daemon, wodurch man es mit einer beständigen, verschlüsselten Datenverbindung zu tun hat.
Im Gegensatz zu GPG und SSH kommt jedoch bei spiped eine symmetrische Verschlüsselung zum Einsatz. Der gemeinsame Schlüssel muss also vor Verbindungsaufnahme über einen sicheren Kanal ausgetauscht werden.
📆
2024-04-11
Finding prime numbers and factorizing numbers into their prime components is one of my stock programs: Whenever I learn a new programming language, I try to solve the following problems:
Given a number n, find all prime numbers in the interval [2;n]. Example: The prime numbers up to 20 are [2, 3, 5, 7, 11, 13, 17, 19]. Given a number x, factorize x into its prime components. Example: The number 234 can be factorized into [2, 3, 3, 13].
📆
09.04.2024
Dieser Artikel ist der erste in einer Folge von zwölf Beiträgen, die ich für den Adventskalender des deutschen Debianforums geschrieben habe. Die ersten vier stammen vom Adventskalender 2022. Weitere acht habe ich zum Adventskalender 2023 beigetragen. Diese Artikel möchte ich hier mit leichten Anpassungen einem weiterem Publikum zugänglich machen. (Obwohl ich meine technischen Beiträge normalerweise auf Englisch schreibe, belasse ich diese im deutschsprachigen Original.)
Die Artikel setzen eine Installation von Debian 11 “Bullseye” oder 12 “Bookworm” voraus, können aber grösstenteils mit nur kleinen Anpassungen (Paketnamen) auch auf anderen Linux-Distributionen nachvollzogen werden.
📆
2024-04-01
The Socio-Sexual Hierarchy describes patterns of behaviour of the following types:
Sigma: The Lone Wolf Alpha: The Leader Beta/Bravo: The Leader’s Right Hand Delta: The Competent Co-worker Gamma: The Special Boy Omega: The Outcast The enumeration from Alpha to Omega can be understood as ranks in the hierarchy, whereas the Sigma is considered to be a very independent individual outside the hierarchy. Alphas are the leaders, and Betas/Bravos act as their right hand.
📆
28.02.2024
Praktisch täglich stosse ich auf ein Problem, das ich einfacher lösen könnte, wenn ich dazu die entsprechenden Fähigkeiten hätte. Diese Probleme sind teilweise sehr konkret (z.B. die Suche nach einer Library-Funktion mit einer bestimmten Semantik) und teilweise sehr abstrakt (z.B. wie man die Qualität seines Programmcodes verbessern kann, sodass bei Anpassungen keine Fehler miteingebaut werden). Die Probleme haben gemeinsam, dass man sie besser lösen könnte, würde man vorher die entsprechenden Fähigkeiten dazu lernen.
📆
2024-02-21
In the last couple of years, i.e. since 2020 when I finally got my bachelor’s degree in Computer Science, I was mostly interested in functional programming languages: Erlang, Elixir, Scheme, Clojure, and Haskell. A year before, in 2019, I was trying to learn Rust, but I didn’t get very far. Yet another year before, in 2018, I spent a lot of time with Go, which was quite productive.
I wouldn’t want to miss any of it.
📆
2024-02-16
I just published a small game Gauner Trio (roughly “Scoundrel Trio” in English), where the player must find the three culprits out of seven suspects. We often played the tabletop version of this game at home in my childhood, and I just wanted to implement it on my own in JavaScript.
Discrete Mathematics The biggest issue is: How do you generate the cards showing all possible combinations of three suspects (out of seven)?
📆
01.01.2024
Das neue Jahr hat angefangen, und die Gelegenheit ist gut um mir etwas Neues vorzunehmen. Nicht einfach bloss, weil man sich Vorsätze fürs neue Jahr nimmt, sondern weil der Jahreswechsel mit der Arbeitspause mir die Möglichkeit bietet, über meine Prioritäten nachzudenken ‒ und auch gleich mit neuen Sachen anzufangen.
Rückblick auf 2023 Auf das Jahr 2023 habe ich bereits andernorts ausführlich zurückgeblickt. Hier ist die Kurzversion davon, quasi als Andockstelle für meine neuen Ideen.
📆
26.12.2023
Ende 2021 aus Frustration angefangen und mit Freude abgeschlossen, habe ich auch für 2022 einen Jahresrückblick geschrieben ‒ und diesen sogleich mit einem Ausblick auf 2023 kombiniert.
Ausblick im Rückblick Womit wollte ich mich ursprünglich befassen? Beruflich einerseits mit Containern; genauer mit Container-Registries, mit Podman und mit Kubernetes. Andererseits mit Python; genauer mit Packaging und asyncio.
Privat war ich noch täglich fleissig an SICP und wollte das auch fortführen. Weiter nahm ich mir Elixir mit Phoenix, Rust, Perl, Clojure, Elm, Svelte, Racket und Erlang vor.