movq

uninformativ.de

No description provided.

Regarding complexity budget, slow software, all that:

Very few people do take pride in building simple, elegant, high-quality systems, do they? Why is that? Why are huge shiny things with tons of features more attractive? šŸ¤”

I never explicitly thought about this, to be honest. It was only at the back of my head. And I never tried to teach our younger ā€œstudentsā€ at work: ā€œHey, it’s a great achievement to build something simple and elegant. That’s something to be proud of!ā€

Worse, simple software is often described as ā€œboringā€. Yes, in a way, it is boring, because your brain doesn’t have to get into overdrive to understand it. But that’s exactly the point. And it’s hard to achieve that! Simple software isn’t just ā€œfewer lines of codeā€, you have to be pretty clever to solve a problem in a simple and elegant way. So it’s something to be proud of.

Could this be an intuitive, emotional way to get more people on board the ā€œsimple softwareā€-train? šŸ¤”

⤋ Read More

The ā€œMatrix Experimentā€, i.e. running a Matrix server for our family, has failed completely and miserably. People don’t accept it. They attribute unrelated things to it, like ā€œI can’t send messages to you, I don’t reach you! It doesn’t work!ā€ Yes, you do, I get those messages, I just don’t reply quickly enough because I’m at work or simply doing something else.

I’ll probably shut it down.

Nobody cares about privacy. The reasons I bring up in discussions are ā€œtoo nerdyā€. They put all their stuff to Google or Apple, so why would messaging be any different? (We’re not even using all those Matrix crypto stuff … That would be insane.)

It’s a lost cause. I’m frustrated.

Will I give in and use WhatsApp instead? Not sure yet.

⤋ Read More
In-reply-to » I've been thinking about a new term I've come across whilst reading a book. It's called "Complexity Budget" and I think it has relevant in lots of difficult fields. I specifically think it has a lot of relevant in the Software Industry and organizations in this field. When doing further research on this concept, I was only able find talks on complexity budget in the context of medical care, especially phychiratistic care. In this talk it was describe as, complexity:

@prologic@twtxt.net Hmm, yeah, hmm, I’m not sure. šŸ˜… It all appears very subjective to me. Is 2k lines of code a lot or not?

I mean, I’m all for reducing complexity. šŸ˜… I just have a hard time defining it and arguing about it. What I call ā€œtoo complexā€, others might think of as ā€œjust fineā€. šŸ¤”

⤋ Read More

Even if it might sound a bit overdramatic: Having a ā€œmostly workingā€ dwl Wayland setup now is a huge relief. šŸ˜… It’s quite the weight off my shoulders.

There are still lots of items on my TODO list, but if X.Org were to die tomorrow, I wouldn’t be completely screwed. Only, like, 30% screwed.

⤋ Read More

Speaking of ā€œAIā€ … I guess I gotta find out soon how to disable/sabotage Microsoft’s ā€œRecallā€, before this garbage takes over the family computers. 😩

(There’s no way the people in question will switch operating systems. I’ve tried, countless times.)

⤋ Read More

Thinking about disabling the two extra buttons for ā€œforwardā€ and ā€œbackwardā€ on my mouse, because today’s websites don’t support this anymore, and it’d safe me the constant moments of ā€œoh for fuck’s sakeā€. šŸ™„

⤋ Read More

Another thing that doesn’t work anymore after blocking network traffic from my Android phone: Some push notifications.

I run a Matrix server for our family. I use ā€œFluffyChatā€ on my phone. Traffic from the phone to my Matrix server is allowed and chatting in FluffyChat works.

But I don’t get any notifications anymore on new messages.

So, what’s going on here? Does FluffyChat, which only really needs to talk to my own server, rely on some cloud service for notifications? Seriously? šŸ¤” How does that work, does this cloud service see all my notifications or what?

Anyone around who did app development on Android? Can you shed some light on this?

⤋ Read More
In-reply-to » Today I learned about ā€œeierschalensollbruchstellenverursacherā€, and one is coming my way from Amazon. šŸ˜‚

@bender@twtxt.net To quote from the german version of ISO 27001:

Ƅnderungen an Informationsverarbeitungseinrichtungen und Informationssystemen sollten Gegenstand von Ƅnderungsmanagementverfahren sein.

Fuck off, you cunts. šŸ¤£šŸ–•

⤋ Read More

Hey @sorenpeter@darch.dk, I’m sorry to tell you, but the prev field in your feed’s headers is invalid. šŸ˜…

First, it doesn’t include the hash of the last twt in the archive. Second, and that’s probably more important, it forms an infinite loop: The prev field of your main feed specifies http://darch.dk/twtxt-archive.txt and that file then again specifies http://darch.dk/twtxt-archive.txt. Some clients might choke on this, mine for example. šŸ˜‚ I’ll push a fix soon, though.

