A month ago I published “Look Back at 2025” where I mentioned that the past year has been super stable and how grateful I was for it. This state didn’t last much longer. I lost my job, one of my best friends was diagnosed with a cancer and another good buddy of mine had a heart attack. Fuck off January, I’m glad you’re over. FUCK OFF!
Content Preview
A month ago I published
“Look Back at 2025”
where I mentioned that the past year has been super stable and how grateful I was for it. This state didn’t last much longer. I lost my job, one of my best friends was diagnosed with a cancer and another good buddy of mine had a heart attack. Fuck off January, I’m glad you’re over. FUCK OFF!
I’m on the hunt for a new full-time position. If you or your company needs an experienced full stack developer who understands how the web works, knows modern tech, and communicates well, please reach out. To find out more about my past experience and skills, have a look at
my CV page
. Wish me luck, folks!
After this little pessimistic intro, let’s get into the meat of this monthly series. As always, a quick music recommendation for you to check out!
Album of the month
The
“Mishaps Happening” by Quantic
is as fresh today as it was on the release day 22 years ago. It will never stop surprising me how diverse Quantic’s productions are. A good portion of afro beats, funk, live instruments and electronic accents are here. It is one of those albums that you just play from the beginning and you don’t have any reason to skip a song. I was well chuffed when I picked this album up in the record store that recently opened in my neighbourhood.
An essay about the current state of the broken web but mostly a great incentive to abandon some terrible tech and dedicate your energy to more decentralised and honest alternatives. A beautiful ode to the Indie Web. I appreciate the effort of creating a very custom design for this page. Not only is there custom design, but there is also a dedicated
a-website-to-destroy-all-websites.com
domain that proxies to this post.
Addy Osmani was always a huge inspiration for me. He helped me to fall in love with the web in the early days, and I learned a ton from his books, mainly “Learning JavaScript Design Patterns,” which was a huge help for my programming career. He has been at Google for as long as I can remember, and it is good to see his list of insights after working there for so many years. A bunch of invaluable advice for developers of any level.
Hats off to Nikita Prokopov for this detailed research of the recent macOS Tahoe icons situation. In short, it’s a mess! A lot of unintuitive choices, an absolute lack of consistency, hilarious repetitions. The unclear ambition to assign an icon to every freaking thing is silly to start with. Nikita’s posts on a regular basis hit the top of the HackerNews board, and this one was not an exception for a good reason. It is a good post.
The upcoming release 1.26 of the Go programming language is going to be a huge one. Anton Zhiyanov published this interactive guide with a lot of examples and explanations of all the new features and upcoming changes to the language. This is very useful for new Gophers, as the release notes from the official channels are pretty dry and very technical. I massively appreciate Anton’s effort on this one.
Recent release notes of Astro 6 Beta, where they dedicated a whole section to
Astro 6 on Cloudflare Workers
gave me a hint that something is cooking, but I didn’t expect this bomb to drop so quickly. Yeah, my favourite framework for building websites and my favourite infrastructure platform just married, and I’m well excited about this. It may remind you of the times when Netlify bought Gatsby, but this feels different to me. I host a
a local meetup in Northampton/UK
, and everything related to it is powered by these two technologies, and not even once did I have an issue with this stack.
Not every day you read about new HTML elements. This is a result of a long-running experiment to provide better primitives on the web to improve the experience of obtaining user permission to access geolocation, camera and microphone access. It is a huge user experience improvement to the UX currently present on the web where prompts for permission pop up out of context, we deny it by default and then it is super confusing to recover from this state when we really need to grant this permission. The dedicated element for user media will follow this. The API seems to be super easy and there is a polyfill for impatient ones.
As a Neovim user I have a good grasp of these two key technologies, but users of more conventional IDEs may benefit from understanding the basics of LSP and Treesitter. These two technologies make code editors so powerful, and knowing the capabilities of LSPs can speed your workflow up so much! Understanding how Treesitter works, its tree structure and how to perform basic queries enables so many great editing powers.
Howdy folks, can you believe that the year is over? Shocking! I spent December travelling around Sri Lanka with my family, and it was incredible! I published a few pics from our trip. I managed to catch up on a long reading list and, as I do every year, I published my annual summary of the past year. It’s been a good year for me!
Content Preview
Howdy folks, can you believe that the year is over? Shocking! I spent December travelling around Sri Lanka with my family, and it was incredible! I published
a few pics from our trip
. I managed to catch up on a long reading list and, as I do every year, I published
my annual summary of the past year
. It’s been a good year for me!
I have a ton of good links for you prepared this month. Even though I spent most of the month far away from my record collection, I still have a solid music recommendation for you. I really hope you will like this month’s selection and I will catch you all in 2026.
Album of the month
Nightmares on Wax is my daughter’s favourite artist and we spent countless hours dancing to his “Carboot Soul” and “Smoker’s Delight”. Now we listen to
the new album “Echo45 Sound System”
nonstop. Our favourite tune is “True” with Sadie Walker on vocals and Big Daddy Kane on bass. Super good album!
This is the nth post I have read about the TypeScript
satisfies
keyword, and the one that made me understand it. I don’t write complex TypeScript often, but now I have another tool in my toolbox.
This one came out of nowhere. Anthropic, AI giant and creators of the Claude Code, by many called the best AI code assistant out there, just like that acquired Bun. This article reveals more historical reasons why this takeover makes sense and assures people who placed their bets on Bun about the unchanged overall goal of the project.
I give little warning that this website is in Polish, but you don’t need to understand my native language to appreciate the passion that went into this project. This is a collection of matchbox labels printed between 1949 and 1983. The project started during lockdown five years ago when one of the authors found a collection of grandfather’s matchboxes. Posters designed by Polish designers from those years are classic, considered to be the golden age of Polish graphic design, but this project also shows incredible art being present on matchboxes. The subjects of these designs vary from ads for particular cultural events through architecture to propaganda slogans.
HTMHell is one of my favourite geeky advent calendars. This post introduced me to the obscure
<plaintext>
element that I had never heard about before. It goes into the historical reason for having this evil feature in the specification and gives some examples of when it used to come in handy (it is not so useful nowadays).
I’m sure you can relate to the hypothetical scenario described in this post. A real story of why good UX is an afterthought for most companies, often caused by the fast-paced business requirements, staff rotation, lack of confidence in working on the dated codebases and invisible ROI.
Another milestone for the animation on the web. This article is a first view of the totally new scroll-triggered animations. In contrast to scroll-driven animation, they do not advance and reverse as you scroll. They just play when the boundaries of the trigger are crossed. The
IntersectionObserver
is no longer needed for that.
Great and insightful post. For most use cases and the majority of apps out there that rely on Postgres, using UUID for the primary key is okay, but the performance degradation can hit at scale. I learned tons from this post!
The number of random version-4 UUIDs which need to be generated in order to have a 50% probability of one collision: 2.71 quintillion. This number would be equivalent to generating 1 billion UUIDs per second for about 86 years.
When I started learning Go, I struggled to understand why so many Go projects follow an overly complicated project layout. Since the naming convention of packages and file locations is pretty consistent across many open source Go projects, it is easy to fall into a trap and think this is a language requirement. This article clarifies it all.
Cloudflare shared their annual recap of web trends. I find all these stats super interesting. Significant growth of internet traffic in the last year doesn’t surprise me, but the increasing adoption of the v2 and v3 HTTP protocols is something I didn’t expect. Hilbert curve visualisation of the IPv4 distribution is so cool! Also, we have heard for decades that we are running out of IPv4 addresses, but the adoption of v6 is so slow, literally 1% more than last year only. This page is full of interesting insights, so check it out yourself and pick your gems.
I like the simplicity of HTMX a lot. It’s my first pick for the interactions library and should be yours for most projects. This website is a series of reasons to reach the same conclusion. Give it a go on the next project and I bet you will like it.
A great essay about the power of text and why should we prefer it over other kinds of media system. Little bit about the history of text, using it as a communication method, and about millions of reasons why you should bet on it.
The consensus about the native CSS masonry layout landed, and the
display: grid-lanes
is the way to go. This article by Jan Simons explains the property and also introduces the concept of “tolerance”. I’m happy that this debate is finally over. The new feature is ready to play around with in Safari Technology Preview, and let’s hope that other engines will catch up soon.
Think of tolerance as how chill you want the car drivers to be. Will they change lanes to get just a few inches ahead? Or will they only move if there’s a lot of space in the other lane? The amount of space you want them to care about is the amount you set in item-tolerance.
What a busy month! Crazy at work, but also a lot of prep went into the last NN1 Dev Club meetup of the year. I’m very proud of how this little meetup idea grew to become a solid community of software engineers from the Northamptonshire area. Luckily, at the beginning of December, we are travelling to Sri Lanka and we are staying there until the end of the year. I’m very much looking forward to it.
Content Preview
What a busy month! Crazy at work, but also a lot of prep went into the last
NN1 Dev Club meetup of the year
. I’m very proud of how this little meetup idea grew to become a solid community of software engineers from the Northamptonshire area. Luckily, at the beginning of December, we are travelling to Sri Lanka and we are staying there until the end of the year. I’m very much looking forward to it.
The World Wide Web kept on sending interesting articles my way, so like I do every month, I wanted to share with you my favourite bits. Hopefully, you will like this month’s selection. Music recommendation from my collection is also here!
Album of the month
If I had to tell you about a single song that I listened to in the last month the most, no doubt it would be “Lucky Star” by Madonna. My daughter is just obsessed with this tune at the moment and we listen to it dozens of times a day. But in the meantime, we have had some really enjoyable dancing sessions with the
selection made by Fania Records
. This album is full of bangers, like “Dakar, Punto Final” by Johnny Pacheco or “Sonido Bestial” by Richie Ray & Bobby Cruz. Top Latin vibes!
Often times we don’t need complicated storage mechanisms, state management libraries, or even a database. Good, old URL is a beautiful way of passing state around and reliably works on the web since 1991. I’m sure you have heard that before, but please use the platform devs.
It is no secret that
I’m a huge fan of lazygit
, and naturally I like to see more like-minded geeks embracing this powerful TUI. Bartek’s article highlights all the good reasons why you should try it, if you’re still pursuing the masochistic practice of using the git CLI. A little side note, that you should probably try Jujutsu, but this is a story for another day.
I have seen a lot of color palette generators in the past, but this one is my new winner. So useful and the design of this tool is just insanely cool. Bunch of little super tasteful animations, the gradients game here is absolutely top tier. For me, this tool is an instant bookmark!
The specification of HTTP is evolving and it is a good time to learn about the new
QUERY
method. It is a combination of
GET
and
POST
that takes the best traits of both. Like
GET
, it has a body and is idempotent.
As with POST, the input to the query operation is passed as the content of the request rather than as part of the request URI. Unlike POST, however, the method is explicitly safe and idempotent, allowing functions like caching and automatic retries to operate.
A good write-up about the Frdiverse and its value from prolific contributor to the open web, Tim Bray. I cannot agree more with Tim’s opinion, and for this number of reasons, I treat Mastodon as my only serious social media presence. Of course, this very page is my home on the web. Some may be asking what my take on Bluesky is, which I use almost as much as I do Mastodon, but Tim also wrote
“Why Not Bluesky”
about it, so I don’t need to. Great articles!
As of now, three dominant server-side JavaScript runtimes (Node.js, Deno, and Bun) can natively run TypeScript code. This is incredibly useful, and it is a huge convenience not to worry about the transpilation process. Deno and Bun supported this from the beginning, but Node.js has just unfledged this feature. Happy days!
This is a super cool little snippet that may save you from
npm i some-chunky-otp-lib
. Nothing beats the simplicity of HTML elements when all you need is an HTML element, not a bunch of
div
s and inaccessible nonsense masks.
Josh Comeau is the master of the interactive CSS explainers. This post about the CSS subgrids is not different and I learnt a ton from it. I found the gotcha section the most interesting, especially the one about indexing the grid lines inside the nested subgrid.
Since the explosion of AI tools, I keep on hearing about the increased productivity and the ability to build software at a speed never imagined before. But from time to time I hear the other part of this story, which resonates with me a lot more, which talks about the quality degradation of software overall. GitHub is a perfect example of something that was insanely good and stable, and in recent years has become so problematic to use. The Zig team, sharing the same frustrations, decided to make a big move and move entirely to Codeberg. This platform is fantastic, built with performance in mind and focused on developers trying to build software without any annoying nonsense. I really hope others will follow and Codeberg helps us stop relying on Microsoft.
Howdy y’all, I hope your October was not as hectic as mine. Mine was ridiculous! It’s been a super hardworking year overall, and I’m looking forward to a trip with my family at the end of the year. We are going to spend December in Sri Lanka, so if you have any tips and recommendations, ping me on Mastodon, Bluesky, LinkedIn or in the comments section below.
Content Preview
Howdy y’all, I hope your October was not as hectic as mine. Mine was ridiculous! It’s been a super hardworking year overall, and I’m looking forward to a trip with my family at the end of the year. We are going to spend December in Sri Lanka, so if you have any tips and recommendations, ping me on
Mastodon
,
Bluesky
,
LinkedIn
or in the comments section below.
I found some time not to neglect my monthly routine, and I prepared for you a few links that I really liked in the past month. As always, a music recommendation is waiting for you below, although I would love to have a different trigger to talk about today’s artist. Enjoy the read.
Album of the month
This month is different and not about a single album, but more about the artist. A little bit of a tribute to D’Angelo, who lost a battle with pancreatic cancer and passed away on the 14th of October. He was only 51 years old. He was the pioneer of the neo-soul movement, owner of an incredible voice, talented songwriter and producer. All his releases are great, but “Voodoo” from 2000 is the hottest soul album ever recorded. Huge loss!
This is a great and not too technical explainer of the ATProto and how it enables an open social. Dan is really great at explaining complex subjects using simple analogies, and this one is no different. I would love to read a post like this one about the Fediverse, which I use a lot more than anything related to ATProto (pretty much Bluesky only). A few days later, Dan also posted
“Where It’s at://”
which is a lot more technica deep dive into the output JSON resolutions from the
at://
links.
Kilian, the creator of Polypane, recreated one of the debugging tools from his browser using pure CSS. Pretty nice way of removing a ton of expensive calculations from the main thread. Another good example that shows that CSS anchor positioning is not for tooltips only.
My least favourite part of writing React components is soon going to be a thing of the past. The final release of React stable means that we no longer need to care about memoisation of static values and functions. This is what the compiler is going to do for us. This is going to significantly simplify the way we write React components.
Modern JavaScript runtimes are packed with features that in the past required some external packages. Here is a good list of built-in commands like that. I published articles about some of them in the past, but I also learned a ton from this article. Great summary.
This is a pretty niche one, for Neovim fans only. Evgeni Chasnovski, the creator of the mini.nvim family, released a great resource to help you out with your Neovim configuration. It is not another opinionated distribution, but more like a starting point to build upon. The closest thing I would compare it to is
kickstart.nvim
, which I like a ton, and this was my starting point for my configuration. Evgeni put tons of love into it, and the comments on the Lua files are insanely helpful. I’m a huge fan of his contributions to the Neovim ecosystem.
This title doesn’t lie, this guide is very pragmatic. Potentially you know about many of these new colour features, but I’m sure you will learn an extra thing or two. I totally missed the fact that so many colour formats do not require commas and units anymore. This is a little thing, but when typed hundreds of times, it is also a time saver. Kevin is on fire with his content creation game!
Nikita Prokopov is a great blogger and here is another rant post that perfectly describes the current state of code editor themes. For some reason, there is a trend to use flashy, vivid and super colourful themes, but when you look at it from the usability point of view, most of them do not work. Nikita explains why and shares some good recommendations to fix it. I use a close to default Neovim theme, with a bunch of colours toned down, and I cannot be happier. Not the prettiest but very usable.
As always, the production by the CultRepo is epic. I was a little doubtful how the documentary about the modules bundler can be any interesting, and I was really surprised. From the initial idea, through the race with other competitors up to the huge success and domination in the market. Really interesting documentary.
Ken Thompson is one of the most influential programmers in the history of computing. He created B programming language that massively inspired creation of C, developed UTF-8 encoding, co-created UNIX and Go programming language. He is an absolutaly leged and without him, our job would look very differen to what it is now. This is a very detailed interview with Ken. Not short, but I enjoyed listening every single minute of the chat with this smart fella.
Short, great comparison of importing JSON and fetching it by Jake Archibald. So good to see one of my favourite web folks blogging more recently, and I’m also glad that he moved back to work on the browser engine. Great addition to the Firefox team!