Kalush Orchestra, the winners of #Eurovision 2022 published the official video for the song "Stefania", which was filmed in #Ukrainian cities affected by #Russian occupiers.

Give that wolf a banana, and give yourself a Subwoolfer mask with this camera filter in your web browser: github.com/dpogue/subwoolferiz

Was this a good use of my time? Probably not
Do I regret it? Not at all!

For the Myst/Uru fans and folks, there's been a recent update to the MOULa server including restoring access to the Gahreesen Wall game, an option to start with the original Cleft opening, and an upcoming release of a new Age on Friday.

This has been several months of work by volunteer fan developers, and it's great to see it go live 😁

I have a long-running git branch with 7 years of commits as I tried to add a feature and got it semi-working with trial and error. The 170 commits aren't the cleanest, and the branch conflicts with the main branch so it can't easily be rebased.

I could reimplement that work in a new branch, with much cleaner and more logical commit history.

But I don't know how I feel about losing the historical record of those older commits. The commits being dated across 7 years feels meaningful 😕

After 2 years of working on a codebase that adopted it, I gotta say I'm still not a fan of JS `await`

It makes asynchronous code look synchronous and it's too easy to miss the `await` if it's buried in a parameter or an assignment.

`.then` Promise chains were good actually

In case anyone needed further proof that we're in a bad timeline, "I just want to spend my day playing with Xcode signing" is a thing I just said 😱

Please boost:

A screen reader for Linux (GUI) is being developed in Rust. If anyone knows Rust and would like to help, or to just view the great work taking shape here, see:


#a11y #accessibility #blind #screenreader #coding #rust

Latest Safari Tech Preview changelog:
"The <dialog> element is now enabled by default"

After several years of pushing back against threats of removal from the HTML spec, and contributing to getting it implemented in Firefox, I'm taking this as a personal victory 🥳

Personally I would have preferred to see a world where

- Firefox OS became a viable contender
- Microsoft doubled down on EdgeHTML and made it actually competitive
- Safari kept innovating on app-like features the way they did when iOS first launched

But unfortunately that's not the world we live in. So we're stuck with Chromium leading the charge, Safari playing spoiler, and Firefox losing relevance.

Show thread

TIL that you can do CSS pseudoelements on Shadow DOM slotted content

::slotted(button[data-pseudo-hacks])::after {
content: '😈';

Basically what I'm saying is that I will never not be bitter over the death of Firefox OS

Show thread

What's personally disappointing about the Basecamp situation is that they were one of the few (only?) companies talking about the sort of back-to-basics HTML-first modern web stuff that really interests me.

I remember seeing one of their job posting a few years back and being excited that jobs focusing on that kind of work existed, but I haven't really seen any since 🙁

Hard to believe, but today marks 10 years since the CyanWorlds.com Engine code was released as open-source! The past decade has been quite a journey, both with regards to Uru and life in general. I wrote a bit of a recap on the Guild of Writers site: guildofwriters.org/paradox/ref

Mostly I want to say thanks to everyone who has helped, encouraged, and supported this work. Here's to even more exciting future development!

I wrote a third book: Web Components at Work is a guide for writing custom elements without using a library. It covers defining new elements, shadow DOM, extending the browser's existing design patterns, and case studies from the last few years of my projects at NPR. thomaswilburn.github.io/wc-boo

Fun times tonight... it turns out there's a bug in some WebKit indexedDB backend stuff that can corrupt database indexes when upgrading from iOS 13 to iOS 14. There's no way to prevent this from happening, and it's unrecoverable once it happens, and of course it's breaking my app 🙃

It is interesting watching Microsoft's vcpkg project basically turn into npm-for-C++. Now with vcpkg.json manifest files and the per-project dependency storage equivalent of node_modules.

Seriously though, vcpkg is great, and these JSON manifests will make it much easier to get a C++ project up and running after cloning a repo.

Show older

The original server operated by the Mastodon gGmbH non-profit