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-09-24

151.

Tagged Union Subsets with Comptime in Zig

mitchellh.com/writing/zig-comptime-tagged-union-subset

a fun case study with Zig’s comptime

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-05-20

135.

bbs-over-dns

bbs-over-dns.com

microforum in DNS TXT records

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.

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.

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

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

76.

netaddr.IP: a new IP address type for Go

tailscale.com/blog/netaddr-new-ip-type-for-go

The Go standard library’s net.IP type is problematic for a number of reasons. We wrote a new one.

This post explores some problems with Go’s “simplicity by design”: introducing a better IP type that’s also interoperable with the language proves to be a non-trivial challenge.

69.

nand2tetris

www.nand2tetris.org

The site contains all the lectures, project materials and tools necessary for building a general-purpose computer system and a modern software hierarchy from the ground up.

58.

The Hitchhiker's Guide to Logical Verification

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

Book about proofs with Lean.

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

46.

Shufflecake: plausible deniability for multiple hidden filesystems on Linux

shufflecake.net
Reposted 38.

erikbern/git-of-theseus

github.com/erikbern/git-of-theseus
29.

To Mock a Mockingbird

en.wikipedia.org/wiki/To_Mock_a_Mockingbird

To Mock a Mockingbird and Other Logic Puzzles: Including an Amazing Adventure in Combinatory Logic is a book by the mathematician and logician Raymond Smullyan. It contains many nontrivial recreational puzzles of the sort for which Smullyan is well known. It is also a gentle and humorous introduction to combinatory logic and the associated metamathematics, built on an elaborate ornithological metaphor.

19.

Color: From Hexcodes to Eyeballs

jamie-wong.com/post/color

If you're curious about rainbows, colorimetry, gamma encoding, and experiments run in the late 1920s, then this is the post for you!

15.

SimpleX Chat: private and secure messenger without any user IDs (not even random)

simplex.chat

SimpleX Chat - a private and encrypted messenger without any user IDs (not even random ones)! Make a private connection via link / QR code to send messages and make calls.