# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 26
# self = https://watcher.sour.is/conv/f57rmoq
After a bug in the Open Watcom OS/2 resource compiler has been fixed (imagine that – they still fix bugs related to OS/2! 🤯💚), I was able to make some more progress with the OS/2 GUI version of my little disk usage tool. It now has a menu bar and a dialog to open another directory:

https://movq.de/v/2ea508ef9a/MVI_7479.MOV.mp4

The video includes the ZMODEM transfer process of the 50 kB .EXE file from my laptop. It’s a bit lengthy, but I kept it in for nostalgia. 😅

Next up is probably multithreading: Do the disk scanning in a background thread so the UI doesn’t freeze. (This is running on a Compact Flash card, a real hard disk would be much slower.)
After a bug in the Open Watcom OS/2 resource compiler has been fixed (imagine that – they still fix bugs related to OS/2! 🤯💚), I was able to make some more progress with the OS/2 GUI version of my little disk usage tool. It now has a menu bar and a dialog to open another directory:

https://movq.de/v/2ea508ef9a/MVI_7479.MOV.mp4

The video includes the ZMODEM transfer process of the 50 kB .EXE file from my laptop. It’s a bit lengthy, but I kept it in for nostalgia. 😅

Next up is probably multithreading: Do the disk scanning in a background thread so the UI doesn’t freeze. (This is running on a Compact Flash card, a real hard disk would be much slower.)
After a bug in the Open Watcom OS/2 resource compiler has been fixed (imagine that – they still fix bugs related to OS/2! 🤯💚), I was able to make some more progress with the OS/2 GUI version of my little disk usage tool. It now has a menu bar and a dialog to open another directory:

https://movq.de/v/2ea508ef9a/MVI_7479.MOV.mp4

The video includes the ZMODEM transfer process of the 50 kB .EXE file from my laptop. It’s a bit lengthy, but I kept it in for nostalgia. 😅

Next up is probably multithreading: Do the disk scanning in a background thread so the UI doesn’t freeze. (This is running on a Compact Flash card, a real hard disk would be much slower.)
And, of course, at some point the directory items should be clickable, so you can navigate the tree as usual. That’s much less interesting than delving into threading, though. 😅
And, of course, at some point the directory items should be clickable, so you can navigate the tree as usual. That’s much less interesting than delving into threading, though. 😅
And, of course, at some point the directory items should be clickable, so you can navigate the tree as usual. That’s much less interesting than delving into threading, though. 😅
@movq 50 kB executable sizes, nice! I can't even recall when I came across one this small. The good old days.
@lyse The magic of dynamic linking (and C). 😅 It has pros and cons, smaller binary size surely is one of the advantages. Go’s huge binary sizes is something that I’ve never gotten used to. 🫤 (Rust *can* be a little better at it, but they’re still very large as well.)
@lyse The magic of dynamic linking (and C). 😅 It has pros and cons, smaller binary size surely is one of the advantages. Go’s huge binary sizes is something that I’ve never gotten used to. 🫤 (Rust *can* be a little better at it, but they’re still very large as well.)
@lyse The magic of dynamic linking (and C). 😅 It has pros and cons, smaller binary size surely is one of the advantages. Go’s huge binary sizes is something that I’ve never gotten used to. 🫤 (Rust *can* be a little better at it, but they’re still very large as well.)
@movq I don't mind the binary size. It's a taxed odd between size, portability and feature.
@movq I don't mind the binary size. It's a taxed odd between size, portability and feature.
@movq I don't mind the binary size. It's a taxed odd between size, portability and feature.
@movq @prologic The several megabytes of Go binaries always feel so wrong. Hello world is 1.8 MiB, with -ldflags '-w' still 1.3 MiB. Growing with each Go release.
There you go, multithreading. 🥳

I tested this in QEMU, which luckily supports throttling disk I/O, so I can make sure that scanning the disk actually takes a while.

https://movq.de/v/f714cfebff/pmdusage.mp4

(Still boggles my mind a bit. When OS/2 2.x came out, DOS was still the norm for us and I didn’t even know what multithreading was. I really didn’t appreciate this operating system enough back then – only now.)
There you go, multithreading. 🥳

I tested this in QEMU, which luckily supports throttling disk I/O, so I can make sure that scanning the disk actually takes a while.

https://movq.de/v/f714cfebff/pmdusage.mp4

(Still boggles my mind a bit. When OS/2 2.x came out, DOS was still the norm for us and I didn’t even know what multithreading was. I really didn’t appreciate this operating system enough back then – only now.)
There you go, multithreading. 🥳

I tested this in QEMU, which luckily supports throttling disk I/O, so I can make sure that scanning the disk actually takes a while.

https://movq.de/v/f714cfebff/pmdusage.mp4

(Still boggles my mind a bit. When OS/2 2.x came out, DOS was still the norm for us and I didn’t even know what multithreading was. I really didn’t appreciate this operating system enough back then – only now.)
@movq Cool, nice progress! :-)
PMdusage is nearing completion. The table items are clickable now.

https://movq.de/v/4944b10f3d/pmdusage2.mp4
PMdusage is nearing completion. The table items are clickable now.

https://movq.de/v/4944b10f3d/pmdusage2.mp4
PMdusage is nearing completion. The table items are clickable now.

https://movq.de/v/4944b10f3d/pmdusage2.mp4
@movq Oh nice, it even shows the sum in the title bar.
@lyse Yeah, I was too lazy to introduce a new widget for that (and the current directory), so I just (ab)used the titlebar. %)
@lyse Yeah, I was too lazy to introduce a new widget for that (and the current directory), so I just (ab)used the titlebar. %)
@lyse Yeah, I was too lazy to introduce a new widget for that (and the current directory), so I just (ab)used the titlebar. %)
@movq That's what I figured, since ncdu shows it at the bottom. ;-) But it's actually pretty smart, to be honest. More space for precious content. And the title bar exists anyway, so why not make use of it with something helpful? Also, with entries being in descending order, it's actually natural to show the sum as the even higher number above the largest entry and not at the bottom in another status line widget. 8-)