📆
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.
📆
22.12.2022
Letztes Jahr habe ich einen Jahresrückblick geschrieben und kurz darauf einige Ideen für 2022 aufgeschrieben. Was ist ‒ ersteres wiederholend ‒ aus letzterem geworden?
Ideen umgesetzt? Vorweg: die drei Themen bzw. Programmiersprachen, die ich mir notiert habe ‒ Elixir, Go und JavaScript ‒ haben mich alle beschäftigt. Oberflächlich betrachtet habe ich also 2022 das gemacht, was ich mir vorgenommen hatte. Doch wie sieht es bei genauerer Betrachtung aus?
Elixir Tatsächlich habe ich mich von Januar bis April immer wieder mit Elixir befasst, wie die Commits im entsprechenden Repository zeigen.
📆
2022-11-05
As soon as you understand Monads, you’re no longer able to explain Monads.
— Somebody on the Internet
Having read n tutorials on Monads, one must come to the conclusion that tutorial n+1 needs to be written. Not so much in order to explain monads to others, but rather to gain more clarity. So here I write down my current understanding of Monads, and my few readers get the chance to correct my misconceptions about them.
📆
2022-08-30
When I finally got my bachelor’s degree in Computer Science, I set another goal for my further professional development: I wanted to learn functional programming. I got a glimpse of Prolog and Racket during my studies, and used higher-order functions with lambda expressions in Java and JavaScript once in a while. I also peaked into Common LISP on multiple occasions, but I never made it a priority.
Erlang? No, Haskell and MOOCs!
📆
2022-08-27
If you are around my age, work as a programmer, and took some classes on the subject since 2009, you probably were subjected to Robert C. Martin’s book Clean Code: A Handbook of Agile Software Craftsmanship. (As of this day, the first edition from 2008 hasn’t been updated. Clearly, Clean Code must be a—nay, the—perfect book, which does not require improvements or adjustments after all those years).
I bought the book out of personal interest, probably in 2009.
📆
2022-07-26
Different Git Server, Different E-Mail Address When you use Git on a daily basis, chances are that you use it with multiple remote servers—and do so with different email addresses. I personally use:
My work email address (let’s say patrick@work.xy for the sake of brevity) for my employer’s Git server (git.work.xy to keep it short). My private email address (patrick@home.xy) for GitHub (github.com). The school’s email address (patrick@school.xy) for the Git server used for teaching (git.
📆
30.04.2022
In der nebenläufigen Programmierung ist Fire and Forget ein Prinzip, bei dem untergeordnete Aufgaben gestartet werden und anschliessend nicht mehr auf deren Beendigung gewartet wird. Man kann davon ausgehen, dass der Task dann irgendwann zu Ende sein wird, und das Ergebnis wird dann schon stimmen. Eine Beispiel hierfür wäre eine Datensicherung, die von einem lang laufenden Server gestartet wird. Sofern der Server nicht neu gestartet wird, dürfte der Vorgang dann schon zu Ende laufen.
📆
13.04.2022
Explanations exist; they have existed for all time; there is always a well-known solution to every human problem — neat, plausible, and wrong.
‒ H. L. Mencken
Im Geografieunterricht am Gynmasium kann ich mich an zwei Lehrer erinnern: Der erste war eher ein Haudegen; hatte ein enormes Wissen, versteckte dieses aber teilweise hinter seiner jovialen Art. Bei ihm im Unterricht haben wir angeschaut, was die Fakten sind. In New York herscht dieses und in den Tropen jenes Klima.