For reference, the prev field is described here: https://dev.twtxt.net/doc/archivefeedsextension.html

⤋ Read More

More basement:

I completely forgot that DVD-RAM was a thing once. Found my old disks and they still work. 🤯 The data on them is from 2008, so they’re not that old. Still impressive.

The disks are two-sided. On the photo, that particular side of the disk on the left appears to be completely unused. šŸ¤”

And then I read on Wikipedia that DVD-RAMs aren’t produced anymore at all today. Huh.

(I refuse to tag this as ā€œretrocomputingā€. Read/write DVDs that you can use just like a harddisk, thanks to UDF, are still ā€œnew and fancyā€ in my book. šŸ˜‚)

⤋ Read More

I’m this close to making an Android app for managing a shopping list.

I just accidentally deleted the wrong list in the app that I’m currently using, and now there’s no way to get it back. Recreating it is a major pain, because typing on a phone sucks ass. Fuck.

Maybe I should just go back to using pen and paper …

⤋ Read More

Not making THREADING the default view of e-mail clients and thus teaching users that e-mail is ā€œchaoticā€ (if you get a lot of mail, it becomes unusable without threading) and ā€œneedsā€ full quoting all the time was one of the worst mistakes ever.

⤋ Read More
In-reply-to » I finally found the NASM assembler.

@prologic@twtxt.net High five, I’m ā€œgeneration Javaā€ as well! šŸ˜‚ There were some leftovers of C++, we used that in the computer graphics courses in Uni a lot. But pretty much anything else that involved programming was Java.

(There was nothing even remotely resembling CS in our ā€œhigh schoolā€. That school neither had the required teachers nor the equipment / PCs.)

⤋ Read More

I finally found the NASM assembler.

https://nasm.us/index.php

I had heard that name before, many times, but somehow never looked into it. Weird. šŸ¤ØšŸ¤”

This is the kind of program I was looking for.

  1. It is free software. Especially in the DOS ecosystem, free/libre software is a very scarce resource.
  2. It’s a small command line program, not a huge behemoth.
  3. Documentation appears to be well written.
  4. It can even cross-compile DOS binaries from Linux.

⤋ Read More
In-reply-to » man... day17 has been a struggle for me.. i have managed to implement A* but the solve still takes about 2 minutes for me.. not sure how some are able to get it under 10 seconds.

@xuu@txt.sour.is That was one of the horror puzzles where I had to look for help. 🄓 I modelled my solution after this: https://www.youtube.com/watch?v=2pDSooPLLkI

(I can’t explain it better than the video anyway.) It takes a second on my machine and that’s with my own hashmap implementation which is probably not the fastest one.

⤋ Read More
In-reply-to » @xuu Despite that these AoC math text problems are rather silly in my opinion (reminds me of an exercise in our math book where somebody wanted to carry a railroad rail around an L-shaped corner in the house and the question was how long that rail could be so that it still fits — sure, we've all carried several meter long railroad rails in our houses by ourselves numerous times…), these algorithms are really neat!

@lyse@lyse.isobeef.org They sure are silly at times. :-) You really have to combine this event with something else, like learning a new language. Otherwise it gets boring real quick.

What I absolutely love about AoC is that it’s – indeed – a bit like school. šŸ˜… The problems are well-defined, the inputs are well-defined, and there is a definite answer. It’s either right or wrong – period. Compared to real life and work, I welcome this very much. 🤣

⤋ Read More
In-reply-to » I’m really bad at competitive programming. šŸ™„ For today’s #AdventOfCode puzzle, I spent an eternity trying to understand exactly what kind of bG9naWMgY2lyY3VpdAo= the puzzle input describes – I haven’t done that in well over a decade, so I made little progress. I knew right from the start that SSBoYWQgdG8gbG9vayBmb3IgY3ljbGUgbGVuZ3RocyBhbmQgdGhlbiBmaW5kIHRoZSBMQ00K. It just didn’t occur to me to just run my program on cGFydGlhbCBpbnB1dAo= and print those numbers. 🄓 I only did that after over 4 hours (including time to debug my nasty C code) and then, boom, solution …

But when you do take the time to analyze / reverse-engineer this puzzle, then it’s really cool. Might be my favorite one so far. 😃

⤋ Read More

I’m really bad at competitive programming. šŸ™„ For today’s #AdventOfCode puzzle, I spent an eternity trying to understand exactly what kind of bG9naWMgY2lyY3VpdAo= the puzzle input describes – I haven’t done that in well over a decade, so I made little progress. I knew right from the start that SSBoYWQgdG8gbG9vayBmb3IgY3ljbGUgbGVuZ3RocyBhbmQgdGhlbiBmaW5kIHRoZSBMQ00K. It just didn’t occur to me to just run my program on cGFydGlhbCBpbnB1dAo= and print those numbers. 🄓 I only did that after over 4 hours (including time to debug my nasty C code) and then, boom, solution …

