📆
01.06.2024
Wer schon unter grösserer Langweile gelitten hat, dürfte mit dem “Spiel” fortune(6), das sich auf Debian folgendermassen installieren lässt, bekannt sein:
# apt install fortunes $ fortune Debug is human, de-fix divine. $ fortune Abraham Lincoln didn't die in vain. He died in Washington, D.C. $ fortune You work very hard. Don't try to think as well. Doch ist diese Art der Bedienung noch angemessen für das dritte Jahrtausend?
Excuse me, wir haben 2024!
📆
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.
📆
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].
📆
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.
📆
2023-07-29
A year ago, I was stuck in my efforts to properly learn Clojure. So I decided to take a step back and work through SICP: slowly, but steadily. I sticked to it rather well, even finished an exercise on the day I moved. Neither did I take a break on Christmas. However, I had to stop in March, because working on the first project with two colleagues in our own company (Composed GmbH) was too much besides working two other jobs.
📆
2023-01-28
Last summer, I decided to work through SICP, at least through the first two chapters, and probably also through the third. I wrote about my progress after the first month. Back then, I established a daily habit, but was also a bit pessimistic whether or not I’d stick to it. I worked three days for the company, teached two days a week, and on the weekends, I had to prepare the lessons for the next week.