movq

www.uninformativ.de

No description provided.

Recent twts from movq

Someone recommended a nice (German) talk:

https://media.ccc.de/v/ds24-394-linux-hello-world-nur-mit-einem-hex-editor

Luckily, everything™ is easier™ on DOS with .COM files. A fun little time killer to make a HELLO.COM using only a hex editor, the Intel docs and the DOS interrupt list.

That ModR/M stuff is easy in the end, but it took me quite some time to understand it. 🥴

(I’m still new to DOS on this level and didn’t know that all segment registers are initialized to the same values, apparently, so copying CS to DS was not necessary. Too lazy to update the screenshot. File size shrinks by 4 bytes.)

https://movq.de/v/0139fbaabc/doshello.png

⤋ Read More
In-reply-to » @lyse Gosh, that sounds so horrible. 🙈🤢

Speaking of public transportation, though: If it works, then it’s an amazing system. I love it.

I recently took the time to find an alternative route to one of my doctors. Hardly any people using that route and it’s faster. Absolutely brilliant. It’s like having a chauffeur. 😅

But navigating through that system is also a total nightmare. Which bus takes you to which places at which times, getting info about current construction sites, all that stuff. It takes forever.

And it doesn’t help at all that this is what their website looks like:

https://movq.de/v/acb23dc1c2/s.png

You can’t move that window at the bottom. It just sits there and takes up space from the map. It gets even worse: When you ask for a route, you get to see the buses and individual stops and all that – but all in that little window with that large font! Why do we all have widescreen monitors and than stack UI items vertically?

Sure, 30 years ago it was much worse. But it could also be much better today. 😅

⤋ Read More
In-reply-to » Thinking about what to do for the next Advent of Code. 🤔

Another idea for the upcoming Advent Of Code 2024:

OS/2 Warp 4 came with Java and that not only meant a runtime but a JDK including API docs. So, for AoC, I could try to solve as many puzzles as I can in that environment, directly on my old Pentium. For later puzzles, I’ll definitely want to switch to my normal workstation for faster development cycles – but I can still use Java and try to backport the solutions.

Sounds interesting. 🤔

https://movq.de/v/81ac0142f2/1.ff.jpg
https://movq.de/v/81ac0142f2/2.ff.jpg

⤋ Read More

There was a time when WebKit (I think it was WebKit) stored metadata of downloads in extended attributes. Like the URL you were downloading it from.

https://movq.de/v/f79b94485a/s.png

This was really useful. 🤔 Chromium also did it for a while and then they removed it due to privacy concerns. Now none of the popular browsers do it anymore. 🫤

⤋ Read More
In-reply-to » @movq Is there a good way to get jenny to do a one-off fetch of a feed, for when you want to fill in missing parts of a thread? I just added @slashdot to my private follow file just because @prologic keeps responding to the feed :-P and I want to know what he's commenting on even though I don't want to see every new slashdot twt.

@falsifian@www.falsifian.org @bender@twtxt.net I pushed an alternative implementation to the fetch-context branch. This integrates the whole thing into mutt/jenny.

You will want to configure a new mutt hotkey, similar to the “reply” hotkey:

macro index,pager <esc>C "\
<enter-command> set my_pipe_decode=\$pipe_decode nopipe_decode<Enter>\
<pipe-message> jenny -c<Enter>\
<enter-command> set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<Enter>" \
"Try to fetch context of current twt, like a missing root twt"

This pipes the mail to jenny -c. jenny will try to find the thread hash and the URL and then fetch it. (If there’s no URL or if the specific twt cannot be found in that particular feed, it could query a Yarn pod. That is not yet implemented, though.)

The whole thing looks like this:

https://movq.de/v/0d0e76a180/jenny.mp4

In other words, when there’s a missing root twt, you press a hotkey to fetch it, done.

I think I like this version better. 🤔

(This needs a lot of testing. 😆)

