Churn

I’ve been using Web Components lately. I quite like them.

Read post
Latest post

Care

My tech posts often come from kind of a negative place. I wish it wasn’t like that, but we all know how the mind works: writing with nuance and positivity is a lot harder than fired-up screeds of the “someone is wrong on the Internet” variety.

Read post

I'm not holding it wrong, YOU'RE holding it wrong

It seems to be open season on Tailwind CSS! Go and read this post by Tero Piirainen. Nothing I haven’t heard before, it hits basically the same notes as the other stop-using-utility-css posts: it implies that people mostly use Tailwind because of successful PR, and it assumes that its proponents are React-pilled newbies who just haven’t been exposed to the beautiful fire stolen from the gods by Jeffrey Zeldman, Prometheus incarnate, in the early aughts. This one goes a step further and includes links for learning CSS! Because you are obviously a lost child in need of guidance! Let me condescend right back, because that’s what I do best.

Read post

Concatenating text

In the dying embers of 2023, Mayank wrote a post that went through the trials and tribulations of React Server Components. I read the article, eyes widening all the way through to the end until my face vaguely resembled a US electrical socket, and it ultimately left me feeling like, man, I’m glad I’m not doing React at the moment.

Read post

The goat of tyranny

The Gävle goat is still standing, for now.

Read post

The idle elite

I’m sometimes linked to Twitter (sorry, I mean X) threads. It’s usually updates on the war in Ukraine, because Twitter is still the default medium if you want to see Russian tanks merrily tossing their turrets. That’s fine, I guess, if a little weird—why post on a medium where the proprietor is an unhinged plutocrat who is clearly aligned against you?—but every now and then I click on a link to the birdsite and it looks like some people are still on there discussing tech of all topics?

Read post

Headwind

There seems to be a little swirl of anti-Tailwind sentiment brewing. Which is fine! All fine, I assure you. Tailwind is intensely polarizing and I don’t want to harsh anyone’s mellow. But I’m honestly getting sort of sick of the “skillful and experienced developers don’t like Tailwind because it holds them back” trope because it just ain’t true. I read a long and pretty entertaining piece yesterday that argued essentially that: Tailwind is a crutch for beginners that blunts the edge of experts. Last week I read another post that, interestingly, used the same craftsmanship metaphor.

Read post

The best laid plans

Brandon Weaver posted a thread on Mastodon a couple of days ago stressing the importance of planning ahead in software projects, and I caught myself feeling kind of offended. I’m a super-duper senior developer who’s been in charge of projects, teams, apps, a company, released open-source, and won awards, and I’m not great at planning ahead. That means I’m not one of those “most senior and skilled leaders” from Brandon’s thread. Well, dang.

Read post

More like Hypescript amirite

DHH is in the tech news again! It’s a stunt. It usually is, with him. And here I am, shamefully but eagerly taking the bait.

Read post

Ligma

Figma has been in the news lately, probably as a result of their Config event where they announced a bunch of new features. Vercel’s CEO gave a talk about something-something React Components, I think. That, in turn, seems to have spawned a few takes about Figma really being an unnecessary intermediate step: designers should just write HTML and CSS. I disagree.

Read post

The Goldilocks Zone of Indirection

There’s a certain trajectory you follow as a developer. Most of us start out as tiny programmer larvae, blindly fumbling our way through trial and error until things seem to work. We then pupate into overly clever Rockstar Ninjas who try to solve everything with ternary operators and arrogance. The Rockstar Ninja’s code usually looks like someone lost a bet with Larry Wall and had to drink a whole-ass bottle of Perl 5.0 – but that doesn’t matter: the Ninja is there to kick ass and ship features, unlike you sorry lot. That means things like left-pad dependencies and rolling your own crypto.

Read post

"Analytics"

I’ve been the sole developer of Bidders Highway for something like a year and a half now. It’s been rewarding in many ways, if kind of lonely at times, and I suppose the distillation of it feels like “my skills and experience having coalesced into...

Read post

A face arguing with a thick skull forever

An article came out recently, declaring the seven Swedes still playing in the Russian KHL “a shameful part of Swedish sports history.” I am in full agreement. This has to be the easiest moral choice in the world right now: you really shouldn’t be sportswashing an aggressive dictatorship currently engaged in a war of conquest, terror, and ethnic cleansing right on the border of your home country.

Read post

Updog

Many years ago, we went to London to watch football. Arsenal won, of course, so the game itself was sort of forgettable, and what ended up sticking mostly in my mind was the overall experience of Emirates Stadium. I would describe it as solid, pricey, and sort of… sterile? Modern oligarch-owned football trends towards expensive food and drink and a very exit-through-the-gift-shop atmosphere. That’s fine, I suppose! Football isn’t just about the game itself: it’s the pre-game beer, the jam-packed Underground station, the discussions afterwards. And of course, we did some more tourism while we were there. I remember Kew Gardens the most.

Read post

Ha ha

