Feed


  1. SHA-3 Explained: Keccak, SHAKE, CSHAKE, KMAC, KDF and XOF


    | kerkour.com
  2. Team Bend Racing


    | chriscoyier.net
  3. Weekly Update 435


    | troyhunt.com
  4. Gloomy Season


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


    | ploum.net
  6. How to disable Copilot in GitHub


    | sethmlarson.dev
  7. The domain knowledge dilemma


    | rednafi.com
  8. Nobody Cares


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


    | blog.codingconfessions.com
  10. Kind Engineering


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


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


    | chriscoyier.net
  13. Nest Cams


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


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


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


    | buttondown.com
  17. Donating to LA Fire Support


    | bradfrost.com
  18. Fixing Common Pitfalls of Codemods


    | martinfowler.com
  19. Quickly visualizing an SBOM document


    | sethmlarson.dev
  20. 1,000 lbs


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


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


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


    | bradfrost.com
  24. Funky VI


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


    | troyhunt.com
  26. Tech + Pace Layering


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


    | developer.mozilla.org
  28. Weekly Update 434


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


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


    | rednafi.com
  31. Alternatives to htmx


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


    | bitecode.dev
  33. Dynamic shell variables


    | rednafi.com
  34. Short Life of Trouble


    | chriscoyier.net
  35. Durable products


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


    | htmx.org
  37. Balancing Text In CSS


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


    | bradfrost.com
  39. Exploring Hogwarts Puzzle


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


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


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


    | chriscoyier.net
  43. A more complex codemod


    | martinfowler.com
  44. MDN 2024 content projects


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


    | buttondown.com
  46. Starlink


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


    | martinfowler.com
  48. Stimulation Clicker


    | bradfrost.com
  49. M4


    | chriscoyier.net
  50. Untitled


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


    | chriscoyier.net
  52. Weekly Update 433


    | troyhunt.com
  53. Frostapalooza: one epic night


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


    | rednafi.com
  55. Design Patterns


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


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


    | bitecode.dev
  58. How to write complex software


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


    | j3s.sh
  60. The future of htmx


    | htmx.org
  61. Wrapping up 2024


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


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


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


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


    | notes.eatonphil.com
  66. Weekly Update 432


    | troyhunt.com
  67. Recursive project search in Emacs


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


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


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


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


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


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


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


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


    | notes.eatonphil.com
  76. Weekly Update 431


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


    | htmhell.dev
  78. Things I enjoyed in 2024


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


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


    | bradfrost.com
  81. Mon collègue Julius


    | ploum.net
  82. htmx quirks


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


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


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


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


    | htmhell.dev
  87. Bureaulogy


    | grantslatton.com
  88. Grouping form fields


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


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


    | htmhell.dev
  91. Getting Oriented with HTML Video


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


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


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


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


    | ploum.net
  96. Microdata for books


    | htmhell.dev
  97. TAG Bulletin: Q4 2024


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


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


    | kerkour.com
  100. SSH saga


    | rednafi.com
  101. htmx lore


    | htmx.org
  102. Snapshot Isolation vs Serializability


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


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


    | htmhell.dev
  105. UV tricks


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


    | blog.codingconfessions.com
  107. Weekly Update 430


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


    | htmhell.dev
  109. Mandlebrot set


    | petemillspaugh.com
  110. Crash recovery in 256 bytes


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


    | htmhell.dev
  112. dot com et al


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


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


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


    | martinfowler.com
  116. Raw strings in Rust


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


    | htmhell.dev
  118. Stroustrup's Rule


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


    | digest.browsertech.com
  120. Isomorphic Web Components


    | jakelazaroff.com
  121. Makeshift hot reload


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


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


    | htmhell.dev
  124. New experimental Debian package for Cosign (Sigstore)


    | sethmlarson.dev
  125. La colère de l’écrivain


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


    | htmhell.dev
  127. Weekly Update 429


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


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


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


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


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


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


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


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


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


    | bradfrost.com
  137. My Sketch – OpenProcessing


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


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


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


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


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


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


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


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


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


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


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


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


    | bradfrost.com
  150. Injecting Pytest fixtures without cluttering test signatures


    | rednafi.com
  151. La conjuration de la fierté ignorante


    | ploum.net
  152. Starting off right: Where autofocus shines


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


    | blog.codingconfessions.com
  154. Weekly Update 428


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


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


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


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


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


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


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


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


    | ploum.net
  163. My ADHD diagnosis process


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


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


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


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


    | bitecode.dev
  168. Weekly Update 427


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


    | kerkour.com
  170. Revisiting Hubris appconfigs


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


    | sethmlarson.dev
  172. Codin' Dirty


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


    | kerkour.com
  174. Drinking from the Bluesky Firehose


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


    | troyhunt.com
  176. Hyperproperties


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


    | martinfowler.com
  178. Mach 1 with Python!


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


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


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


    | ferd.ca
  182. From Hubris To Bits


    | cliffle.com
  183. Weekly Update 426


    | troyhunt.com
  184. ADHD


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


    | sirupsen.com
  186. Design Systems Q&A


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


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


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


    | grantslatton.com
  190. Ten Years of AWS Lambda


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


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


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


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


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


    | htmx.org
  196. Five Unusual Raku Features


    | buttondown.com
  197. folder gotchas


    | wizardzines.com
  198. line editing


    | wizardzines.com
  199. Museum of Modern Fart


    | bradfrost.com
  200. In this house…


    | bradfrost.com
  201. lowercase


    | petemillspaugh.com
  202. Monitoring and optimizing website performance


    | developer.mozilla.org
  203. Every Man his own API


    | grantslatton.com
  204. The Pythonic Emptiness


    | blog.codingconfessions.com
  205. Tim Brown: Flexible Typesetting is now yours, for free


    | bradfrost.com
  206. Goodbye, Twitter.


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


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


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


    | kerkour.com
  210. The childlike and the childish


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


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


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


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


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


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


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


    | jakelazaroff.com
  218. Effective unemployment and social media


    | notes.eatonphil.com
  219. Building an intuition for file size and network speed


    | petemillspaugh.com
  220. Quicker startup with module-level __getattr__


    | rednafi.com
  221. How to land your first developer job


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


    | cliffle.com
  223. Checking linearizability in Go


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


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


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


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


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


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


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


    | bitecode.dev
  231. My Modern CSS Reset


    | jakelazaroff.com
  232. Web Component continued progress


    | bradfrost.com
  233. Mundango


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


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


    | bitecode.dev
  236. Ils nous mentent


    | ploum.net
  237. TLA from first principles


    | buttondown.com
  238. Docker mount revisited


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


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


    | bitecode.dev
  241. Portals are Undertheorized


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


    | bradfrost.com
  243. You're overcomplicating production


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


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


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


    | kerkour.com
  247. Cameron’s World


    | bradfrost.com
  248. Be Suspicious of Success


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


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


    | hamvocke.com
  251. Why Rust is taking the data engineering world by storm


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


    | developer.mozilla.org
  253. Binary IQ


    | grantslatton.com
  254. virtualenvwrapper 6.1.1


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


    | bitecode.dev
  256. Designing bug-proof engines


    | grantslatton.com