Feed

  1. Flies


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


    | bitecode.dev
  3. Weekly Update 470


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


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


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


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


    | troyhunt.com
  8. De la mystification de la Grande Idée


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


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


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


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


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


    | lukeplant.me.uk
  14. Weekly Update 469


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


    | sethmlarson.dev
  16. Infinite Precision CVSS Calculator


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


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


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


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


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


    | lewiscampbell.tech
  22. Weekly Update 468


    | troyhunt.com
  23. Early return and goroutine leak


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


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


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


    | buttondown.com
  27. Extracting NES & N64 ROMs from Zelda Collector's Edition


    | sethmlarson.dev
  28. SQL needed structure


    | scattered-thoughts.net
  29. Analytics query goes 6x faster with EDB Postgres Distributed's new analytics engine


    | notes.eatonphil.com
  30. #4 — August 2025


    | petemillspaugh.com
  31. Untitled


    | chriscoyier.net
  32. 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
  33. The Millspaugh method


    | petemillspaugh.com
  34. Une vie sans notifications


    | ploum.net
  35. Centralia Old-Time Campout 2025


    | chriscoyier.net
  36. Weekly Update 467


    | troyhunt.com
  37. Lifecycle management in Go tests


    | rednafi.com
  38. Draft SMS and iMessage from any computer keyboard


    | sethmlarson.dev
  39. Finding Bugs in a Coding Agent with Lightweight DST


    | wickstrom.tech
  40. Logical Duals in Software Engineering


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


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


    | kerkour.com
  43. The vulnerability might be in the proof-of-concept


    | sethmlarson.dev
  44. I tell you what I want, what I really, really want


    | bell.bz
  45. Titles matter


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


    | ploum.net
  47. Weekly Update 466


    | troyhunt.com
  48. The kids are alright


    | bitecode.dev
  49. Chalk Font Kid


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


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


    | buttondown.com
  52. Launching MDN's new front end


    | developer.mozilla.org
  53. This Blog Will Make You a Better Programmer


    | hamvocke.com
  54. Arc Troopers: Adventures in Async Rust


    | bitbashing.io
  55. The Important Things in Life


    | hamvocke.com
  56. Weekly Update 465


    | troyhunt.com
  57. Basic Type System Terminology


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


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


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


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


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


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


    | troyhunt.com
  64. Cross-Site Request Forgery


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


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


    | troyhunt.com
  67. Just a nice shell script


    | bitecode.dev
  68. Weekly Update 464


    | troyhunt.com
  69. LLMs as Parts of Systems


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


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


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


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


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


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


    | tonsky.me
  76. Welcoming Guardio to Have I Been Pwned's Partner Program


    | troyhunt.com
  77. The hiring test that defeated AI


    | bitecode.dev
  78. Everyone's got one


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


    | chriscoyier.net
  80. Getting Started with Randomised Testing


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


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


    | blog.codingconfessions.com
  83. Weekly Update 463


    | troyhunt.com
  84. Gateway pattern for external service calls


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


    | bitecode.dev
  86. Go Assembly Mutation Testing


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


    | notes.eatonphil.com
  88. The $200 Yamaha


    | chriscoyier.net
  89. 2000 words about arrays and tables


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


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


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


    | bell.bz
  93. Weekly Update 462


    | troyhunt.com
  94. Implementing a Key Encapsulation Mechanism (KEM) with X25519


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


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


    | buttondown.com
  97. Impact of AI on Tech Content Creators


    | chriscoyier.net
  98. What "Parse, don't validate" means in Python?


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


    | kerkour.com
  100. Celebrating 20 years of MDN


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


    | safjan.com
  102. 11 Years of Microsoft Regional Director and 15 Years of MVP


    | troyhunt.com
  103. TAG Bulletin: Q2 2025


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


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


    | bitecode.dev
  106. Go allocation probe


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


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


    | lewiscampbell.tech
  109. Zig's new Writer


    | openmymind.net
  110. screencasting.com


    | chriscoyier.net
  111. Understanding Registers and Data Movement in x86-64 Assembly


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


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


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


    | tonsky.me
  115. #3 — July 2025


    | petemillspaugh.com
  116. CSS Day Videos & Scope


    | chriscoyier.net
  117. Encrypting Files with Passkeys and age


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


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


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


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


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


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


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


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


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


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


    | bitecode.dev
  128. “Medical Superintelligence”


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


    | tonsky.me
  130. Offerwall + Supertab


    | chriscoyier.net
  131. Post-Glitch


    | chriscoyier.net
  132. The Framework 12 is the Thinkpad X220 we deserve in 2025


    | raphaelkabo.com
  133. Logical Quantifiers in Software


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


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


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


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


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


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


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


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


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


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


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


    | brooker.co.za
  145. Homomorphically Encrypting CRDTs


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


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


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


    | safjan.com
  149. Solving LinkedIn Queens with SMT


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


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


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


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


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


    | buttondown.com
  155. it took a big cup


    | j3s.sh
  156. Record broken; Broken record


    | petemillspaugh.com
  157. Advanced Testing and Determinism


    | lewiscampbell.tech
  158. Systems Fun at HotOS


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


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


    | scattered-thoughts.net
  161. Consider Knitting


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


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


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


    | blog.codingconfessions.com
  165. Access Control Syntax


    | journal.stuffwithstuff.com
  166. Cheerleading


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


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


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


    | kerkour.com
  170. Kitchen Confidential by Anthony Bourdain


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


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


    | kerkour.com
  173. Good Performance for Bad Days


    | brooker.co.za
  174. LLM Memory


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


    | blog.codingconfessions.com
  176. Logo:


    | tonsky.me
  177. Petit manifeste low-tech


    | ploum.net
  178. TAG Bulletin: Q1 2025


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


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


    | ploum.net
  181. Knowledge creates technical debt


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


    | ploum.net
  183. Claude Code


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


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


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


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


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


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


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


    | bitecode.dev
  191. Words & shwords


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


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


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


    | lovergne.dev
  195. Differential Coverage for Debugging


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


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


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


    | bitecode.dev
  199. Sorting Algorithm: The Game


    | grantslatton.com
  200. Burn your title


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


    | rednafi.com
  202. Transactions are a protocol


    | notes.eatonphil.com
  203. Decomposing Aurora DSQL


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


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


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


    | kerkour.com
  207. I’ve been to 38 US states


    | petemillspaugh.com
  208. À la recherche de l’attention perdue


    | ploum.net
  209. Go 1.24's "tool" directive


    | rednafi.com
  210. Building a Tell-Tale Heart with an Adafruit Prop-Maker FeatherWing


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


    | raphaelkabo.com
  212. Concurrency in Haskell: Fast, Simple, Correct


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


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


    | rednafi.com
  215. Default styles for h1 elements are changing


    | developer.mozilla.org
  216. Your mileage may vary: Training for a marathon on a vegan diet


    | petemillspaugh.com
  217. The Business of Being a Writer by Jane Friedman


    | petemillspaugh.com
  218. De l’utilisation des smartphones et des tablettes chez les adolescents


    | ploum.net
  219. Zig's new LinkedList API (it's time to learn @fieldParentPtr)


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


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


    | buttondown.com
  222. On David Foster Wallace


    | petemillspaugh.com
  223. Typo Minimizing Keyboard


    | grantslatton.com
  224. A Fresh Coat of Paint


    | hamvocke.com
  225. The Curve is Bending


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


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


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


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


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


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


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


    | kerkour.com
  233. Trading ambition for presence


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


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


    | petemillspaugh.com
  236. Deferred teardown closure in Go testing


    | rednafi.com
  237. Things that go wrong with disk IO


    | notes.eatonphil.com
  238. Allocator.resize


    | openmymind.net
  239. Betteridge's Law of Software Engineering Specialness


    | buttondown.com
  240. How, as an indie author, I have fought and won against the piracy of my books


    | kerkour.com
  241. Black Hat Rust Promotion


    | kerkour.com
  242. One or Two? How Many Queues?


    | brooker.co.za
  243. Phil Eaton on Technical Blogging


    | notes.eatonphil.com
  244. Creating problems to sell the solution is evil


    | kerkour.com
  245. Vegan dissonance


    | petemillspaugh.com
  246. Three flavors of sorting Go slices


    | rednafi.com
  247. Hardware-Aware Coding: CPU Architecture Concepts Every Developer Should Know


    | blog.codingconfessions.com
  248. A 10x faster batch job by batching PostgreSQL inserts/updates with Rust and SQLx


    | kerkour.com
  249. The Compressed Book Edition


    | solar.lowtechmagazine.com
  250. Understanding Python's `copy` vs `deepcopy` - When to Use Each


    | safjan.com
  251. Writing against the global lobotomy


    | kerkour.com
  252. Cofessions Of A Code Addict


    | lovergne.dev
  253. Verification-First Development


    | buttondown.com
  254. We may finally be able to ditch NIST (and FIPS) cryptography


    | kerkour.com
  255. Implications of Global Privacy Control


    | developer.mozilla.org
  256. ArenaAllocator.free and Nested Arenas


    | openmymind.net