I have obsessed about this long enough, I think it's only fair I (and you!) get some content out of it. When I started writing this article, I was working on my P99 CONF slides. Those slides happen to include some bits of code. And because I'm a perfectionist, I would like this c … | Continue reading
What's a ktls I started work on ktls and ktls-sys, a pair of crates exposing Kernel TLS offload to Rust, about two years ago. kTLS lets the kernel (and, in turn, any network interface that supports it) take care of encryption, framing, etc., for the entire duration of a TLS conne … | Continue reading
It’s time for some personal and professional news! TL;DR: I started a podcast with James, I’m stable on antidepressants, I’m giving a P99 CONF about my Rust/io_uring/HTTP work, I’m trying on “they/them” as pronouns, I’m open-sourcing merde_json, rubicon and others, I got a divorc … | Continue reading
TL;DR I purchased individual tickets for EuroRust and added my VAT number, so it could be a tax-deductible expense for me as an independent worker. The organizers reached out asking me to buy business tickets instead. I'm asking them to reconsider their policy. Update: EuroRust i … | Continue reading
TL;DR I purchased individual tickets for EuroRust and added my VAT number, so it could be a tax-deductible expense for me as an independent worker. The organizers reached out asking me to buy business tickets instead. I'm asking them to reconsider their policy. What is an indepen … | Continue reading
Disclosure : At some point in this article, I discuss The Rust Foundation. I have received a$5000 grant from them in 2023 for making educational articles and videos aboutRu... | Continue reading
(Note: this was originally posted as agist ) Reassuring myself about Rust ... | Continue reading
We've achieved our goals already with this series: we have a web service writtenin Rust, built into a Docker image with nix, with a nice dev shell, that we candeploy to fly.i... | Continue reading
There it is. The final instalment. Over the course of this series, we've built a very useful Rust web servicethat shows us colored ASCII art cats, and we've packaged it with ... | Continue reading
In the previous chapter, we've made a nix "dev shell" that contained the fly.iocommand-line utility, "flyctl". That said, that's not how I want us to define... | Continue reading
Remember the snapshot we made allll the way back in Part 1 ? Now's the time to use it. Well, make sure you've committed and pushed all your changes, but when you'reready, let'... | Continue reading
I sold you on some additional functionality for catscii last chapter, and wegot caught up in private registry / docker shenanigans, so, now, let's resumeweb development as p... | Continue reading
Wait wait wait, so we're not talking about nix yet? Well, no! The service we have is pretty simple, and I want to complicate thingsa bit, to show how things would... | Continue reading
Disclosure : Because I used to work for fly.io, I still benefit from an employee discountat the time of this writing: I don't have to pay for anything deployed therefor now... | Continue reading
Now that our service is production-ready, it's time to deploy it somewhere. There's a lot of ways to approach this: what we are going to do, though, isbuild a docker image. Or,... | Continue reading
Our catscii program does everything we want it to do, except that it's acommand-line application rather than a web server. Let's fix that. ... | Continue reading
Now that our development environment is all set up, let's make something useful! Creating the catscii crate ... | Continue reading
With the previous part 's VM still running, let's try connecting to ourmachine over SSH. Network addresses, loop... | Continue reading
The first step to using Nix to build Rust is to do so without Nix, so thatwhen we finally do, we can feel the difference. There's many ways to go about this: everyone has the... | Continue reading
Some bugs are merely fun. Others are simply delicious! Today's pick is the latter. Reproducing the issue, part 1 ... | Continue reading
I ported some Advent of Code solutions from C/C++ to Rust, and used theopportunity to compare performance. When I couldn't explain why they performeddifferently, I had no choi... | Continue reading
This time around, we're porting a solution from C++ to Rust and seeing how itfeels, how it performs, and what we can learn about both languages by doing that. See Day 17 for ... | Continue reading
So you want to do live streams. Are you sure? Okay. Let's talk about it. Let's talk numbers ... | Continue reading
Advent of Code gets harder and harder, and I'm not getting any smarter. Or anymore free time. So, in order to close out this series anyway, I'm going to tryand port other peop... | Continue reading
Let's talk about big TV and movie studios. About the life and death ofCollegeHumor, about what makes Dropout interesting, and how their video platformcould be improved! 00:00 ... | Continue reading
Let's tackle the day 16 puzzle ! Parsing The input looks l... | Continue reading
The day 15 puzzle falls into the "mathpuzzle" territory more than "let's learn something new about Rust", but sinceseveral folks asked if I was going to ... | Continue reading
I like how the day 14 puzzle sounds,because I think it'll give me an opportunity to show off yet another way tohave Rust embedded in a web page. But first... Let... | Continue reading
The day 13 puzzle needs a speechtherapist. ??? ...because it has an awful lisp!! Ahhhahahahhhh Are you ok? What is.. what is going on with you? No... | Continue reading
Alright! The day 12 puzzle involves pathfinding, and it seems like a good time to lean more heavily on the WASM embedsI've set up for the previous parts. Let's start by sett... | Continue reading
It's a new day, it's a new advent of codepuzzle . In that one, we have to apparently cosplay as an IBM mainframe and just.. crunchthem numbers. This doesn't look fun, and I c... | Continue reading
Onwards! To the day 10 puzzle . I don't see a way to make part 1 especially fun, so let's just get to it. Parsing... | Continue reading
The Advent of Code is not a sprint: it's a marathon: sometimes you've got tostop and smell the roses. I... what? That's not.. have you done a marathon before? No,... | Continue reading
In the day 8 problem , our input is a height map: 3037325512653323354935390 This is a 5x5 grid, and every number denotes the height of a tree. For part 1,we must find ou... | Continue reading
The day 7 challenge talks abouttrees! File trees that is. The temptation to solve it before starting to write this article so I don't looksilly is high, but I'm explicitly n... | Continue reading
Today I am joining you from the relative discomfort of my living room (since mybetter half has commandeered the home office due to Way Too Many Calls) totackle the day 6 chal... | Continue reading
Part 1 The day 5 challenge actually looks fun! Our input ... | Continue reading
Part 1 Let's tackle the day 4 challenge ! In this one, we ... | Continue reading
Part 1 I'm not sure where the day 3 challenge isgoing, b... | Continue reading
Part 1 In the day 2 challenge , we're playingRock Papers ... | Continue reading
Two years ago, I did part of Advent of Code 2020 using the Rust language. It was a lot of fun,so let's try it again! ... | Continue reading
This series has to end somewhere , so let's end it here! However, here is a list of some things I'd like to come back to: ... | Continue reading
async_trait 's one weird type ascription trick Now that I ... | Continue reading
Because I started accepting donations via GitHub Sponsors , andbecause donating at the "Silver" tier or above gives you advance access toarticles and your name in... | Continue reading
Now that my website is deployed as a container image , I wanted to give nix a try. I'm still doing it the old-fashioned way rightnow: with a Dockerfile , running cargo i... | Continue reading
Disclosure : Although I no longer work for the company my website is hosted on, and thisarticle is written in way that mentions neither my previous or current hostingprovi... | Continue reading