movq

www.uninformativ.de

No description provided.

In the process of temporarily removing and securing all my hard disks. They’ll be turning this building into a construction site for the next weeks/months. Lots of heavy drilling and hammering. Not sure what this means for spinning disks and I’d rather be on the safe side. 🫤

⤋ Read More

For some reason, I was using calc all this time. I mean, it’s good, but I need to do base conversions (dec, hex, bin) very often and you have to type base(2) or base(16) in calc to do that. That’s exhausting after a while.

So I now replaced calc with a little Python script which always prints the results in dec/hex/bin, grouped in bytes (if the result is an integer). That’s what I need. It’s basically just a loop around Python’s exec().

$ mcalc 
> 123
         123        0x[7b]    0b[01111011]

> 1234
        1234        0x[04 d2]    0b[00000100 11010010]

> 0x7C00 + 0x3F + 512
       32319        0x[7e 3f]    0b[01111110 00111111]

> a = 10; b = 0x2b; c = 0b1100101
          10        0x[0a]    0b[00001010]

> a + b + 3 * c
         356        0x[01 64]    0b[00000001 01100100]

> 2**32 - 1
  4294967295        0x[ff ff ff ff]    0b[11111111 11111111 11111111 11111111]

> 4 * atan(1)
3.141592653589793

> cos(pi)
-1.0

⤋ Read More

The fact that the official Python docs don’t clearly state what a function returns, grinds my gears. This has cost me so much time over the years. You always have to read through a huge block of text.

Image

You could at least put a list of possible return values in there (always at the same location, please!), here’s a mockup:

Image

⤋ Read More

It needs to be said: Retrocomputing and old systems like DOS or OS/2 are fun and all, but a UNIX shell and its userland tools are the most powerful things I’ve ever seen. You can pry that from my cold dead hands. 😅

⤋ Read More

Okay, this is pretty cool. My 8086 toy OS running on my old Pentium from an actual floppy disk. 😍 I just love that sound and the feeling of using floppies. This brings back so many memories from my early DOS days.

The cp-unopt program copies a file and intentionally uses small unaligned reads/writes (hopefully triggers more bugs).

The I/O cache works “okay-ish”, I guess. When sha1 runs, it has to do a few reads for the first file and basically none for the second one. Both could have been served entirely from the cache, theoretically. (But even just having an I/O cache in the first place speeds up things dramatically.)

Notice how there’s an EA file. That’s a left-over from OS/2, because I copied some files to the floppy using OS/2. In other words, my FAT12 implementation survives OS/2 writing to it. 🥳 (But I guess it should show up as EA DATA.SF. My current code starts at the left and stops at the first space.)

https://movq.de/v/d4d50d3c74/los86-on-p133-from-floppy-small2.mp4

⤋ Read More

After taking a short break for Christmas business, I’ve worked on my little toy operating system for the 8086 again.

It understands the basics of FAT12 now. I’ve actually never sat down before to learn how FAT works. 🤦 Well, better late than never, I guess.

It can’t do subdirectories nor timestamps and I probably won’t implement that. One flat directory is good enough for my purposes and the OS has no notion of time, yet, anyway.

It’s really cool to be able to exchange files with the Linux host or other DOS VMs. 🥳

https://movq.de/v/21e91bafdb/los86-fat12.mp4

⤋ Read More
In-reply-to » Moin @arne, herzlich willkommen! Ich bin gerade auf https://uplegger.eu/blog/popelfinger gestoßen und war sofort sehr begeistert. :-D Mal sehen, ob ich die anderen an einem der Feiertage davon überzeugt bekomme, das mal auszuprobieren. :-)

@lyse@lyse.isobeef.org Hmmm:

Could not fetch: HTTPError('403 Client Error: Forbidden for url: https://uplegger.eu/twtxt.txt')

🤔

⤋ Read More

I’ve been making a little toy operating system for the 8086 in the last few days. Now that was a lot of fun!

I don’t plan on making that code public. This is purely a learning project for myself. I think going for real-mode 8086 + BIOS is a good idea as a first step. I am well aware that this isn’t going anywhere – but now I’ve gained some experience and learned a ton of stuff, so maybe 32 bit or even 64 bit mode might be doable in the future? We’ll see.

It provides a syscall interface, can launch processes, read/write files (in a very simple filesystem).

Here’s a video where I run it natively on my old Dell Inspiron 6400 laptop (and Warp 3 later in the video, because why not):

https://movq.de/v/893daaa548/los86-p133-warp3.mp4

(Sorry for the skewed video. It’s a glossy display and super hard to film this.)

It starts with the laptop’s boot menu and then boots into the kernel and launches a shell as PID 1. From there, I can launch other processes (anything I enter is a new process, except for the exit at the end) and they return the shell afterwards.

And a screenshot running in QEMU:

Image

⤋ Read More

