@kiwu@twtxt.net better now, with you around! 🙈
how are we doing yarn!
@lyse@lyse.isobeef.org I’ll let you guys know when/if it’s ready to get published. 😅 There are still rough edges and, obviously, very few widgets. Most importantly, a list view and a table widget are missing. But my vacation is over now, so things will crawl to a halt.
@prologic@twtxt.net Yep! I like that this distillation metaphor makes it explicit: You have to go ahead and actually distill something. It doesn’t happen automatically. The metaphor acknowledges that this is work that needs to be done by someone.
2026 👀
“What is a PC compatible?” https://codon.org.uk/~mjg59/blog/p/what-is-a-pc-compatible/
@bender@twtxt.net They’re not completely impossible, but C makes it much easier to run into them. I think the key point is that in those “safe” languages, buffer overflows are caught and immediately crash the program (if not handled otherwise) instead of silently corrupting memory, not being noticed right away and maybe only later crashing at a different location, where it can be very hard to find the actual root cause. This is a big improvement in my book.
Some programmers are indeed horrible. I’m guilty myself. :-)
I like the article.
I came across this on “Why Is SQLite Coded In C”, which I found interesting:
“There has lately been a lot of interest in “safe” programming languages like Rust or Go in which it is impossible, or is at least difficult, to make common programming errors like memory leaks or array overruns.”
If that’s true, then encountering those issues means the programmer is, simply, horrible?
@movq@www.uninformativ.de I quite like this part:
Many people write programs, but few stick with a program long enough to distill it.
I think this is finally a good metaphor to talk about “simple” software:
https://oldbytes.space/@psf/115846939202097661
Distilled software.
I quote in full:
principles of software distillation:
Old software is usually small and new software is usually large. A distilled program can be old or new, but is always small, and is powerful by its choice of ideas, not its implementation size.
A distilled program has the conciseness of an initial version and the refinement of a final version.
A distilled program is a finished work, but remains hackable due to its small size, allowing it to serve as the starting point for new works.
Many people write programs, but few stick with a program long enough to distill it.
I often tried to tell people about “simple” or “minimalistic” software, “KISS”, stuff like that, but they never understand – because everybody has a different idea of “simple”. The term “simple” is too abstract.
This is worth thinking about some more. 🤔
@movq@www.uninformativ.de Yiha! Even autoscroll, very nice! The naming certainly drew inspiration from Urwid. I like it. Looking forward to eventually checking out its inner workings. :-)
@movq@www.uninformativ.de @prologic@twtxt.net @bender@twtxt.net Given the age, they must mean Kopernikus! https://en.wikipedia.org/wiki/DFS_Kopernikus
@bender@twtxt.net I also went back to my duty today and fixed a problem I created right before vanishing into the holidays. Of course, I discovered more problems while fixing the one thing. Luckily, another public holiday tomorrow. :-)
During my time off, I was a very lazy rat. I planned on doing some woodworking again, but instead I started watching Itchy Boot’s Africa season: https://www.youtube.com/watch?v=pMvfS5mbsiI&list=PL8M9dV_BySaXNvQ_V1q4UU-DirPQlX0ZP
@prologic@twtxt.net Yup, it’s been a while since I played that. 😅 Hardly rememberd it, to be honest. And apparently I did everything wrong, because that monster just came along and trashed my city, no way to stop it. 🤪
@bender@twtxt.net No, I had my break/holiday earlier. I chose to work through, except the public holidays of course.
@bender@twtxt.net I am so prepared and ready for retirement. 🤣 (Not gonna happen for a while, though. If ever.)
@prologic@twtxt.net so, you were not giving time off during the end of year? The company you work for didn’t give a break?
@movq@www.uninformativ.de hear hear! If anything, holiday breaks help to validate the fact that we are prepared for retirement. At least, I am!
@movq@www.uninformativ.de Ahh nice! It’s been several decades since I’ve played that! Probably 3 actually come to think of it 🤣
@prologic@twtxt.net SimCity 2000 in DOSBox 😅
@movq@www.uninformativ.de what game is that?
I basically worked through the Christmas break last year. I already had my holidays in Vietnam a few weeks earlier. 😆
I just wanted to chill a bit, then this fucker came along and burned everything to the ground.
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@shinyoukai@neko.laidback.moe Not using OpenBSD or httpd? Yeah. It’s been working quite well since ~2017, so, meh, too lazy to switch now. But nothing is set in stone, of course.
@bender@twtxt.net I have another two days of vacation, then it’s back to the grindstone for me as well. 😢
Can’t we have vacation all year round? 🤣
@prologic@twtxt.net Computers are great, eh? Soooo many problems to choose from! What do you want to solve today? 😅
And now the event loop is not a simple loop around curses’ getch() anymore but it can wait for events on any file descriptor. Here’s a simple test program that waits for connections on a TCP socket, accepts it, reads a line, sends back a line:
https://movq.de/v/93fa46a030/vid-1767547942.mp4
And the scrollbar indicators are working now.
I’ll probably implement timer callbacks using timerfd (even though that’s Linux-only). 🤔
@movq@www.uninformativ.de I think they are Windows users, going by the lack of attention to detail, and the fact they love DFS. Ha!
Ending three luxurious do-what-I-please weeks; tomorrow is back to work. What do you all do during your break (and this assumes you had one, even if short)? I mostly did nothing, which in itself was truly something! So much, I long to do it all over again. A man can dream, right? Haha!
Trying to build a native heap allocator that grows and isn’t statically wired into the binary’s image is fuck’n hard™ as 🤣
Looks like someone loves Depth First Search.
@movq@www.uninformativ.de Very cool! 😎
More widget system progress:
https://movq.de/v/87e2bce376/vid-1767467193.mp4
I like the oldschool shadow effect. 😅 Not sure if I’ll keep it, but it’s neat.
The menu bar is still fake.
Had to spend quite a bit of time optimizing the rendering today. This can get really slow really quickly.
Unicode is Pain.
I might be able to start porting my first program (currently uses urwid) soon. 🤔
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@shinyoukai@neko.laidback.moe Yeah, probably. Not going down the CURRENT route, that’s for sure. 😅
@movq@www.uninformativ.de Cool! :-) I just implemented a workaround for the time being.
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@lyse@lyse.isobeef.org It’s already fixed:
https://github.com/openbsd/src/commit/668f1f05e71c5e979d278f1ad4568956226715ea
Question is when that fix will land. 😅
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@lyse@lyse.isobeef.org Bah. Yeah, that looks like a bug. Let’s see if this already reported upstream. 🤔
@movq@www.uninformativ.de I noticed that your feed’s last modification timestamp was missing in my database. I cannot tell for certain, but I think it did work before. Turns out, your httpd now sends the Last-Modified with UTC instead of GMT. Current example:
Sat, 03 Jan 2026 06:50:20 UTC
I’m not a fan of this timestamp format at all, but according to the HTTP specification, HTTP-date must always use GMT for a timezone, nothing else: https://httpwg.org/specs/rfc9110.html#http.date
@movq@www.uninformativ.de Let’s hope they find the guys who fired that rocket onto the balcony and we actually get a fireworks ban.
@prologic@twtxt.net Very impressive! :-)
@movq@www.uninformativ.de Watch out for dragons!
@movq@www.uninformativ.de yep sounds about right 🤔
@shinyoukai@neko.laidback.moe Oh no, fuck that 🤣 That’s why I built an FFI so I can call C-functions via shared libraries 🤣
@movq@www.uninformativ.de Very nice! We also had some snow this morning, but it’s already melted. And the sun is missing, too. :-D
Mu (µ) is now getting much closer to where I want it to be, it now has:
- A
processstdlib module (very basic, but it works)
- An
ffistdob module that supportsdlopen/dlsymand calling C functions with a nice mu-esque wrapperffi.fn(...)
- A
sqlitestdlib module (also very basic) that shows off the FFI capabilities
😅