Yesterday I wrote about a way to do light mode screen recording [1] to
convert to light mode from dark mode with ffmpeg. I was wondering if it could
be done entirely on the front end for web applications. Turns out you can.
I’m sure there are limited wikis and site builders that don’t allow adding
style like this, but it works if you can.
<video
src="https://dropper.waylonwalker.com/file/1c53dbcb-4b84-4e94-9f04-a42986ab3fa1.mp4?width=800"
controls
style="filter: invert(1) hue-rotate(180deg) contrast(1.2) saturate(1.1);"
>
</video>
0 deg hue rotate
90 deg hue rotate
180 deg hue rotate
270 deg hue rotate
References:
[1]: /light-mode-screen-recording/
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
Check out 99 [1] by ThePrimeagen [2]. It’s a well-crafted project with great potential.
Neovim AI agent done right
References:
[1]: https://github.com/ThePrimeagen/99
[2]: https://github.com/ThePrimeagen
Convert a video from dark mode to light mode with FFmpeg!
Here
cassidoo.co [1]
Converting video from dark mode to light mode after the fact is a pretty great idea, I’m surprised at how well it does. Its definitely not perfect, but looks really good.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://cassidoo.co/post/ffmpeg-dark-light/
[2]: /thoughts/
I saw this tip from
Cassidoo [1]
and had to try it out for myself. I kicked on a
screen recording right from where my terminal
was, converted it, and it actually looks pretty
good.
ffmpeg \
-i screenrecording-2026-01-01_10-10-49.mp4 \
-vf "negate,hue=h=180,eq=contrast=1.2:saturation=1.1" \
screenrecording-2026-01-01_10-10-49-light.mp4
Your browser does not support the video tag. [2]
Dark Mode
Your browser does not support the video tag. [3]
Light Mode
There are a few unsettling things about it, but
overall I feel like it was a success.
References:
[1]: https://cassidoo.co/post/ffmpeg-dark-light/
[2]: https://dropper.waylonwalker.com/file/1c53dbcb-4b84-4e94-9f04-a42986ab3fa1.mp4
[3]: https://dropper.waylonwalker.com/file/de4e3378-6df2-45b1-84d5-0cc773ceb3c5.mp4
-
I actually like linus’s take here. My parents dropped $4k (~$8k in todays money) on a computer when I was a kid, (which turned into something too $$ to let me touch at that point). I played some educational games that no one else has heard of and I’ve long forgotten along with an early ciivilization game. It was e-waste in 2 years we maybe kept it 5, and it was barely working. Contrast this to my PC now I spent $2k on 3 years ago refurb from 2017, and it has no signs of age from me, does everything I need it to. Ram crisis sucks, the outright reason behind it sucks. But on the bright side you can still get a baller build for less than you could late 90s without inflation. The industry is not there for consumers right now, we had better times, but its still not bad times. Keep the hope alive that good times will come.
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/
Smartphones are black holes
They can bend spacetime without you even realizing it. People often get offended when I tell them that I don't have a phone, thinking that I'm lying and I just
Sylvain Kerkour · kerkour.com [1]
This sounds great…. I’m sick AF right now and dont want to do anything but watch YouTube, and let opencode do my work.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://kerkour.com/smartphones-blackhole
[2]: /thoughts/
The work on usage [1] by jdx [2].
A specification for CLIs
References:
[1]: https://github.com/jdx/usage
[2]: https://github.com/jdx
I’m impressed by pitchfork [1] from jdx [2].
Daemons with DX
References:
[1]: https://github.com/jdx/pitchfork
[2]: https://github.com/jdx
-
Yeah there’s some basics, you know things you might expect like using standard error and standard out correctly. One thing I’ll say on that because I think this is commonly misunderstood, standard error is not for errors, it’s for any information that isn’t part of the normal output. So you know often times that’s warnings and errors, but it might just be progress information. You know anytime that you just need to have something go to the user that’s what it’s there for." (6:15 - 6:42)
I’ve definitely done this sin in my own tooling before, and it does make things harder to use. I think I still take err/out at face value. I really like the translation Jeff gave here, one is for normal output, i.e. what the user asked for and the other is extra information. So if I wanted to list something and pipe it into something else, stdout only captures the list, thats it. if you have a bunch of information about config warnings, showing environment, are you sure questions, none of that is captured.
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/