Feed


  1. 1,000 lbs


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


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


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


    | bradfrost.com
  5. Funky VI


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


    | troyhunt.com
  7. Tech + Pace Layering


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


    | developer.mozilla.org
  9. Weekly Update 434


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


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


    | rednafi.com
  12. Alternatives to htmx


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


    | bitecode.dev
  14. Dynamic shell variables


    | rednafi.com
  15. Short Life of Trouble


    | chriscoyier.net
  16. Durable products


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


    | htmx.org
  18. Balancing Text In CSS


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


    | bradfrost.com
  20. Exploring Hogwarts Puzzle


    | chriscoyier.net
  21. Design Tokens Course Update: 2hrs of video now available!


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


    | martinfowler.com
  23. Check-in-the-Mail IRL Spam (Canada Dry)


    | chriscoyier.net
  24. A more complex codemod


    | martinfowler.com
  25. MDN 2024 content projects


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


    | buttondown.com
  27. Starlink


    | chriscoyier.net
  28. Refactoring with Codemods to Automate API Changes


    | martinfowler.com
  29. Stimulation Clicker


    | bradfrost.com
  30. M4


    | chriscoyier.net
  31. Untitled


    | chriscoyier.net
  32. Recreate a Cool Shuffling Effect in Pure CSS


    | chriscoyier.net
  33. Weekly Update 433


    | troyhunt.com
  34. Frostapalooza: one epic night


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


    | rednafi.com
  36. Media Diet


    | chriscoyier.net
  37. Slash Pages?


    | chriscoyier.net
  38. Design Patterns


    | grantslatton.com
  39. Realign


    | chriscoyier.net
  40. The Joy of Under-Engineering


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


    | bitecode.dev
  42. How to write complex software


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


    | j3s.sh
  44. The future of htmx


    | htmx.org
  45. Wrapping up 2024


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


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


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


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


    | notes.eatonphil.com
  50. Weekly Update 432


    | troyhunt.com
  51. Recursive project search in Emacs


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


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


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


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


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


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


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


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


    | notes.eatonphil.com
  60. Weekly Update 431


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


    | htmhell.dev
  62. Things I enjoyed in 2024


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


    | htmhell.dev
  64. Introducing Subatomic: The Complete Guide To Design Tokens


    | bradfrost.com
  65. Mon collègue Julius


    | ploum.net
  66. htmx quirks


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


    | htmhell.dev
  68. How to Build an Electrically Heated Table?


    | solar.lowtechmagazine.com
  69. Function types and single-method interfaces in Go


    | rednafi.com
  70. PSA: Stop using the title attribute as tooltip!


    | htmhell.dev
  71. Bureaulogy


    | grantslatton.com
  72. Grouping form fields


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


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


    | htmhell.dev
  75. Getting Oriented with HTML Video


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


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


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


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


    | ploum.net
  80. Microdata for books


    | htmhell.dev
  81. TAG Bulletin: Q4 2024


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


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


    | kerkour.com
  84. SSH saga


    | rednafi.com
  85. htmx lore


    | htmx.org
  86. Snapshot Isolation vs Serializability


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


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


    | htmhell.dev
  89. UV tricks


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


    | blog.codingconfessions.com
  91. Weekly Update 430


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


    | htmhell.dev
  93. Mandlebrot set


    | petemillspaugh.com
  94. Crash recovery in 256 bytes


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


    | htmhell.dev
  96. dot com et al


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


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


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


    | martinfowler.com
  100. Raw strings in Rust


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


    | htmhell.dev
  102. Stroustrup's Rule


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


    | digest.browsertech.com
  104. Isomorphic Web Components


    | jakelazaroff.com
  105. Makeshift hot reload


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


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


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


    | ploum.net
  109. New experimental Debian package for Cosign (Sigstore)


    | sethmlarson.dev
  110. Native HTML light and dark color scheme switching


    | htmhell.dev
  111. Weekly Update 429


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


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


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


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


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


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


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


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


    | words.filippo.io
  120. React v19 – React


    | bradfrost.com
  121. My Sketch – OpenProcessing


    | bradfrost.com
  122. Check if a point is in a cylinder - geometry and code


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


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


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


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


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


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


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


    | martinfowler.com
  130. New era of slop security reports for open source


    | sethmlarson.dev
  131. DSQL Vignette: Aurora DSQL, and A Personal Story


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


    | htmhell.dev
  133. Come to Pittsburgh Plays The Cure!


    | bradfrost.com
  134. La conjuration de la fierté ignorante


    | ploum.net
  135. Injecting Pytest fixtures without cluttering test signatures


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


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


    | blog.codingconfessions.com
  138. Weekly Update 428


    | troyhunt.com
  139. Countdown to the holidays with daily coding challenges


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


    | htmhell.dev
  141. kirby vs. this blog post


    | bradfrost.com
  142. I wrote a course, but it’s so much more than that


    | andy-bell.co.uk
  143. 1 million page views


    | notes.eatonphil.com
  144. Ella’s First Website


    | bradfrost.com
  145. Comparing AWS S3 with Cloudflare R2: Price, Performance and User Experience


    | kerkour.com
  146. Offrez des évasions livresques !


    | ploum.net
  147. My ADHD diagnosis process


    | bradfrost.com
  148. Disillusioning the Magic of the fork System Call


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


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


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


    | bitecode.dev
  152. Weekly Update 427


    | troyhunt.com
  153. How to avoid the thundering herd problem in Go with the singleflight package


    | kerkour.com
  154. Revisiting Hubris appconfigs


    | cliffle.com
  155. How do I pay the publisher of a web page?


    | sethmlarson.dev
  156. Codin' Dirty


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


    | kerkour.com
  158. Visualizing the Python package SBOM data flow


    | sethmlarson.dev
  159. Drinking from the Bluesky Firehose


    | jakelazaroff.com
  160. Closer to the Edge: Hyperscaling Have I Been Pwned with Cloudflare Workers and Caching


    | troyhunt.com
  161. SEGA Genesis & Mega Drive games and ROMs from Steam


    | sethmlarson.dev
  162. Hyperproperties


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


    | martinfowler.com
  164. Mach 1 with Python!


    | bitecode.dev
  165. An Unreachable Hidden XKCD Easter Egg inside CPython


    | blog.codingconfessions.com
  166. Local Optimizations Don't Lead to Global Optimums


    | ferd.ca
  167. Local Optimizations Don't Lead to Global Optimums


    | ferd.ca
  168. From Hubris To Bits


    | cliffle.com
  169. Weekly Update 426


    | troyhunt.com
  170. ADHD


    | bradfrost.com
  171. Podcast with Geek Narrator on Object Storage Databases


    | sirupsen.com
  172. Design Systems Q&A


    | bradfrost.com
  173. What if AI eventually makes programmers smarter, not dumber?


    | bitecode.dev
  174. Active and influential NYC infrastructure people


    | notes.eatonphil.com
  175. A peasant's plight


    | grantslatton.com
  176. Ten Years of AWS Lambda


    | brooker.co.za
  177. Posting on Bluesky, and other thoughts on social media


    | martinfowler.com
  178. Inside the DemandScience by Pure Incubation Data Breach


    | troyhunt.com
  179. An app can be a home-cooked meal


    | bradfrost.com
  180. Hyperconnexion, addiction et obéissance


    | ploum.net
  181. Web Components Work Great with htmx


    | htmx.org
  182. Five Unusual Raku Features


    | buttondown.com
  183. folder gotchas


    | wizardzines.com
  184. line editing


    | wizardzines.com
  185. Museum of Modern Fart


    | bradfrost.com
  186. In this house…


    | bradfrost.com
  187. Monitoring and optimizing website performance


    | developer.mozilla.org
  188. lowercase


    | petemillspaugh.com
  189. Every Man his own API


    | grantslatton.com
  190. The Pythonic Emptiness


    | blog.codingconfessions.com
  191. Weekly Update 425


    | troyhunt.com
  192. Tim Brown: Flexible Typesetting is now yours, for free


    | bradfrost.com
  193. Goodbye, Twitter.


    | bradfrost.com
  194. Rencontres littéraires à Paris, à Louvain-la-Neuve et un bout de contribution aux communs


    | ploum.net
  195. Next.js to htmx — A Real World Example


    | htmx.org
  196. Leader election with PostgreSQL's advisory locks


    | kerkour.com
  197. The childlike and the childish


    | joshcollinsworth.com
  198. Explicit method overriding with @typing.override


    | rednafi.com
  199. Exploring Postgres's arena allocator by writing an HTTP server from scratch


    | notes.eatonphil.com
  200. A list of ternary operators


    | buttondown.com
  201. Assessing the results of using the Strangler Fig on a Mobile App


    | martinfowler.com
  202. How to organize errors in large Rust projects


    | kerkour.com
  203. A response to "Defending Open Source: Protecting the Future of WordPress"


    | joshcollinsworth.com
  204. What's a Single-Page App?


    | jakelazaroff.com
  205. Effective unemployment and social media


    | notes.eatonphil.com
  206. Quicker startup with module-level __getattr__


    | rednafi.com
  207. Building an intuition for file size and network speed


    | petemillspaugh.com
  208. How to land your first developer job


    | developer.mozilla.org
  209. Putting custom firmware on the WASD CODE v2


    | cliffle.com
  210. Checking linearizability in Go


    | notes.eatonphil.com
  211. Live Session: Live Coding a Bytecode Interpreter for Python


    | blog.codingconfessions.com
  212. Diving deeper into using the Strangler Fig with Mobile Apps


    | martinfowler.com
  213. How do you provision a Linux VM?


    | paravoce.bearblog.dev
  214. quitting in the terminal


    | wizardzines.com
  215. Using the Strangler Fig with Mobile Apps


    | martinfowler.com
  216. The CAP Theorem of Clustering: Why Every Algorithm Must Sacrifice Something


    | blog.codingconfessions.com
  217. What's up Python? 3.13 is out, t-strings look awesome, dep groups come in handy...


    | bitecode.dev
  218. My Modern CSS Reset


    | jakelazaroff.com
  219. Web Component continued progress


    | bradfrost.com
  220. Mundango


    | bradfrost.com
  221. Culture is a set of social Schelling points


    | grantslatton.com
  222. Python 3.13, what didn't make the headlines


    | bitecode.dev
  223. Ils nous mentent


    | ploum.net
  224. TLA from first principles


    | buttondown.com
  225. Docker mount revisited


    | rednafi.com
  226. How do you deploy in 10 seconds?


    | paravoce.bearblog.dev
  227. Russell Keith-Magee on Beeware, packaging, GUI & money in Python


    | bitecode.dev
  228. Portals are Undertheorized


    | grantslatton.com
  229. Frostapalooza: Reflecting Two Months Later – Ian Frost Weather


    | bradfrost.com
  230. You're overcomplicating production


    | paravoce.bearblog.dev
  231. Speculative Decoding and Beyond: A Survey of Speculative Decoding Techniques


    | blog.codingconfessions.com
  232. I’ve been to 37 US states


    | petemillspaugh.com
  233. How to get the country of your visitors with Cloudflare


    | kerkour.com
  234. Cameron’s World


    | bradfrost.com
  235. Hire HTML and CSS people


    | bradfrost.com
  236. Be Suspicious of Success


    | buttondown.com
  237. Defending against bruteforce, credential stuffing and user enumeration attacks


    | kerkour.com
  238. "I'm so happy"


    | hamvocke.com
  239. “The design system isn’t working for me!”


    | bradfrost.com
  240. Why Rust is taking the data engineering world by storm


    | kerkour.com
  241. Introducing the new MDN Community page


    | developer.mozilla.org
  242. Bikepunk, les chroniques du flash


    | ploum.net
  243. Binary IQ


    | grantslatton.com
  244. virtualenvwrapper 6.1.1


    | doughellmann.com
  245. Yes, you need to duplicate your frontend business logic on the server


    | bitecode.dev
  246. Designing bug-proof engines


    | grantslatton.com
  247. Topological sort


    | rednafi.com
  248. Accidental Urbanism


    | grantslatton.com
  249. Accumulated Test Vectors


    | words.filippo.io
  250. 5 Awesome (but less known) Rust projects


    | kerkour.com
  251. Fixing your website's JavaScript performance


    | developer.mozilla.org
  252. Serious TLDs


    | petemillspaugh.com
  253. How to convince engineers that formal methods is cool


    | buttondown.com
  254. Building a Single-Page App with htmx


    | jakelazaroff.com
  255. Writing a circuit breaker in Go


    | rednafi.com
  256. Why every UX/UI designer should attend a masterclass with Brad Frost | by Zoi


    | bradfrost.com