Feed

  1. Introduction to embedded development with Rust: Overview of the ecosystem


    | kerkour.com
  2. Lest We Forget The Horrors


    | chriscoyier.net
  3. The Gap Through Which We Praise the Machine


    | ferd.ca
  4. Weekly Update 455


    | troyhunt.com
  5. One Law to Rule All Code Optimizations


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


    | buttondown.com
  7. Pikmin 2 International Treasure Hoard


    | sethmlarson.dev
  8. Weekly Update 454


    | troyhunt.com
  9. Systems Fun at HotOS


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


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


    | scattered-thoughts.net
  12. Consider Knitting


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


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


    | buttondown.com
  15. Streaming


    | chriscoyier.net
  16. Weekly Update 453


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


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


    | bell.bz
  19. Access Control Syntax


    | journal.stuffwithstuff.com
  20. Cheerleading


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


    | rednafi.com
  22. White Noise


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


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


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


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


    | kerkour.com
  27. Good Performance for Bad Days


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


    | troyhunt.com
  29. LLM Memory


    | grantslatton.com
  30. Weekly Update 452


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


    | blog.codingconfessions.com
  32. Logo:


    | tonsky.me
  33. Petit manifeste low-tech


    | ploum.net
  34. Welcoming the Malaysian Government to Have I Been Pwned


    | troyhunt.com
  35. TAG Bulletin: Q1 2025


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


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


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


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


    | bell.bz
  40. Knowledge creates technical debt


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


    | ploum.net
  42. Claude Code


    | grantslatton.com
  43. Weekly Update 451


    | troyhunt.com
  44. The Am Dash


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


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


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


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


    | troyhunt.com
  49. Animal CrosSCII


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


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


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


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


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


    | troyhunt.com
  55. Voicemail for notifications


    | sethmlarson.dev
  56. Podfox: World's First Container-Aware Browser


    | val.packett.cool
  57. Weekly Update 450


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


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


    | sethmlarson.dev
  60. jQuery Reunion


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


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


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


    | tonsky.me
  64. Untitled


    | chriscoyier.net
  65. Chilis in Oregon


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


    | kerkour.com
  67. Untitled


    | chriscoyier.net
  68. Mars


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


    | lovergne.dev
  70. Weekly Update 449


    | troyhunt.com
  71. The Mayor


    | chriscoyier.net
  72. Differential Coverage for Debugging


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


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


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


    | troyhunt.com
  76. The next big thing in Python


    | bitecode.dev
  77. Sorting Algorithm: The Game


    | grantslatton.com
  78. Burn your title


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


    | rednafi.com
  80. Transactions are a protocol


    | notes.eatonphil.com
  81. Decomposing Aurora DSQL


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


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


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


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


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


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


    | rednafi.com
  88. Binary Arithmetic and Bitwise Operations for Systems Programming


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


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


    | developer.mozilla.org
  91. Zig's new LinkedList API (it's time to learn @fieldParentPtr)


    | openmymind.net
  92. De l’utilisation des smartphones et des tablettes chez les adolescents


    | ploum.net
  93. How to implement cryptographically-secure API keys in Rust


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


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


    | ploum.net
  96. Typo Minimizing Keyboard


    | grantslatton.com
  97. A Fresh Coat of Paint


    | hamvocke.com
  98. The Curve is Bending


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


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


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


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


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


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


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


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


    | buttondown.com
  107. Talk: Clojure workflow with Sublime Text @ SciCloj


    | tonsky.me
  108. Deferred teardown closure in Go testing


    | rednafi.com
  109. Allocator.resize


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


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


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


    | kerkour.com
  113. Black Hat Rust Promotion


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


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


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


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


    | tonsky.me
  118. Three flavors of sorting Go slices


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


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


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


    | kerkour.com
  122. The Compressed Book Edition


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


    | kerkour.com
  124. Cofessions Of A Code Addict


    | lovergne.dev
  125. Verification-First Development


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


    | kerkour.com
  127. Implications of Global Privacy Control


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


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


    | blog.danslimmon.com
  130. 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
  131. Python Performance: Why 'if not list' is 2x Faster Than Using len()


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


    | buttondown.com
  133. Nil comparisons and Go interface


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


    | ploum.net
  135. When worse is better


    | bitecode.dev
  136. Rohit Chess


    | grantslatton.com
  137. Computer, Enhance!


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


    | lovergne.dev
  139. Models All the Way Down


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


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


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


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


    | bitecode.dev
  144. HYTRADBOI 2025 postmortem


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


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


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


    | safjan.com
  148. GetOrPut With String Keys


    | openmymind.net
  149. A 16-Color Vim Color Scheme


    | hamvocke.com
  150. Other kinds of talks


    | scattered-thoughts.net
  151. [Course Launch] Hands-on Introduction to X86 Assembly


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


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


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


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


    | openmymind.net
  156. Five Kinds of Nondeterminism


    | buttondown.com
  157. An interview with Leonard Richardson


    | htmx.org
  158. CSS user-select


    | petemillspaugh.com
  159. De la soumission au technofascisme religieux


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


    | blog.codingconfessions.com
  161. CSS ampersand selector


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


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


    | notes.eatonphil.com
  164. Writing TILs


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


    | petemillspaugh.com
  166. Switching on Strings in Zig


    | openmymind.net
  167. 0051: hytradboi program and tickets, query compilers, decorrelation encore, books, misc


    | scattered-thoughts.net
  168. Blob API


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


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


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


    | blog.danslimmon.com
  172. CSS cascade layers


    | petemillspaugh.com
  173. CSS revert-layer


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


    |
  175. Guide to Managing VS Code Keyboard Shortcuts


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


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


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


    | openmymind.net
  179. Technocapital


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


    | kerkour.com
  181. Go slice gotchas


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


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


    | brooker.co.za
  184. Versioning versus Coordination


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


    | hamvocke.com
  186. Writing a good design document


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


    | bitecode.dev
  188. "Passage"


    | grantslatton.com
  189. HYTRADBOI 2025 program and tickets


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


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


    | blog.danslimmon.com
  192. Edit for clarity


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


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


    | openmymind.net
  195. An interview with Chris Wanstrath aka @defunkt, Creator of pjax


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


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


    | htmx.org
  198. Vendoring


    | htmx.org
  199. Goodbye, Griff. You were a good boy.


    | joshcollinsworth.com
  200. Change Python's syntax with the "# coding:" trick


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


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


    | petemillspaugh.com
  203. An explosion of transitive dependencies


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


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


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


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


    | samcurry.net
  208. The Juggler's Curse


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


    | notes.eatonphil.com
  210. Gloomy Season


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


    | openmymind.net
  212. The domain knowledge dilemma


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


    | blog.codingconfessions.com
  214. Kind Engineering


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


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


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


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


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


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


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


    | blog.codingconfessions.com
  222. Alternatives to htmx


    | htmx.org
  223. The missing tier for query compilers


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


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


    | bitecode.dev
  226. Dynamic shell variables


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


    | htmx.org
  228. Comptime as Configuration


    | openmymind.net
  229. MDN 2024 content projects


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


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


    | rednafi.com
  232. Design Patterns


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


    | hamvocke.com
  234. Zig's @bitCast


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


    | bitecode.dev
  236. How to write complex software


    | grantslatton.com
  237. blogs rot. wikis wait.


    | j3s.sh
  238. TinyFeed


    | lovergne.dev
  239. The future of htmx


    | htmx.org
  240. Benchmarking RSA Key Generation


    | words.filippo.io
  241. Looking Back at 2024


    | hamvocke.com
  242. Running only a single instance of a process


    | rednafi.com
  243. How I run a coffee club


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


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


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


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


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


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


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


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


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


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


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


    | htmhell.dev
  255. Things I enjoyed in 2024


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


    | htmhell.dev