getty is a user on You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.


Today we accidentally ran into lion dances in two different places, which I think means we were doing something right.

getty boosted

I wrote about the 2010 rise and fall of Google Wave, and lessons we can learn from their attempt to roll up email and chat and wikis into a single federated tool:

The good today is that I had an excellent pineapple custard bun from a local Chinese bakery this morning. The bad is that I had to drive home because I accidentally broke my laptop's initramfs and didn't have a suitable rescue disk at work to fix it. So… middling, overall?

@ashkyd I don't have it on Github proper yet, but I do have the source accessible here. It's awkward and hastily written, so be warned!

Small project: algorithmically-generated skies in the rough style of Steven Universe's backgrounds. I'm still working on them, but I already like how they're looking. (Using Rust+Cairo.)

(…I really should make my bots cross-post to a Mastodon instance, but haven't gotten around to doing so yet.)

new birdsite bot: for all your programming trend news

…anyway, the original thought was, "I should write a car-races-and-action-scenes tabletop game where your only two stats are Fast and Furious."

Last year I started writing a small, silly tabletop RPG as a way of taking a joke too far, but I've dusted it off recently with some rules overhauls, and got some good feedback from a tabletop-nerd friend last night, and now I have a sketch of a game that I think is… genuinely interesting?

…there should be a ruby-centric mastodon instance called

@pasqui023 That's a good way of thinking about it. The weirdness to me comes from exposing a specific exception-catching mechanism using the same mechanism that creates dynamic intersection types as well as hashmap unions.

@pasqui023 It's not overloading, because overloading selects a function first (e.g. based on an argument type) and then runs it; this will always run the first function, and then if that one fails, it will run the next one in the chain:

@pasqui023 It's not just an intersection type, but for reasons that didn't make it into the screenshot. For example, the "inheritance" of two functions will try them sequentially to enable dynamic definition-by-cases, which is different than just dynamic intersection types.

Today I learned:
1. Plymouth—the software for displaying graphical loading animations for Linux systems—has its own custom scripting language, and
2. This dynamic type union thing is a feature of that scripting language:

video games Show more

Luddite griping Show more

I decided to ring in the new year at home with a couple of cocktails (including my personal favorite, the Alexander Wept), some Friends at the Table, and some art. Gotta get the year started right.

Because I am That Kind Of Nerd, my absolute favorite bit of Splatoon 2 is the usually-nonsense typography that appears on clothing and posters and signage that is nonetheless pitch-perfect modern logotype/signage typography.