Weeknotes 05/2023

October 25, 2023

Weeknotes

Life

The cold season has started in daycare and the little one has a runny nose constantly. He's in a good mood though and his teachers are happy with him.

He made his first steps last week 😍 We weren't prepared for how emotional the moment would be. He was using a walking toy in the courtyard, went past some flowers and then decided to stop and just walk up to them by himself. Since then he's been walking so much every day. The teachers at daycare won the bet that he would start walking before his first birthday. I'll have to come up with a nice gift for them.

He also made his first best friend at daycare. Of course it's the only other French-German kid in his class. 🇫🇷🇩🇪

We started to change our spoken language approach at home. Before, my wife and I would talk English together and then our mother tongues to our son. Now we're just speaking in our mother tongues all the time. This works 95% of the time since we both understand each other's language quite well. It took some time to adjust but we now rarely switch back to English. When he's not around though, we do switch back. Since he's exposed to so much German at daycare, this approach should expose him more to French.

Our days still start very early (~5:30), so it's pretty dark when we open the blinds. That can feel depressing at times. But then, when we walk the little one to daycare through the park, we are witnessing the most beautiful sunrises 🌅.

Work

I've been working on a big refactoring of a core feature which ended up being less of a refactoring but more a "straightening" and documentation of the existing architecture. In order to get the feature out sooner and having more time to test it, the "straightening", documenting the architecture and adding new functionality mindfully, worked better. That way I can get feedback from product and internal users earlier and change the feature and fix bugs if necessary. The big refactor is not off the table though. I took notes along the way and created an action plan for the refactoring and will work on that right after.

The feature I'm talking about doesn't really have unit tests but is rather well covered by acceptance tests. This means the dev-test cycle is a little slower and my laptop's fans are running constantly. I really need to upgrade the machine. I was unlucky to get one of the last Intel MacBooks when I joined the company. The laptop lineup was refreshed a week after my start date, haha. Anyways, I filled the request to get an M2 and hope it'll all be much smoother in a couple of weeks.

Web / Tech

My little site got a couple thousand visits over the last week and I don't know where the traffic came from. I have a hunch that it came from a newsletter that linked to my blog post on building a minimal i18n library . Most of my site's traffic landed there last week and it appears they came with an utm_source of customer.io. Which is a tool for tracking all sorts of things, including newsletters. I did some digging, but couldn't find a newsletter linking here. So if you're reading this and you came through the newsletter, hi 👋, let me know on Mastodon which newsletter that was 🙂.

Speaking of Mastodon, I came across the StreetPass for Mastodon extension and I installed it on all of my machines. It surfaces Mastodon accounts from the sites you visit. Many Mastodon users have added their accounts as <link /> tags to their sites for verification (e.g. <link rel="me" href="https://social.lol/@janmon">. The extension lets you know when you have come across a new Mastodon account and lists all the ones you have already seen. Very handy to get Mastodon handles of blog post authors.

One blog post that stood out this week was this excellent overview on sharing state on sites with an "island" infrastructure. It feels similar to an architecture of a site that I was working on as a freelancer roughly 10 years ago, haha. But I'm glad that a lot of the building blocks for these architectures are now much more standardised (e.g. web components).

Another interesting blog post is this one which explains the purpose of tsconfig.json . It's very well written and gives handy examples. It shows how to leverage multiple config files depending on the "context" of your TypeScript files (e.g. test vs frontend vs server context).

And, last but not least, I started using Bruno as my API test tool of choice. I'm transitioning to a more backend-heavy task at the moment so I was looking for a nicer tool to running and inspecting API calls. Which, in Bruno, is a breeze. In fact, I liked Bruno so much, I contributed two PRs last week. One that fixes a CSS line-breaking issue and another one that makes Bruno (more) GDPR compliant.

Entertainment

  • 📚 I'm almost done with Caliban's War. For some reason I went through it much fast than Leviathan Wakes which took me some months. Now it took me just a couple weeks. The urge to re-watch The Expanse is growing with every page I'm reading.
  • 🍿 To wind down in the evening we started watching random Parks and Recreation episodes. Man, that was such a great show all around.

Song of the week

Just like last week, there is no song of the week this week. This time I want to recommend a "music" streaming service that I use every day at work. Listening to regular songs can distract me at times so I was looking for a more mellow alternative. I found Brain.fm to work very well for me. The songs, and the added "neural effect" do put me into focus mode quite quickly. I can highly recommend it 🎉