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-08-07

143.

Proquints: Identifiers that are Readable, Spellable, and Pronounceable

arxiv.org/html/0901.4016

a fun way to serialize binary data to pronouncable identifiers

2024-05-14

110.

RFC 9225: Software Defects Considered Harmful

datatracker.ietf.org/doc/html/rfc9225

one of my favourite RFCs probably

2024-01-17

103.

A universal lowering strategy for control effects in Rust

www.abubalay.com/blog/2024/01/14/rust-effect-lowering

The Rust language has incrementally grown a set of patterns to support control-flow effects including error handling, iteration, and asynchronous I/O. In The registers of Rust, boats lays out four aspects of this pattern shared by Rust’s three effects. Today these effects are typically used in isolation, or at most combined in bespoke ways, but the Rust project has been working on ways to integrate them more deeply with each other, such as async gen blocks.

The theory of algebraic effects and handlers has explored this design space and offers answers to many of the questions that the Rust project has encountered during this work. This post will relate the patterns employed by Rust to the terminology and semantics of effects, to help build a shared vocabulary and understanding of the implications of combining multiple effects.

2023-12-23

98.

Speculation in JavaScriptCore

www.webkit.org/blog/10308/speculation-in-javascriptcore

This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine.

2023-12-12

91.

FireDBG: Time Travel Visual Debugger for Rust

firedbg.sea-ql.org

Looks really cool. I wonder what’s inside.

2023-11-28

80.

Mutexes Are Faster Than Spinlocks

matklad.github.io/2020/01/04/mutexes-are-faster-than-spinlocks.html

Microbenchmark for futexes + spinlocks and some useful links at the bottom.

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)

60.

Category Theory Illustrated

abuseofnotation.github.io/category-theory-illustrated

Category Theory Illustrated is a primer in category theory and other mathematical theories that is made to be really accessible to people with no prior exposure to the subject, without being dumbed down, by utilizing visual explanations.

59.

Bots Are Stupid

www.gamingonlinux.com/2022/12/bots-are-stupid-is-an-ultra-precise-programming-platformer

Up for a challenge and love programming? Well it seems that Bots Are Stupid might be a good fit for you. An ultra-precise platformer where you don't directly control things — what could possibly go wrong?

58.

The Hitchhiker's Guide to Logical Verification

browncs1951x.github.io/static/files/hitchhikersguide.pdf

Book about proofs with Lean.

2023-11-25

Reposted 49.

Nota Language

nota-lang.org

A fresh take on typesetting

46.

Shufflecake: plausible deniability for multiple hidden filesystems on Linux

shufflecake.net
31.

Let's Stop Ascribing Meaning to Code Points

manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points
27.

Myths about /dev/urandom

www.2uo.de/myths-about-urandom

tl;dr: /dev/random is obsolete and /dev/urandom is strictly better except in early boot.

23.

Index 1,600,000,000 Keys with Automata and Rust

blog.burntsushi.net/transducers

It turns out that finite state machines are useful for things other than expressing computation. Finite state machines can also be used to compactly represent ordered sets or maps of strings that can be searched very quickly.

17.

Book: Chasing the Scream

chasingthescream.com

What if everything you think you know about addiction is wrong? One of Johann Hari’s earliest memories is of trying to wake up one of his relatives and not be able to. As he grew older, he realized he had addiction in his family.

16.

What I learned from making a DNS client in Rust

blog.adamchalmers.com/making-a-dns-client

A lot about sockets, syscalls and bits

10.

Introducing the WebKit FTL JIT

webkit.org/blog/3362/introducing-the-webkit-ftl-jit

Designed to bring aggressive C-like optimizations to the largest variety of JavaScript programs.

9.

Game: TIS-100

store.steampowered.com/app/370360/TIS100

TIS-100 is an open-ended programming game by Zachtronics, the creators of SpaceChem and Infinifactory, in which you rewrite corrupted code segments to repair the TIS-100 and unlock its secrets. It’s the assembly language programming game you never asked for!

8.

Game: Deep Under the Sky

store.steampowered.com/app/315650/Deep_Under_the_Sky

Fling, jet, grapple and roll through a psychedelic world as you experience the bizarre mating rituals of alien jellyfish. You'll need careful timing and strategy to explore every cleft and cranny in this chill but challenging 1-button arcade game.