Andrew Meggs @meggsomatic.tv · 20/08/2026std::time is a notable footgun. The difference between two Instants is a Duration, and Duration is an unsigned magnitude, so subtracting Instants silently saturates to zero. At least one of these assertions will always fail: 131
Andrew Meggs @meggsomatic.tv · 28/07/2026Slowly accepting that my final form is going to look a lot like “But we have Cyber Rick Rubin at home...” so I figure I might as well read his damn book. 020
Andrew Meggs @meggsomatic.tv · 23/07/2026A lighting environment like, on the walk between the main #SIGGRAPH Hall and the @khronos.org breakouts, is really just one giant nerd-snipe. 040
Andrew Meggs @meggsomatic.tv · 27/06/2026Shameless plug for all the places my wife's talking at #SIGGRAPH. (I'll also be talking, but only at the hotel bar and only about things better left unsaid.) 100
Andrew Meggs @meggsomatic.tv · 20/06/2026The trouble with sanding green paint in a room with white trim is that during cleanup it's really hard to tell what's dusty and what's Cornell Box. #TheGraphicsAreGreatIRL 010
Andrew Meggs @meggsomatic.tv · 03/01/2026Oh. Oh no. I picked a distro that buries the lede until you commit to an install, then boom. Unironic anime catgirl as the mascot. Welp. In for a penny, guess this is who the Linux Desktop is by and for in 2026, etc. Might as well just embrace it. 110
Andrew Meggs @meggsomatic.tv · 03/01/20262026 is (yet again) probably not the year of the Linux desktop. But it IS the year of me getting so sick of my OS constantly trying to upsell me that I'm finally willing to try. 160
Andrew Meggs @meggsomatic.tv · 26/11/2025“Dark role-playing masterpiece/dropped bag of spanners” is kind of my whole IRL personality, so that would totally track. @pcgamer.com www.pcgamer.com/games/rpg/22... 160
Andrew Meggs @meggsomatic.tv · 12/09/2025Expectations are everything. If they'd just called it something like "VtM: Blood & Phyre", everybody would have been super enthusiastic to see how Chinese Room did their own modern take on WoD. Hope folks give this a shot for what it is, instead of raging at what it isn't — so there'll be more WoD. 010
Andrew Meggs @meggsomatic.tv · 30/05/2025Friendship ended with Gaussian Splats. Now Triangle Splats are my best friend. 1152
Andrew Meggs @meggsomatic.tv · 02/04/2025Now for a bit of light PC Setup music. @masterbootrecord.bsky.social 020
Andrew Meggs @meggsomatic.tv · 31/03/2025Reasonably confident that absolutely nothing good will come from this. #Apple2 #CRT 010
Andrew Meggs @meggsomatic.tv · 29/03/2025Dammit. Anyone want to buy one lightly-used perfectly-working but-not-chroma-teal PS5 controller? 100
Andrew Meggs @meggsomatic.tv · 08/03/2025A very retro font renderer was absolutely the most useful thing I could write this afternoon. 070
Andrew Meggs @meggsomatic.tv · 26/01/2025Hi my wife @shannonin3d.bsky.social and I couldn't help but notice you from across the bar, and we were wondering about your dress's bidirectional reflectance distribution function... 070
Andrew Meggs @meggsomatic.tv · 21/01/2025@phobon.io Here you go. Fewer pixels. Party like it's 1979. #Apple2 #CRT 040
Andrew Meggs @meggsomatic.tv · 20/01/2025Sniped by my own physics, I added rotational energy transfer. What's the point of Pong if you can't "Put English" on the balls and have them bounce accordingly? I did a WASM build of this checkpoint. Run it in your browser: meggsomatic.tv/balls_with_r... 181
Andrew Meggs @meggsomatic.tv · 20/01/2025This little 230-page book from 1989 was such an important thing for me. Unashamedly technical, it documented the API by explaining how BSD implemented it. The specifics are obsolete but the conceptual framework has been a lasting foundation. 1/🧵 150
Andrew Meggs @meggsomatic.tv · 20/01/2025Now I've got an Apple II analog CRT simulator and a modern physics engine. (Ho ho ho?) 270
Andrew Meggs @meggsomatic.tv · 20/01/20252025 is gonna be the Year Of The <ᴀᴅᴏʀᴀʙʟʏ ᴛɪɴʏ> Linux Desktop. I can feel it. 150
Andrew Meggs @meggsomatic.tv · 16/01/2025Got my analog CRT simulator built into something I can install on my Steam Deck with controller support. The change in form factor sparks joy — it just feels good in a visceral way. So about doing something more than color bars... 070
Andrew Meggs @meggsomatic.tv · 03/01/2025Didn't have THUNDERSNOW in the forecast for today's dogwalk, but here we are. 060
Andrew Meggs @meggsomatic.tv · 29/12/2024OK, here's the good stuff. CRT scanlines are blooming nicely. 🌸 010
Andrew Meggs @meggsomatic.tv · 29/12/2024As promised, I did it myself. Moved my analog #CRT simulator into a #Slang shader, and now I can emulate an #AppleII display with Biblically-Accurate Color Fringes in Rust/Wasm/WebGPU. Thanks to @pineight.com for the original test pixels. 060
Andrew Meggs @meggsomatic.tv · 29/12/2024Thanks for the test case! My scanlines are still completely distinct from one another, but within each scanline there's some nice subtlety to the color fringes that you can only get when modulating with a color carrier wave. 110
Andrew Meggs @meggsomatic.tv · 28/12/2024I've been coding up an analog CRT sim, and it's been fun to see how different low-pass filters affect that. Here's "green" with a ringing Lanczos-1 filter on everything, contrasted with a tent filter for Y and a box filter for I+Q. (Bottom two rows of each image are the filter kernels.) 120
Andrew Meggs @meggsomatic.tv · 27/12/2024Accidental mug of eye-hurting juice. I swear I'm going somewhere with this. 010
Andrew Meggs @meggsomatic.tv · 26/12/20243/🧵The Slang WASM backend emits "human-unfriendly" code for simple matrix uniforms. It works (modulo me making an *even* number of sign errors and accidental transpositions), but it's way less readable than it could be. But otherwise good stuff. Now to make something "real". 💀/🧵 010
Andrew Meggs @meggsomatic.tv · 26/12/2024Got textures and uniforms into my Rust/Slang/WASM/WGPU project, with a bonus appearance from @shannonin3d.bsky.social on guitar. See meggsomatic.tv/first_textur... (may not play nice with Safari). Problems so far: 🧵 190
Andrew Meggs @meggsomatic.tv · 25/12/2024Just unwrapped a ModRetro Chromatic, and I have to admit that regardless of any feelings on Palmer Luckey, the actual thing is an insanely nice physical object. 10/10 this was clearly built by someone who builds things for actual wars. 070
Andrew Meggs @meggsomatic.tv · 25/12/2024And that's a wrap, *just* before the other creatures were stirring. Finished #AdventOfCode entirely in #RustLang. Thanks to @was.tl for making it. Thoughts on using Rust below... 1221
Andrew Meggs @meggsomatic.tv · 23/12/2024Switched my #WebGPU project to @shader-slang.bsky.social so I don't have to learn WGSL. Much nicer syntax, though I did file a bug on the output. Don't know WGSL well enough to be sure it's not my error, but my wife tells me I'm right. github.com/shader-slang... Anyway here's Slang in a browser: 1182
Andrew Meggs @meggsomatic.tv · 18/12/2024When #AdventOfCode makes it impossible to brute-force a solution, but the problem space is “only” a few hundred trillion and you work at a FAANG... 130
Andrew Meggs @meggsomatic.tv · 15/12/2024📺 Better YIQ->RGB on my analog CRT sim. Got "correct" Apple II colors by driving input beyond spec from -1/16...+17/16, especially noticeable in the now-proper eye-hurtiness of the green. 🙃 Un-reversed in-phase and quadrature modulations. 🕸️ Now to merge w/ my WebGPU and we'll 2025 like it's 1977. 060
Andrew Meggs @meggsomatic.tv · 14/12/2024Compiling Rust to WASM to programmatically set the inline style on a <canvas> element seems wrong, yet still somehow less-wrong than actual CSS. Anyway, here's my #FirstTriangle in #WebGPU. 290
Andrew Meggs @meggsomatic.tv · 04/12/2024Here we go! Just set peacock.surpriseMeOnStartup = true, and BOOM rainbow is the new black. Now I need an extension to do the same to Chrome based on a hash of the URL. marketplace.visualstudio.com/items?itemNa... 160
Andrew Meggs @meggsomatic.tv · 30/11/2024The blueskyroast.com analysis of my wife is entirely accurate about the dating "red flags", but also those are why there was a second date. 050
Andrew Meggs @meggsomatic.tv · 30/11/2024The trouble with EVERYTHING finally supporting dark mode is that we've lost the instant differentiation we had when only half the world supported dark mode. Now we need green mode and blue mode and orange mode so it's easy to tell thumbnails apart at a glance. #orangemodeisthenewdark 170
Andrew Meggs @meggsomatic.tv · 28/11/2024After a bit of playing, I'm sold on a Lanczos-2 for the luma, and a box filter with quarter-phase smoothstep edges for the chroma. Just the right balance of 🌈 and 😶🌫️. And along the way my Rust code got way way less horrible, with proper structs, slices, zips, maps, and match expressions. 030
Andrew Meggs @meggsomatic.tv · 27/11/2024No matter how many times I re-generate, "Craft Beer Nerds" consistently gives me a badger for the Knight, and I really want to know what hidden truth about badgers and beer nerds is lurking in the training data. labs.google/genchess 020
Andrew Meggs @meggsomatic.tv · 24/11/2024It's super dependent on exactly how you low-pass filter the signals, too. I used a box filter as a first cut, which isn't physically plausible. Compare what different colors you get with a tent filter, for example. I need to experiment simulating some actual analog RC filter circuits, I think. 🛑/🧵 040
Andrew Meggs @meggsomatic.tv · 24/11/2024Is the OTHER colors that get generated at the boundaries. Note the way the orange goes through green on its way to black, and the green goes through red. That only happens if you work with the actual carrier waves, but it's an subtly important part of the "look" of the screens of the time. 3/🧵 160
Andrew Meggs @meggsomatic.tv · 24/11/2024Fun little learn-Rust project: Simulating analog CRT circuits to generate the colors of an Apple II. From top-to-bottom: 1. the "bits" in memory, which becomes... 2. a monochrome Luma signal at a higher frequency than the CRT wants, which gets... 3 & 4. multiplied by the Cr and Cb carrier waves... 🧵 1100