About the 3D demo I made with my kid, and using new techniques, and giving up control for expediency, and internal imperfections, and some other things.


Want to see a Radiacode go nuts? Bring it to the entrance to a uranium mine.

For the curious, here’s a nice writeup of how this works – it’s a fun combination of multi-decade–old ideas, “standard” structure-from-motion, and tricks that are inspired by (but not directly based on) the current GPU and neural network boom: aras-p.info/blog/2023/09/05/Ga

Show thread

In a grocery store on Saturday morning, I overheard two women with a small child talking about how a US government shutdown would mean that the WIC program, which helps to ensure that children have enough food to eat, is immediately suspended.

It turns out that almost exactly a decade after writing about donating to food banks during such a shutdown, I am still incandescently furious about this.


Have been throwing CC-licensed drone videos through Polycam’s implementation of Gaussian splatting.

With about 100 resized frames selected from this: commons.wikimedia.org/wiki/Fil

It gives this: poly.cam/capture/1b6abb91-bf29

Elon Musk Disrespect Amplifier is an important ecosystem service but also perhaps you, dear reader, are called to higher things.

Very slowly converging toward the GNSS observatory dashboard I’ve imagined for years.

Does saying “Sorry if I’m a bit off – I just got my boosters* and I feel like a bruised sack of potatoes” do more to remind and encourage acquaintances I meet to get their shots, or does it scare them away?

* I recognize that the public health authorities have made a decision not to call them boosters, but given that it’s a stupid-ass decision, I’ve elected to ignore it.

It works by offsetting texture lookups by more than the typical normal angle would for a standard texture mapping, using a heightmap for perturbation distance. It turns out I essentially invented a parallax shader from first principles, but inside-out.

I discovered this because I was trying to find a way to make a TBN (tangent, bitangent, normal) matrix entirely in a fragment shader, and it turns out that’s occasionally done by people who make parallax shaders.

Show thread

YouTube’s front page in an incognito window. I did look up SimCity videos from this IP recently, so that one’s on me. I think this is bad.

This is a fun client-side demo of what the current generation JPEG-replacing codecs can do. Some of them only really shine when you turn the effort slider up. If you spend what would have been an absurd amount of CPU cycles in 1992 on encoding, you can get acceptable quality at itty-bitty sizes. (Try the built-in sample images.) squoosh.app/editor

Show thread

As a fan of many Canadians and things about Canada, I nonetheless recommend that people in the US who imagine it to be a magical place of ~*~civility~*~ and ~*~quiet common sense~*~ spend even a few seconds familiarizing themselves with how horrible its politics are. cbc.ca/news/canada/saskatchewa

Got flu and covid shots this morning and boy are my arms tired.

(“JPEG is PERFECTLY FINE and only IGNORANT ASSHOLES want to mess with something that has worked ADMIRABLY FOR THIRTY-ONE YEARS and actually this is THE PROBLEM WITH SOFTWARE TODAY” is also a common point of view. It does not, in my limited experience, survive a thoughtful conversation with someone who pays bandwidth bills, cares about color reproduction, etc.)

Show thread

I’ve been surprised by the number of people popping up with “I always hated webp, the format I can never open properly”. I’m not saying that’s wrong.

But like … wepb is BSD-licensed and, as a lossy image format in the abstract, pretty okay.

The problems are mostly industry silliness (e.g., Apple being halfhearted about it without presenting a better alternative) and the fact that the reference implementation is in The Language Whose Creators Regretted Giving It That Fundamental Security Flaw.

Show thread

WebP has flaws as a format – don’t we all – but I think the commentary should be putting more blame on (1) the industry’s failure to standardize on (and rigorously reviews the implementations of) a single JPEG successor format, given the obvious hunger, and (2) the practice of implementing anything that reads nontrivial untrusted data in a programming language that is not memory-safe.

When people and ideas I thought were cool in 2015 turn out to be wrong or tiresome: Everything changes. I have grown since then; also, some things that were once good are now bad.

When people or ideas I irrationally disliked in 2015 are now recognized as bad: I was right all along, as I always am.

Une chronophotographie du 59e vol de l'hélicoptère martien #Ingenuity 🚁 qui permet de bien se rendre compte des différents paliers atteints : 5 en montée, 3 en descente, avec une altitude max (et record) de 20 m.
Crédit : NASA/JPL-Caltech/ASU/DejaSu #Mars #MarsHelicopter

Gently closing the Desmos tab where I’ve been trying to build some kind of trigonometric intuitions about … ah … circles, maybe?

You ever think about how we have the both-sides view of a lot of important personal correspondences, even state-of-the-art-ly–encrypted correspondences, from like the early modern era and such? Or like we have Pepys’s diary, which (if I recall) he assumed that only he could read? It comes to mind a lot when I write a personal e-mail or make a new notes.md or whatever.

Show more
Horsin' Around

This is a hometown instance run by Sam and Ingrid, for some friends.