Programmer & tinkerer. Lean > Agile
Accordion on your website? Straight to jail 🚔
Carousel? Also jail 🚔
📍 Sacramento, CA
We used to have debates. Imperative vs declarative. Functional vs OOP. BEM vs Tailwind. Now its just "AI, good or evil?" or "Here's how to use AI effectively!"
We used to have debates. Imperative vs declarative. Functional vs OOP. BEM vs Tailwind. Now its just "AI, good or evil?" or "Here's how to use AI effectively!"
- I made an IKEA purchase that never rendered a confirmation screen
- Downloading my Xfinity invoices showed a loading screen then did nothing
- I can't access my security system payment portal
We don't expect software to work.
- I made an IKEA purchase that never rendered a confirmation screen
- Downloading my Xfinity invoices showed a loading screen then did nothing
- I can't access my security system payment portal
We don't expect software to work.
I like that you can turn tab completion off, but I'm finding its autocomplete recommendations more useful than Copilot's. Using this will make me a worse developer.
I like that you can turn tab completion off, but I'm finding its autocomplete recommendations more useful than Copilot's. Using this will make me a worse developer.
Truly impressive software. I kept slapping accept all, and I get mostly working software that I'm afraid to touch because I didn't write it, and it has way more CSS than is actually necessary but I don't know what does what
Truly impressive software. I kept slapping accept all, and I get mostly working software that I'm afraid to touch because I didn't write it, and it has way more CSS than is actually necessary but I don't know what does what
- Global styling that has to be overwritten everywhere (overwrites = cascade)
- Over-specified selectors (cascade, ids, elements)
You can avoid these tricky bits by styling by class names, and using :where() to remove specificity when you need the cascade.
- Global styling that has to be overwritten everywhere (overwrites = cascade)
- Over-specified selectors (cascade, ids, elements)
You can avoid these tricky bits by styling by class names, and using :where() to remove specificity when you need the cascade.
5 years ago, these chatbots were gatekeepers to keep customers away from human support staff. Now they're actually useful.
2025 is a milestone year for AI, and I don't know what happens next.
5 years ago, these chatbots were gatekeepers to keep customers away from human support staff. Now they're actually useful.
2025 is a milestone year for AI, and I don't know what happens next.
THAT’S HOW YOU START QUICKSORT
THAT’S HOW YOU START QUICKSORT
Still the best solution remains avoiding the cascade wherever possible and avoiding ID & element selectors
Still the best solution remains avoiding the cascade wherever possible and avoiding ID & element selectors