RSS Amplifier

Blog

Blargh

The blog where I write down random techy things I've found or done.

blog.habets.seSource feed ↗10 posts

Live Last read · last published · next check

Latest posts

I fixed shell pipes

In a previous post I made pipes in unix shells more reliable. Well, it had some drawbacks. I’ll summarize the problem, the failed previous version, and then show the new and improved one. Problem summary Downstream processes in a unix shell pipe cannot know if the upstream finished successfully, or exited with an error. This means that it can’t know if it should “commit” the data it received.…

Quake demos raytraced again

This is a follow-up to a previous post about raytracing Quake demos . But first, the money shot: And flat shaded and textured videos. Youtube is Very Aggressive™ with its compression, so the quality there is not good. For pixel quality the above images showcase it better. A new raytracer One of my original reasons for creating the quake demo povray files is that it was a good source of data for 3D…

AI solving problems

I’ve been able to find some time, lately, to work on my project backlog. And because it’s 2026, I’ve been using AI as a diligent intern. I’ve ranted before about seccomp , but still used it for a project or two. But then, rarely, it triggered an unexpected openat . That’s exactly the kind of I do want to detect and kill the binary for, so I don’t just want to allow it. I want to know where it’s…

RustRadio UI improved

This is just a short followup to the last RustRadio post. If you came for more rants about C , you’ll be disappointed. I’ve never been that interested in writing UI code, including HTML. You can see the “programmer art” in the screenshots linked from www.habets.pp.se . And then the slightly different tech section , that doesn’t serve much of a purpose now that we have github. I’ve not been happier…

Everything in C is undefined behavior

If he had been a programmer, Cardinal Richelieu would have said “Give me six lines written by the hand of the most expert C programmer in the world, and I will find enough in them to trigger undefined behavior”. Nobody can write correct C, or C++. And I say that as someone who’s written C and C++ on an almost daily basis for about 30 years. I listen to C++ podcasts. I watch C++ conference talks. I…

Quantum safe amateur radio secure shell

I’ve previously pointed out that the AX.25 implementation in the kernel is pretty poor . It’s not really being maintained, and even when it gets fixes after I reported it , with people running LTS OSs it can take like 5 years before before the fix actually reaches users, if ever. So when writing applications, you still have to work around kernel bugs from a decade ago. This makes it kind of…

You cannot sell AI written software

You may have seen it too. This trend of “I wrote some software to solve a problem. I think it’s pretty great. Does anyone have any feedback?”. Maybe it’s a budget app. Or some company management thingy, tracking sales. Or invoicing. Maybe you take a look. It looks pretty slick. But then you get a feeling of uncanny valley . It’s just not right. Maybe you can’t even put your finger on it. I’m not…

Rustradio - SDR framework now also in the browser, with Wasm

I’ve previously blogged about RustRadio , my GNU Radio like framework for writing software defined radio applications in Rust. And now there’s more progress of an interesting kind. Anything that tries to do something similar to GNU Radio needs a few things: Core framework. SDR components (filters, clock recovery, multipliers, etc). A user interface. In addition to these, GNU Radio also has the…

The strange webserver hot potato — sending file descriptors

I’ve previously mentioned my io-uring webserver tarweb . I’ve now added another interesting aspect to it. As you may or may not be aware, on Linux it’s possible to send a file descriptor from one process to another over a unix domain socket. That’s actually pretty magic if you think about it. You can also send unix credentials and SELinux security contexts, but that’s a story for another day. My…

Ideal programming language

My last post about Go got some attention . In fact, two of my posts got attention that day , which broke my nginx since I was running livecount behind nginx, making me run out of file descriptors when thousands of people had the page opened. It’s a shame that I had to turn off livecount, since it’d be cool to see the stats. But I was out of the country, with unreliable access to both Internet and…