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

148.

WebAIM: History of the browser user-agent string

webaim.org/blog/user-agent-string-history

how user agents became a lying mess

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

146.

typedKanren: Statically Typed Relational Programming with Exhaustive Matching in Haskell

arxiv.org/pdf/2408.03170

a fun implementation of *Kanren with nice Haskell interoperability. showcases some fun Haskell featues.

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

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-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-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-06-25

141.

Project REVEAL by Lumen: Analysis of North Korea’s digital control system

www.lumen.global/reveal-report

Report about software found on North Korean smartphones.

2024-06-17

140.

systemd, 10 years later: a historical and technical retrospective

blog.darknedgy.net/technology/2020/05/02/0

This offers an interesting technical analysis of systemd (in part 3). I’m not a huge fan of the social/historical parts (1-2, 4), although they offer some perspective.

2024-06-14

139.

effing-mad: Algebraic effects for Rust

github.com/rosefromthedead/effing-mad

Very much not-production-ready (didn’t even compile on my machine), but looks pretty cool (rad, even).

2024-05-28

138.

uops.info

uops.info/table.html

Latency, throughput and port usage of x86 instructions.

2024-05-23

137.

Load Balancing

samwho.dev/load-balancing

A bottom-up, animated guide to HTTP load balancing algorithms.

136.

Queueing – An interactive study of queueing strategies

encore.dev/blog/queueing

In this blog, we go on an interactive journey to understand common queueing strategies for handling HTTP requests.

2024-05-20

135.

bbs-over-dns

bbs-over-dns.com

microforum in DNS TXT records

134.

Типизированная математика by suhr

suhr.github.io/tmath
133.

Understanding Real-World Concurrency Bugs in Go

songlh.github.io/paper/go-study.pdf
132.

Refinement Proofs in Rust Using Ghost Locks

arxiv.org/pdf/2311.14452

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

131.

Folk Computer

folk.computer/notes/tableshots

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

130.

wayback: a personal web archiving tool.

github.com/wabarc/wayback

Wayback is a web archiving and playback tool that allows users to capture and preserve web content. It provides an IM-style interface for receiving and presenting archived web content, and a search and playback service for retrieving previously archived pages. Wayback is designed to be used by web archivists, researchers, and anyone who wants to preserve web content and access it in the future.

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.

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.

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.

125.

A Nix DSL for defining DNS zones

github.com/nix-community/dns.nix
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.

123.

nix-output-monitor: fun build progress display

github.com/maralorn/nix-output-monitor
122.

trippy: A network diagnostic tool

github.com/fujiapple852/trippy

Looks super cool, I’ll have to remember it when I next need to do network diagnostics.

121.

mini.ai: Neovim Lua plugin to extend and create `a`/`i` textobjects. Part of 'mini.nvim' library.

github.com/echasnovski/mini.ai

Interesting for tree-sitter textobjects.

120.

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

github.com/cdmill/neomodern.nvim

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

119.

srgn: tree-sitter-aware text replacement tool

github.com/alexpovel/srgn

Looks useful, although I don’t remember any context in which it would be useful. Worth a try anyway.

118.

Best-Effort Extent-Same, a btrfs dedupe agent

github.com/Zygo/bees

Probably useful if I ever run out of disk space.

117.

may: rust stackful coroutine library

github.com/Xudong-Huang/may

Looks interesting, supports cancellation and other useful stuff.

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.

114.

pineapple: colorscheme previewer for neovim

github.com/CWood-sdf/pineapple
113.

the nix iceberg

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

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

112.

RalfJung/cargo-careful: Execute Rust code carefully, with extra checking along the way

github.com/RalfJung/cargo-careful

Enables std debug assertions + presents an interface for building with a sanitizer.

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

110.

RFC 9225: Software Defects Considered Harmful

datatracker.ietf.org/doc/html/rfc9225

one of my favourite RFCs probably

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-04-26

108.

bun.report is Bun's new crash reporter

bun.sh/blog/bun-report-is-buns-new-crash-reporter

How we built an anonymous Zig/C++ crash reporter that doesn't require debug symbols to be shipped with the application.

Pretty fun and showcases some Zig comtime stuff.

2024-02-15

107.

How to manipulate curve standards: a white paper for the black hat

bada55.cr.yp.to/bada55-20150927.pdf

A paper about choosing “nothing-up-my-sleeve” numbers while having stuff up your sleeve.

2024-02-06

106.

The little ssh that (sometimes) couldn't

mina.naguib.ca/blog/2012/10/22/the-little-ssh-that-sometimes-couldnt.html

A fascinating tale about network problems.

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.

2024-01-22

104.

Shapecatcher

shapecatcher.com

Allows you to find Unicode characters by drawing them.

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.

2024-01-12

102.

voidlizard/hbs2: P2P CAS / P2P Framework / Distributed GIT

github.com/voidlizard/hbs2

A distributed network that allows you to add host-independent repo identifier as a git origin. Looks like it worth a try, especially with sr.ht being down and Codeberg half-broken because of a DDoS attack.

2024-01-05

101.

ast-grep | structural search/rewrite tool for many languages

ast-grep.github.io

Treesitter-based AST search-and-replace. Supports lints via saved patterns, LSP diagnostics + quick fixes and a regular CLI. Sounds pretty cool for custom lints.

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.

99.

features are faults

flak.tedunangst.com/post/features-are-faults

Review of many different software vulnerabilities caused by obscure undertested (mis-)features.

A modern web browser is the software equivalent of Gabriel’s Horn. Finite volume, but infinite attack surface.

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

96.

So you want custom allocator support in your C library

nullprogram.com/blog/2023/12/17

Some thoughts on custom allocator interfaces with nice examples.

2023-12-15

95.

Performance of WebAssembly (WASM) runtimes in 2023

00f.net/2023/01/04/webassembly-benchmark-2023

Comparison between different runtimes and with native code.

94.

The Generic Dilemma

research.swtch.com/generic

The generic dilemma is this: do you want slow programmers, slow compilers and bloated binaries, or slow execution times?

No generics / monomorphization / dynamic dispatch

93.

mfio: Completion I/O for Everyone

blaz.is/blog/post/mfio-release

Another take on io_uring in Rust. Doesn’t bring its own runtime, instead choosing to integrate with tokio.

2023-12-13

92.

Pinning all system calls in OpenBSD

marc.info?l=openbsd-tech&m=170205367232026&w=2

How OpenBSD prohibited all syscalls from unknown locations.

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

89.

Software Transactional Memory: Clojure vs. Haskell

leftfold.tech/posts/pie-a-la-mode#fnref-2

A nice overview of STM primitives.

2023-12-06

88.

Execution in the Kingdom of Nouns

steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html

About why free functions are important. I find verb/noun framework from this article quite useful.

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-12-02

86.

nix-std: no-nixpkgs standard library for the nix expression language

github.com/chessai/nix-std

2023-11-30

85.

Semantic fuzzing of the Rust compiler and interpreter

ethz.ch/content/dam/ethz/special-interest/infk/inst-pls/plf-dam/documents/StudentProjects/MasterTheses/2023-Andy-Thesis.pdf

A very nice paper about fuzzing Rust compiler by generating custom MIR. Found some bugs in both rustc and LLVM, but notably not in Cranelift.

84.

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

github.com/01mf02/jaq
1 3