I was today years old when I learned that Firefox supports custom per-domain CSS. Is this new? I thought I had tried a while ago and it only worked globally. 🤔

@-moz-document domain(movq.de)
{
    div { border: 1px solid red; }
}

Either way, I love that I don’t need a plugin for that. 🥳

⤋ Read More
In-reply-to » Goodbye Blender, I guess? 🤔

@lyse@lyse.isobeef.org Mostly small and simple stuff, like cable management, headphone rests, pill dispensers (that I didn’t end up using), … The most elaborate thing I made was that contraption for my keyboard, which is a bit hard to explain right now, so here’s some photos:

Image


Image

I didn’t end up using that, either. 🥴

In general, I print very little. So little that some of my supplies have simply gone bad, like that “3D LAC” (sprayable glue).

@aelaraji@aelaraji.com Yeah, I saw that when googling the issue. I’m on Linux, there are no DLLs to swap. I could use an older version indeed. 🤔 Let’s see if I can find some better alternative first. (Let’s face it, Blender is hard to use.)

⤋ Read More

Goodbye Blender, I guess? 🤔

Image

A bit annoying, but not much of a problem. The only thing I did with Blender was make some very simple 3D-printable objects.

I’ll have a look at the alternatives out there. Worst case is I go back to Art of Illusion, which I used heavily ~15 years ago.

⤋ Read More
In-reply-to » "A minimalist social network powered by plain text files" - my talk about #twtxt from #Piksel24 Festival is now on YouTube and slides can be found at http://darch.dk/twtxtalk-piksel

@sorenpeter@darch.dk

“A minimalist social network powered by plain text files”

My brain keeps shortening this to “a socialist network …” and then jumps to “uhh, large parts of the US won’t like this” … 🤦🤪

⤋ Read More
In-reply-to » Fuck me dead, what a giant piece of shit. On my Linux work laptop I have the problem that some unknown snakeoil "security" junk is dropping any IPv4 connections to ports 80 and 443. All other ports and IPv6 seem unaffected. I get an immediate "connection refused" when trying to estabslish a connection.

@lyse@lyse.isobeef.org

But then, why just block IPv4 and not also IPv6?

I’ll take “what’s the most overlooked thing in corporate networks” for 200. 😅

⤋ Read More
In-reply-to » I’ve been using Mastodon too much lately. The constant notifications are becoming too stressful. I really do prefer slow communication, like twtxt. ✌️

@bender@twtxt.net Well, so far, I’m using the standard web client. Haven’t found a great client yet. 🫤 Mastodon/Fediverse is also very different from twtxt, there are way more images/videos that I’d like to see – a TUI client like toot wouldn’t work for me.

Dunno, maybe I’ll make some changes in this area after christmas. Try self-hosting again or something like that …

⤋ Read More

Numbers are hard. I just almost accidentally sent 33k€ to someone via bank transfer, because the banking website interpreted 334.90 as 33490,00. 😬 This is germany, so it wants a comma, not a dot …

⤋ Read More
In-reply-to » Thank you, @eapl.me! No need to apologize in the introduction, all good. :-)

@lyse@lyse.isobeef.org

Regarding section 4 about feed discovery: Yeah, non-HTTP transport protocols are an issue as they do not have User-Agent headers. How exactly do you envision the discovery_url to work, though?

This is from a twt of mine from January 2022:

https://www.uninformativ.de/files/twtxt/2022%2D01%2D22%2D%2Dfollow%2Dendpoint.md

(This idea gets lost all the time, so I put it into a file now. 😅)

Not sure if this is what @eapl.me@eapl.me had in mind, obviously.

⤋ Read More

So, I’m forced to use WhatsApp now. Someone told me: “Hey, I’ve been doing $thing, check my status!” Okay, fine, I open that and it shows a photo.

Then, while looking at that photo, it’s suddenly gone. No, not gone – there are several photos and it switched automatically to the next one. The timeout appears to be four seconds.

JFC, I’m getting too old for this. Let me look at the damn photo! Don’t rush me! 😂

⤋ Read More

I’m seeing strange lights in the sky. None of my cameras are sensitive enough to make a video.

It’s probably one of two things:

  1. A ship on the nearby river with a lightshow going. It’s rare but it happens.
  2. A steap hill nearby, cars driving “upwards”, and since super bright LED lights are normal nowadays, they reflect from the clouds.

Either way, looks fancy.

⤋ Read More
In-reply-to » I need to wait 30 seconds every start of mutt with 8 feeds

@doesnm@doesnm.p.psf.lt May I ask which hardware you have? SSD or HDD? How much RAM?

I might be spoiled and very privileged here. Even though my PC is almost 12 years old now, it does have an SSD and tons of RAM (i.e., lots of I/O cache), so starting mutt and opening the mailbox takes about 1-2 seconds here. I hardly even notice it. But I understand that not everybody has fast machines like that. 🫤

⤋ Read More