purplesyringa's blog
- 2026-09-04: The NX bit is not just about security by sleirsgoevy@gmail.com (Sonya Sireneva)
- 2026-08-20: accept() and socket inheritance by me@purplesyringa.moe (Alisa Sireneva)
- 2026-08-19: DuplicateHandle works on sockets, mostly by me@purplesyringa.moe (Alisa Sireneva)
- 2026-08-18: Race-free handle inheritance, maybe by me@purplesyringa.moe (Alisa Sireneva)
- 2026-08-16: std::process::Command is a bad citizen on Windows by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-26: Impressions of Teal by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-26: Thoughts on "SIMD in Pure Python" by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-22: log is non-monotonic in PHP and Lua by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-13: Sorted rank coding by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-12: Quadrupling code performance with a "useless" if by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-11: Optimal parse with phminposuw by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-04: Does technical blogging spark joy? by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-03: Suffix BWT vs cyclic shift BWT, and fast computation by me@purplesyringa.moe (Alisa Sireneva)
- 2026-07-02: Optimizing Lua string literals to save 400 bytes by sylfn@disroot.org (Yuki Sireneva)
- 2026-05-03: This Wasm interpreter fits in a QR code by me@purplesyringa.moe (Alisa Sireneva)
- 2026-05-03: You might misunderstand arithmetic coding by me@purplesyringa.moe (Alisa Sireneva)
- 2026-04-27: Wasm is not quite a stack machine by me@purplesyringa.moe (Alisa Sireneva)
- 2026-04-23: Wait, if (flags & O_SYNC) is wrong? by me@purplesyringa.moe (Alisa Sireneva)
- 2026-04-13: Programming used to be free by me@purplesyringa.moe (Alisa Sireneva)
- 2026-04-11: No one owes you supply-chain security by me@purplesyringa.moe (Alisa Sireneva)
- 2026-04-06: Simplest hash functions by me@purplesyringa.moe (Alisa Sireneva)
- 2026-03-31: There is absolutely nothing wrong with Web by me@purplesyringa.moe (Alisa Sireneva)
- 2026-03-18: Optimization lessons from a Minecraft structure locator by me@purplesyringa.moe (Alisa Sireneva)
- 2026-03-17: Reinventing aliasing XOR mutability and lifetimes by me@purplesyringa.moe (Alisa Sireneva)
- 2026-03-12: An ode to bzip by me@purplesyringa.moe (Alisa Sireneva)
- 2025-12-20: Faster practical modular inversion by me@purplesyringa.moe (Alisa Sireneva)
- 2025-12-15: Rust's v0 mangling scheme in a nutshell by me@purplesyringa.moe (Alisa Sireneva)
- 2025-11-30: Faster comparison modulo α-equivalence by me@purplesyringa.moe (Alisa Sireneva)
- 2025-11-25: A look at Rust from 2012 by me@purplesyringa.moe (Alisa Sireneva)
- 2025-11-18: ntoh*/hton* is a bad API by me@purplesyringa.moe (Alisa Sireneva)
- 2025-11-17: Finding duplicated code with tools from your CS course by me@purplesyringa.moe (Alisa Sireneva)
- 2025-11-02: JVM exceptions are weird: a decompiler perspective by me@purplesyringa.moe (Alisa Sireneva)
- 2025-09-30: The expression problem and Rust by me@purplesyringa.moe (Alisa Sireneva)
- 2025-09-10: Fenwick layout for interval trees by me@purplesyringa.moe (Alisa Sireneva)
- 2025-09-04: If I hear "design pattern" one more time, I'll go mad by me@purplesyringa.moe (Alisa Sireneva)
- 2025-07-14: "AI discourse" is a joke by me@purplesyringa.moe (Alisa Sireneva)
- 2025-07-02: Hidden complexity in software development by me@purplesyringa.moe (Alisa Sireneva)
- 2025-06-15: Splitting independent variables without SSA by me@purplesyringa.moe (Alisa Sireneva)
- 2025-06-07: Fast limited-range conversion between ints and floats by me@purplesyringa.moe (Alisa Sireneva)
- 2025-06-06: Recovering control flow structures without CFGs by me@purplesyringa.moe (Alisa Sireneva)
- 2025-04-29: Why performance optimization is hard work by me@purplesyringa.moe (Alisa Sireneva)
- 2025-01-30: Falsehoods programmers believe about null pointers by me@purplesyringa.moe (Alisa Sireneva)
- 2024-12-19: The RAM myth by me@purplesyringa.moe (Alisa Sireneva)
- 2024-12-12: Thoughts on Rust hashing by me@purplesyringa.moe (Alisa Sireneva)
- 2024-11-17: Any Python program fits in 24 characters* by me@purplesyringa.moe (Alisa Sireneva)
- 2024-11-10: The Rust Trademark Policy is still harmful by me@purplesyringa.moe (Alisa Sireneva)
- 2024-11-06: Bringing faster exceptions to Rust by me@purplesyringa.moe (Alisa Sireneva)
- 2024-10-10: We built the best "Bad Apple!!" in Minecraft by me@purplesyringa.moe (Alisa Sireneva)
- 2024-09-14: Minecraft сравнивает массивы за куб by me@purplesyringa.moe (Alisa Sireneva)
- 2024-09-07: WebP: The WebPage compression format by me@purplesyringa.moe (Alisa Sireneva)
- 2024-08-24: Division is hard, but it doesn't have to be by me@purplesyringa.moe (Alisa Sireneva)
- 2024-08-20: I sped up serde_json strings by 20% by me@purplesyringa.moe (Alisa Sireneva)
- 2024-08-13: The sentinel trick by me@purplesyringa.moe (Alisa Sireneva)
- 2024-08-13: You might want to use panics for error handling by me@purplesyringa.moe (Alisa Sireneva)
- 2024-08-03: У base64 есть неподвижная точка by me@purplesyringa.moe (Alisa Sireneva)
- 2024-06-20: I thought I was smart enough to play with fire by me@purplesyringa.moe (Alisa Sireneva)
- 2024-04-23: Recovering garbled Bitcoin addresses by me@purplesyringa.moe (Alisa Sireneva)
End of feed.