⤋ Read More

Today’s Advent of Code puzzle was rather easy (luckily), so I spent the day doing two other things:

  • Explore VGA a bit: How to draw pixels on DOS all by yourself without a library in graphics mode 12h?
  • Explose XMS a bit: How can I use more than 640 kB / 1 MB on DOS?

Both are … quite awkward. 😬 For VGA, I’ll stick to using the Borland Graphics Interface for now. Mode 13h is great, all pixels are directly addressable – but it’s only 320x200. Mode 12h (640 x 480 with 16 colors) is pretty horrible to use with all the planes and what not.

As per this spec, I’ve written a small XMS example that uses 32 MB of memory:

https://movq.de/v/9ed329b401/xms.c

It works, but it appears the only way to make use of this memory is to copy data back and forth between conventional memory and extended memory. I don’t know how useful that is going to be. šŸ¤” But at least I know how it works now.

⤋ Read More

One thing to note about #AdventOfCode: It is really, really important to inspect your input data.

Your data could be considered part of the puzzle description. By inspecting it, you can find clues and you might find out that you can make certain assumptions.

(I mean, what’s the alternative? There could be a list of allowed assumptions in the textual descriptions, right? That wouldn’t be a lot of fun, I think, as it would give away too much information about the solution. It’s more interesting to find those clues yourself.)

⤋ Read More

Today’s AoC puzzle is a very simple problem on modern machines, but quite tricky for me: It involves a number that doesn’t fit into 32 bits. šŸ¤” I wonder if/how I can manage to port this beast to DOS. (I once wrote a ā€œbig intā€ library myself, but that was ages ago and I hardly remember it anymore.)

⤋ Read More

It is a pleasure to work with the help system of Borland’s Turbo C++ 3.0 on DOS. The descriptions are clear and concise. There are short and simple examples. Pretty much every help page is cross-refenced and those links can be clicked.

⤋ Read More
In-reply-to » Day 2, Part 1 and Day 2, Part 2 of #AdvenOfCode all done and dusted šŸ˜…

@xuu@txt.sour.is Ah, you went with the ā€œscanningā€ approach as well. I did that, too.

It’s quite surprising to see (imho) how many people on reddit started substituting strings (one becomes 1 etc.). That makes the puzzle much harder by introducing nasty corner cases.

(Maybe I was just lucky this time to pick the correct approach right from the start. 🤣 Or maybe it’s a bit of experience from doing past AoC events …)

⤋ Read More
In-reply-to » I've been reading "Shareware Heroes: The renegades who redefined gaming at the dawn of the internet" learning of games developed before I was born, or when was too small. I'm finding old gems to play and understanding that we have the same problems developing games 30+ years after, although with some obvious differences.

@eapl.me@eapl.me Which problems are those? šŸ¤”

The only ā€œadvancedā€ Tetris I played back then was ā€œBlock Outā€:

https://www.youtube.com/watch?v=ZpeSH6pbio4

Except it didn’t run nearly as smooth as in this video. šŸ˜…

⤋ Read More
In-reply-to » Check out the Nex Protocol. It's designed to be even simpler than Gemini and Gopher. What do you think? Could be great to host a twtxt feed on.

@shreyan@twtxt.net The only problem is that there is no such thing as ā€œplain textā€. Is it ASCII? UTF-8? DOS or UNIX line endings? Something else?

.txt or ā€œplain textā€ are ambiguous terms, I’m afraid. 🫤

Other than that, it looks neat and interesting. šŸ˜…

⤋ Read More

I’d love to read the original source code of this:

https://ecsoft2.org/t-tiny-editor

This was our standard editor back in the day, not an ā€œemergency toolā€. And it’s only 9kB in size … which feels absurd in 2023. šŸ˜… The entire hex dump fits on one of today’s screens.

Being so small meant it had no config file. Instead, it came with TKEY.EXE, a little tool to binary-patch T.EXE to your likings.

T with customized theme, empty file
T with default theme, showing LICENSE.TXT
TKEYS.DEF, the ā€œconfig fileā€

⤋ Read More

A GTK 4 application showing an empty window uses about 160 MB of RAM:

$ wget https://movq.de/v/138ab3e622/win.c
$ cc -Wall -Wextra -o win win.c $(pkg-config --cflags --libs gtk4)
$ ./win

It also takes several seconds to start on my machine because it is compiling shaders and initializing DRI (it’s faster on the second run, unless you happen to lose ~/.cache/mesa_shader_cache/). This might be a hint as to why it’s using so much memory: There’s obviously much more going on behind the scenes these days, not just a little bit of internal housekeeping and then creating a window.

⤋ Read More