20 random bookmarks

Place where goldstein dumps his links so she doesn’t have 500 tabs ever again.

Tags are structured like this:

  • is- tags are about medium. Books, papers, blog posts, interactive explanations etc.

  • about- tags are about about. What’s this post topic or what’s this project is/for.

  • to- tags are about reason. Why did I even save this?

  • for- tags are about connections. Where can I use it?

2024-12-13

153.

The Illustrated TLS 1.2 Connection

tls12.xargs.org

semi-interactively explains how TLS works, very cool

2024-09-20

150.

Linux/4004 - Dmitry.GR

dmitry.gr?r=05.Projects&proj=35. Linux4004

Slowly booting full Linux on the intel 4004 for fun, art, and absolutely no profit

2024-09-07

149.

WebP: The WebPage compression format

purplesyringa.moe/blog/webp-the-webpage-compression-format

a really fun (albeit somewhat impractical) way to compress webpages when all you have is browser APIs

2024-07-11

142.

Lix | Announcing Lix 2.90 "Vanilla Ice Cream"

lix.systems/blog/2024-07-10-lix-2.90-release

Lix is an independent variant of the Nix package manager, developed by a team of open-source volunteers, and maintained by and for a passionate community of users.

I kind of assumed that Lix is a purely political fork, but they seem to write actual code, so that’s nice. Changelog promises faster evaluation, better errors and REPL improvements.

2024-05-20

135.

bbs-over-dns

bbs-over-dns.com

microforum in DNS TXT records

129.

TIGER_STYLE.md: TigerBeetle’s code style guidelines

github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md
128.

nvim-dap-virtual-text: shows variables values in virtual text

github.com/theHamsta/nvim-dap-virtual-text

Looks useful if I ever install DAP.

124.

rustaceanvim: fork of rust-tools.nvim

github.com/mrcjkb/rustaceanvim

Has some interesting features like “View HIR”, grouped code actions and failed test diagnostics.

2024-05-19

111.

Compilers for free with weval

bernsteinbear.com/blog/weval

With some partial evaluation and specialization hints, it is possible to get pretty decent speedups on interpreters by turning them into compilers.

2024-05-06

109.

git-infinite-recursion

github.com/asyncmeow/git-infinite-recursion

git clone --recursive --remote-submodules https://github.com/asyncmeow/git-infinite-recursion.git

2024-01-24

105.

Learning Async Rust With Entirely Too Many Web Servers

ibraheem.ca/posts/too-many-web-servers

A nice explanation of async that’s not about “threads slow”, but rather about how async as an abstraction emerges from sensible design decisions.

2023-12-05

87.

Designing a SIMD Algorithm from Scratch

mcyoung.xyz/2023/11/27/simd-base64#fnref:pad-with-A

A nice post about SIMD algorithms using Rust’s portable SIMD as an example.

2023-11-28

82.

Linus Torvalds about spinlocks and locking in general

www.realworldtech.com/forum?threadid=189711&curpostid=189723
79.

Spinlocks Considered Harmful

matklad.github.io/2020/01/02/spinlocks-considered-harmful.html

Because spin locks are so simple and fast, it seems to be a good idea to use them for short-lived critical sections. For example, if you only need to increment a couple of integers, should you really bother with complicated syscalls? In the worst case, the other thread will spin just for a couple of iterations…
Unfortunately, this logic is flawed! A thread can be preempted at any time, including during a short critical section. If it is preempted, that means that all other threads will need to spin until the original thread gets its share of CPU again. And, because a spinning thread looks like a good, busy thread to the OS, the other threads will spin until they exhaust their quants, preventing the unlucky thread from getting back on the processor!

2023-11-26

70.

Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is

probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is

This blog post is one of those things that just blew up. From a tiny observation at work about odd behaviors of spinlocks I spent months trying to find good benchmarks, (still not entirely successful) writing my own spinlocks, mutexes and condition variables and even contributing a patch to the Linux kernel. The main thing I’ll try to answer is to give some more informed guidance on the endless discussion of mutex vs spinlock. Besides that I found that most mutex implementations are really good, that most spinlock implementations are pretty bad, and that the Linux scheduler is OK but far from ideal. The most popular replacement, the MuQSS scheduler has other problems instead. (the Windows scheduler is pretty good though)

65.

Bootstrapping with FORTH

compilercrim.es/bootstrap

What if all software suddenly disappeared? What's the minimum you'd need to bootstrap a practical system? I decided to start with a one sector (512-byte) seed and find out how far I can get.

2023-11-25

36.

RefinedC: Automating the Foundational Verification of C Code with Refined Ownership Types

plv.mpi-sws.org/refinedc/paper.pdf
24.

garnix | the nix CI

garnix.io

Simple, fast, and green CI and caching for nix projects

18.

Rust Atomics and Locks by Mara Bos

marabos.nl/atomics

A free book about atomics and locks that also serves as a nice cheatsheet for x86_64, aarch64 and futexes.

12.

Search-based compiler code generation

jamey.thesharps.us/2017/06/19/search-based-compiler-code-generation