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?

2025-03-16

Reposted 158.

Pure CSS Shaders Art | pure-css-shaders-art

chenglou.me/pure-css-shaders-art

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

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

134.

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

suhr.github.io/tmath
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.

118.

Best-Effort Extent-Same, a btrfs dedupe agent

github.com/Zygo/bees

Probably useful if I ever run out of disk space.

2023-12-11

90.

prr: Review GitHub PRs from local editor

dxuuu.xyz/prr.html

2023-11-28

80.

Mutexes Are Faster Than Spinlocks

matklad.github.io/2020/01/04/mutexes-are-faster-than-spinlocks.html

Microbenchmark for futexes + spinlocks and some useful links at the bottom.

2023-11-26

75.

Distributed Proofreaders

www.pgdp.net/c

Distributed Proofreaders provides a web-based method to ease the conversion of Public Domain books into e-books. By dividing the workload into individual pages, many volunteers can work on a book at the same time.

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).

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)

62.

Futexes Are Tricky

dept-info.labri.fr/~denis/Enseignement/2008-IR/Articles/01-futex.pdf

Detailed explanation of futexes, including some possible pitfalls.

53.

Game: Out of Ctrl

miknugget.itch.io/out-of-ctrl

Push key blocks into their slots to gain control of the qwert. Regain Ctrl (and possible other keys) to get to the get through to the end. There are fourteen levels total. Can you get through them all?

2023-11-25

48.

Nutshell: make expandable, embeddable explanations

ncase.me/nutshell
44.

Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches

bibliography.selflanguage.org/_static/pics.pdf

Abstract: Polymorphic inline caches (PICs) provide a new way to reduce the overhead of polymorphic message sends by extending inline caches to include more than one cached lookup result per call site. For a set of typical object-oriented SELF programs, PICs achieve a median speedup of 11%.

22.

What every programmer should know about memory

lwn.net/Articles/250967
21.

A Riddle Wrapped in an Enigma

eprint.iacr.org/2015/1018.pdf

In August 2015 the U.S. National Security Agency (NSA) released a major policy statement on the need for post-quantum cryptography (PQC). This announcement will be a great stimulus to the development, standardization, and commercialization of new quantum-safe algorithms. However, certain peculiarities in the wording and timing of the statement have puzzled many people and given rise to much speculation concerning the NSA, elliptic curve cryptography (ECC), and quantum-safe cryptography. Our purpose is to attempt to evaluate some of the theories that have been proposed.

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!

5.

A close encounter with false sharing

morestina.net/blog/1976/a-close-encounter-with-false-sharing

An example of false sharing in real-ish workload.