Vanilagy

@vanilagy.bsky.social

Author of Mediabunny and Marble Blast Web. I love working on technically challenging projects that bring the best out of the web. https://mediabunny.dev/

I don't trust programmers when they write "MB", I want them to mean 1 million bytes but often they mean 1048576 bytes instead!! GitHub just told me the file size limit is "100 MB", and I have no idea what they mean!! That's why you should always always ALWAYS write MiB!!

Mediabunny is full of workarounds for player-specific bugs. I just added a workaround for a WebKit-specific bug where a <video>'s UI control elements would never hide if an MP4/MOV had a video track with a non-zero "alternate_group" metadata field. Super random bug; reported it!

Bild

Mediabunny v1.52.0 adds quantizer support for video encoding!! 🚀 What is it? It enables you to encode videos with a *constant quality* throughout. The encoder will automatically spend more bits when it needs to, to maintain quality. Read about it here: mediabunny.dev/blog/quantiz...

Quantizer support in Mediabunny v1.52.0 | Mediabunny

Mediabunny v1.52.0 adds quantizer-based video encoding for AVC, HEVC, VP9, and AV1, enabling constant-quality video encoding.

mediabunny.dev

Big feature landing in Mediabunny tomorrow: quantizer support. This enables the user to encode video with a consistent *quality*, not *bitrate*. This is often the more desired behavior! It'll be impl'd in a way where most users will get the improvement automatically w/o changes

The problem with virtualized lists is that they break ctrl+F search, not sure if there's a good workaround My preference is just "you don't need to virtualize your list"

Cannot remember the last time I used a state machine pattern. Used it today, and the result is glorious It really helps you reason through complex logic

Google FINALLY has stopped "shadowbanning" Mediabunny for whatever reason. It actually returns proper results now! 🎉 Curiously, this happened almost exactly one year after releasing the site, which is exactly what happened another page of mine. Is this something Google does??

Bild

The Mediabunny API documentation pages now have a last-updated date on the page and, more importantly, in the sitemap.xml. It's cursed: the API docs are generated from the source code at build time, and they're never checked into git, so Vitepress has no way of knowing when the API last changed.

Bild

Mediabunny v1.51.0 ships with a banger new feature called "composable conversions". A major usecase this enables: combining multiple media files into one. You can take video from one file, audio from another, and merge them both into the same output file.

Bild

I want to write up a blog post that goes into detail about how TurboRes is able to decode ProRes so quickly. Where are these writeups best posted? On a personal webpage or on something like Medium?

Bild

One thing I really dislike about agentic coding is how learning is disincentivized now; you can achieve good results in a new area you've never done things in. Useful sure, but I also find it kinda sad. If I no longer learn or grow through my work, it feels less meaningful to me.