RSSAmplifier

Blog

AAADAAAM

random thoughts

aaadaaam.comRSS feed ↗32 posts

Latest posts

Pumped up

If you asked people to name the most impactful technology of the last 100 years, some might say the lightbulb, others the transistor, and others still the microprocessor. Each of those has played a major role in shaping modern life, but there’s another technology that’s equally as impactful, but day in, day out, goes largely unnoticed aside from the low hum coming from your kitchen. Or more…

Lowriders & websites

My recent post on removing classes from my personal site was unusual in a few ways; I got a surprising number of kind emails about it, and on the flip side, it broke containment and ended up on Hacker News. I know you shouldn’t look at the comments. No good can possibly come from looking at the comments. I looked at the comments. My immediate takeaway; the advice on not reading Hacker News…

Taming Tailwind, part 2

In the first Taming Tailwind post, I documented how I’d inherited a Tailwind project that I eventually switched from a utility-first approach to a hybrid modern CSS + Tailwind architecture. I didn’t intend to write any more on the subject, but then they went an released a major rewrite with Tailwind 4. This is the story of that upgrade; the good, the bad, the WTFs, with even more taming. Tailwind…

This website has no class

In my recent post, “There’s no such thing as a CSS reset” , I wrote this: Think of elements like components, but ones that come packed in the browser. Custom elements, without the “custom” part. You can just like, use them . The line continued to rattle around in my head, and a few weeks later when I was digging into some cleanup work I came to an uncomfortable realization; I wasn’t really taking…

Kobo-pilled

About 6 months ago – right around the time that Amazon made it crystal clear that you do not own ebooks you purchase in any meaningful sense – I bought a Kobo Libra Color. I don’t really do product reviews, and this isn’t really a product review. I’m writing about my switch because it’s the most refreshing technology experience I’ve had in years , and one that meaningfully changed my behavior for…

There’s no such thing as a CSS reset

CSS resets are a technique nearly as long lived as the modern CSS era itself, stretching all the way from the CSS Zen Garden days to inclusion in mass-market current-day tools like Tailwind. Resets are a staple in the CSS toolkit. But here’s the thing; there’s no such thing as a CSS reset . Now, to be clear, I’m not suggesting some kind of long-running mass hallucination. I’m suggesting CSS resets…

Tools that build you

While putting the finishing touches on the latest release of Grease , the words “5 years ago” caught my eye in GitHub. 5 years? Working on this? Of all the things I could do with my free time, of all the side-quests that fizzled out, why am I still working on this? Upon reflection, my conclusion; it’s good to make and modify your own tools. Backing way up; tools can be crudely grouped into one of…

Hibernating

The older I get, the more I find myself drawn towards seasonality and cyclicality. I find that it both gives structure and meaning to the present while satisfying that deep seated human need for change . One of the ways I embrace cyclicality in my life is by taking off the two weeks between Christmas and New year’s. And I really, really mean “off”. No work, no side-projects, no blogging, no social…

Dusting cobwebs

I haven’t touched the design of this website in a few years, and I’ve mostly been content to let it collect a patina of dust and cobwebs. One of my explicit goals with this iteration of my website was to make it re-design resistant after all. The key word there is mostly . I’d designed the overview of my work around the job of, well, getting a job . But I’ve been gainfully, happily employed for…

Oops, I built a headless frontend with 11ty

My journey with 11ty’s global data went something like this: “This is where my little text strings go” “Neat, I can use javascript to set dynamic values” “Literally any service with an API is my CMS now” That last phase is key to understanding how our recent help site migration went off-script. We’d been using Intercom for support, but at the end of the day we just weren’t satisfied with the…

House Fan

Our house has one of those old, giant whole-house fans that looks like it was ripped out of an airplane and grafted into the ceiling. We love to run it on cool nights when we can leverage Sacramento’s fabled Delta breeze to maximum effect. The steady current of cool, citrus and jasmine-scented air it produces is deeply satisfying after a sun-scorched day. It’s also the perfect noise machine, which…

Chasing color

I’m a fan of side-quests; professional tangents that fuel your interest, sharpen your craft, and pay long-term dividends towards whatever your main quest is. I tend to have a few running at any point; some might last a few weeks, some off and on for years. One of the latter is designing CSS color systems . It’s stuck around for a few reasons. Color is a powerful tool in the design toolkit, and…

The inhuman computer

The Vision Pro has arrived. With it, came a splashy Vanity Fair piece featuring Tim Cook reclining at his desk, stoically indulging in some spatial computing . The moment I saw the shot, I was reminded of the iconic photo of early Apple designer Susan Kare, also reclining at a desk, with a smile on her face and a Mac perched behind her. I posted about it , because I thought it was an interesting…

“AI Inside”

Tech companies are scrambling to stake their claims in the AI gold rush, and — on top of the legal and ethical woes they’re leaving in their wake — a lot of them are shipping surprisingly bad product . The tell? If the name focuses on “✨AI”, brace yourself . Remember Intel’s iconic “Intel Inside” campaign? Effectiveness aside, it was a marketing campaign disconnected from solving user problems.…

Behavior wrappers

Something that’s been on my mind lately is the value of not encapsulating html, css, and javascript into singular components. Sometimes – if you value keeping things simple – teasing apart behavior and presentation into composable pieces makes more sense. Enter custom elements. As it happens, they’re the perfect vehicle for creating encapsulated behavior that you can use in all sorts of different…

Taming Tailwind

I wasn’t a Tailwind fan. Between the heavy-handed approach, the needlessly antagonistic marketing, and a community prone to dog-piling valid criticism, I didn’t see much to be a fan of. But life comes at you fast, and I found myself starting a job at a company that was wrapping up a migration to – you guessed it – Tailwind. So I set my hangups and pre-conceived notions aside, and did things the…

