Feed

  1. Building SQLite extensions in Rust


    | kerkour.com
  2. vCPUs in the cloud: x86 vs ARM (aarch64)


    | kerkour.com
  3. La justesse au lieu de l’exactitude


    | ploum.net
  4. Using CSS Variables for Dynamic and Reusable Styling


    | safjan.com
  5. Oregon Rocketry


    | chriscoyier.net
  6. How to Build a Solar Powered Electric Oven


    | solar.lowtechmagazine.com
  7. Python 3.14 - What didn't make the headlines


    | bitecode.dev
  8. Weekly Update 473


    | troyhunt.com
  9. Is Systems Research Really Just About Making Numbers Bigger?


    | brooker.co.za
  10. Hacking the World Poker Tour: Inside ClubWPT Gold’s Back Office


    | samcurry.net
  11. How to Assemble an Electric Heating Element from Scratch


    | solar.lowtechmagazine.com
  12. My Top 5 Favourite Features in Python 3.14


    | blog.codingconfessions.com
  13. Oatmeal on AI Art


    | chriscoyier.net
  14. Three ways formally verified code can go wrong in practice


    | buttondown.com
  15. A Retrospective Survey of 2024/2025 Open Source Supply Chain Compromises


    | words.filippo.io
  16. Notes on switching to Helix from vim


    | jvns.ca
  17. Bare Asterisk in Python Function Signatures - Keyword Only Arguments


    | safjan.com
  18. Programming in the Sun: A Year with the Daylight Computer


    | wickstrom.tech
  19. Media Diet


    | chriscoyier.net
  20. Court Injunctions are the Thoughts and Prayers of Data Breach Response


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


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


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


    | kerkour.com
  24. Introducing “Moments”


    | hamvocke.com
  25. Organizing Go tests


    | rednafi.com
  26. Fixing the `opendiff` command line tool


    | chriscoyier.net
  27. Choosing between PostgreSQL and SQLite


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


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


    | sethmlarson.dev
  30. Weekly Update 472


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


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


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


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


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


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


    | jakelazaroff.com
  37. Danger Gently


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


    | kerkour.com
  39. Email outage


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


    | sethmlarson.dev
  41. Subtest grouping in Go


    | rednafi.com
  42. Understanding Weak References in Python


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


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


    | troyhunt.com
  45. Weekly Update 471


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


    | sethmlarson.dev
  47. Strongbacks


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


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


    | kerkour.com
  50. Microwaves


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


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


    | troyhunt.com
  53. Compiling Python to Run Anywhere


    | blog.codingconfessions.com
  54. Send a Song


    | chriscoyier.net
  55. Flies


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


    | bitecode.dev
  57. Weekly Update 470


    | troyhunt.com
  58. Simpler Parallelism with concurrent.futures


    | safjan.com
  59. Ongoing Tradeoffs, and Incidents as Landmarks


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


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


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


    | troyhunt.com
  63. Seven Years of Firecracker


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


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


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


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


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


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


    | lukeplant.me.uk
  70. Weekly Update 469


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


    | sethmlarson.dev
  72. Infinite Precision CVSS Calculator


    | sethmlarson.dev
  73. Worldcat editions and holdings release


    | annas-archive.li
  74. Many Hard Leetcode Problems are Easy Constraint Problems


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


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


    | notes.eatonphil.com
  77. Threading vs Multiprocessing in Python - GIL Implications and Choosing the Right Tool


    | safjan.com
  78. À la recherche de l’humanité perdue…


    | ploum.net
  79. asyncio Basics - async/await and When to Actually Use Them


    | safjan.com
  80. Strong Eventual Consistency - The Big Idea behind CRDTs


    | lewiscampbell.tech
  81. Weekly Update 468


    | troyhunt.com
  82. Early return and goroutine leak


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


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


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


    | buttondown.com
  86. SQL needed structure


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


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


    | petemillspaugh.com
  89. Untitled


    | chriscoyier.net
  90. 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
  91. The Millspaugh method


    | petemillspaugh.com
  92. Une vie sans notifications


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


    | tonsky.me
  94. Weekly Update 467


    | troyhunt.com
  95. Lifecycle management in Go tests


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


    | wickstrom.tech
  97. Logical Duals in Software Engineering


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


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


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


    | bell.bz
  101. Titles matter


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


    | ploum.net
  103. Weekly Update 466


    | troyhunt.com
  104. The kids are alright


    | bitecode.dev
  105. I'm too dumb for Zig's new IO interface


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


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


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


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


    | bitbashing.io
  110. The Important Things in Life


    | hamvocke.com
  111. An update from the team


    | annas-archive.li
  112. Weekly Update 465


    | troyhunt.com
  113. Basic Type System Terminology


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


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


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


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


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


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


    | troyhunt.com
  120. Cross-Site Request Forgery


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


    | kerkour.com
  122. Just a nice shell script


    | bitecode.dev
  123. LLMs as Parts of Systems


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


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


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


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


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


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


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


    | bitecode.dev
  131. Everyone's got one


    | scattered-thoughts.net
  132. Getting Started with Randomised Testing


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


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


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


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


    | bitecode.dev
  137. Go Assembly Mutation Testing


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


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


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


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


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


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


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


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


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


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


    | kerkour.com
  148. Celebrating 20 years of MDN


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


    | safjan.com
  150. TAG Bulletin: Q2 2025


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


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


    | bitecode.dev
  153. Go allocation probe


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


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


    | lewiscampbell.tech
  156. Zig's new Writer


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


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


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


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


    | tonsky.me
  161. #3 — July 2025


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


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


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


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


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


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


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


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


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


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


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


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


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


    | raphaelkabo.com
  175. Logical Quantifiers in Software


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


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


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


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


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


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


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


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


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


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


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


    | brooker.co.za
  187. Homomorphically Encrypting CRDTs


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


    | blog.codingconfessions.com
  189. Beyond Coverage - Building Truly Complete Test Suites with GitHub Copilot


    | safjan.com
  190. Solving LinkedIn Queens with SMT


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


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


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


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


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


    | buttondown.com
  196. it took a big cup


    | j3s.sh
  197. Record broken; Broken record


    | petemillspaugh.com
  198. Advanced Testing and Determinism


    | lewiscampbell.tech
  199. Systems Fun at HotOS


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


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


    | scattered-thoughts.net
  202. Consider Knitting


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


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


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


    | blog.codingconfessions.com
  206. Access Control Syntax


    | journal.stuffwithstuff.com
  207. Cheerleading


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


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


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


    | kerkour.com
  211. Kitchen Confidential by Anthony Bourdain


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


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


    | kerkour.com
  214. Good Performance for Bad Days


    | brooker.co.za
  215. LLM Memory


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


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


    | ploum.net
  218. TAG Bulletin: Q1 2025


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


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


    | ploum.net
  221. Knowledge creates technical debt


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


    | ploum.net
  223. Claude Code


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


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


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


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


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


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


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


    | bitecode.dev
  231. Words & shwords


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


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


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


    | lovergne.dev
  235. Differential Coverage for Debugging


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


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


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


    | bitecode.dev
  239. Sorting Algorithm: The Game


    | grantslatton.com
  240. Burn your title


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


    | rednafi.com
  242. Transactions are a protocol


    | notes.eatonphil.com
  243. Decomposing Aurora DSQL


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


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


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


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


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


    | ploum.net
  249. Concurrency in Haskell: Fast, Simple, Correct


    | bitbashing.io
  250. Go 1.24's "tool" directive


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


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


    | raphaelkabo.com
  253. Binary Arithmetic and Bitwise Operations for Systems Programming


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


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


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


    | petemillspaugh.com