Bookmarks
Links and other things on the internet I like.
Engineering
- A Complete Guide to useEffectoverreacted.io
- Before You memo()overreacted.io
- React for Two Computersoverreacted.io
- Making setInterval Declarative with React Hooksoverreacted.io
- Why React Re-Rendersjoshwcomeau.com
- One Simple Trick to Optimize React Re-renderskentcdodds.com
- When to useMemo and useCallbackkentcdodds.com
- useOptimistic Won't Save Youcolumkelly.com
- Please Stop Using Barrel Filestkdodo.eu
- eslint-plugin-react-you-might-not-need-an-effectgithub.com
- Default Exports in CommonJS Librariesblog.andrewbran.ch
- Using Promisesdeveloper.mozilla.org
- Async JavaScript: From Callbacks, to Promises, to Async/Awaitui.dev
- A Real World React → htmx Porthtmx.org
- When Should You Use Hypermedia?htmx.org
- 7 Principles of Rich Web Applicationsrauchg.com
- Tailwind CSS Tips Every Developer Should Knownikolailehbr.ink
- Performance Hintsabseil.io
- Logging Sucksloggingsucks.com
- Building a Web Search Engine from Scratch in Two Monthsblog.wilsonl.in
- Collaborative Text Editing without CRDTs or OTmattweidner.com
- Rebuilding Linear's Delta Sync Read Pathlinear.app
- Git at Any Scalecursor.com
- UTC is Enough for Everyone, Right?zachholman.com
- Bug Blindnessdanluu.com
- On-Call Is Now Theatreboristane.com
- Your Job Is to Deliver Code You Have Proven to Worksimonwillison.net
AI & Agents
- Shipping at Inference-Speedsteipete.me
- Vibing a Non-Trivial Ghostty Featuremitchellh.com
- How to Pair With an Agentampcode.com
- Claude Code Creator Boris's Setupreddit.com
- How I Code from the Gymstacktoheap.com
Reading
- How to Do Great Workpaulgraham.com
- How to Get Startup Ideaspaulgraham.com
- Software Developer Promotions: Getting to the Next Levelblog.pragmaticengineer.com
- How to Make Your First Open Source Contributionwhitep4nth3r.com
- A Word on Omarchyxn--gckvb8fzb.com
- Honkishbenji.org
- Don't Ask to Ask, Just Askdontasktoask.com
- BOFHbofh.bjash.com
Tools
- Flexokistephango.com
- Better Authbetter-auth.com
- Convex Presenceconvex.dev
- bhvrbhvr.dev