⤋ Read More
In-reply-to » I've decided to try and get rid of as much stress as possible. Stupid things stress me out, some things are more important to fix then others. But today I got started, by fixing the xeon bulb on our car, been ignoring it for a year, because the car garage said it'll cost me 350$ so get it changed (Because they had to remove the whole front).. So because of that I did not prioritize it. But today I went and bought a bulb for 50$ and I openened the hood of the car and saw I could just replace it my self by simply removing a cover to get access to the bulb. So I've been stressing over nothing for a year simply because I did not check and took their word for it. next thing to get fixed is a rotten board under a window outside, been bugging me for a long time, now I want to get that sorted next. All these small things adds up, and I want peace of mind.

@stigatle@yarn.stigatle.no Oh, I know that feeling all too well. Go for it! ✌️

Also:

https://movq.de/v/8cdad1ae3a/s.png

😅

⤋ Read More
In-reply-to » A equivalent yarnc debug <url> only sees the 2nd hash Media

@prologic@twtxt.net In that screenshot (https://twtxt.net/media/7c3rEWveU64SAxrXZ6CDYS.png), all the bracketed stuff is duplicated again, compared to lyse’s original twt. I suspect that’s the cause for the changed hash.

I could not reproduce this by manually duplicating those text areas in lyse’s twt. I end up with the hash pjdciga instead, but I probably mistyped something.

⤋ Read More

Always makes me giggle a bit like an idiot when I see OS/2’s equivalent of the “trash” or “recycle bin”. The English original calls it “shredder” (which is appropriate – it deletes files, there is no delay like in Windows 95’s “recycle bin”) …

… but the German word for it is “Reißwolf”. That used to be a more or less common term, but nowadays it’s quite archaic. And it sounds needlessly violent. 😂🐺

Download

⤋ Read More

There’s something special about writing your own programs for OS/2 in C and finally getting it to work after sifting through lots of ancient docs. ✨

I’d be totally lost without KO Myung-Hun’s website and Open Watcom v2. 🙏

(I’m making a little tool to dump floppy disks to image files. I know these programs already exist – I’m doing it for fun and to learn. The task itself is not complicated, but finding the correct docs is.)

https://movq.de/v/13597a4d87/os2dump.jpg

⤋ Read More

Thinking about what to do for the next Advent of Code. 🤔

Writing the solutions as DOS programs in C was super fun last year and I don’t think I can top that. 💾

Something in the realm of retrocomputing would be nice. I wonder how far I can get using QuickBASIC 4.5. Haven’t touched this in ages – but I have a feeling that this could be rather painful. 😂

Or maybe I’ll just go for Rust again, because I’m not using that a lot and keeping up with it could be useful. Or maybe a mix of both, “as many puzzles as possible with QB 4.5, Rust for the rest”. 🤔

https://movq.de/v/ac63405fd1/b.jpg

⤋ Read More

What a night. The first storm cluster passed us in about 25km distance.

The second one hit us right in the face. The sky was constantly flashing and there was a continuous rumble, not individual thunder. (You can’t really hear it in the video, I was too close to the window …)

https://movq.de/v/e949ae6403/MVI_7687.MOV.mp4

Most of the lightning was inside the clouds, apparently.

https://movq.de/v/e949ae6403/IMG_7648.JPG

No water damage this time, luckily.

⤋ Read More
In-reply-to » Got a new pack of rosin for my double bass. There was a large bubble of air trapped inside. 🥴 It slowly made its way up over the course of a couple of days and now it finally burst. 😅

@lyse@lyse.isobeef.org Indeed, it’s quite translucent. 😃

It depends on the type of rosin, though. The one that I used before is basically opaque and also much harder:

Download

I intentionally went for the softer rosin this time, because I find it easier to use. It’s stickier and can be applied to the bow much easier.

⤋ Read More
In-reply-to » One of the super frustrating things about this: I have to write lots of documents, but I am required to use horrendous software to do that. It cannot even number sections automatically, nor can you insert cross-references to other sections. Simple stuff like that. It all has to be done manually.

I was able to dig up StarOffice 3.1, which I used in the 1990’ies on Windows 95. This was the highlight of my day. 🥰 As you can see in the photo below, this CD includes a version for Windows 3.1, 95/NT – and OS/2! How cool is that? My CD back then did not have the OS/2 version.

StarWriter of StarOffice 3.1 can do a lot of the stuff that I’m missing in the tool at work. Like automatic numbering of sections/chapters and cross-references to other parts of the document. Essential basic stuff like that.

All the following screenshots are from QEMU VMs (OS/2 2.1, Windows 3.11, and Windows 98), but I think I’m gonna install this on my real OS/2 Warp 4 box soon. 🧓

https://movq.de/v/eebbe648a5/

What really blew my mind is this feature, though: You can rearrange your document’s structure using drag-and-drop. Here’s a demo (Window 2000):

https://movq.de/v/67523d0d3f/so31.mp4

I really, really wish the tool at work would have a feature like that. It would have saved me so much time already. 😭

⤋ Read More
In-reply-to » I was able to take a photo of the large sunspots that made the news these days:

@prologic@twtxt.net Thanks 😅

This is my setup, I think I posted these before:

Download

Download

It’s a Celestron Ultima 100 (originally bought for bird watching, not a telescope) with a special adapter so that I can mount my Canon EOS 600D directly. The sun filter is just a generic filter for 100mm scopes. The tripod isn’t very good and actually rather annoying. 😂

It’s not a very complicated setup. 🤔 Being able to mount the camera directly is crucial.

⤋ Read More

One great feature of Vim (and probably other editors) is “keyword completion”: Type the beginning of a word, then press Ctrl-N and Vim will give autocompletion options by scanning all the words in the current file. For example, when I now type “au” and then Ctrl-N, it will suggest “autocompletion”.

This is so very useful when writing text / prose. It’s especially useful for German text with all those long words like “Informationssicherheitsbeauftrager”. I use this feature all time and I sorely miss it when I’m forced to use some other crappy editor. 😩

https://movq.de/v/96049c4aea/s.png

⤋ Read More
In-reply-to » I am supposed to come to office today, but I have caught the same cold bug wife has had for the last three days, so I am staying remote to spare cube-mates. Nose stuck, dripping, and a general slight sense of malaise is what I am feeling right now.

@bender@twtxt.net Get well soon!

Download

(And thanks for not being one of those “it’s just a cold” guys.)

⤋ Read More
In-reply-to » I have months of intense security compliance theater ahead of me and wish for a quick and painless death.

One of the super frustrating things about this: I have to write lots of documents, but I am required to use horrendous software to do that. It cannot even number sections automatically, nor can you insert cross-references to other sections. Simple stuff like that. It all has to be done manually.

Even Word 97 could do shit like that …

Download

⤋ 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. 😂)

Download

⤋ Read More

Last week of my vacation. I made a little racing game for real-mode DOS that uses ray casting for rendering. There’s not a lot of game logic, except for lap timing and the tiles next to the walls have very high friction.

The tracks are procedurally generated. You can select one from the command line. (I love that concept very much.)

Getting the basic game done wasn’t too hard. I could reuse a lot of code from my little pool billiards game.

But … oh my goodness, the performance? The video was made on my Pentium 133, which is very powerful for the DOS era. And yet, it barely makes it above 25 FPS. I already used a couple of tricks (no floating point in some parts, try to keep an eye on cache locality, …) and I’ve passed on texturing the floor. The hot code paths are those that copy data in memory, like reading a pixel value for a texture and then copying it to the VGA buffer.

I’ve learned to appreciate games like Duke Nukem 3D a lot more now – how on earth can they be so fast? 🤯 I’ve got some homework to do …

https://movq.de/v/18f0d4be8d/MVI_6951.MOV.mp4

⤋ 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.

Download

⤋ Read More