AI is like TV (or books before that). It started some years ago with asking ChatGPT about code constructs, then suddenly we were here: running agents in several terminals, producing more code than before, the programmer reduced to someone who just presses “accept” / “reject” / “think harder”.
About a year ago I started writing a “work diary”. The process is simple: at the end of the day, I write a few sentences of what I did that day at work.
I’ve always liked reading blogs, and have used several feed readers in the past (Feedly, for example). For a long time I was thinking it would be fun to write my own RSS reader, but instead of diving into the challenge, I did the next best thing, which was finding a decent one, and learning how to self host it.
I had some very nice experiences with Claude Code recently, and I realized it would be fun to write down all the ways I use AI today (highly likely it will all change within the next year!).
Recently I wanted to learn a bit about Apache Kafka. It is often used as a way to do event sourcing (or similar message-driven architectures). An “add-on” to the simple publish/subscribe pattern in Kafka is Kafka Streams, which provides ways to process unbounded data sets.
Recently I followed the very good Coursera course “Algorithms, Part I” from Coursera. The exercises were in Java, and the most fun one was implementing a two-dimensional version of a k-d tree. Since I sometimes do generative art in Clojure, I thought this would be a fun algorithm to implement myself.
I just got a new Macbook, and I thought it would be useful for my future self to write down what I installed on it. Luckily the history file in my shell is long enough to remember everything.
When working in the terminal, I like to move efficiently between panes. To do this I use tmux, which is a terminal multiplexer. I had to look that word up, so here is what Wikipedia says:
In the old days, well before my time as a programmer, you had servers, which maybe had a Java server running, connecting to a Oracle SQL database, managed by some other team.