Feed

  1. AI is a gamechanger for TLA+ users


    | buttondown.com
  2. Pikmin 2 International Treasure Hoard


    | sethmlarson.dev
  3. Weekly Update 454


    | troyhunt.com
  4. Systems Fun at HotOS


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


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


    | scattered-thoughts.net
  7. Consider Knitting


    | journal.stuffwithstuff.com
  8. Volunteer Responsibility Amnesty Day (Spring 2025)


    | sethmlarson.dev
  9. What does "Undecidable" mean, anyway


    | buttondown.com
  10. Streaming


    | chriscoyier.net
  11. Weekly Update 453


    | troyhunt.com
  12. Debugging X86-64 Assembly with GDB


    | blog.codingconfessions.com
  13. This generous donation fills me with positivity and hope


    | bell.bz
  14. Access Control Syntax


    | journal.stuffwithstuff.com
  15. Cheerleading


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


    | rednafi.com
  17. White Noise


    | chriscoyier.net
  18. Debugging memory leaks in Postgres, heaptrack edition


    | notes.eatonphil.com
  19. Secrets managers considered harmful. How to securely encrypt your sensitive data with envelope encryption and KMS in Rust


    | kerkour.com
  20. Finding hard 24 puzzles with planner programming


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


    | kerkour.com
  22. Good Performance for Bad Days


    | brooker.co.za
  23. Have I Been Pwned 2.0 is Now Live!


    | troyhunt.com
  24. LLM Memory


    | grantslatton.com
  25. Weekly Update 452


    | troyhunt.com
  26. Building (and Breaking) Your First X86 Assembly Program


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


    | ploum.net
  28. Logo:


    | tonsky.me
  29. Welcoming the Malaysian Government to Have I Been Pwned


    | troyhunt.com
  30. TAG Bulletin: Q1 2025


    | blog.google
  31. Enabling open working on Piccalilli with content collections


    | bell.bz
  32. Modeling Awkward Social Situations with TLA+


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


    | ploum.net
  34. We launched a community supporters system for Piccalilli today


    | bell.bz
  35. Knowledge creates technical debt


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


    | ploum.net
  37. Claude Code


    | grantslatton.com
  38. Weekly Update 451


    | troyhunt.com
  39. The Am Dash


    | chriscoyier.net
  40. “I’d rather read the prompt”


    | chriscoyier.net
  41. After the Breach: Finding new Partners with Solutions for Have I Been Pwned Users


    | troyhunt.com
  42. Write the most clever code you possibly can


    | buttondown.com
  43. Welcoming the Isle of Man Government to Have I Been Pwned


    | troyhunt.com
  44. Animal CrosSCII


    | sethmlarson.dev
  45. How to build small and secure Docker images for Rust (FROM scratch)


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


    | developer.mozilla.org
  47. christopher.org for the next 100 years


    | chriscoyier.net
  48. The System-Level Foundation of Assembly


    | blog.codingconfessions.com
  49. Passkeys for Normal People


    | troyhunt.com
  50. Podfox: World's First Container-Aware Browser


    | val.packett.cool
  51. Voicemail for notifications


    | sethmlarson.dev
  52. Weekly Update 450


    | troyhunt.com
  53. The Have I Been Pwned Alpine Grand Tour


    | troyhunt.com
  54. whichprovides: an abstraction of "yum provides"


    | sethmlarson.dev
  55. jQuery Reunion


    | chriscoyier.net
  56. What's up Python? Python in hardware, lock file support and a new type checker


    | bitecode.dev
  57. Welcoming The Gambia National CSIRT to Have I Been Pwned


    | troyhunt.com
  58. When You Get to Be Smart Writing a Macro


    | tonsky.me
  59. Untitled


    | chriscoyier.net
  60. Chilis in Oregon


    | chriscoyier.net
  61. The worst nightmare of small entrepreneurs happened. Products access postmortem.


    | kerkour.com
  62. Untitled


    | chriscoyier.net
  63. Mars


    | chriscoyier.net
  64. VSCode workspace shortcuts with .desktop files on Linux


    | lovergne.dev
  65. Weekly Update 449


    | troyhunt.com
  66. The Mayor


    | chriscoyier.net
  67. Differential Coverage for Debugging


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


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


    | buttondown.com
  70. You'll Soon Be Able to Sign in to Have I Been Pwned (but Not Login, Log in or Log On)


    | troyhunt.com
  71. Media Diet


    | chriscoyier.net
  72. The next big thing in Python


    | bitecode.dev
  73. Sorting Algorithm: The Game


    | grantslatton.com
  74. Weekly Update 448


    | troyhunt.com
  75. Burn your title


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


    | rednafi.com
  77. Transactions are a protocol


    | notes.eatonphil.com
  78. Decomposing Aurora DSQL


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


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


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


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


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


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


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


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


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


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


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


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


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


    | buttondown.com
  92. La fin d’un monde ?


    | ploum.net
  93. Typo Minimizing Keyboard


    | grantslatton.com
  94. A Fresh Coat of Paint


    | hamvocke.com
  95. The Curve is Bending


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


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


    | grantslatton.com
  98. A rough survey of compilation, recompilation, and compile-time evaluation


    | scattered-thoughts.net
  99. The blissful zen of a good side project


    | joshcollinsworth.com
  100. An incredible week for Markdown Ninja


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


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


    | kerkour.com
  103. [April Cools] Gaming Games for Non-Gamers


    | buttondown.com
  104. Deferred teardown closure in Go testing


    | rednafi.com
  105. Talk: Clojure workflow with Sublime Text @ SciCloj


    | tonsky.me
  106. Things that go wrong with disk IO


    | notes.eatonphil.com
  107. Allocator.resize


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


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


    | kerkour.com
  110. Black Hat Rust Promotion


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


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


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


    | kerkour.com
  114. Three flavors of sorting Go slices


    | rednafi.com
  115. Podcast: Мир стал строго лучше @ Думаем дальше


    | tonsky.me
  116. Hardware-Aware Coding: CPU Architecture Concepts Every Developer Should Know


    | blog.codingconfessions.com
  117. Du désir profond de se faire arnaquer


    | ploum.net
  118. A 10x faster batch job by batching PostgreSQL inserts/updates with Rust and SQLx


    | kerkour.com
  119. The Compressed Book Edition


    | solar.lowtechmagazine.com
  120. Writing against the global lobotomy


    | kerkour.com
  121. Cofessions Of A Code Addict


    | lovergne.dev
  122. Verification-First Development


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


    | kerkour.com
  124. Implications of Global Privacy Control


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


    | openmymind.net
  126. did u ever read so hard u accidentally wrote?


    | blog.danslimmon.com
  127. 0052: hytradboi videos and post-mortem, zest repo, no internet, on social media, my product is my garden, datafusion and clickhouse jits, books


    | scattered-thoughts.net
  128. Python Performance: Why 'if not list' is 2x Faster Than Using len()


    | blog.codingconfessions.com
  129. New Blog Post: "A Perplexing Javascript Parsing Puzzle"


    | buttondown.com
  130. Nil comparisons and Go interface


    | rednafi.com
  131. N’attendez pas, changez vos paradigmes !


    | ploum.net
  132. When worse is better


    | bitecode.dev
  133. Rohit Chess


    | grantslatton.com
  134. Computer, Enhance!


    | lovergne.dev
  135. What makes concurrency so hard?


    | lovergne.dev
  136. Models All the Way Down


    | lovergne.dev
  137. AI: Where in the Loop Should Humans Go?


    | ferd.ca
  138. Zig's dot star syntax (value.*)


    | openmymind.net
  139. Stacked middleware vs embedded delegation in Go


    | rednafi.com
  140. Web browsers and our future as developers


    | bitecode.dev
  141. HYTRADBOI 2025 postmortem


    | scattered-thoughts.net
  142. What's up Python? Better packaging and better debugging


    | bitecode.dev
  143. Minimal downtime Postgres major version upgrades with EDB Postgres Distributed


    | notes.eatonphil.com
  144. Tracking Down zsh Alias Plugin Sources


    | safjan.com
  145. GetOrPut With String Keys


    | openmymind.net
  146. Other kinds of talks


    | scattered-thoughts.net
  147. A 16-Color Vim Color Scheme


    | hamvocke.com
  148. [Course Launch] Hands-on Introduction to X86 Assembly


    | blog.codingconfessions.com
  149. Folding code blocks in VS Code


    | petemillspaugh.com
  150. Slashing my ".bashrc" in half


    | bitecode.dev
  151. AI software I'm surprised doesn't exist yet


    | grantslatton.com
  152. Comparing Strings as Integers with @bitCast


    | openmymind.net
  153. Five Kinds of Nondeterminism


    | buttondown.com
  154. CSS user-select


    | petemillspaugh.com
  155. An interview with Leonard Richardson


    | htmx.org
  156. De la soumission au technofascisme religieux


    | ploum.net
  157. My Top 15 OS Books: From Theory and Implementation to Systems Programming


    | blog.codingconfessions.com
  158. CSS ampersand selector


    | petemillspaugh.com
  159. A year of uv: pros, cons, and should you migrate


    | bitecode.dev
  160. From web developer to database developer in 10 years


    | notes.eatonphil.com
  161. Writing TILs


    | petemillspaugh.com
  162. this, self, window, global, globalThis, etc.


    | petemillspaugh.com
  163. 0051: hytradboi program and tickets, query compilers, decorrelation encore, books, misc


    | scattered-thoughts.net
  164. Blob API


    | petemillspaugh.com
  165. Switching on Strings in Zig


    | openmymind.net
  166. Christ the True and Better Frodo


    | lukeplant.me.uk
  167. Are Efficiency and Horizontal Scalability at odds?


    | buttondown.com
  168. Is ops a bullshit job?


    | blog.danslimmon.com
  169. CSS cascade layers


    | petemillspaugh.com
  170. CSS revert-layer


    | petemillspaugh.com
  171. Machine: Learning; Human: Unlearning;


    |
  172. Guide to Managing VS Code Keyboard Shortcuts


    | safjan.com
  173. Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance


    | blog.codingconfessions.com
  174. Why does Go's io.Reader have such a weird signature?


    | rednafi.com
  175. Using Generics to Inject Stubs when Testing


    | openmymind.net
  176. Technocapital


    | grantslatton.com
  177. Passwords suck a lot. Can passkeys replace them?


    | kerkour.com
  178. Go slice gotchas


    | rednafi.com
  179. Let's compile Python 1.0


    | bitecode.dev
  180. What Fekete's Anomaly Can Teach Us About Isolation


    | brooker.co.za
  181. Versioning versus Coordination


    | brooker.co.za
  182. Making Ham, 2025 Edition


    | hamvocke.com
  183. Writing a good design document


    | grantslatton.com
  184. What's up Python? A new Windows installer, ruff will type check, Pypi quarantines...


    | bitecode.dev
  185. "Passage"


    | grantslatton.com
  186. HYTRADBOI 2025 program and tickets


    | scattered-thoughts.net
  187. What hard thing does your tech make easy?


    | buttondown.com
  188. Incident SEV scales are a waste of time


    | blog.danslimmon.com
  189. Edit for clarity


    | notes.eatonphil.com
  190. A Software Engineer's Guide to Reading Research Papers


    | blog.codingconfessions.com
  191. In Zig, What's a Writer?


    | openmymind.net
  192. Goodbye, Griff. You were a good boy.


    | joshcollinsworth.com
  193. An interview with Chris Wanstrath aka @defunkt, Creator of pjax


    | htmx.org
  194. An interview with Makinde Adeagbo, Creator of Primer


    | htmx.org
  195. An interview with Mike Amundsen, Author of 'RESTful Web APIs'


    | htmx.org
  196. Vendoring


    | htmx.org
  197. Change Python's syntax with the "# coding:" trick


    | bitecode.dev
  198. Launching Live Courses on Systems Programming


    | blog.codingconfessions.com
  199. What should I know about JavaScript engines and runtimes?


    | petemillspaugh.com
  200. An explosion of transitive dependencies


    | notes.eatonphil.com
  201. JavaScript Temporal is coming


    | developer.mozilla.org
  202. Rare words in common phrases, and how to avoid getting them wrong


    | joshcollinsworth.com
  203. SHA-3 Explained: Understanding The Sponge Construction, Keccak, SHAKE, KMAC, TurboSHAKE and KangarooTwelve


    | kerkour.com
  204. Hacking Subaru: Tracking and Controlling Cars via the STARLINK Admin Panel


    | samcurry.net
  205. The Juggler's Curse


    | buttondown.com
  206. Embedding Python in Rust (for tests)


    | notes.eatonphil.com
  207. Gloomy Season


    | hamvocke.com
  208. Using SIMD to Tell if the High Bit is Set


    | openmymind.net
  209. The domain knowledge dilemma


    | rednafi.com
  210. Linux Context Switches: The Truth About TLB Flushes


    | blog.codingconfessions.com
  211. Kind Engineering


    | hamvocke.com
  212. Logical replication in Postgres: Basics


    | notes.eatonphil.com
  213. Simple In-Memory Knowledge Graphs for Quick Graph Querying


    | safjan.com
  214. What are the Rosettas of formal specification?


    | buttondown.com
  215. Peeking Behind Zig Interfaces by Creating a Dummy std.Random Implementation


    | openmymind.net
  216. Live Session: How Modern CPUs Execute Your Code: A Deep Dive into Performance


    | blog.codingconfessions.com
  217. Fix your website's Largest Contentful Paint by optimizing image loading


    | developer.mozilla.org
  218. How Unix Spell Ran in 64kB RAM


    | blog.codingconfessions.com
  219. The missing tier for query compilers


    | scattered-thoughts.net
  220. Hierarchical rate limiting with Redis sorted sets


    | rednafi.com
  221. Alternatives to htmx


    | htmx.org
  222. Yes, you should use a Python venv in a container like docker


    | bitecode.dev
  223. Dynamic shell variables


    | rednafi.com
  224. A Real World wasm to htmx Port


    | htmx.org
  225. Comptime as Configuration


    | openmymind.net
  226. MDN 2024 content projects


    | developer.mozilla.org
  227. "Logic for Programmers" Project Update


    | buttondown.com
  228. Link blog in a static site


    | rednafi.com
  229. Design Patterns


    | grantslatton.com
  230. The Joy of Under-Engineering


    | hamvocke.com
  231. Zig's @bitCast


    | openmymind.net
  232. All your Python project in one file with shiv


    | bitecode.dev
  233. How to write complex software


    | grantslatton.com
  234. TinyFeed


    | lovergne.dev
  235. blogs rot. wikis wait.


    | j3s.sh
  236. The future of htmx


    | htmx.org
  237. Benchmarking RSA Key Generation


    | words.filippo.io
  238. Running only a single instance of a process


    | rednafi.com
  239. Looking Back at 2024


    | hamvocke.com
  240. How I run a coffee club


    | notes.eatonphil.com
  241. Recursive project search in Emacs


    | lukeplant.me.uk
  242. Need an Air Horn? Say No More.


    | hamvocke.com
  243. Linux Context Switching Internals: Part 1 - Process State and Memory


    | blog.codingconfessions.com
  244. What's up Python: MOAR uv, flask-like Django, debugging live processes...


    | bitecode.dev
  245. datalists are more powerful than you think


    | htmhell.dev
  246. Boost website speed with prefetching and the Speculation Rules API


    | htmhell.dev
  247. Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers


    | htmhell.dev
  248. Picking up volleyball in NYC with Goodrec and New York Urban


    | notes.eatonphil.com
  249. Basic Awareness in Addition to Deep Understanding


    | openmymind.net
  250. The underrated <dl> element


    | htmhell.dev
  251. Preloading fonts for web performance with link rel="preload"


    | htmhell.dev
  252. Things I enjoyed in 2024


    | joshcollinsworth.com
  253. The search input: They almost got it right


    | htmhell.dev
  254. htmx quirks


    | htmx.org
  255. The devil is in the <details>


    | htmhell.dev
  256. Function types and single-method interfaces in Go


    | rednafi.com