A list of articles and what-not that I've saved.
- DRY – a common source of bad abstractions
- Stateless Decision Making
- Get Weird and Disappear
Upon closer inspection, my bookshelf is riddled with tasteless advertising smuggled into my home by boring marketing departments, and I am not open to arguments that this meaningfully boosts sales. Some people might have differing taste, but this is bland to the point of nothingness. At least erotica has the decency to slap a shirtless hunk on there, and we can envision the target demographic. Not a shred of this crassness is evident in this copy of A Wizard of Earthsea, and some part of me thought "This is Quality", and amidst the shrieking cacophony of the other titles ("New York Times Bestseller! Twilight Meets Game Of Thrones! Breathtaking!"), it is the one I walked away with. It is now one of my favourite books. A Wizard of Earthsea is a towering work of genius. Going back to it now that I'm older, I must simply accept that my teenage judgement was... well, a teenager's judgement. It is beautifully written, wise, and it does not feel the need to overstay its welcome with contemporary notions of how long a book should be. The writing speaks for itself
- Code Yourself Out of the Job
- Politics and the English Language
- Chasing the Pixel-Perfect Dream
- Fully Typed Web Apps
- DRY vs SoC, a difficult choice
- Why a coding AI like Github Copilot won't take your job
- Why you shouldn't use AI to write your tests
You'll know your tests are good when you rarely have to change the tests to fit the new code. Most unit tests I've seen in production fail this criteria. Most integration and end-to-end tests pass.
- For whatever it's worth: my advice on job hunting in tech
doing a code exercise has almost nothing in common with doing the actual job. The skills and experience are almost completely different.
Worse: this style of interview filters out people who would’ve been excellent at the job—working tickets, building features, understanding the system, collaborating on a team—but who don’t have the testing skills. (Which, again, are all things the actual job pretty much never calls for.)
- Code review antipatterns
Keep everybody on their toes by suddenly objecting to an aspect of the change that you’ve never had a problem with before. Following the existing pattern just isn’t good enough! The author ought to have anticipated that you’ve recently changed your mind about what this type of change should look like.
- The Expanding Dark Forest and Generative AI
- The Dark Forest and the Cozy Web
- I worry our Copilot is leaving some passengers behind
- AI isn't useless. But is it worth it?
- CSS Triggers List - What Kind of Changes You Can Make
- DIY Authentication and Authorization in SvelteKit 1 with SQLite
- The Case for Design Engineers Part 2
- The Case for Design Engineers
- The undercover generalist
- FooBar is FooBad: Why Concrete Is Better Than Abstract
Mentally mapping concrete concepts is hard. Analogies are tricky and full of false assumptions. Maps are not the territory. You’re trying to collapse life in all its complexity to something recognizable but not overly reductive or inaccurate. But the solution is not to confuse abstractness for clarity.
- A Complete Guide to CSS Grid
- A Complete Guide to Flexbox
- Form Validation Part 1: Constraint Validation in HTML
- Weird things engineers believe about Web development
- React Server Components: the Good, the Bad, and the Ugly
- 20 Things I’ve Learned in my 20 Years as a Software Engineer
- The looming demise of the 10x developer
- Why Chatbots Are Not the Future
- You’re not lacking creativity, you’re overwhelmed
- Things you forgot (or never knew) because of React