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

147.

Practically-exploitable Cryptographic Vulnerabilities in Matrix

nebuchadnezzar-megolm.github.io

a paper explaining some reasons not to trust Matrix. includes pearls like “a homeserver can silently add user to a E2EE group and decrypt all the following messages and that’s not considered a vulnerability”.

2024-08-17

145.

Piccolo - A Stackless Lua Interpreter

kyju.org/blog/piccolo-a-stackless-lua-interpreter

a really interesting exploration of interpreter design, a lot of repls and thoughts on various coroutines

2024-05-28

138.

uops.info

uops.info/table.html

Latency, throughput and port usage of x86 instructions.

2024-05-20

131.

Folk Computer

folk.computer/notes/tableshots

An IRL spatial computer making use of printed codes to do stuff.

126.

telescope-ast-grep.nvim: AST grep extension for telescope.nvim

github.com/ray-x/telescope-ast-grep.nvim

Uses ast-grep, so tree-sitter, not LSP, but still potentially useful.

120.

cdmill/neomodern.nvim: A collection of modern themes for Neovim

github.com/cdmill/neomodern.nvim

Could it be?.. A sensible looking Neovim colorscheme?..

114.

pineapple: colorscheme previewer for neovim

github.com/CWood-sdf/pineapple

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

90.

prr: Review GitHub PRs from local editor

dxuuu.xyz/prr.html

2023-11-26

74.

Game: OVERFLOW

punkx.org/overflow

The [board] game is about creating a small shellcode in memory by copying existing instructions and then exploiting a buffer overflow to jump into it, so that you can overwrite your opponent’s return address to force them to go to the game_over() function.There are other mechanics as well and more layers of strategy (like setting the exception handler or monkeypatching).

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.

72.

git-revise

git-revise.readthedocs.io/en/latest

Faster and simpler git rebase.

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.

56.

Modeling graphs in Rust using vector indices

smallcultfollowing.com/babysteps/blog/2015/04/06/modeling-graphs-in-rust-using-vector-indices

Niko’s post about using vectors (≈ arenas) instead of reference counters to model graphs. Explains how it relates to ownership and borrowing.

See also: Handles are the better pointers.

2023-11-25

39.

A New Backend for Cranelift

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

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

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

It’s not wrong that "🤦🏼‍♂️".length == 7

hsivonen.fi/string-length
11.

Introducing the B3 JIT Compiler

webkit.org/blog/5852/introducing-the-b3-jit-compiler

WebKit's FTL JIT now uses a new backend on OS X — the Bare Bones Backend, or B3 for short, replaces LLVM as the low-level optimizer.

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!

3.

mess with dns

messwithdns.net

A website/game that allows you to create some DNS entries and see what happens.