Feed


  1. Slashing my ".bashrc" in half


    | bitecode.dev
  2. Five Kinds of Nondeterminism


    | buttondown.com
  3. Open Up with Brad Frost – A New Advice Show With Smashing Magazine


    | bradfrost.com
  4. GenAI Patterns: Guardrails and RAG overview


    | martinfowler.com
  5. CSS user-select


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


    | ploum.net
  7. An interview with Leonard Richardson


    | htmx.org
  8. Calculators & Writing


    | chriscoyier.net
  9. My Life in Weeks by Gina Trapani


    | bradfrost.com
  10. My Top 15 OS Books: From Theory and Implementation to Systems Programming


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


    | martinfowler.com
  12. CSS ampersand selector


    | petemillspaugh.com
  13. Le succès existe-t-il ?


    | ploum.net
  14. You’re Not Creating Enough Prototypes – Blog – zeroheight


    | bradfrost.com
  15. XOXO Festival – Cabel Sasser, Panic


    | bradfrost.com
  16. Pattern Club


    | bradfrost.com
  17. How to Be Less Busy and More Happy – The Atlantic


    | bradfrost.com
  18. Weekly Update 439


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


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


    | notes.eatonphil.com
  21. Subatomic Design Tokens Course: Chapter 2 now live!


    | bradfrost.com
  22. Writing TILs


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


    | petemillspaugh.com
  24. GenAI Patterns: Reranker


    | martinfowler.com
  25. Blob API


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


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


    | buttondown.com
  28. Meetings & Space


    | chriscoyier.net
  29. GenAI Patterns: Query Rewriting


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


    | blog.danslimmon.com
  31. Building software for connection (#2: Consensus)


    | sethmlarson.dev
  32. CSS cascade layers


    | petemillspaugh.com
  33. CSS revert-layer


    | petemillspaugh.com
  34. À la recherche de la déconnexion parfaite


    | ploum.net
  35. Guide to Managing VS Code Keyboard Shortcuts


    | safjan.com
  36. Machine: Learning; Human: Unlearning;


    |
  37. Naz Hamid • Less Precious


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


    | blog.codingconfessions.com
  39. Weekly Update 438


    | troyhunt.com
  40. Love newsletters? You’re gonna love RSS


    | andy-bell.co.uk
  41. Why does Go's io.Reader have such a weird signature?


    | rednafi.com
  42. WhoCanUse


    | bradfrost.com
  43. Technocapital


    | grantslatton.com
  44. A Content List With Bulk Actions Using Ancient HTML and Modern CSS – Cloud Four


    | bradfrost.com
  45. The DeepSeek Series: A Technical Overview


    | martinfowler.com
  46. Just a big ol’ markdown file


    | andy-bell.co.uk
  47. Passwords suck a lot. Can passkeys fix that?


    | kerkour.com
  48. Go slice gotchas


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


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


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


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


    | brooker.co.za
  53. Opera introduces a new web browser: Opera Air


    | bradfrost.com
  54. Panel at goto Copenhagen: "Where is SW development Going


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


    | martinfowler.com
  56. Versioning versus Coordination


    | brooker.co.za
  57. Subatomic Design Tokens Course: Chapter 1 now live!


    | bradfrost.com
  58. Efficiency, respect, and the origins of design systems with Brad Frost — On Theme: Design Systems In Depth


    | bradfrost.com
  59. Building software for connection (#1: Local-First)


    | sethmlarson.dev
  60. Weekly Update 437


    | troyhunt.com
  61. Making Ham, 2025 Edition


    | hamvocke.com
  62. Writing a good design document


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


    | bitecode.dev
  64. "Passage"


    | grantslatton.com
  65. CSS text-box-trim  |  Chrome for Developers


    | bradfrost.com
  66. Significant whitespace


    | sethmlarson.dev
  67. Control


    | chriscoyier.net
  68. What hard thing does your tech make easy?


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


    | blog.danslimmon.com
  70. Bliki: Forest And Desert


    | martinfowler.com
  71. Embeddings in GenAI Products


    | martinfowler.com
  72. A Little Arm Chair Businessin’ about Chrome


    | chriscoyier.net
  73. Et si on arrêtait d’être de bons petits consultants obéissants ?


    | ploum.net
  74. Edit for clarity


    | notes.eatonphil.com
  75. Media Diet


    | chriscoyier.net
  76. A Software Engineer's Guide to Reading Research Papers


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


    | martinfowler.com
  78. New Adventures for Old Friends | Big Medium


    | bradfrost.com
  79. Goodbye, Griff. You were a good boy.


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


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


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


    | htmx.org
  83. Vendoring


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


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


    | blog.codingconfessions.com
  86. Weekly Update 436


    | troyhunt.com
  87. What should I know about JavaScript engines and runtimes?


    | petemillspaugh.com
  88. An explosion of transitive dependencies


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


    | refactoring.fm
  90. Pojman Pocket Protector Collection


    | bradfrost.com
  91. A Ham of Meat


    | chriscoyier.net
  92. Rare words in common phrases, and how to avoid getting them wrong


    | joshcollinsworth.com
  93. JavaScript Temporal is coming


    | developer.mozilla.org
  94. Announcement: I’m Going Independent!


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


    | kerkour.com
  96. You Can't Trust Hackers, and Other Data Breach Verification Tales


    | troyhunt.com
  97. Hacking Subaru: Tracking and Controlling Cars via the STARLINK Admin Panel


    | samcurry.net
  98. 2024


    | bradfrost.com
  99. The Juggler's Curse


    | buttondown.com
  100. Codemods in other languages


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


    | notes.eatonphil.com
  102. Team Bend Racing


    | chriscoyier.net
  103. Weekly Update 435


    | troyhunt.com
  104. Gloomy Season


    | hamvocke.com
  105. Ne venez pas dire que vous n’étiez pas prévenus…


    | ploum.net
  106. How to disable Copilot in GitHub?


    | sethmlarson.dev
  107. The domain knowledge dilemma


    | rednafi.com
  108. Nobody Cares


    | bradfrost.com
  109. Linux Context Switches: The Truth About TLB Flushes


    | blog.codingconfessions.com
  110. Kind Engineering


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


    | notes.eatonphil.com
  112. The Garden vs The River


    | chriscoyier.net
  113. Nest Cams


    | chriscoyier.net
  114. Simple In-Memory Knowledge Graphs for Quick Graph Querying


    | safjan.com
  115. Sidebar is back from its break. Of ideas that can’t cease to exist. 


    | bradfrost.com
  116. What are the Rosettas of formal specification?


    | buttondown.com
  117. Donating to LA Fire Support


    | bradfrost.com
  118. Fixing Common Pitfalls of Codemods


    | martinfowler.com
  119. Quickly visualizing an SBOM document


    | sethmlarson.dev
  120. 1,000 lbs


    | chriscoyier.net
  121. Studioworks: Business management software for creative studios


    | bradfrost.com
  122. Live Session: How Modern CPUs Execute Your Code: A Deep Dive into Performance


    | blog.codingconfessions.com
  123. The UX of login codes


    | bradfrost.com
  124. Funky VI


    | bradfrost.com
  125. Experimenting with Stealer Logs in Have I Been Pwned


    | troyhunt.com
  126. Tech + Pace Layering


    | chriscoyier.net
  127. Fix your website's Largest Contentful Paint by optimizing image loading


    | developer.mozilla.org
  128. Weekly Update 434


    | troyhunt.com
  129. How Unix Spell Ran in 64kB RAM


    | blog.codingconfessions.com
  130. Hierarchical rate limiting with Redis sorted sets


    | rednafi.com
  131. Alternatives to htmx


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


    | bitecode.dev
  133. Dynamic shell variables


    | rednafi.com
  134. Short Life of Trouble


    | chriscoyier.net
  135. Durable products


    | bradfrost.com
  136. A Real World wasm to htmx Port


    | htmx.org
  137. Balancing Text In CSS


    | bradfrost.com
  138. 2025: another year of blog on the desktop again | live laugh blog


    | bradfrost.com
  139. Design Tokens Course Update: 2hrs of video now available!


    | bradfrost.com
  140. My favorite musical discoveries of 2024


    | martinfowler.com
  141. A more complex codemod


    | martinfowler.com
  142. MDN 2024 content projects


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


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


    | martinfowler.com
  145. Stimulation Clicker


    | bradfrost.com
  146. Weekly Update 433


    | troyhunt.com
  147. Frostapalooza: one epic night


    | bradfrost.com
  148. Link blog in a static site


    | rednafi.com
  149. Design Patterns


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


    | hamvocke.com
  151. All your Python project in one file with shiv


    | bitecode.dev
  152. How to write complex software


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


    | j3s.sh
  154. The future of htmx


    | htmx.org
  155. Wrapping up 2024


    | andy-bell.co.uk
  156. Benchmarking RSA Key Generation


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


    | rednafi.com
  158. Looking Back at 2024


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


    | notes.eatonphil.com
  160. Weekly Update 432


    | troyhunt.com
  161. Recursive project search in Emacs


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


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


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


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


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


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


    | htmhell.dev
  168. The underrated <dl> element


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


    | notes.eatonphil.com
  170. Weekly Update 431


    | troyhunt.com
  171. Preloading fonts for web performance with link rel="preload"


    | htmhell.dev
  172. Things I enjoyed in 2024


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


    | htmhell.dev
  174. Mon collègue Julius


    | ploum.net
  175. htmx quirks


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


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


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


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


    | htmhell.dev
  180. Bureaulogy


    | grantslatton.com
  181. Grouping form fields


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


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


    | htmhell.dev
  184. Getting Oriented with HTML Video


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


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


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


    | kerkour.com
  188. L’urgence de soutenir l’énergie du libre


    | ploum.net
  189. Microdata for books


    | htmhell.dev
  190. TAG Bulletin: Q4 2024


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


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


    | kerkour.com
  193. SSH saga


    | rednafi.com
  194. htmx lore


    | htmx.org
  195. Snapshot Isolation vs Serializability


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


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


    | htmhell.dev
  198. UV tricks


    | bitecode.dev
  199. Recording: Live Coding a Bytecode Compiler for Python


    | blog.codingconfessions.com
  200. Weekly Update 430


    | troyhunt.com
  201. The Gift You Do NOT Want: A Div in a Button's Clothing


    | htmhell.dev
  202. Mandlebrot set


    | petemillspaugh.com
  203. Crash recovery in 256 bytes


    | cliffle.com
  204. Page by Page: How Pagination Makes the Web Accessible


    | htmhell.dev
  205. dot com et al


    | petemillspaugh.com
  206. Improving User Experience for Multilingual Web Browsing


    | htmhell.dev
  207. Context Switching and Performance: What Every Developer Should Know


    | blog.codingconfessions.com
  208. Design Token-Based UI Architecture


    | martinfowler.com
  209. Raw strings in Rust


    | petemillspaugh.com
  210. HTML and CSS I didn't even know about before I started creating content in Japanese


    | htmhell.dev
  211. Stroustrup's Rule


    | buttondown.com
  212. Browsertech.wasm SF & AI in Prod NYC talk recordings


    | digest.browsertech.com
  213. Isomorphic Web Components


    | jakelazaroff.com
  214. Makeshift hot reload


    | htmhell.dev
  215. Designing Data Products: next steps


    | martinfowler.com
  216. Submit to the Quirks of HTML


    | htmhell.dev
  217. La colère de l’écrivain


    | ploum.net
  218. Native HTML light and dark color scheme switching


    | htmhell.dev
  219. Weekly Update 429


    | troyhunt.com
  220. Past HTML, Future HTML?


    | htmhell.dev
  221. Prefer If Statements To Polymorphism...


    | htmx.org
  222. Almost, but not quite, entirely unlike...


    | htmhell.dev
  223. "Pwned", The Book, Is Now Available for Free


    | troyhunt.com
  224. Pérenniser ma numérique éphémérité


    | ploum.net
  225. DSQL Vignette: Wait! Isn't That Impossible?


    | brooker.co.za
  226. aria-labelledby = self


    | htmhell.dev
  227. frood, an Alpine initramfs NAS


    | words.filippo.io
  228. Check if a point is in a cylinder - geometry and code


    | lukeplant.me.uk
  229. DSQL Vignette: Transactions and Durability


    | brooker.co.za
  230. Forced Colors Mode Futility


    | htmhell.dev
  231. Generalizing the design of data products


    | martinfowler.com
  232. Welcoming the Armenian Government to Have I Been Pwned


    | troyhunt.com
  233. DSQL Vignette: Reads and Compute


    | brooker.co.za
  234. Control the Viewport Resize Behavior on mobile with `interactive-widget`


    | htmhell.dev
  235. Designing data products: Working backwards from use cases


    | martinfowler.com
  236. DSQL Vignette: Aurora DSQL, and A Personal Story


    | brooker.co.za
  237. Smooth Multi-Page Experiences with Just a Few Lines of CSS


    | htmhell.dev
  238. Injecting Pytest fixtures without cluttering test signatures


    | rednafi.com
  239. Starting off right: Where autofocus shines


    | htmhell.dev
  240. Live Session: Live Coding a Bytecode Interpreter for Python


    | blog.codingconfessions.com
  241. Countdown to the holidays with daily coding challenges


    | developer.mozilla.org
  242. A link on a logo in the header, what should the alt-text be?


    | htmhell.dev
  243. 1 million page views


    | notes.eatonphil.com
  244. Comparing AWS S3 with Cloudflare R2: Price, Performance and User Experience


    | kerkour.com
  245. Disillusioning the Magic of the fork System Call


    | blog.codingconfessions.com
  246. How to solve your Cross-Origin Resource Sharing (CORS) errors by building a proxy with Cloudflare Pages and Cloudflare workers


    | kerkour.com
  247. #34 a button is not a link


    | htmhell.dev
  248. Samuel Colvin on LogFire, mixing Python with Rust & being pydantic about types


    | bitecode.dev
  249. How to avoid the thundering herd problem in Go with the singleflight package


    | kerkour.com
  250. Revisiting Hubris appconfigs


    | cliffle.com
  251. Codin' Dirty


    | htmx.org
  252. How to deploy a Docker image to Scaleway serverless containers from a CI/CD pipeline (e.g. GitHub actions) using the API


    | kerkour.com
  253. Drinking from the Bluesky Firehose


    | jakelazaroff.com
  254. Hyperproperties


    | buttondown.com
  255. Exploring Gen AI: Copilot's new multi-file editing


    | martinfowler.com
  256. Mach 1 with Python!


    | bitecode.dev