Premonition of a Dragon Moon
I like the sound of Robin’s next book, and I like this little website about it that he’s updating over time.
5th | 10th | 15th | 20th | 25th | 30th | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
12am | |||||||||||||||||||||||||||||||
4am | |||||||||||||||||||||||||||||||
8am | |||||||||||||||||||||||||||||||
12pm | |||||||||||||||||||||||||||||||
4pm | |||||||||||||||||||||||||||||||
8pm |
I like the sound of Robin’s next book, and I like this little website about it that he’s updating over time.
A handy resource for keeping your blocklist up to date in your robots.txt
file.
Though the name of the website is unfortunate with its racism-via-laziness nomenclature.
Browse through some truly web-native artwork by Eric, and read all about it:
There is a lot, and I mean a lot, of room for variability in web technologies. We work very hard to tame it, to deny it, to shun it.
Warm-blooded software:
Maybe your CI isn’t working because one of the services you depend on got bought or ran out of money. You add a new dependency and find yourself needing to upgrade your compiler. Another package you depend on is deprecated, and doesn’t work with the latest version of the compiler.
I aspire to build cold-blooded software:
You work alone, make some changes when you’re inspired, and then don’t touch it again for another year, or two, or three.
It me:
I’d do this even if no one read it. Blogging, for me, is the perfect format. No restrictions when it comes to length or brevity: a post can be a considered and meticulously composed 3,000-word essay, or a spurted splat of speculation or whimsy. No rules about structure or consistency of tone. A blogpost can be half-baked and barely proved: I feel zero responsibility to “do my research” before pontificating. Purely for my own pleasure, I do often go deep. But it’s nearer the truth to say that some posts are outcomes of rambles across the archives of the internet, byproducts of the odd information trawled up and the lateral connections created.
This is a handy little tool for spinning up a local web server when you don’t all the features of something like MAMP.
I love, love, love the deep thinking that Lea has put into this, really digging into the guts of what design does.
Overfitting happens when solutions don’t generalize sufficiently and is a hallmark of poor design. Eigensolutions are the opposite: solutions that generalize so much they expose links between seemingly unrelated use cases. Designing eigensolutions takes a mindset shift from linear design to composability.
Lea ties this into web standards too. It’s really helped clarify for me why I want more declarative options for common use cases (like a share button)—it’s about raising the ceiling without raising the floor.
Every word of this is spot on!
I’m also very grateful to Chris for taking the time and energy to write this — a perfect example of Brandolini’s law in action.
If you do work that is hard, kind of a grind sometimes, and involves lots of little and small decisions, I think you’re pretty safe for a while. As a computer person who has spent a lot of this year messing with AI, and someone who has kept an eye on AI promises for decades, the things they’re saying about the future seem really far away. There’s tons of progress ahead, but it’s not a mistake to get a mortgage or plan a vacation.
Here’s an HTML web component that uses progressive enhancement for a very common use case: clicking a thumbnail image to view the full size image in an overlay. Just be sure to update the code to include an alt
attribute before using this in production!
Yahoo PIpes was ahead of its time. Here’s a nostalgic retrospective by Glenn Fleishman.
Scott gives a thorough step-by-step walkthrough of building an HTML web component, in this case for responsive video:
In this post, I’m going to talk briefly about responsive video, but most of the post will be about using HTML web components to extend native video behavior in very helpful ways. But even if you’re not particularly interested in video development, stick around as I’ll demonstrate how to build an HTML Web Component to progressively enhance anything you need.
At this point, if you’re still on Twitter, it might be time to accept a hard fact about yourself: there’s not a single thing that its leadership could do that would push you off the site.
I try not be judgy, but if you’re still posting to Twitter, I’m definitely judging you.
Maybe you feel like you have a megaphone. That it’s hard to walk away from a big number, even if you know the place sucks and the people listening now are mostly desperate blue-tick assholes. That’s a choice you can make, I guess! But if you have a follower count in the thousands and have ever complained that rich people aren’t pulling their weight, or that elites acting in their self-interest is bad for society at large, you should probably take a long hard look in the mirror tonight.
I had around 150,000 followers on Twitter. I’ve left Twitter. So can you.
Lots of new features landing in Safari, and it’s worth paying attention to the new icon requirements now that websites can be added to the dock:
To provide the best user experience on macOS, supply at least one opaque, full-bleed
maskable
square icon in the web app manifest, either as SVG (any size) or high resolution bitmap (1024×1024).
Here’s a good walkthrough of adding microformats to your site, starting with h-card
and moving on to h-entry
.
Fancy joining me in Pittsburgh in August next year to celebrate Brad’s birthday?
A delightful ode to a once-divisive design.
I didn’t want to play the game of striving to be seen.
I just wanted to be.
A terrific piece from Aaron Sankin that goes from Waldsterben to software development via firefighting and the RAND corporation.
Bureaucracies use measurements to optimize and rearrange the world around them. For those measurements to be effective, they have to be conducted in units as relevant as possible to the conditions on the ground.
A collection of collections, this is a directory of design systems, with the handy option to browse by component type. The blueprints section is still a bit thin on the ground, but likes the most useful bit—an in-depth dissection of individual compenent types.
🎶 What a good year for the style sheets! 🎶
This is an interesting idea from Scott—a templating language that doesn’t just replace variables with values, but keeps the original variable names in there too.
Not sure how I feel about using data-
attributes for this though; as far as I know, they’re intended to be site-specific, not for cross-site solutions like this.
The fascinating pre-history of steam power, illustrated with interactive widgets.
Huh! I did not know this. Good to know!
I suspect that in a few years’ time, we’ll look back at this month, and especially Jeremy and Eric’s articles as an inflection point. Similar to how Ethan managed to make responsive web design accessible to more people, I think we’re looking at the same thing happening right now for web components.
A great summary (with links) of all the recent buzz around HTML web components:
I don’t know about you, but I read every one of those articles, and for the first time, web components “clicked” for me. Suddenly, I understood how they could fit into our workflow, and where they’d be a good addition. I was excited about web components in a way I’d never been before.
Personal sites—and, more broadly, our digital lives—are a mirror of who we are. Some of us will try to neatly organize everything under one hyper-curated digital roof while others will scatter things around on 12 different domains and 24 services. Some will design a site for themselves and not touch it again for a decade while others will feel the need to redesign every 6 months. Those are all right answers to a question that doesn’t have wrong answers.
I love the analogies Matt uses to describe the vibes of different kinds of coding:
When I’m deep in multiple nested parentheses in a C-like language, even Python, I feel precarious, like I’m walking a high wire or balancing things in my hands and picking my way down steep stairs.
I haven’t done much Haskell but what I did felt like crawling underground through caves and tunnels.
Opening a terminal window to a distant server is like reaching through a hatch with my arm, but a long way; ssh tunnel is well named.
Writing code with GitHub Copilot and Typescript in full flight feels like, well, flying, or at least great bounding leaps like being on the Moon.
These updated definitions makes sense to me:
- Newly available. The feature is marked as interoperable from the day the last core browser implements it. It marks the moment when developers can start getting excited and learning about a feature.
- Widely available. The feature is marked as having wider support thirty months or 2.5 years later. It marks the moment when it’s safe to start using a feature without explicit cross-browser compatibility knowledge.
This is a really interesting proposal, and I have thoughts.
Remy has turned his linkrot-battling technique into a service that you can use. He has more details on his blog.
Remember when I wrote about sizes="auto"
? Well, it’s coming to Chrome! Hallelujah!
The value of design principles done right:
What I’ve learnt is that principles are not a luxury. Making explicit and conscious what drives your behaviour can be incredibly powerful as a means to critically shape a team and organisation to be who they want to be.
Here’s the video of the talk I gave in Nuremberg recently.
I might just be pattern-matching, but I recognise myself in what Robin describes here:
No one can explain what you do. Let’s face it, you don’t do a great job explaining it either. People come to you for advice on issues that they introduce with “I’m not entirely sure how to describe this problem or what exactly I’m looking to do here, but…” Your colleagues and your communities genuinely value your contributions even as they remain entirely mystified by the exact contour of your position.
Such a clever minimalist use of CSS!
A fun variable font with three axes: inktrap, balloon, and curve.