Feed

  1. Court Injunctions are the Thoughts and Prayers of Data Breach Response


    | troyhunt.com
  2. A beginner-friendly guide to view transitions in CSS


    | developer.mozilla.org
  3. Clap on the off beat


    | chriscoyier.net
  4. Behind the Scenes of Pingoo: Slashing allocations in Rust with mimalloc and heapless to build the fastest reverse proxy


    | kerkour.com
  5. Organizing Go tests


    | rednafi.com
  6. Introducing “Moments”


    | hamvocke.com
  7. Fixing the `opendiff` command line tool


    | chriscoyier.net
  8. Choosing between PostgreSQL and SQLite


    | kerkour.com
  9. Local by Flywheel was Ultra Slow Because I Had The Wrong Version


    | chriscoyier.net
  10. Is the "Nintendo Classics" collection a good value?


    | sethmlarson.dev
  11. Weekly Update 472


    | troyhunt.com
  12. Hosting a website with automatic HTTPS and unlimited bandwidth for 3 € / month with Pingoo


    | kerkour.com
  13. What's up Python? Lazy imports, django gets a task queue...


    | bitecode.dev
  14. Locality, and Temporal-Spatial Hypothesis


    | brooker.co.za
  15. Breaking “provably correct” Leftpad


    | lukeplant.me.uk
  16. #5 — September 2025


    | petemillspaugh.com
  17. DHH Is Way Worse Than I Thought


    | jakelazaroff.com
  18. Danger Gently


    | chriscoyier.net
  19. Case Study: How Proton uses Rust to build secure cross-platform applications for millions of people


    | kerkour.com
  20. Email outage


    | kerkour.com
  21. Subtest grouping in Go


    | rednafi.com
  22. Winning a bet about “six”, the Python 2 compatibility shim


    | sethmlarson.dev
  23. Understanding Weak References in Python


    | blog.codingconfessions.com
  24. How to find a domain for your startup


    | petemillspaugh.com
  25. Welcoming CERN to Have I Been Pwned


    | troyhunt.com
  26. Weekly Update 471


    | troyhunt.com
  27. GZipped files and streams may contain names


    | sethmlarson.dev
  28. Strongbacks


    | chriscoyier.net
  29. New Blog Post: " A Very Early History of Algebraic Data Types"


    | buttondown.com
  30. My GitHub account has been blocked. Edit: Solved. Thank you all!


    | kerkour.com
  31. Microwaves


    | chriscoyier.net
  32. Implementing automatic HTTPS / TLS for Pingoo: Here is what it takes to build a secure internet


    | kerkour.com
  33. HIBP Demo: Querying the API, and the Free Test Key!


    | troyhunt.com
  34. Compiling Python to Run Anywhere


    | blog.codingconfessions.com
  35. Send a Song


    | chriscoyier.net
  36. Flies


    | chriscoyier.net
  37. What's a UUID, and what do you use that for?


    | bitecode.dev
  38. Weekly Update 470


    | troyhunt.com
  39. Ongoing Tradeoffs, and Incidents as Landmarks


    | ferd.ca
  40. Let the domain guide your application structure


    | rednafi.com
  41. Is Zig's New Writer Unsafe?


    | openmymind.net
  42. Have I Been Pwned Demos Are Now Live!


    | troyhunt.com
  43. Seven Years of Firecracker


    | brooker.co.za
  44. De la mystification de la Grande Idée


    | ploum.net
  45. Announcing Pingoo: The fast and secure Load Balancer / API Gateway with built-in service discovery, WAF and bot management (in Rust)


    | kerkour.com
  46. What Makes System Calls Expensive: A Linux Internals Deep Dive


    | blog.codingconfessions.com
  47. In response to a developer asking about systems


    | notes.eatonphil.com
  48. Test state, not interactions


    | rednafi.com
  49. Devotions on 1 Thessalonians 1, August 2025


    | lukeplant.me.uk
  50. Weekly Update 469


    | troyhunt.com
  51. SCREAM CIPHER (“ǠĂȦẶAẦ ĂǍÄẴẶȦ”)


    | sethmlarson.dev
  52. Infinite Precision CVSS Calculator


    | sethmlarson.dev
  53. Many Hard Leetcode Problems are Easy Constraint Problems


    | buttondown.com
  54. Protecting Rust against supply chain attacks


    | kerkour.com
  55. A simple clustering and replication solution for Postgres


    | notes.eatonphil.com
  56. À la recherche de l’humanité perdue…


    | ploum.net
  57. Strong Eventual Consistency - The Big Idea behind CRDTs


    | lewiscampbell.tech
  58. Weekly Update 468


    | troyhunt.com
  59. Early return and goroutine leak


    | rednafi.com
  60. Everything is a []u8


    | openmymind.net
  61. What's up Python? Astral never stops, JetBrains gives us insights


    | bitecode.dev
  62. The Angels and Demons of Nondeterminism


    | buttondown.com
  63. Analytics query goes 6x faster with EDB Postgres Distributed's new analytics engine


    | notes.eatonphil.com
  64. SQL needed structure


    | scattered-thoughts.net
  65. #4 — August 2025


    | petemillspaugh.com
  66. Untitled


    | chriscoyier.net
  67. Une vie sans notifications


    | ploum.net
  68. The Millspaugh method


    | petemillspaugh.com
  69. 0054: zest namespaces, store tags after payloads, go allocation probe, everyones got one, pprof labelguns, go value types, go perf probe, tpde, anyblox, books


    | scattered-thoughts.net
  70. Centralia Old-Time Campout 2025


    | chriscoyier.net
  71. Talk: Почему компьютеры не умеют считать? @ Podlodka


    | tonsky.me
  72. Weekly Update 467


    | troyhunt.com
  73. Lifecycle management in Go tests


    | rednafi.com
  74. Finding Bugs in a Coding Agent with Lightweight DST


    | wickstrom.tech
  75. Logical Duals in Software Engineering


    | buttondown.com
  76. Home Assistant + Ubiquiti + AI = Home Automation Magic


    | troyhunt.com
  77. Building a Plugin System for Rust: Native Libraries vs Scripting Language vs WebAssembly vs Rules Engine


    | kerkour.com
  78. I tell you what I want, what I really, really want


    | bell.bz
  79. Titles matter


    | joshcollinsworth.com
  80. Pas de médaille pour les résistants


    | ploum.net
  81. Weekly Update 466


    | troyhunt.com
  82. The kids are alright


    | bitecode.dev
  83. Chalk Font Kid


    | chriscoyier.net
  84. I'm too dumb for Zig's new IO interface


    | openmymind.net
  85. Sapir-Whorf does not apply to Programming Languages


    | buttondown.com
  86. This Blog Will Make You a Better Programmer


    | hamvocke.com
  87. Launching MDN's new front end


    | developer.mozilla.org
  88. Arc Troopers: Adventures in Async Rust


    | bitbashing.io
  89. The Important Things in Life


    | hamvocke.com
  90. Weekly Update 465


    | troyhunt.com
  91. Basic Type System Terminology


    | lewiscampbell.tech
  92. How to Leverage the CPU’s Micro-Op Cache for Faster Loops


    | blog.codingconfessions.com
  93. Dynamo, DynamoDB, and Aurora DSQL


    | brooker.co.za
  94. Maintainers of Last Resort


    | words.filippo.io
  95. Set up a single-node EDB Postgres Distributed cluster on Ubuntu


    | notes.eatonphil.com
  96. Replacing Makefile with Invoke for Cross-Platform Python Tasks


    | safjan.com
  97. That 16 Billion Password Story (AKA "Data Troll")


    | troyhunt.com
  98. Cross-Site Request Forgery


    | words.filippo.io
  99. Lessons learned from implementing SIMD-accelerated algorithms (ChaCha20 / ChaCha12) in pure Rust


    | kerkour.com
  100. Get Pwned, Get Local Advice From a Trusted Gov Source


    | troyhunt.com
  101. Just a nice shell script


    | bitecode.dev
  102. LLMs as Parts of Systems


    | brooker.co.za
  103. What even is distributed systems


    | notes.eatonphil.com
  104. Key Derivation with ChaCha20 (or ChaCha12)


    | kerkour.com
  105. Choice is important with stuff like highlighting


    | bell.bz
  106. Software books I wish I could read


    | buttondown.com
  107. ChaCha12-BLAKE3: Secure, Simple and Fast authenticated and committing encryption for any CPU


    | kerkour.com
  108. We shouldn’t have needed lockfiles


    | tonsky.me
  109. The hiring test that defeated AI


    | bitecode.dev
  110. Everyone's got one


    | scattered-thoughts.net
  111. Your Own Newspaper, Or Not


    | chriscoyier.net
  112. Getting Started with Randomised Testing


    | lewiscampbell.tech
  113. Pixel data from encoders to decoders


    | developer.mozilla.org
  114. Big O vs Hardware: Better Complexity ≠ Better Performance


    | blog.codingconfessions.com
  115. Gateway pattern for external service calls


    | rednafi.com
  116. What's up Python? Unpacking in Comprehensions, Android Wheels, and uv is a big boy now...


    | bitecode.dev
  117. Go Assembly Mutation Testing


    | words.filippo.io
  118. Stack traces for Postgres errors with backtrace_functions


    | notes.eatonphil.com
  119. 2000 words about arrays and tables


    | buttondown.com
  120. The Signal Protocol Explained #2: Implementing the Double Ratchet Algorithm in Rust


    | kerkour.com
  121. Using OpenAI Python SDK with Local Ollama Models (and When to Opt for Alternatives)


    | safjan.com
  122. I deleted Bluesky, Mastodon and LinkedIn off my phone


    | bell.bz
  123. Implementing a Key Encapsulation Mechanism (KEM) with X25519


    | kerkour.com
  124. Why I’m not letting the juniors use GenAI for coding


    | lukeplant.me.uk
  125. Programming Language Escape Hatches


    | buttondown.com
  126. What "Parse, don't validate" means in Python?


    | bitecode.dev
  127. The Signal Protocol Explained #1: Implementing the Post-Quantum Extended Diffie-Hellman (PQXDH) Protocol in Rust


    | kerkour.com
  128. Celebrating 20 years of MDN


    | developer.mozilla.org
  129. Building a Multi-Notebook Report with Quarto


    | safjan.com
  130. TAG Bulletin: Q2 2025


    | blog.google
  131. x86 Assembly Exercise #1: Toy kill Program (Solution)


    | blog.codingconfessions.com
  132. The EU can be shut down with a few keystrokes


    | bitecode.dev
  133. Go allocation probe


    | scattered-thoughts.net
  134. Maybe writing speed actually is a bottleneck for programming


    | buttondown.com
  135. NIH Is Far Cheaper Than The Wrong Dependency


    | lewiscampbell.tech
  136. Zig's new Writer


    | openmymind.net
  137. Understanding Registers and Data Movement in x86-64 Assembly


    | blog.codingconfessions.com
  138. Rust is a great fit for the agentic era


    | kerkour.com
  139. A Programmer’s Guide to x86-64 Assembly (Series Overview)


    | blog.codingconfessions.com
  140. Gaslight-driven development


    | tonsky.me
  141. #3 — July 2025


    | petemillspaugh.com
  142. Encrypting Files with Passkeys and age


    | words.filippo.io
  143. Brett Cannon on Python, humans... and packaging


    | bitecode.dev
  144. Setting Up an SDL3 Mac App in XCode 16


    | journal.stuffwithstuff.com
  145. Store tags after payloads


    | scattered-thoughts.net
  146. The Creative Act by Rick Rubin


    | petemillspaugh.com
  147. Pure Rust cryptography is better than raw performance


    | kerkour.com
  148. The 4 pillars of Rust's superiority


    | kerkour.com
  149. How to Mount a Balcony Awning


    | solar.lowtechmagazine.com
  150. Logic for Programmers Turns One


    | buttondown.com
  151. You Should Run a Certificate Transparency Log


    | words.filippo.io
  152. What's up Python? Mypy gets better, uv faster, FastApi easier, Emscripten formal...er


    | bitecode.dev
  153. Podcast: Datomic: самая рок-н-рольная БД @ Тысяча фичей


    | tonsky.me
  154. The Framework 12 is the Thinkpad X220 we deserve in 2025


    | raphaelkabo.com
  155. Logical Quantifiers in Software


    | buttondown.com
  156. Why This Python Performance Trick Doesn’t Matter Anymore


    | blog.codingconfessions.com
  157. Flags for discoverable test config in Go


    | rednafi.com
  158. Want to meet people, try charging them for it?


    | notes.eatonphil.com
  159. Statically checking Python dicts for completeness


    | lukeplant.me.uk
  160. New zine: The Secret Rules of the Terminal


    | jvns.ca
  161. Downgrade or Upgrade Your Python Version with uv


    | safjan.com
  162. Lecture: Queueing theory on a cocktail napkin


    | blog.danslimmon.com
  163. Rust: A programming language that grows with you, your career and your projects


    | kerkour.com
  164. You can cheat a test suite with a big enough polynomial


    | buttondown.com
  165. Debugging memory leaks in Postgres, jemalloc edition


    | notes.eatonphil.com
  166. Career advice, or something like it


    | brooker.co.za
  167. Homomorphically Encrypting CRDTs


    | jakelazaroff.com
  168. Making System Calls in x86-64 Assembly


    | blog.codingconfessions.com
  169. How to Dress and Undress your Home


    | solar.lowtechmagazine.com
  170. Beyond Coverage - Building Truly Complete Test Suites with GitHub Copilot


    | safjan.com
  171. Solving LinkedIn Queens with SMT


    | buttondown.com
  172. Introduction to embedded development with Rust: Overview of the ecosystem


    | kerkour.com
  173. Using `make` to compile C programs (for non-C-programmers)


    | jvns.ca
  174. The Gap Through Which We Praise the Machine


    | ferd.ca
  175. One Law to Rule Them All: The Iron Law of Software Performance


    | blog.codingconfessions.com
  176. AI is a gamechanger for TLA+ users


    | buttondown.com
  177. it took a big cup


    | j3s.sh
  178. Record broken; Broken record


    | petemillspaugh.com
  179. Advanced Testing and Determinism


    | lewiscampbell.tech
  180. Systems Fun at HotOS


    | brooker.co.za
  181. What's up Python? Faster CPython cancelled, a new installer and yet another type checker


    | bitecode.dev
  182. 0053: consulting, go tips, benchmark_mode, niri, linkrot, sea of nos, llm outsourcing, books


    | scattered-thoughts.net
  183. Consider Knitting


    | journal.stuffwithstuff.com
  184. What does "Undecidable" mean, anyway


    | buttondown.com
  185. Talk: Local-first is not going to win, but that’s okay @ Local-First Conf


    | tonsky.me
  186. Debugging X86-64 Assembly with GDB


    | blog.codingconfessions.com
  187. Access Control Syntax


    | journal.stuffwithstuff.com
  188. Cheerleading


    | notes.eatonphil.com
  189. You probably don't need a DI framework


    | rednafi.com
  190. Debugging memory leaks in Postgres, heaptrack edition


    | notes.eatonphil.com
  191. How to securely encrypt your sensitive data with envelope encryption and KMS in Rust


    | kerkour.com
  192. Kitchen Confidential by Anthony Bourdain


    | petemillspaugh.com
  193. Finding hard 24 puzzles with planner programming


    | buttondown.com
  194. Announcing Markdown Ninja: Open Source alternative to Substack, Mailchimp and Netlify


    | kerkour.com
  195. Good Performance for Bad Days


    | brooker.co.za
  196. LLM Memory


    | grantslatton.com
  197. Building (and Breaking) Your First X86 Assembly Program


    | blog.codingconfessions.com
  198. Petit manifeste low-tech


    | ploum.net
  199. TAG Bulletin: Q1 2025


    | blog.google
  200. Modeling Awkward Social Situations with TLA+


    | buttondown.com
  201. Comment l’université tue le livre (et les intellectuels)


    | ploum.net
  202. Knowledge creates technical debt


    | lukeplant.me.uk
  203. Pour une poignée de bits…


    | ploum.net
  204. Claude Code


    | grantslatton.com
  205. Write the most clever code you possibly can


    | buttondown.com
  206. How to build small and secure Docker images for Rust (FROM scratch)


    | kerkour.com
  207. Color models for humans and devices


    | developer.mozilla.org
  208. The System-Level Foundation of Assembly


    | blog.codingconfessions.com
  209. Podfox: World's First Container-Aware Browser


    | val.packett.cool
  210. The Flying Pig Marathon 2025: race notes


    | petemillspaugh.com
  211. What's up Python? Python in hardware, lock file support and a new type checker


    | bitecode.dev
  212. Words & shwords


    | petemillspaugh.com
  213. The worst nightmare of small entrepreneurs happened. Products access postmortem.


    | kerkour.com
  214. The Business Case for Vanilla JS


    | lewiscampbell.tech
  215. VSCode workspace shortcuts with .desktop files on Linux


    | lovergne.dev
  216. Differential Coverage for Debugging


    | research.swtch.com
  217. Solution-space Taste


    | grantslatton.com
  218. Requirements change until they don't


    | buttondown.com
  219. The next big thing in Python


    | bitecode.dev
  220. Sorting Algorithm: The Game


    | grantslatton.com
  221. Burn your title


    | notes.eatonphil.com
  222. Preventing accidental struct copies in Go


    | rednafi.com
  223. Transactions are a protocol


    | notes.eatonphil.com
  224. Decomposing Aurora DSQL


    | brooker.co.za
  225. Dédicace à Trolls & Vélo et magie cycliste


    | ploum.net
  226. The Halting Problem is a terrible example of NP-Harder


    | buttondown.com
  227. Avoiding memory fragmentation in Rust with jemalloc


    | kerkour.com
  228. À la recherche de l’attention perdue


    | ploum.net
  229. I’ve been to 38 US states


    | petemillspaugh.com
  230. Building a Tell-Tale Heart with an Adafruit Prop-Maker FeatherWing


    | raphaelkabo.com
  231. Using Eleventy and S3 to build a personal photo blog


    | raphaelkabo.com
  232. Go 1.24's "tool" directive


    | rednafi.com
  233. Concurrency in Haskell: Fast, Simple, Correct


    | bitbashing.io
  234. Binary Arithmetic and Bitwise Operations for Systems Programming


    | blog.codingconfessions.com
  235. Capturing console output in Go tests


    | rednafi.com
  236. Your mileage may vary: Training for a marathon on a vegan diet


    | petemillspaugh.com
  237. Default styles for h1 elements are changing


    | developer.mozilla.org
  238. De l’utilisation des smartphones et des tablettes chez les adolescents


    | ploum.net
  239. The Business of Being a Writer by Jane Friedman


    | petemillspaugh.com
  240. Zig's new LinkedList API (it's time to learn @fieldParentPtr)


    | openmymind.net
  241. How to implement cryptographically-secure API keys in Rust


    | kerkour.com
  242. Solving a "Layton Puzzle" with Prolog


    | buttondown.com
  243. On David Foster Wallace


    | petemillspaugh.com
  244. Typo Minimizing Keyboard


    | grantslatton.com
  245. A Fresh Coat of Paint


    | hamvocke.com
  246. The Curve is Bending


    | grantslatton.com
  247. Understanding Computer Organization from First Principles


    | blog.codingconfessions.com
  248. Graph Search Algorithm: The Game


    | grantslatton.com
  249. The blissful zen of a good side project


    | joshcollinsworth.com
  250. A rough survey of compilation, recompilation, and compile-time evaluation


    | scattered-thoughts.net
  251. An incredible week for Markdown Ninja


    | kerkour.com
  252. What's up python? Less perf, no sugar and more bugs


    | bitecode.dev
  253. Architecting and building medium-sized web services in Rust with Axum, SQLx and PostgreSQL


    | kerkour.com
  254. Trading ambition for presence


    | petemillspaugh.com
  255. [April Cools] Gaming Games for Non-Gamers


    | buttondown.com
  256. Don’t Sweat the Small Stuff by Richard Carlson


    | petemillspaugh.com