Highlighted code in slides

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


@fasterthanli.me | 7 hours ago

ktls now under the rustls org

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


@fasterthanli.me | 1 month ago

State of the fasterthanlime 2024

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


@fasterthanli.me | 3 months ago

EuroRust 2024 officially welcomes independent workers (updated)

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


@fasterthanli.me | 7 months ago

Begging EuroRust to acknowledge independent workers

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


@fasterthanli.me | 7 months ago

Face cams: the missing guide

Continue reading


@fasterthanli.me | 8 months ago

Cracking Electron apps open

Continue reading


@fasterthanli.me | 1 year ago

The RustConf Keynote Fiasco, explained

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


@fasterthanli.me | 1 year ago

Rust: The wrong people are resigning

(Note: this was originally posted as agist ) Reassuring myself about Rust ... | Continue reading


@fasterthanli.me | 1 year ago

Extra credit

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


@fasterthanli.me | 1 year ago

Generating a docker image with nix

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


@fasterthanli.me | 1 year ago

Making a dev shell with nix flakes

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


@fasterthanli.me | 1 year ago

Learning Nix from the bottom up

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


@fasterthanli.me | 1 year ago

Doing geo-location and keeping analytics

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


@fasterthanli.me | 1 year ago

Using the Shipyard private crate registry with Docker

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


@fasterthanli.me | 1 year ago

Deploying catscii to fly.io

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


@fasterthanli.me | 1 year ago

Writing a Dockerfile for catscii

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


@fasterthanli.me | 1 year ago

Serving ASCII cats over HTTP

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


@fasterthanli.me | 1 year ago

Printing ASCII cats to the terminal

Now that our development environment is all set up, let's make something useful! Creating the catscii crate ... | Continue reading


@fasterthanli.me | 1 year ago

Developing over SSH

With the previous part 's VM still running, let's try connecting to ourmachine over SSH. Network addresses, loop... | Continue reading


@fasterthanli.me | 1 year ago

Setting up a local Ubuntu Server VM

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


@fasterthanli.me | 1 year ago

The bottom emoji breaks rust-analyzer

Some bugs are merely fun. Others are simply delicious! Today's pick is the latter. Reproducing the issue, part 1 ... | Continue reading


@fasterthanli.me | 1 year ago

C++ vs Rust: which is faster?

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


@fasterthanli.me | 1 year ago

Day 18 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Twitch fell behind

So you want to do live streams. Are you sure? Okay. Let's talk about it. Let's talk numbers ... | Continue reading


@fasterthanli.me | 1 year ago

Day 17 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

We need to talk about Dropout

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


@fasterthanli.me | 1 year ago

Day 16 (Advent of Code 2022)

Let's tackle the day 16 puzzle ! Parsing The input looks l... | Continue reading


@fasterthanli.me | 1 year ago

Day 15 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 14 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 13 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 12 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 11 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 10 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 9 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 8 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 7 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 6 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Day 5 (Advent of Code 2022)

Part 1 The day 5 challenge actually looks fun! Our input ... | Continue reading


@fasterthanli.me | 1 year ago

Day 4 (Advent of Code 2022)

Part 1 Let's tackle the day 4 challenge ! In this one, we ... | Continue reading


@fasterthanli.me | 1 year ago

Day 3 (Advent of Code 2022)

Part 1 I'm not sure where the day 3 challenge isgoing, b... | Continue reading


@fasterthanli.me | 1 year ago

Day 2 (Advent of Code 2022)

Part 1 In the day 2 challenge , we're playingRock Papers ... | Continue reading


@fasterthanli.me | 1 year ago

Day 1 (Advent of Code 2022)

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


@fasterthanli.me | 1 year ago

Cut for time

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


@fasterthanli.me | 2 years ago

Async fn in trait, for real this time

async_trait 's one weird type ascription trick Now that I ... | Continue reading


@fasterthanli.me | 2 years ago

Implementing "Log in with GitHub"

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


@fasterthanli.me | 2 years ago

Trying to use nix

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


@fasterthanli.me | 2 years ago

Deploying at the edge

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


@fasterthanli.me | 2 years ago