In Rust, the tokio's ecosystem has a fundamental crate called bytes that abstracts
and helps dealing with bytes (you don't say!). I've indirectly used it a billion times and I thought that I had a good
mental model of how it worked.
So, in the spirit of the "decrusting" series
by the excellent Jon Gjengset, I've decided to peek behind the curtains to understand more what axum, tokio, hyper and
the kind do to them bytes! The code is well written, but surprisingly complex. I understand now what it does, but I
still don't fully grasp why it does some things in a certain way.
I'm ready to share with you my discoveries. I hope that you are sitting, laying or squatting comfortably. This is the
first post in a small series. I'm legally required by my marketing department to remind you that you can subscribe to
my low-traffic newsletter, so that you'll know when new posts are up!
A quick note before we start: this posts is based on the current bytes version 1.11.1.
This blog is written in Rust, and I wanted a way to reload the web pages automatically while I change the posts'
contents, styles, etc. This is common-place with JavaScript frameworks, but not automatic in the Rust land. So I've
embarked on a side quest to achieve just that: the "type and auto-reload" experience. In the end, I was surprised to
learn a bit more about sockets and processes in Linux.
This post is a note to myself about these nuggets that I've learned and to share the solution. It may be helpful for
future me and I hope for someonelse out there.
I've just watched the calmly titled "The 15-game" in the Numberphile
Youtube channel and boy oh boy, I cannot stop thinking about it!
I will not spoil the end, but if you ever got intrigued by games, maths, brain-teasers, just take a 15-minute break and
watch it. At school, I loved to solve the same problem from different angles, not only to increase my chances of getting
the good answer, but also because it was fun. This video hit right there in my heart.
One of my first programs was a game of tic-tac-toe. If only
someone had shown me the 15-game back then!
Around 3 years ago my phone's screen broke and changing the screen would cost close to a half the device's original
price. It was cheaper to throw away and buy a new one.
This is clearly wasteful, but I guess this is a typical experience with well-known consumer brands.
But hey, I don't want to move to a new home because my sink broke!
In Europe, new regulations
like Right-to-Repair Directive
represent a smart step to force the hand of manufacturers. It requires them, for example, to keep spare parts stocked
for at least 10 years. In France, I always check
the repairability index before buying. I'm more
than willing to pay a bonus price for good product design and engineering, that respects the resources and costumers.
So I've begrudgingly replaced my phone. But this time I wanted to break the wasteful cycle, so I've
bought a Fairphone, which promises 10 year software and hardware support. Also, if
something breaks I can just order a replacement and repair it myself. So far, I'm pretty happy with the experience! It
works, it just does. I feel soon I'll replace my battery, and that's it: it will probably stick with me a bunch more
years.
Since my old laptop became my home server, I needed a new one for hacking on the loose. Following a similar strategy,
I'm going with
Framework for my new rig.
They play for 28 hours! We did it and it was pretty cool o/
Well... not all those hours were spent actually playing, we also had to decide what to play next! With more than 500
games available at the event, this sometimes took a while :)
You can picture 3 rooms like the one below, full of meeples, cards, coins and fun.
I used to blog as a kid back in the 2010s, and for a
long time I wanted to get back to it. Now it's the time! This is my personal space on the web, it's not the shiniest,
not the most visited, but it is mine :)
For now there isn't much to see here, this first post is mostly a hack to get me going.