Rust has a burgeoning async system. If your application is heavy on IO, you should simply “use async” and everything will work efficiently. You can have async fn, .await whenever that could be worked on in the background while the CPU does something useful. Then you learn to add Tokio for it to do anything and things may seem like magic. Fortunately, computers do not work by magic yet, so we can try to simplify things and get a better understanding. Today I want to do just that.| bertptrs.nl
This is the KingFast F6 Pro 240 GB SSD. Despite its name, it is neither King nor Fast. I suspect the name might have been chosen for its similarity to Kingston’s brand. It is said the disk is so slow using it qualifies as inhuman punishment under the UN’s Universal Declaration of Human Rights. Yet somehow a copy of them has found their way into my hands. Today, I’d like to figure out what makes it so slow, and take you along on my journey.| bertptrs.nl
By no stretch of imagination am I a frontend person. Graphic design is not my passion. I even got the colour blindness perk. I do like this little website I’ve written over the years and I kind of want it to look nice. And while the design I had created a few years ago still works, it’s also dependent on an outdated version of Jekyll, and it has a few technical issues. So please, follow a long, as a DevOps engineer tries to explain how to make a nice-looking website.| bertptrs.nl
While it may not always feel like it, two years have passed and and a new Ubuntu release somehow has rolled around. That means it’s time for me to upgrade my VPS again. Contrary to last round, the first point release actually lined up with my planned time off quite well, so I got to upgrade straight away. It went quite smoothly this time, but I’d like to go over the peculiarities that happened.| bertptrs.nl
Last Thursday Rust 1.85 was released, and with it, edition 2024 has dropped. The new edition is significantly larger than the two editions that preceded it, and contains many small but significant quality of life improvements to the language. In this post, I’d like to explain what an edition is, and summarize all the changes that were made to the language I love. If you need the details, I recommend reading the edition guide, but for a general overview, read on.| bertptrs.nl
In the cold of December we have but one thing to keep us warm: our laptops, trying to solve Advent of Code puzzles with inefficient algorithms. This year, 2024, is the tenth edition, and the puzzles are filled with more Easter eggs than ever before. Unfortunately, I’m not interested in Easter eggs, or solving the puzzles. I am a DevOps engineer, and I’m going to apply Infrastructure as Code principles to Advent of Code.| bertptrs.nl
Next.JS is a fairly nice way of building a multi-page, mostly statically rendered website with React and making it make sense. It actually solves the problem of “what if a React app was not a Single Page Application” pretty well, but it’s somewhat particular about how it wants to be deployed.| bertptrs.nl
A while ago I saw a post on LinkedIn that piqued my interest, not because it was any good, but because it was impressively wrong. It claimed that, to quote, “if every email user deleted just 10 emails, it would save enough electricity to power millions of households each year”. This is not only wrong, it is obviously wrong. In this post, I’d like to dive into why it’s wrong, how one might come to think it’s right, and perhaps what better message you could put out there to save the p...| bertptrs.nl
For the ninth December in a row, I’m playing with Advent of Code. Advent of Code is a series of 50 puzzles published by Eric Wastl, where you try to solve Christmas from some far-fetched horror. Every day from December 1st to December 25th, two puzzles become available, but the second is revealed only after you provide the answer to the first. In this post I will go over how you can solve them, and hopefully some interesting concepts along the way.| bertptrs.nl
If you need to ensure that a particular piece of data is only ever modified by one thread at once, you need a mutex. If you need more than one mutex, you need to be wary of deadlocks. But what if I told you that there’s a trick to avoid ever reaching a deadlock at all? Just acquire them in the right order!| bertptrs.nl
Even though most traditional December activities are a bit impractical this year, Eric Wastl returns with his annual Advent of Code. Every day from December first until Christmas Day you get a small puzzle that you can solve by writing small programs or by being very good at solving jigsaw puzzles. If you want to learn a new programming language or just get better at the ones you know, I highly recommend trying it out.| bertptrs.nl