Firehose

This is everything, all in one place, coming 'atcha!

This firehose contains a record of all my micro posts, articles, photography, and other web doings. If you'd like to subscribe to feeds to stay up-to-date with things, then you can do so via my syndication page.

stylus_note

Taking time away from something and then returning to it later often reveals flaws otherwise unseen. I’ve been thinking about how to gain the same benefit without needing to take time away.

Changing perspective is the obvious approach.

In art and design, flipping a canvas often forces a reevaluation and reveals much that the eye has grown blind to. Inverting colours, switching to greyscale, obscuring, etc, can have a similar effect.

When writing, speaking written words aloud often helps in identifying flaws.

Similarly, explaining why you’ve done something – à la rubber duck debugging – can weed out things that don’t make sense.

stylus_note

I went to a bank and put a really high negative margin on all the money inside. This offset was enough for it to appear outside the bank, allowing me to abscond with it.

Of course, banks can easily avoid this situation by applying overflow: hidden to their vaults, but they very rarely remember to. It tends to be an operational oversight.

Learn more neat tricks like this in my upcoming book, CSS for Crime.

stylus_note

Spent far too long looking blankly at the docs for the <dialog> element while wondering why my <details> element wasn’t working right.

stylus_note

Y’know, when I started getting into development proper, I read so many blog posts and publications from fantastic people.

If you’d told me as a youngster that as a 19-year-old I’d be writing for these publications and chatting with figures whose work I admired, I simply wouldn’t have believed you.

I know you should ‘never meet your heroes’, but I’m ecstatic to get to meet so many of my inspirations.

There are a lot of fields out there, and I’m so glad I found myself doing web/front-end development. I can scarcely think of communities so kind and open to sharing knowledge.

Thank you to all.

stylus_note

Sometimes I scroll through all the possible align-* and justify-* permutations to find the one I need.

Not for lack of knowledge, but instead because my brain has simply run out of compute.

stylus_note

I think it is important that you make sure everything you publish on the web is equally accessible to all.

Thus, my content is unusable no matter your abilities. In fact, you might be better off with a screen reader because then at least you don’t have to look at it. Shit’s fucked.

stylus_note

I’ve used Lexend as my go-to for years, but its lack of OpenType features is really bothering me. I can’t find anything else quite like it, though.

It has a heavy default weight, wide letterforms, and is very legible. Fira, IBM Plex, and Manrope aren’t it.

Any suggestions?

stylus_note

I’ll be interested to see if there is a statistically notable uptick in clients reporting prefers-reduced-transparency as a result of Liquid Glass once iOS 26 releases.

stylus_note

Serious talk.

I appreciate that people make art of or containing me, but I ask that you do so in a respectful manner. Thank you.

stylus_note

Oh, look. Accessibility horrors beyond comprehension from Apple. A company with so much money the human mind boggles to comprehend it.

Accessibility horrors so blatant it takes one glance to identify many of the more offensive failings.

Accessibility horrors that are so inaccessible that even the completely able struggle.

Accessibility horrors that are covered in the very first class of any UI/UX design or front-end development education.

Accessibility horrors that you have to force through because even the worst testers are screaming at you.

stylus_note

Do some people prefer to read content directly in their feed readers? With the exception of some news outlets, I much prefer to view content on site.

I feel that the site on which writing resides provides a large part of the content’s atmosphere.

stylus_note

In the same vein as Internet Explorer and Netscape Navigator, I propose some renamings:

  • Safari Surfer
  • Chromium Cruiser
  • Firefox Forager
  • Edge Envoy
  • Vivaldi Voyager
stylus_note

Sometimes I find myself thinking about the fact that Google’s Material Symbols has an icon called “Skull List”.

I’m sure that’s nothing…

A very simple skull icon next to three lines representing a list.

stylus_note

A few days ago I wrote a message and forgot to close a parenthesis. I’ve been talking as an aside ever since, and I can’t take it anymore.

)

I’m free!

stylus_note

And with a single click, I find myself transported to an ancient place. I’m a digital archaeologist, and I’ve stumbled across a long-forgotten remnant of those who came before. UI untouched for a decade.

It is two rebrands old. The palette is warped. Distorted. There are gradients. Buttons forged from a low-resolution image. I brush away a drop-shadow-lg.png to inspect an input form. Picking it up, I bring it to my face to count the pixels, only to be hit by the harsh aroma of Bootstrap 2 in the back of my throat.

I drop it to the ground, and it shatters into CSS properties. “Oh well,” I muse aloud. “It’ll be fixed on refresh. Assuming anyone ever discovers this place again.”

I do what I came to do and close the tab.

stylus_note

What is it with big corps trying to make “everything apps”? We’ve already got apps that do everything.

Web browsers. I’m talking about web browsers. Just invest in the web. It isn’t hard.

stylus_note

I’ve been CAPTCHA’d. They’re holding me at a data centre and won’t let me go until I point out all the motorcycles, but they keep telling me I’m incorrect. Please send help! The situation is dire.

Note with text distorted like a CAPTCHA reading:

A hand reaching out through a Google reCAPTCHA interface towards the viewer. The top reads:

stylus_note

#372C25. The silty sediment that swirls at the bottom of a river bed. Slightly washed out and absorbent of light rather than reflective. Clay muddles what is otherwise organic and grounding. Decaying leaves and mud. Undulating and dispersing as it ebbs and flows between the toes of those who wade and splash.

stylus_note

I left my flexbox out in the sun for too long, which caused it to dry up. Now it won’t wrap anymore.

Do I need to get a new one, or can I rehydrate it somehow?

stylus_note

Sometimes I read something I’ve written and think, “Who the hell writes like that?”

