Fuck me dead! I accidentally confused an HTML file for a YAML file and manually opened it in my browser. Unfortunately, I clicked on the OK button of the popped up dialog a bit too fast, it just caught me off guard. It asked which program to open the YAML file in. Of course Firefox thought that it could handle that and suggested itself by default. Conveniently, the ā€œdon’t prompt me again and always use this selection from now onā€ checkbox was enabled.

And then the endless loop of death started. Turns out, this fucking browser can’t do shit with YAML files and delegated to what had been just configured. Oh, would you look at that!? Firefox! Empty tabs after empty tabs appeared. Killing and restarting Firefox just loaded the last session with all the tabs and the loop continued.

Some bloody snakeoil on my work machine slows down link openening requests by two, three seconds. It’s always absolutely anoying, but luckily, it actually limited the rate of new tabs popping up. I still could not close the many tabs fast enough that had accumulated before I noticed what was going on in the background.

Going to the settings to change them was always interrupted with a new tab opening in the foreground.

Finally, killing Firefox and renaming the file on disk before restarting Firefox did the trick and broke the loop. I was still holding down Ctrl+W for a minute or so to get rid of the useless tabs. I didn’t want to loose the important tabs, so just ditching the session wasn’t an option.


#yqmfsdq

(#odaa3mq) @lyse@lyse.isobeef.org

I can’t remember if the hex viewer back then had these options. Don’t even recall what software that was. :-)

The one that I used during my Windows 95 days was ā€œHex Workshopā€. It had similar features, just not as promimently displayed. It shows them down there in the statusline as ā€œValueā€:

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

Newer versions can probably do more, haven’t checked. šŸ˜… (Assuming this program still exists.)

Apart from selecting text to copy into the clipboard. But that probably has the potential for trouble and interference with button clicks, etc.

Yeah, that’s a big problem: Once you activate mouse mode in the terminal, the terminal loses the ability to select text. šŸ˜ž You’d either have to emulate that in the program itself (like Vim does) or give the user an easy way to turn mouse support on/off during runtime.

How did the startup times develop?

They’re pretty stable at around 230 ms on my old NUC. It’s just fast enough so that it doesn’t annoy me.


#5ji6vtq

I spent the day today integrating @xuu@txt.sour.is’s double ratcheting work and ratchet library back into the reference client/broker implementation saltyim as a v2 branch. I completely redesigned and rewrite the salty-chat TUI client as well, which now includes proper notifications and a background agent that keeps running so you never miss any messages. It all ā€œjust worksā€ā„¢ and I’m quite happy with the outcome! 🤩 #saltyim #revamp


#sxw2neq

