Vacation: Doing crazy things like C on DOS, lots of Rust, bare-metal assembly code, everything is fine.

Back at work: How the fuck do I move an email in this web mail program? Am I stupid? šŸ˜®ā€šŸ’Ø


#ubuezaa

(#izdrxgq) @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.


#ogc6jxq

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. šŸ¤”


#533m7aa

(#fadfcsa) @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


#odagrtq

Spent most of the long weekend working on a few coding projects… specifically, I pushed some updates for TwtKpr to my test instance before spending some time working on the build process and demo page for my new twtxt-parsing library… which lead me to make some changes to my existing fluent-dom-esm library.

So, nothing actually got finished, but the incremental updates continue…


#epdavoq

(#xtkev6q) 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). šŸ¤”


#czkzdta

Trying to build a native heap allocator that grows and isn’t statically wired into the binary’s image is fuck’n hardā„¢ as 🤣


#bfoknma

@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


#vqu5wfq

Mu (µ) is now getting much closer to where I want it to be, it now has:

  • A process stdlib module (very basic, but it works)
  • An ffi stdob module that supports dlopen / dlsym and calling C functions with a nice mu-esque wrapper ffi.fn(...)
  • A sqlite stdlib module (also very basic) that shows off the FFI capabilities

šŸ˜…


#n3vbeia

(#w3qxekq) @movq@www.uninformativ.de What I wish for once on this miserable planet is for coporations one day ohave a different set of reasons to exist and thrive other than:

but since the only goal of that manufacturer is to make money, they do it

Life becomes very boring and uninteresting when your only goal in life is to ā€œmake more fucking moneyā€ šŸ’° Fuck 🤬 Fuck this Corporatocracy we live in šŸ¤¦ā€ā™‚ļø


#gpoo3oq

(#voi7gxa) @eldersnake@we.loveprivacy.club

Steps to world domination:

  1. ā€œInventā€ ā€œAIā€ (by using other people’s data).
  2. Get people hyped about it and ideally hooked on it.
  3. Only provide it as a cloud service. But hey, if you want to, you can run it locally!
  4. Buy all hardware available on the market, so that nobody but you can build more systems.
  5. All PCs of consumers and competitors are too weak now and can’t be upgraded anymore.
  6. Everybody depends on your cloud service! Win!

All of that is possible because corporations don’t have a ā€œconscienceā€ in capitalism. Nobody forces the RAM manufacturers to sell all their stuff to just one or two buyers, but since the only goal of that manufacturer is to make money, they do it.


#w3qxekq

(#tcz2koq) @movq@www.uninformativ.de I’m pretty sure I know a bunch of people who love to blow up their money. :-(

Holy shit! :-O At least, the walls didn’t shake here. But we also had some very loud explosions, maybe they were far enough away. :-? Of course, the bangs continued last night.

Maybe some politicians need to be personally attacked with this sort of shit first in order to ban it once and forever.


#3jjzmca