Recently at work, we ran into this problem: We needed to send Slack notifications for specific events but had to enforce rate limits to avoid overwhelming the channel. Here’s how the limits worked: Global limit: Max 100 requests every 30 minutes. Category limit: Each event type (e.g., errors, warnin...
I came across a weird shell syntax today—dynamic shell variables. It lets you dynamically construct and access variable names in Bash scripts, which I haven’t encountered in any of the mainstream languages I juggle for work. In an actual programming language, you’d usually use a hashmap to achieve t...
Last month, I once again took part in Advent of Code which is one of my favourite annual, global software developer community activities. After doing it for a couple of years with Python while writing explanations for my solutions, I wanted to expand on that this year. A couple of days before Decemb...
One of my 2025 resolutions is doing things that don’t scale and doing them faster without overthinking. The idea is to focus on doing more while worrying less about scalability and sustainability in the things I do outside of work. With that in mind, I’ve been thinking for a while about tracking som...
Have you ever read books or watched series or movies with magic and wizardry and thought to yourself: “It would be cool if I could swing my wand or mumble some ancient incantations and things would happen”? I have and the closest I’ve got to that feeling is writing small programs for myself. Last su...
Interesting & joyful things from the previous week
Issue #177 of Arne’s Weekly
I’ve been fascinated by people’s digital gardens for quite a while now. I love writing and reading blog posts but sometimes the chronological publishing format is not the best for every problem. I’ve always been into taking notes and I find note taking one of my strengths in the industry. During las...
Happy new year 2025! Last year’s big discussion point was definitely artificial intelligence, large language models and recommendation algorithms so let’s start the new year by contrasting all of that with human touch. I have grown weary about the constant barrage of companies and products pushing c...
I’ve been having a ton of fun fiddling with Tailscale1 over the past few days. While setting it up on a server, I came across this shell script2 that configures the ufw firewall on Linux to ensure direct communication across different nodes in my tailnet. It has the following block of code that I fo...