Finally got my YouTube live chat API client library working with the peel C++ bindings generator for #GLib / #GObject. I built a small coroutine task abstraction that makes working with GLib-style async functions much cleaner.
Still a lot more work to do to with caching/refreshing OAuth tokens and processing of messages, but hopefully I can get a prototype libpurple plugin (the ultimate goal) working fairly soon
The best view from the botched
#ArtemisII NASA launch webcast: the separation of the Interim Cryogenic Propulsion Stage (with the Orion, not visible) from the Core Stage, seen from the Launch Vehicle Stage Adapter - scroll down on
https://skyweek.wordpress.com/2026/04/01/artemis-ii-vor-dem-start-maps-vor-dem-perihel/ for a sequence of nine screenshots from the whole ascent.
So far this year there have been 11 Chromium vulnerabilities serious enough to warrant Debian stable patches. Surely there must be a better way to make software so that it doesn't have these bugs in the first place. Not hating because obviously the Chrome people are smarter/more experienced than me, but there are *so many* security updates on the relatively few packages I have on my Debian stable system that I do not think our processes for writing software are coping with software complexity
The existence of Silicon Valley guys is one reason why I can't be a "let people enjoy things" person. Like this kind of soulless Rationalist person genuinely needs to be sent to reeducation camps to learn how to be an empathetic human and stop worshipping Bayes' theorem and waiting for the second coming of Skynet
Very funny to see Hacker News people up in arms about the UK removing hereditary peers from Parliament. It quickly spiraled into a discussion about how the U.S. Senate should be unelected and how democracy is a mistake. This is supposed to be a forum for "hacker" types? Anti-authority, anti-establishment? I really should spend less time there it really is full of loathsome people
Update: Found a good C++ bindings generator for GObject-based libraries (
https://gitlab.gnome.org/bugaevc/peel) and things are much better. Smart pointers handle reference counting and you can use a language that actually supports object-oriented programming

Sergey Bugaev / peel · GitLab
Modern C++ bindings for GObject-based libraries, including GTK and GStreamer
GitLabFeeling pretty dispirited. Seems like psychopathy, slaughter, and anti-intellectualism are rewarded endlessly, while any resistance gets crushed easily. There is no organized opposition in the U.S. to fascism and the fascists seem determined to obliterate the world for fun. I know I am complicit (being asocial and mostly on the computer all day) but genuinely don't know what to do anymore. Feels like we've missed off ramp after off ramp and are barreling full speed into a brick wall
Testing out the YouTube API's live chat message fetching on a Call of Duty stream. Seems to be working!
I appreciate a lot about GLib/GObject in C, but man does it feel like programming in a minefield. It is so easy to leak memory or accidentally access invalid/improperly-casted memory. The object model is also hard for me to wrap my head around. But it does work and has pretty consistent conventions at least
Started to implement name resolution - so far just creating placeholder names for the ambiguous nodes. Now the parser makes it a little further through the source file before crashing (previously was crashing due to no identifier nodes being emitted). Progress!