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

144.

Techniques for Safe Garbage Collection in Rust

kyju.org/blog/rust-safe-garbage-collection

a really cool post explaining design of gc-arena

2024-05-20

127.

stalwart: all-in-one mail server

github.com/stalwartlabs/mail-server

May be a replacement for a current postfix+dovecot+rspamd+L+ratio setup. Notably supports JMAP, although most clients don’t anyways.

2024-01-04

100.

Compromising a Linux desktop using... 6502 processor opcodes on the NES?!

scarybeastsecurity.blogspot.com/2016/11/0day-exploit-compromising-linux-desktop.html

gstreamer-plugins-bad includes a NES 6502 emulator, which was vulnerable to RCE.

2023-12-12

91.

FireDBG: Time Travel Visual Debugger for Rust

firedbg.sea-ql.org

Looks really cool. I wonder what’s inside.

2023-12-11

90.

prr: Review GitHub PRs from local editor

dxuuu.xyz/prr.html

2023-11-30

84.

jaq: A jq clone focussed on correctness, speed, and simplicity

github.com/01mf02/jaq

2023-11-28

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

73.

Sapiens: A Brief History of Humankind

en.wikipedia.org/wiki/Sapiens:_A_Brief_History_of_Humankind

The book, focusing on Homo sapiens, surveys the history of humankind, starting from the Stone Age and going up to the twenty-first century. The account is situated within a framework that intersects the natural sciences with the social sciences.

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.

52.

Game: Wayfarer

idrellegames.itch.io/wayfarer

You are a Wayfarer. Marked by a complete immunity to magic, Wayfarers travel the world, breaking curses, hunting monsters, and fighting magic when it spins out of control. Their Order, once a powerful presence in the world, is broken, leaving behind only a handful of warriors still bound by their creed.

50.

The Magic Ring Buffer

fgiesen.wordpress.com/2012/07/21/the-magic-ring-buffer

A first (as far as I know) description of ringbuffer based on two mmaps. I hope to make a better one sometime, but for now this’ll the best explanation I have.

2023-11-25

Reposted 49.

Nota Language

nota-lang.org

A fresh take on typesetting

36.

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

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

Breaking Our Latin-1 Assumptions

manishearth.github.io/blog/2017/01/15/breaking-our-latin-1-assumptions
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

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.

13.

Oh-Auth - Abusing OAuth to take over millions of accounts

salt.security/blog/oh-auth-abusing-oauth-to-take-over-millions-of-accounts

It’s extremely important to make sure your OAuth implementation is secure. The fix is just one line of code away. We sincerely hope the information shared in our blog post series will help prevent major online breaches and help web service owners better protect their customers and users.

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!

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.

1.

Trustfall

github.com/obi1kenobi/trustfall

Trustfall is a query engine for querying any kind of data source, from APIs and databases to any kind of files on disk.