Blog Tags:
AI
- The Harness Isn't Your Problem, The Router Is
- OpenBlank
- ASD-STE100 Simplified Technical English
- Performative Engineering
- The Agentic Engineering Scale
- Onboarding Your New AI Teammate
- Cursor and Obsidian
- The AI Development Conundrum
- Offload Complexity, Don't Offload Learning
- My Current AI Stack
- AI Driven Development
- Push vs Pull AI
Software Development
Random
Web Development
- Website Redesign v11
- Onboarding Your New AI Teammate
- Quick Tip - Theme Aware Images
- Async Class Creation In JavaScript
- Website Redesign v10
- Server Side Rendering Compatible CSS Theming
- Podcasting By Hand
- Quick Tip - Specific Local Module Declarations
- On File-System Routing Conventions
- You're Building Software Wrong
- Single File Web Apps
- Resetting Controlled Components in Forms
- A Quick Look at Import Maps
- Recommended Tech Talks
- Request for a (minimal) RSC Framework
- Bluesky Tips and Tools
- The Bookkeeping Pattern
- TSLite
- Monorepo Tips and Tricks
- Next.js with Deno v2
- Don't Break the Implicit Prop Contract
- A Better useSSR Implementation
- My Current Dev Setup
- Abstract Your API
Development
- Website Redesign v11
- Onboarding Your New AI Teammate
- Tip: GitHub Created Date Filtering
- Progressive Identifiers
- Roundup Notes in Obsidian with Dataview
- Quick Tip - Theme Aware Images
- Website Redesign v10
- Quick Tip - Specific Local Module Declarations
- You're Building Software Wrong
- Single File Web Apps
- The AI Development Conundrum
- A Quick Look at Import Maps
- Recommended Tech Talks
- Request for a (minimal) RSC Framework
- Bluesky Tips and Tools
- Building a Custom Ghostty Theme
- Offload Complexity, Don't Offload Learning
- More Thoughts on Dogfooding
- Dogfooding
- Git Notes as a Tool for Thought
- My Current Dev Setup
- Tip: Request and Response Headers
- Using Feature Toggles to De-risk Refactors
- Hohoro
- Funport: True Dynamic Imports in webpack
Redesign
Birthday
Goal
Resolutions
micropost
- Quick-Tip: Codex Chief of Staff Thread
- Tip: Secrets for Cloudflare Workers
- Tip: GitHub Created Date Filtering
- Link: Next.js Is Infuriating
- Dependabot Hell
- Link: What the hell is going on right now?
- Recipe: Horchata Protein Latte
- Zombie Retros
- Link: How I build software quickly
- Vacation (and streaks)
- Polish is Important
- <Blank> Driven Development
- All Documentation Should Be Dated
- Adding Microposts
- Service Monitors and Observability
- Type Safe process.env
- Consistent Local Ports with Wrangler
- Being Unopinionated
- Stop Snacking
- No Process is Invisible Process
- Jabs and Fluff: On CTO Office Hours
- Finding React Artifacts
- Deno
- Fast Feedback Systems
- Video Games
- Delete it
Tip
- Quick-Tip: Codex Chief of Staff Thread
- Tip: Secrets for Cloudflare Workers
- Tip: GitHub Created Date Filtering
- Roundup Notes in Obsidian with Dataview
- Quick Tip - Theme Aware Images
- Async Class Creation In JavaScript
- Server Side Rendering Compatible CSS Theming
- Replacing Dropbox Capture with Raycast
- Quick Tip - Specific Local Module Declarations
- Bluesky Tips and Tools
- The Bookkeeping Pattern
- Don't Break the Implicit Prop Contract
- A Better useSSR Implementation
- Tip: Request and Response Headers
- Exporting Custom Slack Emoji
- Custom Favicon Recipes
- Fixing Zed's language server
- Updating Forked Repos
Codex
Engineering
Agentic Engineering
Thoughts
Leaders
Teams
Culture
Organizations
Career
Work
Evergreen
Cloudflare
workers
wrangler
GitHub
Book Review
Books
snippet
JavaScript
Product Review
Gear
Keyboard
Opinion
Links
Git
Bash
recipe
Travel
HTML
React
- Multi-step Native HTML Forms
- useInterval
- Server Side Rendering Compatible CSS Theming
- Resetting Controlled Components in Forms
- Request for a (minimal) RSC Framework
- Don't Break the Implicit Prop Contract
- A Better useSSR Implementation
- React Error Boundaries: Revisited
- Using Marquee with React and TypeScript
- My Two Favorite React Tricks
- React Testing Library: Checkboxes and events
- useConsole
- Stateful Providers
- Theme First UI Development
- useReducer, don't useState
- Hooks Tips Ep. 2 - Migrating Instance Variables
- Hooks Tips Ep. 1 - The Dependency Array
- React Error Boundaries
- Suspense Plus GraphQL
- Managing Complex UI Component State
- Understanding React 16.3 Updates
Obsidian
Note Taking
TypeScript
Backpack
Review
Theming
CSS
Next.js
- Server Side Rendering Compatible CSS Theming
- On File-System Routing Conventions
- The Bookkeeping Pattern
- Next.js with Deno v2
- Using Feature Toggles to De-risk Refactors
- Funport: True Dynamic Imports in webpack
- Project Deep Dive: Tails
- Project Deep Dive: Microfibre
- Setting up Next.js with Tailwind
- Setting up Shiki on Next.js
- My Updated Next.js Setup
- My Opinionated Next.js Setup
- Redesign v6
Waku
Podcasting
The Bikeshed Pod
Dropbox
Raycast
Tools
Node.js
Garbanzo
Personal Knowledge Management
React Server Components
Goals
Recommendations
Roundup
Talks
Server Actions
Forms
Task Management
Bluesky
Ghostty
Monorepos
Learning
Deno
Product
Tools for Thought
Snippets
Notes
Notion
APIs
Refactors
Looking Ahead
Meta
swc
Projects
webpack
Guides
Vercel
Slack
OSS
Project Deep Dive
Observability
CSS-in-JS
Zed
Go
ChatGPT
Hot Take
Ideas
Rant
Advice
Tailwind
Communication
Dollar
Yarn
Testing
Android
iOS
iPhone
Recap
stub
Productivity
Collaboration
Writing
React Testing Library
Development Practices
Code Review
Hacking
Side Projects
Design Systems
Theme
Product Development
Meetings
Note
Photos
Back Bay
Bend
Design Tokens
GraphQL
Suspense
Article
Log
Launch
Burnout
Components
Calendar
Technology
Collection
Google
Web
Twitter
Competition
Startups
Social Media
Thanks
Family