You can now subscribe to my weeknotes on Buttondown to get these weeknotes delivered into your inbox every Sunday morning.
On Monday (which I took as a vacation day), I went with Justine to buy a heap of emergency supplies for the Ukrainian refugees at Berlin Hauptbahnhof (main station). Being at the station was distressing to me, and used up all the energy I had.
My mind cannot comprehend the levels of anguish these refugees must be experiencing.
It feels odd to talk about how I felt. I barely got involved with them apart from buying supplies. I didn’t volunteer; as much as I would like to, I think I would have neither the energy nor the mental capacity to do so anyway. Knowing one’s limits is useful, and I think the financial support I’ve given might have to be enough for now.
When I released the first version of Nanoc in 2007, cryptocurrencies were nothing more than the figments of one person’s imagination. Nanoc is old.
But then again, so are cryptocurrencies. To put this into perspective: work on Bitcoin started in 2007, one year after the initial release of jQuery. By now, frontend software development has evolved so much that jQuery is largely relegated to the past.
The cryptocurrency enthusiasts’ claim that it’s “early days” is nonsensical.
I started using screen sharing to connect to my personal laptop while I’m at work. I’m still physically next to my personal laptop (as I am working from home) but it’s convenient to be able to keep on using my mouse, keyboard, and external display without having to switch USB/Thunderbolt inputs. It’s also useful to copy-paste between the two laptops.
The performance of screen sharing leaves something to be desired, however. The lag is significant, sometimes up to a second, despite the two laptops being on the same network.
For now, I’m primarily using screen sharing to record notes or to-do items on my personal laptop: I’ll share the screen, jot down some items, then close the screen sharing window.
This approach to screen sharing interestingly makes my personal laptop feel like a workspace that I can close and reopen. That’s a good thing: it removes distraction, as I switch to a different mode of working where there is no overlap in applications.
More and more apps have become web apps, and so opening up a browser feels like opening up all those apps at the same time. It’s chaotic and distracting. Wouldn’t it be nice to have separate workspaces? One for coding, one for writing, and one for communicating. No overlap and no distractions.
As I’m in a lull between projects at work, I’ve decided to utilize the bits of extra time to finally read Pat Shaughnessy’s Ruby under a microscope. It’s rather old at this point (last updated in 2014) though I believe it will still be interesting and relevant.
As I make progress in this book, as well as in Crafting Interpreters, I have no doubt that my desire to create a new programming language will flare up once again.
I keep both really wanting to, and yet really not wanting to, create a new programming language. There is so much potential in creating something new, exploring new approaches to writing code. I’ve got ideas! Ideas that have never been truly explored before! Ideas that are good — probably good — I can’t properly tell without implementing them first!
On the other hand, creating a new programming language is so much work. Furthermore, what if I write some code in this new language, and later decide to change the language? Is creating a programming language really the topic to fill my spare time with?
Brian Lovin said: “The side project prophecy: the more you talk about building your side project, the less likely you are to ship it.”
I feel called out.
I started a budgeting prototype app a while ago. I wrote about that prototype in a handful of earlier weeknotes. I’ve nearly entirely stopped working on it, however. Granted, I ran into issues with Ruby and Sorbet, but those weren’t insurmountable.
In entertainment news, I’m continuing my re-listen to The Magnus Archives. I’ve just finished season 2 for the second time, and it’s frisson-inducingly good.
The Magnus Archives, with its 200 episodes (excluding specials like trailers and Q&As), clocks in at 60–70 hours (a rough estimation). A while ago, I would’ve considered that too high of a time investment to even consider. I’m becoming more partial to long-form content though.
Nonetheless, I’m struggling to find other forms of long-form entertainment that click for me. For instance, I picked up Leviathan Wakes (James S. A. Corey) but a few chapters in, I find that the writing style disagrees with me in a way that prevents me from continuing with it. This is despite greatly enjoying The Expanse as a TV series, for which Leviathan Wakes is the source material.
How does one find good books to read? I feel that it’s odd to put down money for a book without having read it, and thus not knowing whether I’d enjoy it. Have I become brainwashed by subscription models where I can randomly pick up something, see whether it clicks, and move on to something else if it does not?
I made a delicious loaf of sourdough bread earlier this week. Today (Sunday), I’m making another one, to give away.
I started making sourdough bread at the beginning of 2021, and I’m very happy with how my skills have developed. It also helps to have a bread-baking community at Shopify, which has certainly been of help!
Here are some links to noteworthy articles and videos:
The Beauty of Bézier Curves (Freya Holmér) gives a comprehensive introduction to Bézier curves.
What We Lost (rands) might explain why video calls so often make me uncomfortable and drain me of energy.
Build tools around workflows, not workflows around tools (Linus Lee) resonates with me, having built plenty of tools around my own preferred workflows. It’s the reason why I built Nanoc and why I still happily use it. I’ve got nowhere near as many impressive tools as Linus, though.