View transitions + Quicklink

A great thing about the multi-page view transitions spec ( read this post from Dave Rupert for an intro ) is that it’s pure progressive enhancement. If a browser doesn’t support it, things work the way they’ve worked since Mosaic. One caveat is that they don’t always feel instant. It makes sense; you have to render what’s on the other side of a link if you want to smoothly transition between old…

Building vs. optimizing

Software — and software companies — break down into two distinct modes: Build mode - you’re in blue sky territory, creating something where nothing existing before, trying to find product market fit. Optimize mode - you have an existing product, and you’re iterating on it to grow your user base and increase revenue. It’s an incredibly important distinction to recognize, for a few reasons. One is…

“Craft at scale” is a white whale

Designers and product-folk like to think of ourselves as craftspeople. We care about making things great . Is it possible to do it at scale? Shot and chaser: The Cost of Craft - Longtime Meta designer George Kedenburg III did us all a favor and exhaustively documented the challenges of delivering “great” at scale. It’s well worth your time. Big Tech’s big downgrade - in this Business Insider…

Step into the light (DOM)

For a long time I didn’t know what to do with web components. There wasn’t a lot of writing around them outside of the spec, all the stuff around shadow DOM and templates made it feel inaccessible, and I just didn’t see a compelling reason to bother with any of it ( something something PWAs ). That changed the day @javan clued me in to the fact that it is totally OK, and often ideal, to just use…

Consistent with what?

“Consistency” is a word you hear a lot in tech. Designers talk about it (do not play the “drink when you hear this word” game with this word at a design systems conference), developers talk about it, everyone! But when it comes to consistency, it’s important to recognize that consistency comes in different flavors . Case in point; I was working on a piece of UI for a new feature, and after…

Complexity creeps

The thing about complexity is that the cost rarely seems obvious upfront. It usually starts as a reasonable desire, with a reasonable set of initial tradeoffs that make you think the benefit of taking on more complexity is worth the cost. But then complexity does what complexity does, and creates entirely new problems you didn’t anticipate. So what do you do? Add even more complexity to solve that…

Revisiting PJAX

Personal sites are great venues for exploring those half-baked and high-contrast ideas that are illuminating, but impractical for commercial work. No funnels, no customers; just a blank canvas and the freedom to explore it. Lately, the tension between functional attributes (performance, accessibility, DX) and experiential attributes has been the focus of my own exploration. On one side of the…

Extending 11ty’s page variable

I’ve had my eye on Astro, so I thought I’d take it for a spin by re-building this here website. I stuck with 11ty in the end for a variety of reasons, but the experience inspired me to see if I could replicate a few Astro niceties in 11ty. Turns out yes, thanks to 11ty’s page variable. single file templates, kind of 11ty’s new WebC format uses single file templates out of the box, but Liquid and…

Fundamentals

The pendulum swinging back from “recreate everything in [insert SPA framework]” to “multi-page apps are pretty good, actually” is a timely reminder that focusing your energy on mastering the fundamentals is usually a smart bet. Early in my career I was more of a Flash person. In terms of creative expression, it felt like a breath of fresh air compared to compared to sliced up images and table…

On brand

Across the clients and companies I’ve worked with, more often than not I’ve had to sell the value of hard to measure stuff like branding and designing for emotion. Chances are good I’ll have to keep selling folks on this subject, so I thought it’d be handy to have a link I can send folks that outlines my thoughts. This link, specifically. Let’s start at the very beginning and review the purpose…

Generalists, specifically.

A generalist designer, axiomatically, is someone who doesn’t specialize in any particular area of design. They’re not UX designers, UI designers, content strategists, illustrators, product designers, copywriters, graphic designers, front-end developers, or animators, even though their work may touch every single one of those roles. The proverbial “jack of all trades, master of none”. That’s part…

Death to process machines!

You hear a ton of different advice on the right and wrong way to go about designing an app or website. “You should be using Figma.” “Design Systems or GTFO.” “Real Designers design 100% in code.” “Wireframes are a waste of time.” “If you’re not making prototypes, you’re not doing it right.” “You need to start on paper.” You’d think there’s no agreement whatsoever about the right way to design, but…

Everything I know about marketing I learned from the 1990 movie “Crazy People.”

For many many many people, the term “marketing” is interchangeable with words like “spin,” “flim-flam,” “malarkey,” and of course, “bullshit.” You can’t really blame people who think this way. A huge amount of marketing is reality-ignoring bullshit/spin/hokum/snake oil. This fact — that marketing is mostly poppycock — is the foundation that the movie Crazy People builds on. For anyone unfamiliar…

There’s such a thing as “too helpful”

Not too long ago Jason Fried wrote about his experience shopping at Apple Stores , in which he described the common occurrence of walking into a store and being immediately set upon by a too helpful Apple rep (the “bouncer”). In trying to be as attentive, helpful, and friendly AS HUMANLY POSSIBLE, this bouncer ended up being too helpful. Aggressively helpful. What’s it mean to be aggressively…

Are you sure?

I was Twittering away the other day, and Prettier came across my feed. Prettier turns the conceptual moorings of linting on its head. Instead of “Well, actually”-ing you when you make a commit and forcing you to fix whatever pedantic issues it’s complaining about, it just… fixes them . As you can guess, I have an uneasy relationship with lint. I value what linting brings to the table, but I don’t…

Vinyl is dead. Long live vinyl.

My latest obsession is a very pretty, very shiny Pro-Ject Audio Carbon Debut DC turntable. Listening to music on it has quickly become my favorite way to listen, and not just because I get to use words like “plinth” in casual conversation. I’m not alone. Amidst the sea of depression that defines the current state of the music business lies an interesting curiosity. While physical and digital album…