Small Strings in Rust

Hey everyone! This article is brought to you by a shameless nerdsnipe , courtesy ofPascal. In case you've blocked Twitter for your own good, this reads: There should be a p... | Continue reading


@fasterthanli.me | 4 years ago

Beware the Google Password Manager

Hey internet! So, someone broke into some of my accounts. I'm taking entire responsibility for this - there's the part where I fuckedup, and if I didn't fuck up, then none of t... | Continue reading


@fasterthanli.me | 4 years ago

Abstracting Away Correctness

I've been banging the same drum for years: APIs must be carefully designed. This statement doesn't resonate the same way with everyone. In order toreally understand what I mean... | Continue reading


@fasterthanli.me | 4 years ago

Making our own executable packer, part 13, Thread-local storage

Welcome back and thanks for joining us for the reads notes… the thirteenth installment of our series on ELF files, what they are, what they can do, what does the dynamic linker do to them, and how can we do it ourselves.I've been pretty successfully avoiding talking about TLS so … | Continue reading


@fasterthanli.me | 4 years ago

A No_std Rust Binary

In Part 11, we spent some time clarifying mechanisms we had previously glossed over: how variables and functions from other ELF objects were accessed at runtime.We saw that doing so “proper” required the cooperation of the compiler, the assembler, the linker, and the dynamic load … | Continue reading


@fasterthanli.me | 4 years ago

Reading files the hard way – (Node.js, C, rust, strace)

Everybody knows how to use files. You just open up File Explorer, the Finder, or a File Manager, and bam - it's chock-full of files. There's folders and files as far as the eye can see. It's a genuine filapalooza. I have never once heard someone complain there were not enough fil … | Continue reading


@fasterthanli.me | 4 years ago

What's in a Linux Executable?

Executables have been fascinating to me ever since I discovered, as a kid, that they were just files. If you renamed a .exe to something else, you could open it in notepad! And if you renamed something else to a .exe, you'd get a neat error dialog.Clearly, something was different … | Continue reading


@fasterthanli.me | 4 years ago

I Want Off Mr. Golang's Wild Ride

My honeymoon with the Go language is extremely over.This article is going to have a different tone from what I've been posting the past year - it's a proper rant. And I always feel bad writing those, because, inevitably, it discusses things a lot of people have been working very … | Continue reading


@fasterthanli.me | 4 years ago

Working with Strings in Rust

There’s a question that always comes up when people pick up the Rust programming language: why are there two string types? Why is there String, and &str?My Declarative Memory Management article answers the question partially, but there is a lot more to say about it, so let’s run … | Continue reading


@fasterthanli.me | 4 years ago

A half-hour to learn to read Rust

In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don't know what it means?In this article, instead of focusing on one or two concepts, I'll try to go through as many Rust snippets as I can, and explain wh … | Continue reading


@fasterthanli.me | 4 years ago