Searching txt.sour.is

Twts matching #ToS
Sort by: Newest, Oldest, Most Relevant
In-reply-to » 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).

@movq@www.uninformativ.de Oh that’s fine, Mu can compile to native code and so far binaries. at least on macOS are in the order of Kb in size šŸ˜‚

⤋ Read More
In-reply-to » 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).

@prologic@twtxt.net That might be a challenge, at least in 16-bit Real Mode: The OS follows the model of COM files on DOS, i.e. the size of the binary cannot exceed 64 KiB and heap+stack of the running program will have to fit into that same 64 KiB. šŸ˜… (The memory layout is very rigid, each process gets such a 64 KiB slice.)

And in 64-bit Long Mode, there is no ā€œkernelā€ yet. The thing in the video is literally just a small bare-metal program.

But some day, maybe. 😃

⤋ Read More
In-reply-to » 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).

@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 šŸ¤”

⤋ Read More

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

Image

Next steps could include:

  • Use Rust instead of C for that 64-bit program?
  • Provide interrupt service routines. (At the moment, it just keeps interrupts disabled.)

⤋ Read More
In-reply-to » This one is a slightly more 3D looking, as well as the first one, with the tail swirled. Media

@prologic@twtxt.net Not even entirely sure how I did it myself, but likely a lucky combination of the new tail swirl, the legs closer to the screen being bigger and the head looking slightly to the side (eye & ear position), with bottom part of the hair, going behind the snout. The white is just an outline, around most of my works, so I don’t think that plays a part.

⤋ Read More

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

⤋ Read More
In-reply-to » 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. šŸ˜‚

@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. ;-)

⤋ Read More

2025 end the year rewind:

Compared to only 3 new artworks in 2024 and next to no work, on other projects, this year I not only met the self-imposed goal of monthly pixelart, but exceeded it by 50%, with 18 additions in total.

Relicensed the majority of canine faction owned art and projects, under two less restrictive Creative Commons licensees*. This also applies retroactively, to everyone who used/archived our art and projects, back when the old license didn’t allow it.

Disappointed by the current state of the Internet and continued lack of competition among browsers, completely reworked the main website* and made Smol Drive** (a new image gallery project), both made to be compatible with as many web and Gemini browsers, as possible.

*see https://thecanine.smol.pub
**see https://thecanine.smol.pub/smolbox

⤋ Read More
In-reply-to » Hey EU friends šŸ‘‹ wtf happened to the EU Internet today for about 40 minutes or so?

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

⤋ Read More
In-reply-to » Hey EU friends šŸ‘‹ wtf happened to the EU Internet today for about 40 minutes or so?

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

⤋ Read More

Pickers ā€˜living in squalor’ claim their end-of-season bonus was unfairly withheld
Ten pickers who worked at Hallmark Cherries’ orchard in NSW complain about poorly maintained accommodation and failure to pay an end-of-season bonus. ⌘ Read more

⤋ Read More
In-reply-to » Wow, @movq, 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

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

⤋ Read More

@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?) 🤣

⤋ Read More

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

⤋ Read More
In-reply-to » H… Ho… How have I not heard about vim-tagbar before? 😳

@lyse@lyse.isobeef.org Yeah, well, given that I didn’t need this for such a long time, it’s probably not an essential tool. šŸ˜…

I’ve often wanted to have an outline of text documents, though, and tagbar/ctags can do that as well:

Image

Image

This isn’t as powerful as the ā€œNavigatorā€ tool in StarOffice/LibreOffice (which can be used to rearrange the document), but still pretty useful:

https://www.uninformativ.de/blog/postings/2024-05-23/0/so31.mp4

⤋ Read More

No ocean, say scientists, but Titan’s ā€˜slushy tunnels’ could still harbor life
Saturn’s moon Titan may be home to habitable subterranean pockets of liquid water. The largest of the ringed gas giant’s army of 274 moons, Titan piqu… ⌘ Read more

⤋ Read More

PEP 819: JSON Package Metadata
This PEP proposes introducing JSON encoded core metadata and wheel file format metadata files in Python packages. Python package metadata (ā€œcore metadataā€) was first defined in PEP 241 to use RFC 822 email headers to encode information about packages. This was reasonable in 2001; email messages were the only widely used, standardized text format that had a parser in the standard library. However, issues with handling different encodings, differing handling of line breaks, and other differences between i … ⌘ Read more

⤋ Read More