Then I have the horrifying revelation that it is me. I write like that. Oh dear.

stylus_note

‘Did you, or did you not, kill this man?’

‘Your honour, he recommended I rewrite my static site with React because, quote, “It’s better.”’

‘The killing was justified. Court dismissed.’

stylus_note

This just in:
People shocked as venture capital backed company with good product/service that was operated unsustainably and at a loss to draw in users enshittifies as backers scramble for return on investment.

“I’m shocked”, says one user of the product/service. “I know this exact thing has happened every other time without fail, but I thought this time would be different.”

stylus_note

Sending love to all the poor folks named Albert who go by Al.

None of us saw this coming, and I’m sorry most fonts don’t differentiate between ‘l’ and ‘I’.

article

New post published:
Advising Reasonable AI Criticism

We're the good guys. They're the bad guys.

A loose analysis of the unproductive criticism surrounding artificial intelligence from both pro and anti camps, with advocations for more nuanced, constructive engagement and how that can be achieved to allow more informed and respectful discussions about AI technology and its impact.

https://vale.rocks/posts/ai-criticism

stylus_note

Last night I crept into your house under the cover of darkness and made almost imperceivable modifications to your browser’s user-agent stylesheet.

Changes just impactful enough that you will be mildly inconvenienced. I chucked a few !importants in there as well.

My evil knows no bounds.

stylus_note

You use * + * because it is a useful CSS snippet. I use * + * because I think it looks funny, and I like saying ‘lobotomised owl’.

We are not the same.

stylus_note

A word of advice: don’t have a default username system if you’re running an online service which you’ll need to moderate.

Automated accounts will use these default names, which allows them to blend in with genuine users using default names and makes it harder to spot patterns.

stylus_note

Sometimes I push to prod simply because I’ve grown to hate my creation and wish to watch it suffer and toil in this cruel world at the twisted hands of deranged users.

Other times I feel sorry and have sympathy, so my pushes to prod are because I can’t bear to watch my own creation flounder alone within the confines of my machine with me as its sole tormentor any longer.

stylus_note

Part of becoming better at a craft is to reflect on shortcomings and to see what can be improved and iterated upon. I feel like a lot of people forget to do that bit when “moving fast and breaking things”.

stylus_note

Words, laid bare. Branded with the mark of shame: ‘[sic]’. The textual equivalent of a public flogging. Execution in bracketed form.

stylus_note

Carousels are a web staple. Websites use them, and thus people do in turn. They’ve garnered a lot of hate over the years, primarily due to being largely inaccessible and poor ways of presenting information, yet still they persist. So, if you can’t beat ‘em, join ‘em.

The Chrome team put together Carousels with CSS which Sara Soueidan has examined in extreme depth. My main takeaway from the main article and Sara’s analysis is that while this is a vague step in the correct direction, it doesn’t address any of the core issues like accessibility and introduces new ones. I was disappointed to see the approach taken in regard to addressing those issues and think Eric Eggert hit the nail on the head.

It completely fails with regard to separation of concerns by using CSS for structure, rather than HTML. I don’t know how to address that other than asking why? I’ve noticed a lot of new CSS features, especially ones with the Chrome team’s influence, are getting a little too markup-y for my liking. David Bushell has covered this and the overreliance of pseudo-elements with touchings on the carousel kerfuffle.

HTML is for structure, CSS is for styling, JS is for anything that can’t be achieved with HTML/CSS, and accessibility isn’t omittable. We should be striving to build a web that is both functional and inclusive. Respect the web; respect users.

stylus_note

I wanted to see how the times Bluesky posts are published affect the popularity of those posts, so I put together a super quick and dirty little tool to do that.

https://tools.vale.rocks/bluesky-posting-analyser

My findings lined up with my hypothesis that posts around American mornings and evenings merit the most activity.

I was surprised to see that weekends are popular within technical communities, as I expected engagement to drop off when people aren’t ‘working’.

stylus_note

HTML. CSS. JavaScript.

Long ago, the three nations lived together in harmony. Then, everything changed when The Frameworks attacked.

stylus_note

If you’re on Twitter/X, I think less of you.
If you’re on Substack, I think less of you.
If you’re on Facebook/Instagram, I think less of you.

To remain on them knowing the damage they are doing and facilitating is to comply with and endorse their actions. There isn’t an excuse for staying.

stylus_note

A local developer has been found dead. Upon interviewing their family, we discovered they’ve repeatedly been found typing alone in an empty IRC chat at odd hours of the morning regarding creating a “revolutionary new technology”. Police believe they were attempting to reinvent the literal wheel.

stylus_note

I always feel dirty talking about type. Serifs with lovely ball terminals. Soft shoulders. Attractive curves. Deep inktrap crotches. Beautiful eyes. Broad arms. Long, slender legs. Tittles.

(I mean, good typography is sexy – even ignoring the trade diction.)

stylus_note

If you ask for help, and someone decides to help you, and they ask you clarifying questions so they can provide that help, don’t fight them!

Don’t question their questions and push back; they’re asking for a reason.

stylus_note

As developers, our goal is to build something to be used. Part of this is ensuring it can be used by anyone and caters to everyone.

Accessibility isn’t a separate concept or goal. Making something more accessible for some people makes it better for all people, and that is our greater intent.

stylus_note

To avoid leaving heat stains on my wooden desk, I’ve been using my 3D printer as a coaster for my cups of tea.

An unplanned benefit is that the heated bed also works to keep them warm if I’m so inclined.

stylus_note

A lot of people fork my projects on GitHub and then do nothing with them. I was curious as to why so many do this, so I’ve asked some of them, and they all say it is for the sake of archival.

I’m not quite sure how effective of a strategy that is…