Weeknote #2

Some week. I ranked it at 2.5 out of 5 stars in our weekly team retro, which is pretty low for me. Our dog is not having a good time. His heart condition (three degenerated and leaky valves) seems to be worsening which is why we scheduled an electrocardiogram for tomorrow. He also started limping heavily on Wednesday; we waited a bit, hoping he had only bumped his leg against something, but it didn't get better. The vet diagnosed an acute bout of arthritis which we've now added to the-list-of-longterm-diseases-to-manage. Poor little fur toad.

In other news, we bought a car yesterday. I found an offer for a black 2015 Seat Leon online on Monday and liked it at first glance. We went to have a look-see and drive-around, found nothing amiss and signed a pre-purchase contract on the spot. This is a dramatic improvement from 2014, when I fretted over car offers for weeks and spent three sleepless nights doubting myself before finally buying the VW Golf IV we had reserved. I actually enjoyed the process this time – maybe I'm growing up after all.

Work

I reverted to my usual front-end duties with only a bit of hand-over support for our returning project coordinator. The week was still stressful; there's the infinite backlog to consider, with too many paused tasks lurking in the shadow of the "more important" ones. I need to get back on top of my Kanban game. I'm looking at you, next week!

Speaking of which, I also have to face up to a promise past me made, and deliver at least a summary for a talk I'm supposed to give in …18 days? Where has the time gone?!

Here's two code things I enjoyed: I improved on the web components fallback after switching www.g-ba.de from Symfony's documented recipe for client-side inclusion to a custom one using h-include. The reason for the switch was that I need valid HTML to pass WCAG 2.1 and the documented solution with its <hx:include> syntax doesn't pass (but web components do!).

The other thing? I published our current disclosure (read more/read less) boilerplate script to npm. It's rough, it's not well documented, it's untested – but it's there. Naturally, a great write-up on accessible disclosure patterns came out just this week, so I'm looking forward to improving our script in the near future.

Reading

Huh. I didn't read as much this week. "Firefight" is finished and "Calamity" (Reckoners #3) sits at 60%. I might finish it tonight, we'll see.

On the other hand, the web was a gold mine for excellent articles and thought pieces this week:

Jason Hoffman (famous for his deep dives into the History of the Web) let loose with his Yet Another JavaScript Framework, an absolutely fascinating insight into the history of Javascript frameworks, decisions made in the late 2000s and their repercussions for the present.

Responsible JavaScript: Part 1 by Jeremy Wagner is a thoughtful examination of how Javascript could/should be used contrasted with how it is actually used. It follows a bit in the "simple & boring" vein of last week, but it is by no means a condemnation of Javascript. Same theme, albeit a bit on the rant-y side: Owen Williams' You probably don't need that hip web framework. But hey, I liked it and this is my blog, so I can link to it.

Josh Bader showcases how we can use CSS Variables + calc() + rgb() to enforce high contrast colors. I love this kind of mash-up thinking. It's great to see what is possible using standard CSS features with only a slight dose of Javascript.

I was nodding rigorously while reading Revisiting the rendering tier, an excellent post by the team at The Guardian about the challenges every (larger) project faces with their CSS codebase as well as their past and current approaches to solve them. Spoiler: they make an excellent argument for server-side rendered CSS-in-JS components.

tl;dr: If you read only one article this weekend, make it this one. ☝️