Feed


  1. I’m getting fed up of making the rich, richer


    | bell.bz
  2. Avoiding memory fragmentation in Rust with jemalloc


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


    | ploum.net
  4. Join the PyCon US 2025 Security Mini-Track! 🐍🛡️


    | sethmlarson.dev
  5. Go 1.24's "tool" directive


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


    | bitbashing.io
  7. Weekly Update 447


    | troyhunt.com
  8. Binary Arithmetic and Bitwise Operations for Systems Programming


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


    | rednafi.com
  10. Cool bridging thing


    | bell.bz
  11. Default styles for h1 elements are changing


    | developer.mozilla.org
  12. Am I missing your country with our Purchasing Power Parity system


    | bell.bz
  13. De l’utilisation des smartphones et des tablettes chez les adolescents


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


    | openmymind.net
  15. types of terminal programs


    | wizardzines.com
  16. How to implement cryptographically-secure API keys in Rust


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


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


    | ploum.net
  19. Typo Minimizing Keyboard


    | grantslatton.com
  20. A Fresh Coat of Paint


    | hamvocke.com
  21. The Curve is Bending


    | grantslatton.com
  22. Seeing the Matrix: A First-Principles Approach to Computer Architecture


    | blog.codingconfessions.com
  23. Weekly Update 446


    | troyhunt.com
  24. Frontend Masters “Snackable Tutorials”


    | chriscoyier.net
  25. Updating yesterday's post on social media engagement


    | martinfowler.com
  26. Graph Search Algorithm: The Game


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


    | joshcollinsworth.com
  28. Social Media Engagement in Early 2025


    | martinfowler.com
  29. An incredible week for Markdown Ninja


    | kerkour.com
  30. Nintendo Switch 2: DRM, expensive, and GameCube


    | sethmlarson.dev
  31. terminal escape codes


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


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


    | kerkour.com
  34. I've been kidnapped by Robert Caro


    | martinfowler.com
  35. [April Cools] Gaming Games for Non-Gamers


    | buttondown.com
  36. Weekly Update 445


    | troyhunt.com
  37. Deferred teardown closure in Go testing


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


    | tonsky.me
  39. [Igalia Podcast] What Happens If They Sell Chrome?


    | chriscoyier.net
  40. Allocator.resize


    | openmymind.net
  41. Things that go wrong with disk IO


    | notes.eatonphil.com
  42. Betteridge's Law of Software Engineering Specialness


    | buttondown.com
  43. canonical mode


    | wizardzines.com
  44. the terminal: cast of characters


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


    | kerkour.com
  46. Black Hat Rust Promotion


    | kerkour.com
  47. The role of developer skills in agentic coding


    | martinfowler.com
  48. A Sneaky Phish Just Grabbed my Mailchimp Mailing List


    | troyhunt.com
  49. One or Two? How Many Queues?


    | brooker.co.za
  50. Don't bring slop to a slop fight


    | sethmlarson.dev
  51. Phil Eaton on Technical Blogging


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


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


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


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


    | blog.codingconfessions.com
  56. Weekly Update 444


    | troyhunt.com
  57. Du désir profond de se faire arnaquer


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


    | kerkour.com
  59. I fear for the unauthenticated web


    | sethmlarson.dev
  60. The Compressed Book Edition


    | solar.lowtechmagazine.com
  61. ShopTalk on YouTube


    | chriscoyier.net
  62. Writing against the global lobotomy


    | kerkour.com
  63. Cofessions Of A Code Addict


    | lovergne.dev
  64. “Open Recent” UI in VS Code Alternatives


    | chriscoyier.net
  65. Verification-First Development


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


    | kerkour.com
  67. Weekly Update 443


    | troyhunt.com
  68. AI Slop Podcasts?


    | chriscoyier.net
  69. Implications of Global Privacy Control


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


    | openmymind.net
  71. Google Being Forced To Sell Chrome is Not Good for the Web


    | chriscoyier.net
  72. did u ever read so hard u accidentally wrote?


    | blog.danslimmon.com
  73. Fediverse Donut Club (#FediDonutFriday)


    | sethmlarson.dev
  74. On Balatro


    | chriscoyier.net
  75. Python Performance: Why 'if not list' is 2x Faster Than Using len()


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


    | buttondown.com
  77. Nil comparisons and Go interface


    | rednafi.com
  78. Soft-Launching and Open Sourcing the Have I Been Pwned Rebrand


    | troyhunt.com
  79. N’attendez pas, changez vos paradigmes !


    | ploum.net
  80. When worse is better


    | bitecode.dev
  81. Rohit Chess


    | grantslatton.com
  82. Computer, Enhance!


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


    | lovergne.dev
  84. Models All the Way Down


    | lovergne.dev
  85. Weekly Update 442


    | troyhunt.com
  86. AI: Where in the Loop Should Humans Go?


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


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


    | rednafi.com
  89. It’s almost like they are saying one thing and doing another.


    | chriscoyier.net
  90. shell history


    | wizardzines.com
  91. Web browsers and our future as developers


    | bitecode.dev
  92. We're Backfilling and Cleaning Stealer Logs in Have I Been Pwned


    | troyhunt.com
  93. What's up Python? Better packaging and better debugging


    | bitecode.dev
  94. Weekly Update 441


    | troyhunt.com
  95. Minimal downtime Postgres major version upgrades with EDB Postgres Distributed


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


    | safjan.com
  97. GetOrPut With String Keys


    | openmymind.net
  98. JT & Kelsey


    | chriscoyier.net
  99. Commenting on removing "X" on US passports


    | martinfowler.com
  100. Processing 23 Billion Rows of ALIEN TXTBASE Stealer Logs


    | troyhunt.com
  101. GenAI Patterns: Fine Tuning


    | martinfowler.com
  102. Weekly Update 440


    | troyhunt.com
  103. A 16-Color Vim Color Scheme


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


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


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


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


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


    | openmymind.net
  109. Five Kinds of Nondeterminism


    | buttondown.com
  110. GenAI Patterns: Guardrails and RAG overview


    | martinfowler.com
  111. An interview with Leonard Richardson


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


    | ploum.net
  113. CSS user-select


    | petemillspaugh.com
  114. Calculators & Writing


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


    | blog.codingconfessions.com
  116. What role does LLM reasoning play for software tasks?


    | martinfowler.com
  117. Le succès existe-t-il ?


    | ploum.net
  118. CSS ampersand selector


    | petemillspaugh.com
  119. Weekly Update 439


    | troyhunt.com
  120. A year of uv: pros, cons, and should you migrate


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


    | notes.eatonphil.com
  122. Writing TILs


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


    | petemillspaugh.com
  124. GenAI Patterns: Reranker


    | martinfowler.com
  125. Switching on Strings in Zig


    | openmymind.net
  126. Blob API


    | petemillspaugh.com
  127. Christ the True and Better Frodo


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


    | buttondown.com
  129. Meetings & Space


    | chriscoyier.net
  130. GenAI Patterns: Query Rewriting


    | martinfowler.com
  131. Is ops a bullshit job?


    | blog.danslimmon.com
  132. À la recherche de la déconnexion parfaite


    | ploum.net
  133. CSS cascade layers


    | petemillspaugh.com
  134. CSS revert-layer


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


    |
  136. Guide to Managing VS Code Keyboard Shortcuts


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


    | blog.codingconfessions.com
  138. Weekly Update 438


    | troyhunt.com
  139. Why does Go's io.Reader have such a weird signature?


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


    | openmymind.net
  141. Technocapital


    | grantslatton.com
  142. The DeepSeek Series: A Technical Overview


    | martinfowler.com
  143. Passwords suck a lot. Can passkeys replace them?


    | kerkour.com
  144. Go slice gotchas


    | rednafi.com
  145. De la décadence technologique et des luddites technophiles


    | ploum.net
  146. GenAI Patterns: RAG Limitations and Hybrid Retriever


    | martinfowler.com
  147. Let's compile Python 1.0


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


    | brooker.co.za
  149. Panel at goto Copenhagen: "Where is SW development Going


    | youtube.com
  150. GenAI Patterns: Retrieval Augmented Generation (RAG)


    | martinfowler.com
  151. Versioning versus Coordination


    | brooker.co.za
  152. Weekly Update 437


    | troyhunt.com
  153. Making Ham, 2025 Edition


    | hamvocke.com
  154. Writing a good design document


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


    | bitecode.dev
  156. "Passage"


    | grantslatton.com
  157. Control


    | chriscoyier.net
  158. Bliki: Forest And Desert


    | martinfowler.com
  159. What hard thing does your tech make easy?


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


    | blog.danslimmon.com
  161. Embeddings in GenAI Products


    | martinfowler.com
  162. Et si on arrêtait d’être de bons petits consultants obéissants ?


    | ploum.net
  163. Edit for clarity


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


    | blog.codingconfessions.com
  165. Emerging Patterns in Building GenAI Products


    | martinfowler.com
  166. In Zig, What's a Writer?


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


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


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


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


    | htmx.org
  171. Vendoring


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


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


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


    | petemillspaugh.com
  175. An explosion of transitive dependencies


    | notes.eatonphil.com
  176. Podcast with Luca Rossi


    | refactoring.fm
  177. Rare words in common phrases, and how to avoid getting them wrong


    | joshcollinsworth.com
  178. JavaScript Temporal is coming


    | developer.mozilla.org
  179. SHA-3 Explained: Understanding The Sponge Construction, Keccak, SHAKE, KMAC, TurboSHAKE and KangarooTwelve


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


    | samcurry.net
  181. The Juggler's Curse


    | buttondown.com
  182. Codemods in other languages


    | martinfowler.com
  183. Embedding Python in Rust (for tests)


    | notes.eatonphil.com
  184. Gloomy Season


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


    | openmymind.net
  186. The domain knowledge dilemma


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


    | blog.codingconfessions.com
  188. Kind Engineering


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


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


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


    | buttondown.com
  192. Fixing Common Pitfalls of Codemods


    | martinfowler.com
  193. Peeking Behind Zig Interfaces by Creating a Dummy std.Random Implementation


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


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


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


    | blog.codingconfessions.com
  197. Alternatives to htmx


    | htmx.org
  198. Hierarchical rate limiting with Redis sorted sets


    | rednafi.com
  199. Yes, you should use a Python venv in a container like docker


    | bitecode.dev
  200. Dynamic shell variables


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


    | htmx.org
  202. Comptime as Configuration


    | openmymind.net
  203. My favorite musical discoveries of 2024


    | martinfowler.com
  204. A more complex codemod


    | martinfowler.com
  205. MDN 2024 content projects


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


    | buttondown.com
  207. Refactoring with Codemods to Automate API Changes


    | martinfowler.com
  208. Link blog in a static site


    | rednafi.com
  209. Design Patterns


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


    | hamvocke.com
  211. Zig's @bitCast


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


    | bitecode.dev
  213. How to write complex software


    | grantslatton.com
  214. The future of htmx


    | htmx.org
  215. TinyFeed


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


    | j3s.sh
  217. Benchmarking RSA Key Generation


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


    | rednafi.com
  219. Looking Back at 2024


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


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


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


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


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


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


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


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


    | htmhell.dev
  228. Basic Awareness in Addition to Deep Understanding


    | openmymind.net
  229. Picking up volleyball in NYC with Goodrec and New York Urban


    | notes.eatonphil.com
  230. The underrated <dl> element


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


    | htmhell.dev
  232. Things I enjoyed in 2024


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


    | htmhell.dev
  234. htmx quirks


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


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


    | rednafi.com
  237. How to Build an Electrically Heated Table?


    | solar.lowtechmagazine.com
  238. PSA: Stop using the title attribute as tooltip!


    | htmhell.dev
  239. Bureaulogy


    | grantslatton.com
  240. Grouping form fields


    | htmhell.dev
  241. A new learning experience on MDN


    | developer.mozilla.org
  242. My favourite colour is Chuck Norris red


    | htmhell.dev
  243. Sorting Strings in Zig


    | openmymind.net
  244. Getting Oriented with HTML Video


    | htmhell.dev
  245. Formally modeling dreidel, the sequel


    | buttondown.com
  246. Reflections on 2024 and Exciting Plans for 2025


    | blog.codingconfessions.com
  247. Choosing a hash function for 2030 and beyond: SHA-2 vs SHA-3 vs BLAKE3


    | kerkour.com
  248. Microdata for books


    | htmhell.dev
  249. TAG Bulletin: Q4 2024


    | blog.google
  250. Browsertech Digest: Encrypting offline storage for local-first apps


    | digest.browsertech.com
  251. The difference between Bandwidth and Traffic (ingress and egress)


    | kerkour.com
  252. htmx lore


    | htmx.org
  253. SSH saga


    | rednafi.com
  254. Snapshot Isolation vs Serializability


    | brooker.co.za
  255. How I gained a new perspective on ARIA


    | htmhell.dev
  256. You don’t need the isOpen class


    | htmhell.dev