(#odaa3mq) @movq@www.uninformativ.de Nice, it’s coming together! Despite it being ages ago that I used a hex editor or viewer, these different representations of information appear very handy to me. If I had to mess around on binary formats, I’d definitely appreciate them. I can’t remember if the hex viewer back then had these options. Don’t even recall what software that was. :-)

I, too, only very, very rarely use the mouse in the terminal. Apart from selecting text to copy into the clipboard. But that probably has the potential for trouble and interference with button clicks, etc. If one isn’t careful.

How did the startup times develop?


#nnvz2hq

Hmmm, that’s a pity. I never realized that before. The following Go code

var b bool
…
b |= otherBool

results in a compilation error:

invalid operation: operator | not defined on b (variable of type bool)

I cannot use || for assignments as in ||= according to https://go.dev/ref/spec#Assignment_statements. Instead, I have to write b = b || otherBool like a barbarian. Oh well, probably doesn’t happen all that often, given that I only now run into this after all those many years.


#6iw3gkq

(#odaa3mq) I’m inclined to remove all mouse support, except for moving windows. šŸ¤” I originally wanted this to emulate the behavior of DOS programs, but a) mouse support is a lot of code, b) using the mouse is cumbersome anyway and I would rarely do it.


#fuimhda

It was so great going to the sauna again, we were looking forward to that the whole week. :-) It’s been over a year, holy cow, time flies. We definitely have to pick up on that tradition again, that’s for sure.

We attended two Aufguss sessions, the first and last one in our four hour visit. Unfortunately, we didn’t make it to the other two, because the crazy people already occupied the entire sauna 15 minutes before the start. Yeah, no.

Now, the bellies are stuffed with kebabs. Yum! Let’s see how often I wake up tonight to rehydrate.


#xycahxq

(#f2s5vgq) @lyse@lyse.isobeef.org Found some numbers now, they’re saying it was around 10cm in 3-4 hours. I don’t know, felt like more. šŸ˜‚ The forecast wasn’t really good either, now that I think about it. They said there’s going to be some snow, okay, fine, but then, boom.

Haha, that old ad is lovely. Those days are over. 🤣


#uv6dhzq

Ich hab es jetzt endlich geschafft, diese alte Podcastdatei anzuhƶren, die ich auf meiner Platte fand. Omega-Tau 293 über Wasserstraßen und im Speziellen den Neckar. Total interessant. Ich bin bisher noch nie über diese Serie gestolpert und habe keine Ahnung, wie ich überhaupt zu der Datei kam. Leider ist der Podcast mittlerweile eingestellt, das TLS-Zertifikat der Website die Tage abgelaufen und die Folgenseite tot, aber die Audiodatei gibt’s noch: https://traffic.libsyn.com/secure/omegataupodcast/omegatau-393-wasserstrassen.mp3


#6542v2q

(#f2s5vgq) @movq@www.uninformativ.de Oh, so just half a millimeter then! :-D That’s plenty these days for everything to shut down, I’m afraid. If only the same Ć©lan was still in action as back then:

https://3.bp.blogspot.com/_5wOW9jdbdvM/TEVVi8ZsMWI/AAAAAAAAALU/vVqvnZ1mzGQ/s1600/Bahn+Werbung+-+alle+reden+vom+Wetter.JPG

And here I am watching Mattias Bjƶrnstrƶm’s gas pedal freezing at full throttle around -40°C. Well, falls apart and gets stuck.

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

I’m not an expert on this subject at all, but I reckon an automatic in addition with all its sensors is much worse than a manual one. All wheel drive, studded tires and diff locked is what one wants in icy situations. :-D


#ixpbneq

(#cdqksfa) @lyse@lyse.isobeef.org I don’t know a number (wait, why can’t I google a Wetterbericht but only a Wettervorhersage?!), but it was enough for public transportation to shut down. šŸ˜… I think I saw around five trucks on the side of the road who couldn’t continue, too icy. Some cars stranded.

My car has an automatic gearbox and I’m not sure if that’s good or bad in such conditions. šŸ˜‚ Pretty hard to accelerate without spinning wheels …


#f2s5vgq

(#avmdvrq) @prologic@twtxt.net (While browsing through that, I noticed that https://mu-lang.dev/ itself doesn’t really mention the source code repo, does it? šŸ¤” Like, the quickstart guide begins with ā€œBuild the host: go build ./cmd/muā€, but where’s the git clone … command? šŸ˜…)

I’m not really sure what the goal is. šŸ¤” Do you want to get pull requests for the docs? Or bug reports for mu itself? šŸ¤”


#fc4smyq

Another project where I’m going to use my terminal widget toolkit is a hex editor. This is still very young, obviously, and there’s a lot of work to do (both in the toolkit and this particular application), but I’m making some progress:

https://movq.de/v/2bae14ed16/vid-1769283187.mp4

Since this program is UTF-8 clean (I hope), you can do things like enter multi-byte UTF-8 sequences or paste them from the system clipboard (another hex editor I just tried failed to do this correctly):

https://movq.de/v/e9241034c1/vid-1769283755.mp4

Under the hood, I’m using mmap() with MAP_PRIVATE, which is really cool: I get the entire file as a byte array, no matter how large it is, no need to actually read it upfront; and MAP_PRIVATE means that I can write to this area however I like without changing the underlying file. The kernel does copy-on-write for me. Only when you hit Save, it will write to the filesystem. And it’s just a couple lines of code. The kernel does all the magic. 🄳


#ihycs7q