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-30

152.

Building a robust frontend using progressive enhancement - Service Manual - GOV.UK

www.gov.uk/service-manual/technology/using-progressive-enhancement

an extremely based frontend manual from the GOV.UK

2024-05-20

132.

Refinement Proofs in Rust Using Ghost Locks

arxiv.org/pdf/2311.14452

Something about tying abstract models to Rust programs, looks useful.

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.

116.

Sjlver/psst: Paper-based Secret Sharing Technique

github.com/Sjlver/psst

Pen-and-paper secret sharing, looks fun. Don’t know how I would ever use this though.

113.

the nix iceberg

cohost.org/leftpaddotpy/post/3885451-the-nix-iceberg

sadly, doesn’t provide links, but most is googlable

2023-12-11

90.

prr: Review GitHub PRs from local editor

dxuuu.xyz/prr.html

2023-11-27

77.

Surprisingly Slow

gregoryszorc.com/blog/2021/04/06/surprisingly-slow

This is the closing-file-handles-on-Windows post.

I'm titling this post Surprisingly Slow because the slowness was either surprising to me or the sub-optimal practices leading to slowness are prevalent enough that I think many programmers would be surprised by their existence.

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)

64.

The myrmics memory allocator

citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1074.2437&rep=rep1&type=pdf

A paper about message-passing memory allocator: could be useful for actor systems.

57.

Workarounds to Computer Access in Healthcare Organizations: You Want My Password or a Dead Patient?

www.cs.dartmouth.edu/~sws/pubs/ksbk15-draft.pdf

Paper about how IT in healthcare in general and IT security in particular is done by people who don’t actually use it, listing different problems and workarounds that end up being used in the field.

Sacrificing convenience for security leads you to having neither security nor convenience.

55.

Handles are the better pointers

floooh.github.io/2018/06/17/handles-vs-pointers.html

A blog post explaining the “single owner of data, everyone has indices instead of pointers” model. Not actually about Rust per se, just happens to be really useful for Rust.

See also: Modeling graphs in Rust using vector indices.

54.

No Sane Compiler Would Optimize Atomics

www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4455.html

The paper’s claim:

False.

Compilers do optimize atomics, memory accesses around atomics, and utilize architecture-specific knowledge. This paper illustrates a few such optimizations, and discusses their implications.

Interestingly, none of the optimizations proposed in the paper actually work on GCC or Clang.

2023-11-25

40.

Cranelift's Instruction Selector DSL, ISLE: Term-Rewriting Made Practical

cfallin.org/blog/2023/01/20/cranelift-isle
39.

A New Backend for Cranelift

cfallin.org/blog/2020/09/18/cranelift-isel-1
26.

Quantum computing for the very curious

quantum.country/qcvc

Presented in an experimental mnemonic medium that makes it almost effortless to remember what you read

24.

garnix | the nix CI

garnix.io

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

14.

Introducing Riptide: WebKit’s Retreating Wavefront Concurrent Garbage Collector

webkit.org/blog/7122/introducing-riptide-webkits-retreating-wavefront-concurrent-garbage-collector

The new Riptide garbage collector in WebKit leads to a five-fold improvement in latency in the JetStream/splay-latency test.

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.

2.

Building Segmented Logs in Rust: From Theory to Production!

arindas.github.io/blog/segmented-log-rust

Explore a Rust implementation of the persistence mechanism behind message-queues and write-ahead-logs in databases. Embark on a journey from the theoretical underpinnings to a production grade implementation of the segmented-log data structure.