(#gslvc3q) @movq@www.uninformativ.de Itād be cool if you could get µ (Mu) running in your little toyOS 𤣠Youād technically only have to swap out the syscall() builtin for whatever your toy OS supports š¤
#jtlh34q
(#gslvc3q) @movq@www.uninformativ.de Itād be cool if you could get µ (Mu) running in your little toyOS 𤣠Youād technically only have to swap out the syscall() builtin for whatever your toy OS supports š¤
(#gslvc3q) Seeing this run on real hardware is so satisfying, even if itās just a small example. š
My little toy operating system from last year runs in 16-bit Real Mode (like DOS). Since Iāve recently figured out how to switch to 64-bit Long Mode right after BIOS boot, I now have a little program that performs this switch on my toy OS. It will load and run any x86-64 program, assuming itās freestanding, a flat binary, and small enough (< 128 KiB code, only uses the first 2 MiB of memory).
Here Iām running a little C program (compiled using normal GCC, no Watcom trickery):
https://movq.de/v/b27ced6dcb/los86%2D64.mp4
https://movq.de/v/b27ced6dcb/c.png
Next steps could include:
(#jvgxb7q) @thecanine@twtxt.net I see š¤ Very cool though! š
(#txkctuq) @movq@www.uninformativ.de @prologic@twtxt.net Holy shit, this is sooo fucking cool! :-) Wow, I absolutely love it. Itās extremely fascinating what these optimizers do.
(#jvgxb7q) Woof, woof, @thecanine@twtxt.net! Thatās cute.
(#txkctuq) @movq@www.uninformativ.de I have not, thanks! <3
(#axubhsq) @prologic@twtxt.net @movq@www.uninformativ.de Oh, I take my 0°C over the 36°C anytime! Even with yesterdayās gray and windy sleet in my face. However, there are definitely more pleasant times to walk in town, Iāll give you that. For example on 0°C sunny today: https://lyse.isobeef.org/waldspaziergang-2025-12-25/
(#txkctuq) @movq@www.uninformativ.de I watched a few of these thanks to you! Very cool shit⢠š
In case you havenāt seen it yet:
Matt Godboltās āAdvent of Compiler Optimisationsā!
https://www.youtube.com/playlist?list=PL2HVqYf7If8cY4wLk7JUQ2f0JXY_xMQm2
(#axubhsq) @movq@www.uninformativ.de Ooof thatās chilly š„¶
(#axubhsq) @prologic@twtxt.net And I froze my ass off yesterday at -5°C and strong winds. š¤£
thatās a whopping 36°C today š„µ
(#eko3fpa) @dce@hashnix.club merry Christmas to you too!
(#jvgxb7q) @thecanine@twtxt.net Is it because youāve used white pixels around it to sort of give it aht 3D look? š Hmm? š¤
(#hridn7a) @bender@twtxt.net Itās fun living in the future isnāt it š¤£
š Merry Xmas š š
(#fhrsf4a) @movq@www.uninformativ.de Hahaha, this is hilarious! :ā-D
(#xpo7apa) @prologic@twtxt.net š Merry Christmas and stuff š š
(#h2bah2a) @lyse@lyse.isobeef.org Lovely! We also just had some snow. š Not a lot, but still. š
(Lol, I totally read that as ārootfsā. š¤Ŗ)
š Merry (2025) Xmas yāall š Ho ho ho! š
(#h2bah2a) @movq@www.uninformativ.de Only the roofs are a little white. Itās also windy here. https://lyse.isobeef.org/weisse-weihnachten-2025-12-24/01.jpg
(#h2bah2a) @lyse@lyse.isobeef.org Oooh, nice! ā We only have cold stormy weather over here. š„“
(#h2bah2a) Indeed, tiny, tiny snowflakes coming down.
(#vmmzfia) Oh, thatās cute: https://movq.de/v/046fb6ee70/s.png DuckDuckGo puts a little helmet on the duck when you search for Skyrim. (Katria is a Skyrim character.)
(#jsy4ega) @lyse@lyse.isobeef.org Thanks. š (Do I say that? The WM canāt answer. š¤£)
(#o3hv4aq) @zvava@twtxt.net I might misunderstand what you wrote, but only hashing the message once and storing the hash together with the message in the database seems a way better approch to me. Itās fixed and doesnāt change, so thereās no need to recompute it during runtime over and over and over again. You just have it. And can easily look up other messages by hash.
Happy birthday Katrina! https://www.uninformativ.de/blog/postings/2025-12-23/0/POSTING-en.html :-)
Oh wow, there might be snow tomorrow! Probably not much, though. Letās see.
(#c4kknra) @movq@www.uninformativ.de Maybe thereās another meaning Iām not aware of, but this doesnāt look like a shitpost to me. Congrats, I guess. ;-)
Mastodon has a āWrapstodon 2025ā now, showing you a āwrap upā of the year. Of course, a pointless funny shitpost was my most āsuccessfulā post in 2025. š
I just had a closer look at https://git.mills.io/prologic/mu and it motivated me to do some compiler building myself again. Hopefully, I find some time in the next free days. Iām bad at it, but itās always great fun.
Oh great, I received an e-mail that my SMTP credentials have been exposed. Once again, just another shitty scanner that generates garbage reports from tests it doesnāt understand. Thank you for nothing!
conf := &Config{
SMTPHost: "smtp.example.com",
SMTPPort: 587,
SMTPUser: "user",
SMTPPass: "hunter2",
SMTPFrom: "from@example.com",
}
(#c6rrdzq) @prologic@twtxt.net Iāve been awake at that time, didnāt notice anything. š¤ Where was that BGP analyzer again ⦠š Thereās a tool that keeps track of these things, right? I forgot what it was.
(#c6rrdzq) @prologic@twtxt.net @movq@www.uninformativ.de A crocodile had bitten the big submarine internet cable that connects Australia to Europe. The investigations revealed that some construction work last week accidentally tore up the protective layer around it. That went unnoticed, unfortunately, so marine life had an easy job today. For just 40 minutes, they were quite fast in repairing the damage if you ask me! These communication cables are fricking large.
Just kidding, I completely made that up. :-D I didnāt notice any outage either. But I didnāt try to connect to Down Under at the time span in question.
(#c6rrdzq) @movq@www.uninformativ.de From 2:50 PM to 3:23 PM AEST (+10 UTC) there was an outage. Everything went āupā on Down Detector, my EU region went offline, numerous sites were unavailable, and so on. Basically everything to/from the EU appeared to basically go kaput.
(#c6rrdzq) @prologic@twtxt.net Hm, I didnāt notice anything. Perhaps I was asleep? š
Hey EU friends š wtf happened to the EU Internet today for about 40 minutes or so?
(#2hgjg3q) @movq@www.uninformativ.de Very nice! I often wish other languages had something similar. Sometimes, I use lambdas, but that also looks ugly and feels a bit like a misuse. Other times, just the normal blocks are enough, but itās not the same. Especially with the mutability aspects as the article explains. Typically, I just put it in a function or ignore it if itās just a few lines.
(#jta6w7a) @movq@www.uninformativ.de Ah, cool! :-) Yeah, itās very wild what is happening under the hood all the time.
(#dddn3ja) @prologic@twtxt.net You write so much code ⦠itās incredible. š
This feels useful: Rustās Block Pattern
(#jta6w7a) @lyse@lyse.isobeef.org These tables get shuffled around every time your OS switches to another process. Itās crazy that so much is going on behind the scenes.
(#jta6w7a) @lyse@lyse.isobeef.org I was surprised by that as well. š I thought these were features that you can use, but no, you must do all this.
By the way, I now fixed the issue that I mentioned at the end and it works on the netbook now. š„³
https://www.uninformativ.de/blog/postings/2025-12-21/0/netbook.jpg
Wow, @movq@www.uninformativ.de, so many tables. No idea what I expected (Iām totally clueless on this low-level stuff), but that was quite an interesting surprise to me. https://www.uninformativ.de/blog/postings/2025-12-21/0/POSTING-en.html
(#tm3x4qa) @kiwu@twtxt.net Ta, same to you!
(#dddn3ja) @movq@www.uninformativ.de @kiwu@twtxt.net it just so happens to be a happy coincidence that Iām extending muās capabilities to now include a native toolchain-free compiler (doesnāt rely on any external gcc/clang or linkers, etc) that lowers the mu source code into an intermediate representation / IR (what @movq@www.uninformativ.de refers to as āthick layers of abstractionsāā¦) and finally to SSA + ARM64 + Mach-O encoder to produce native binary executables (at least for me on my Mac, Linux may some later?) š¤£
(#huts53q) @shinyoukai@neko.laidback.moe But I thought Alpine was one of the good distroās left. š¢ Whatās it doing wrong?
(#dddn3ja) @kiwu@twtxt.net Assembly is usually the most low-level programming language that you can get. Typical programming languages like Python or Go are a thick layer of abstraction over what the CPU actually does, but with Assembler you get to see it all and you get full control. (With lots of caveats and footnotes. š )
Iām interested in the boot process, i.e. what exactly happens when you turn on your computer. In that area, using Assembler is a must, because you really need that fine-grained control here.
(#iaunzca) @movq@www.uninformativ.de Oh, a table of contents is indeed a great idea!