Blog

It’s old! It’s new! It’s responsive email.

I didn’t want to use the everything old is new again trope in my headline. Had to code up some email stuff this week, which I feel like I’ve been doing for 25 years. (I mean, I have.) But for reals, between Gmail, Outlook, Apple, desktop, iPhones and Androids, it’s still pretty much the year […]

Another day, another crypto/pharma/work from home comment spam invasion

One of our clients is getting hit from all sides — they’ve got an actual bad actor trying to get into critical systems… and then there’s a spam bot who just keeps knocking on the door, trying to get them to invest in crypto or buy viagra from overseas or whatever. (Aside: you know this […]

The OOP/markup syntax purity test

I don’t actually hate AI, despite the last thing I wrote. The rate at which it consumes natural resources is horrifying, but honest when it’s 4:58pm and I need to finish a block of code, I start thinking about how I’m going going to walk to the grocery store (maybe) and cook my own dinner […]

My AI toaster is trying to kill me

Look, I work in tech, so obviously the promise of smart sneakers and AI-powered toasters gets me kind of excited. And accessibility overlays — I mean, what a great idea! It’s an AI driven solution where you take your website, in whatever accessibility condition it happens to be in, install the overlay, and presto you […]

Copyright dates as synecdoche of thoughtless UX implementation

It’s that time of year when I am simultaneously surprised/not surprised when I see last year in the copyright slug in website footers. And I wonder where the failure point is. When I do wireframes and functional requirements, tbh, it never occurs to me that I need to explicitly instruct a developer to make the […]