@zotero@zotero I noticed that some combinations of XFCE appearance (light) themes and Zotero made the menu ā€œdisappearā€ (black on black) as the window title was dark. Changing the Zotero to a dark theme or changing the XFCE theme worked (but then, I liked the dark window title on a light theme best…). Should I try to open an issue about this, or is it a XFCE issue? I don’t want to burden the maintainers but it was a bit disturbing not to find the menus…

⤋ Read More

https://li-ma.nl/

«Our online catalogue comprises the largest media art collection in the Netherlands. Search through more than 3,500 works of art, from video-art pioneers from the 1960s to up-and-coming talents and well-known contemporary artists working with the latest technologies. New works are continuously added. The works are available for screenings, exhibitions and research.»

Via @ranoya@ranoya

#NewMediaArt #CreativeCoding #DigitalPreservation

⤋ Read More

#Processing & #py5 tip:
Remember the shapes you put on draw() will be redrawn over and over, and if they don’t move (leaving a trail) you might want to either clean each frame with background(...), or stop the draw loop (noLoop() in Processing or no_loop() in py5), otherwise you kill the anti-aliasing of the lines :D

ā€`python
import py5

def setup():

py5.size(200, 200)
py5.stroke_weight(2)
# a line that will drawn once only
py5.line(10, 10, 190, 90)  

def draw():

# you could clean the frame here with background(200)
# this other line will be redrawn many times
py5.line(10, 110, 190, 190) 

def key_pressed():

py5.save('out.png')

py5.run_sketch()

ā€`

Image

⤋ Read More

#Processing & #py5 tip:
Remember the shapes you put on draw() will be redrawn over and over, and if they don’t move (leaving a trail) you might want to either clean each frame with background(...), or stop the draw loop (noLoop() in Processing or no_loop() in py5), otherwise you kill the anti-aliasing of the lines/strokes/edges!

I’m posting this tip because even using these tools for years and knowing this, today I briefly thought something was odd/broken because my lines were ugly with no ā€œsmoothingā€ :D

ā€`python
import py5

def setup():

py5.size(200, 200)
py5.stroke_weight(2)
# a line that will drawn once only
py5.line(10, 10, 190, 90)  

def draw():

# you could clean the frame here with background(200)
# this other line will be redrawn many times
py5.line(10, 110, 190, 190) 

def key_pressed():

py5.save('out.png')

py5.run_sketch()

ā€`

Image

⤋ Read More

I cleaned up all my of AoC (Advent of Code) 2025 solutions, refactored many of the utilities I had to write as reusable libraries, re-tested Day 1 (but nothing else). here it is if you’re curious! This is written in mu, my own language I built as a self-hosted minimal compiler/vm with very few types and builtins.

https://git.mills.io/prologic/aoc2025

⤋ Read More
In-reply-to » Day 9 also required some optimizations, if you aren't careful, you end up with really inefficient algorithms with time/memory complexity beyond what a typical machine has 🤣

@movq@www.uninformativ.de I shrank Day 9 Part 2 from ā€œcover the whole mapā€ to ā€œonly track the interesting lines.ā€ By compressing coordinates to just the unique x/y breakpoints, the grid got tiny. I still flood-fill and do the corner-pair checks, but now on that compact grid with weighted prefix sums for instant rectangle checks. Result: far less RAM, way less CPU, same correct answer.

⤋ Read More

I’m having to write my own functions like this in mu just to solve AoC puzzles :D

fn pow10(k) {
    p := 1
    i := 0
    while i < k {
        p = p * 10
        i = i + 1
    }
    return p
}

⤋ Read More

I’m seeing crashes in the 3D subsystem. (Gallium? Glamor? Whatever other Mesa thing they have? No idea.) In the logs I find this:

malloc(): unaligned tcache chunk detected

And that’s why I still care about Rust and want to learn more about it, even though it’s giving me so much headache and I’ve given up so many times. Because Rust currently seems to be the only popular systems programming language that tries to eliminate these error classes.

And of course ā€œthe Rust experimentā€ in the Linux kernel has recently been concluded as ā€œsuccessfulā€, so that alone is reason enough for me:

https://lwn.net/Articles/1049831/

⤋ Read More
In-reply-to » Come back from my trip, run my AoC 2025 Day 1 solution in my own language (mu) and find it didn't run correctly 🤣 Ooops!

That’s the right answer! You are one gold star closer to decorating the North Pole. [Continue to Part Two]