I’d never heard of Silicon Valley Bank before it exploded in a shower of pretty sparks last week. Amazingly, upon just hearing the name my brain made a bunch of associations that proved to be mostly correct ‒ it WAS indeed a nasty cross-section of Wall Street and Sand Hill Road, thoroughly infested with both their money and their questionable politics. The whole fracas is obviously going to shake out badly for me and my programmer brethren in the trenches, these things always do, but that’s for my dreary future: now is a time for drinking, giggling, and gloating.

Read post

What to expect from your framework

There’s been a bit of a brouhaha these last weeks as parts of the Internet suddenly woke up to the realization that most Single Page Apps are slow and overcomplicated, and — shock horror — it turns out that Facebook, the lovable scamps that brought us React and QAnon, have conducted themselves badly! Refreshingly, rather than launching a thousand caustic subtweets, this little stormwind has caused the blog posts to start flying again. Thank you, Elon “Vain gobshite” Musk. I’m totally here for it.

Read post

The Devil's glass

I thought I would be the cool dad playing video games with my kid. Turns out I want to go back to the 80s.

Read post

Twitter didn't need fixing

The short version is that I’m on Mastodon now and that feels okay, but I’m bitter about it and I wish it never had to go so far.

Read post

I don't want Twitter to change

As you all know I’m a big fan of Twitter. It’s really the only social network I spend time on, and honestly it’s 99% “interesting links and art directly to the face” and 1% “actual social network” and that’s why it works. It’s with great sadness I...

Read post

Quake kitty

I like my software boring and stable. I try to keep myself patched and all that, but I don’t really trust updates. That said, sometimes you gotta mix it up a little.

Read post

The deafening roar

I was a late adopter of Tailwind CSS. Now, I’ve been a fan of atomic CSS for a good many years, but it was a wasteland for the longest time while everyone was off doing CSS-in-JS, and nothing really caught my fancy. I had been eyeing stuff like ACSS

Read post

Strong opinions, however they're held

I keep coming across the phrase “strong opinions, weakly held” and I swear to God I’ve never heard a more wishy-washy piece of spineless bullshit in my life.

Read post

Hang your code out to DRY

I recently read an article by Jason Swett where he argues against Sandi Metz’ old chestnut “duplication is better than the wrong abstraction” and it made me feel like I have to articulate why I’m Team Sandi here. I’m sure I’ve used the saying a million times in discussions with colleagues and, as such, I feel personally attacked by Jason’s article and need to defend my honor.

Read post

That's expensive!

Look, I’ll freely admit to knowing next to nothing about the Enterprise world. It’s like a separate universe of its very own, populated by Solutions Architects and threatening-sounding acronyms like ITSM and SAFe.

Read post

Subsetting Material Icons in Rails

Unless you’re cool enough to commission your own icon set, you’re probably using a library like Font Awesome or Google’s Material Icons. We’re using Material Icons for the new thing we’re building. They’re good!

Read post

Good, fast, cheap, pick three

I’ve started a new job! It’s kind of hush-hush at the moment. We’ll be in stealth mode for a few months while we build this thing out, and then we’ll see what happens with the business side of things – nobody ever knows, right? But we’re absolutely going to ship a solid, well-built piece of software.

Read post

New Beginnings

Well, wouldn’t you know it! The ol’ homepage has a new face. You’ve probably stared at your RSS feed for a good long while, impatiently tapping your foot, wondering “why hasn’t Johan updated with his yearly-ish blog post” and I’m here to tell you that...

Read post

Austerity

There’s a recognizable type of snobbery that stems from mastery, and you can see it practically everywhere. A common one is in architecture: the people chosen to build our cities and houses are generally pretty far removed from what people think of as, well, uh, for lack of a better word, “good."

Read post

Carbonavirus

Welp, here we are: stuck in the blessed land of carbon footprint reduction. Nobody’s flying. We stopped buying frivolous takeout lattes. We’re not even driving ourselves back and forth from work. The latest number I’ve seen is an estimated 50% decrease in industrial activity and a global reduction in carbon emissions of around 5%.

Read post

EC2 is really complicated

A significant chunk of the web runs on Amazon hardware now. I don’t get it.

Read post

Not invented here, dude

I can never remember the syntax for find. And when I do remember it, it tends to be something stupid like find . -name package.json.

Read post

Culture is searchable

I absent-mindedly leave my headphones at work about once a month. My immediate reaction is always “asdfghjkl no no please god no this will be the bus ride from hell” but it usually turns out to be a surprisingly thoughtful 30 minutes instead. Or a nice long nap.

Read post

Fuck your bug fixes and performance improvements

It’s time to stop what we’re doing for a second and talk about automatic updates! Unsurprisingly, I have Opinions.

Read post

Smugness as a Service

Confession time: I’m partly powered by smugness. I’m not even sure that’s a bad thing.

Read post

Twitter is actually pretty great, you guys

We all know a bunch of good stuff happens when you delete social media apps from your phone. What we didn’t know is that a bunch of bad stuff happens, too! I went there so you don’t have to.

Read post