Whoo! Making progress! With AoC 2025 solutions implemented in my own toy language 🤣

⤋ Read More
In-reply-to » Come back from my trip, run my AoC 2025 Day 1 solution in my own language (mu) and find it didn't run correctly 🤣 Ooops!

Ahh that’s because I forgot to call main() at the end of the source file. mu is a bit of a dynamic programming language, mix of Go(ish) and Python(ish).

$ ./bin/mu examples/aoc2025/day1.mu 
Execution failed: undefined variable readline

⤋ Read More

Using #Python’s #pathlib to compare two repos and get back some missing files from a ā€œrecoveredā€ version of a repo (mostly stuff in .gitignore that is handy not to discard right now).

from pathlib import Path

a = Path('sketch-a-day')
b = Path('sketch-a-day_broken')

files_a =  {p.relative_to(a) for p in a.rglob('*')
    if '.git' not in str(p)
    if 'cache' not in str(p)
    if 'checkpoint' not in str(p)
}
files_b =  {p.relative_to(b) for p in b.rglob('*')
    if '.git' not in str(p)
    if 'cache' not in str(p)
    if 'checkpoint' not in str(p)
}
missing = files_b - files_a

for p in missing:
    (b / p).rename((a / p))

⤋ Read More
In-reply-to » @lyse I swear, Her vlog is all I needed to cleanse my soul! Full of pure human interactions (whenever there is any), No BS No pretending and No Nonsense. Again, Thank you!

@aelaraji@aelaraji.com Yes, exactly. It also blows my mind that with sooo much less budget and equipment, her videos are way superior to productions of big TV stations.

⤋ Read More

What the fresh hell! ā€œGlanceā€ wants to take over my Android lock screen and won’t take NO for an answer, just ā€œNot now — so I’ll ask again later!ā€

Updade: found the app and disabled it, I hope it won’t be able ta ask again anything.

⤋ Read More
In-reply-to » Use more WebP, I guess.

Webp, though it has been around for a long while, wasn’t fully supported on all browsers until recently. The other formats has been in use for such a long time, proving to work just fine, that the advantages Webp provides haven’t been seemingly enough to merit a switch.

Google is also the one behind Webp, and, well, people don’t trust, nor like, them much.

⤋ Read More
In-reply-to » Use more WebP, I guess.

Webp, though it has been around for a long while, wasn’t fully supported on all browsers until recently. The other formats have been in use for such a long time, proving to work just fine, that the advantages Webp provides haven’t been seemingly enough to merit a switch.

Google is also the one behind Webp, and, well, people don’t trust, nor like, them much.

⤋ Read More
In-reply-to » In case you haven’t seen it yet:

@prologic@twtxt.net Here you go:

(LTT = ā€œLinus Tech Tipsā€, that’s the host.)

LTT: There was a recent thing from a major tech company, where developers were asked to say how many lines of code they wrote – and if it wasn’t enough, they were terminated. And there was someone here that was extremely upset about that approach to measuring productivity, because–

Torvalds: Oh yeah, no, you shouldn’t even be upset. At that point, that’s just incompetence. Anybody who thinks that’s a valid metric is too stupid to work at a tech company.

LTT: You do know who you just said that about, right?

Torvalds: No.

LTT: Oh. Uh, he was a prominent figure in the, uh, improved efficiency of the US government recently.

Torvalds: Oh. Apparently I was spot on.

⤋ Read More

@klaxzy@klaxzy.net do you know what I also find equally just as stupid and dumb is having to upgrade the software license on something just to be able to get OIDC or OAuth support ffs šŸ¤¦ā€ā™‚ļø

⤋ Read More
In-reply-to » In case you haven’t seen it yet:

can somebody please transcribe what he said and post it here? šŸ™ I think it’s too good just to waste in a video it needs to be preserved. 🤣

⤋ Read More

Fuck me, soooooooo beautiful! Awwww! :ā€˜-) https://www.youtube.com/watch?v=oYfKgi133qo

This focuses more on the landscape part, other episodes also have amazing interactions with the locals. I cannot recommend the Itchy Boots channel enough. It’s in my top three channels of all time I believe. I hardly get the travel bug, but this has now changed. Watching Noraly’s videos brings me great joy. It also shows humanity is not lost, contrary to what one might think in this crazy world. :-)

Caution, this channel gets very addictive!

⤋ Read More