When the director walks through the office and my head hurts too much to work ā Read more
Mu (µ) is now getting much closer to where I want it to be, it now has:
- A
processstdlib module (very basic, but it works)
- An
ffistdob module that supportsdlopen/dlsymand calling C functions with a nice mu-esque wrapperffi.fn(...)
- A
sqlitestdlib module (also very basic) that shows off the FFI capabilities
š
@movq@www.uninformativ.de What I wish for once on this miserable planet is for coporations one day ohave a different set of reasons to exist and thrive other than:
but since the only goal of that manufacturer is to make money, they do it
Life becomes very boring and uninteresting when your only goal in life is to āmake more fucking moneyā š° Fuck 𤬠Fuck this Corporatocracy we live in š¤¦āāļø
@eldersnake@we.loveprivacy.club
Steps to world domination:
- āInventā āAIā (by using other peopleās data).
- Get people hyped about it and ideally hooked on it.
- Only provide it as a cloud service. But hey, if you want to, you can run it locally!
- Buy all hardware available on the market, so that nobody but you can build more systems.
- All PCs of consumers and competitors are too weak now and canāt be upgraded anymore.
- Everybody depends on your cloud service! Win!
All of that is possible because corporations donāt have a āconscienceā in capitalism. Nobody forces the RAM manufacturers to sell all their stuff to just one or two buyers, but since the only goal of that manufacturer is to make money, they do it.
@movq@www.uninformativ.de Iām pretty sure I know a bunch of people who love to blow up their money. :-(
Holy shit! :-O At least, the walls didnāt shake here. But we also had some very loud explosions, maybe they were far enough away. :-? Of course, the bangs continued last night.
Maybe some politicians need to be personally attacked with this sort of shit first in order to ban it once and forever.
** December Adventure, 2025 **
At the end of my #DecemberAdventure, I re-learned what I learned last year:
that 20 minutes a day can be surprisingly productive,
that I am happiest in writing code when itās just for me or for a small group of people I know personally.
I find stats and data tracking antithetical to the experience of feeling joy, so Iāve got no bona fide numbers about this, but this yearās [December Adventure ⦠ā Read more
At around 19 seconds in the video, you can see some minor graphical glitches.
Text mode applications in Unix terminals are such a mess. Itās a miracle that this works at all.
In the old DOS days, you could get text (and colors) on the screen just by writing to memory, because the VGA memory was mapped to a fixed address. We donāt have that model anymore. To write a character to a certain position, you have to send an escape sequence to move the cursor to that position, then more escape sequences to set the color/attributes, then more escape sequences to get the cursor to where you actually want it. And then of course UTF-8 on top, i.e. you have no idea what the terminal will actually do when you send it a āšā.
Mouse events work by the terminal sending escape sequences to you (https://www.xfree86.org/current/ctlseqs.html#Mouse%20Tracking).
ncurses does an amazing job here. Itās fast (by having off-screen buffers and tracking changes, so it rarely has to actually send full screen updates to the terminal) and reliable and works across terminals. Without the terminfo database that keeps track of which terminal supports/requires which escape sequences, weād be lost.
But gosh, what a mess this is under the hood ⦠Makes you really miss memory mapped VGA and mouse drivers.
On my way to having windows and mouse support:
https://movq.de/v/95bbbbd3e8/basic-windows.mp4
It would be cool to have something like Turbo Vision eventually.
(I considered just using Turbo Vision, but itās a C++ library and thatās not quite what Iām looking for. But itās not yet completely off the table.)
@lyse@lyse.isobeef.org I havenāt spoken to a single person yet who was a fan of all this. Not even the more conservative family members.
Some people have detonated several really loud bombs yesterday. This wasnāt a āBƶllerā. It shook my walls, doors, windows. Family members in other parts of the country reported the same ⦠Is this a new trend?
I keep thinking about this piece on students that have not learned yet about folder/directory structuresā¦
I have met many students like that, I wonder if I could help them get it better, or if I shouldnāt worry about it at all (theyāll mostly get used to it without much help).
The only good thing about this absolute craziness is that I can restock my rocket sticks. I picked up twelve along the way. Unfortunately, it looks like 99.999% of ammunition is bombs instead of rockets. Some sections of my street look exactly like an arbitrary Pakistanian town that Iāve seen online.
There was surprisingly much snow in the woods. Also, all ponds have frozen over. I didnāt expect that. Not at all. There were even illegal ice skating tracks in the natural reserve. We came across a large puddle and it was at least 10cm solid ice to the ground. Crazy!
fib(35) doesn't regress too badly as I continue to evolve the language.
@lyse@lyse.isobeef.org Itās actually not nearly as half bad as I really thought it would be. Just having to eventually deal with the ālowering downā to machine code / ARM64 assembly in the end once youāve verified the semantics in the VM.
fib(35) doesn't regress too badly as I continue to evolve the language.
@prologic@twtxt.net Not bad for a start, ey! Looking forward to see you going down these rabbit holes and opening one can of worms after the other. :ā-D Very, very impressive, hats off to you. :-)
println("Hello World"):
@lyse@lyse.isobeef.org A āHello Worldā binary is ~372KB in size. I currently have peephole optimization and deac code optimizations in play, and a few other performance related ones, but nothing too fancy. I have a test case that ensures fib(35) doesnāt regress too badly as I continue to evolve the language.
@javivf@adn.org.es Heck yeah, letās do this! :-) Welcome to 2026.
Opinion / Question timeā¦
Do you think Mu (µ)ās native compiler and therefore emitted machine code āruntimeā (which obviously adds a bit of weight to the resulting binary, and runtime overheads) needs to support āruntime stack tracesā, or would it be enough to only support that in the bytecode VM interpreter for debuggability / quick feedback loops and instead just rely on flat (no stacktraces) errors in natively built compiled executables?
So in effect:
Stack Traces:
- Bytecode VM Interpreter: ā
- Native Code Executables: ā
Hmmm š¤
Excluding merges, 1 author has pushed 171 commits to main and 175 commits to all branches. On main, 294 files have changed and there have been 52880 additions and 18269 deletions.
From the Mu (µ) Gitea Activity Tab
@shinyoukai@neko.laidback.moe Happy New Year to you too! š„³
@dce@hashnix.club Happy New Year to you too! š„³
@movq@www.uninformativ.de Well, just a very limited subset thereof:
- inline and multiline code blocks using single/double/triple backticks (but no code blocks with just indentation)
- markdown links using using
[text](url)
- markdown media links using

And thatās it. No bold, italics, lists, quotes, headlines, etc.
Just like mentions, plain URLs, markdown links and markdown media URLs are highlighted and available in the URLs View. Theyāre also colored differently, similarly to code segments.
I definitely should write some documentation and provide screenshots.
It totally sounds like an active warzone around here. So, I just went on a very, very, very quick stroll to check out our sunset from ontop our hill (were all the bangs are way more horrible): https://lyse.isobeef.org/abendhimmel-2025-12-31/
Unexplained Mysteries top 10 bizarre stories of 2025
To round out our festive week of top lists, here are the most bizarre stories of the last 12 months⦠ā Read more
When Iām alone on break with the boss and he tries to make ādev jokesā ā Read more
Growers hope to keep coffee cups full in 2026
Australian coffee growers are hoping for a bumper 2026 season to meet increased demand for homegrown beans following a prolific flowering season. ā Read more
@movq@www.uninformativ.de Mu (µ)ās startup latency appears to be ~10ms on my machine:
$ time ./bin/mu ./foo.mu
real 0m0.011s
user 0m0.004s
sys 0m0.006s
Outback gardeners continue 30-year battle with destructive fruit pest
There was no fruit fly to be found in Broken Hill 20 years ago, but now gardeners are facing an uphill battle trying to rid themselves of the pest. ā Read more
The baseline here is about 55 ms for nothing, btw. Python aināt fast to start up.
$ time python -c 'exit(0)'
real 0m0.055s
user 0m0.046s
sys 0m0.007s
I assume you made the thing load quickly, didnāt you?
Thatās the problem with Python. If you have a couple of files to import, it will take time.
I want this to be reasonably fast on my old Intel NUC from 2016 (Celeron N3050 @ 1.60GHz) and I already notice that the program startup takes about 95 ms (or 125 ms when there are no .pyc files yet). Thatās still fine, but it shows that Iāll have to be careful and keep this thing very small ā¦
Python 3.14 will bring lazy imports, maybe that can help in some cases.
Well, you girls and guys are making cool things, and I have some progress to show as well. š
https://movq.de/v/c0408a80b1/movwin.mp4
Scrolling widgets appears to work now. This is (mostly) Unicode-aware: Note how emojis like āš ā are double-width ācharactersā and the widget system knows this. It doesnāt try to place a āš ā in a location where thereās only one cell available.
Same goes for that weird āƤā thingie, which is actually āaā followed by U+0308 (a combining diacritic). Python itself thinks of this as two ācharactersā, but they only occupy one cell on the screen. (Assuming your terminal supports this ā¦)
This library does the heavy Unicode lifting: https://github.com/jquast/wcwidth (Take a look at its implementation to learn how horrible Unicode and human languages are.)
The program itself looks like this, itās a proper widget hierarchy:
(There is no input handling yet, hence some things are hardwired for the moment.)
Unexplained Mysteries top 10 archaeology stories of 2025
Itās time again to take a look back at the most popular historical mysteries and discoveries from the last 12 months⦠ā Read more
@shinyoukai@neko.laidback.moe Because you might not want to commit all changed files in a single commit. I very often make use of this and create several commits. In fact, I like to git add --patch to interactively select which parts of a file go in the next commit. This happens most likely when refactoring during a feature implementation or bug fix. I couldnāt live without that anymore. :-)
If you have a much more organized way of working where this does not come up, you can just git commit --all to include all changed files in the next commit without git adding them first. But new files still have to be git added manually once.
os.UserConfigDir() up until a few seconds ago! I always implemented that myself.
@shinyoukai@neko.laidback.moe Yeah, they donāt truly support XDG. In fact, I looked in the Go stdlib source code to notice all the differences and shortcomings.
$HOME is not specified it tries to resolve the user's home directory by user.Current().HomeDir. Maybe that's overkill, I have to check the XDG spec.
Ok, the standard library implementation is wonky at best, at least in regards to XDG, because it really doesnāt implement it properly. https://github.com/golang/go/issues/62382 I stick to my own code then. It doesnāt properly support anything else than Linux or Unixes that use XDG, but personally, I donāt care about them anyway. And the cross-platform situation is a giant mess. Unsurprisingly.
os.UserConfigDir() up until a few seconds ago! I always implemented that myself.
Hmm, mine also resolves a leading tilde in these variables. And if $HOME is not specified it tries to resolve the userās home directory by user.Current().HomeDir. Maybe thatās overkill, I have to check the XDG spec.
But Iām definitely missing os.UserDataDir(). Thatās a bummer.
When I import more dependencies than I need to start my new project ā Read more
@movq@www.uninformativ.de Thanks! Iāll have a look at SnipMate. Currently, Iām (mis)using the abbreviation mechanism to expand a code snippet inplace, e.g.
autocmd FileType go inoreab <buffer> testfunc func Test(t *testing.T) {<CR>}<ESC>k0wwi
or this monstrosity:
autocmd FileType go inoreab <buffer> tabletest for _, tt := range []struct {<CR> name string<CR><CR><BS>}{<CR> {<CR> name: "",<CR><BS>},<CR><BS>} {<CR> t.Run(tt.name, func(t *testing.T) {<CR><CR>})<CR><BS>}<ESC>9ki<TAB>
But this of course has the disadvantage that I still have to remove the last space or tab to trigger the expansion by hand again. Itās a bit annoying, but better than typing it out by hand.
@lyse@lyse.isobeef.org Well, I used SnipMate years ago (until 2012). IIRC, itās more than just āinsert a bit of text hereā, it can also jump to the correct next location(s) and stuff like that. Donāt remember why I stopped using it.
Then I used nothing for a long time. Just before Christmas, I made my own plugin (⦠of course ā¦), which does everything I need at the moment (and nothing more).
It can insert simple templates and then jump to the next location:
https://movq.de/v/67cdf7c827/sisni%2Dpython.mp4
And replace a string after insertion:
https://movq.de/v/67cdf7c827/sisni%2Dheader.mp4
(Itās not public (yet?) and it also uses vim9script, so I guess it wouldnāt work on your system.)
Question to my fellow Vimers: Which snippet insertion mechanism are you using or can you (not) recommend?
** Year in review, 2025 **
Here, an obligatory end of year wrap up kinda post that, as I started to write in what I assume is the classical platonic form for all blogs wherein I reflect thoughtfully on stuff I read, or games I played, or projects I twiddled at, and what not, I became overwhelmed by the act of creating a kinda cursory and meandering review, because, what, in this run on sentence, do I have to contribute that I really wanna commit to you, dear reader?
Instead, letās try the following.
Right now, in 2025, Iāve go ⦠ā Read more
Pro tip: Donāt keep the christmas biscuits close to the bird fat balls. I nearly mixed up the bags. :-D
lldb or gdb š
@prologic@twtxt.net Oh yeah, I bet it is horrible to troubleshoot.
@lyse@lyse.isobeef.org Iām toying with the idea of making a widget/window system on top of Pythonās ncurses. Iāve never really been happy with the existing ones (like urwid, textual, pytermgui, ā¦). I mean, theyāre not horrible, itās mostly the performance thatās bugging me ā I donāt want to wait an entire second for a terminal program to start up.
Not sure if Iāll actually see it through, though. Unicode makes this kind of thing extremely hard. š«¤
@lyse@lyse.isobeef.org I can tell you this right now, writing assembly / machine code is fucking hard work⢠š Iām sure @movq@www.uninformativ.de can affirm 𤣠And when it all goes to shit⢠(which it does often), man is debugging fucking hard as hell! Without debug symbols I canāt use the regular tools like lldb or gdb š
The tt URLs View now automatically selects the first URL that I probably are going to open. In decreasing order, the URL types are:
- markdown media URLs (images, videos, etc.)
- markdown or plaintext URLs
- subjects
- mentions
I might differentiate between mentions of subscribed and unsubscribed feeds in the future. The odds of opening a new feed over an already existing one are higher.
Whoo! I fixed one of the hardest bugs in mu (µ) I think Iāve had to figure out. Took me several days in fact to figure it out. The basic problem was, println(1, 2) was bring printed as 1 2 in the bytecode VM and 1 nil when natively compiled to machine code on macOS. In the end it turned out the machine code being generated / emitted meant that the list pointers for the rest... of the variadic arguments was being slot into a register that was being clobbered by the mu_retain and mu_release calls and effectively getting freed up on first use by the RC (reference counting) garbage collector š¤¦āāļø
Unexplained Mysteries top 10 modern mystery stories of 2025
From drama at a remote research base to a disappearing family - here are 2025ās most popular mysteries⦠ā Read more
@prologic@twtxt.net In my opinion, the integrity isnāt lost. The same input data always result in the same output hash, no matter when you calculate the hashes. Itās true that a corrupt database contents yields to corrupt hashes, but then you have a whole bigger problem than just receiving different hashes. :-D
When a teammate lists all last weekās incidents I now have to deal with ā Read more
Trying to come up with a name for a new project and every name is already taken. 𤣠The internet is full!
@zvava@twtxt.net By hashing definition, if you edit your message, it simply becomes a new message. Itās just not the same message anymore. At least from a technical point of view. As a human, personally I disagree, but thatās what Iām stuck with. Thereās no reliable way to detect and ācorrectā for that.
Storing the hash in your database doesnāt prevent you from switching to another hashing implementation later on. As of now, message creation timestamps earlier than some magical point in time use twt hash v1, messages on or after that magical timestamp use twt hash v2. So, a message either has a v1 or a v2 hash, but not both. At least one of them is never meaningful.
Once you āupgradeā your database schema, you can check for stored messages from the future which should have been hashed using v2, but were actually v1-hashed and simply fix them.
If there will ever be another addressing scheme, you could reuse the existing hash column if it supersedes the v1/v2 hashes. Otherwise, a new column might be useful, or perhaps no column at all (looking at location-based addressing or how it was called). The old v1/v2 hashes are still needed for all past conversation trees.
In my opinion, always recalculating the hashes is a big waste of time and energy. But if it serves you well, then go for it.
Trying to relax after the last working shift of the year. Iāve got a nice view of #SĆ£oPaulo as the evening falls.
@shinyoukai@neko.laidback.moe The CSS 404ing highlights the improvability of the content to noise ratio. :-)
@lyse@lyse.isobeef.org ⦠I was about to write āit really is worse where you liveā, then I heard the first bang out on the street. š¤£
Scientists prove the existence of ātime reflectionsā for the first time
The world of time reflections is a strange one - imagine looking in a mirror and seeing the back of your head⦠Standard mirrors are easy to explain ⦠ā Read more
@shinyoukai@neko.laidback.moe Nah itās more like thereās a lot of repeated code, because when you go from source language to intermediate representation to machine code, well you just end up writing a lot of the same patterns over and over again. I need to dedupe this I think.
The compiler technique Iām using here is to not āemitā most of the runtime if itās actually never used in your program, and also dropping dead code in the SSA pass.
@movq@www.uninformativ.de Iāve managed to bring a simple āHello World!ā in mu (µ) (at least on macOS / Darwin / ARM64) down to ~86KB (previously ~146KB) š„³
Unexplained Mysteries top 10 cryptozoology stories of 2025
From Bigfoot to the Loch Ness Monster, here are our top cryptozoological stories of the last 12 months⦠ā Read more
Hmmm I need to figure out a way to reduce the no. of lines of code / complexity of the ARM64 native code emitter for mu (µ). Itās insane really, itās a whopping ~6k SLOC, the next biggest source file is the compiler at only ~800 SLOC š¤
@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 š
@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. š
@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 š¤
Almost all photos turned out to be blurred today. That made sorting a very quick process. Delete, delete, delete, ⦠https://lyse.isobeef.org/waldspaziergang-2025-12-26/
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
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.)
When I return to a project after several weeks ā Read more
Iām still deciding if I want to watch #Pluribus. When people told me Carol only wanted to meet the English speaking āimuneā people it was such a turn off⦠like, it sounds rather offensiveā¦
@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.
@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/
@movq@www.uninformativ.de I watched a few of these thanks to you! Very cool shit⢠š
Exactly what type of creature is infamous Christmas villain The Grinch?
Heās green, he dresses up as Santa and he has a bad attitude - but what species is he actually supposed to be ? Lucy E. Hyde: The Grinch is one of the⦠ā Read more
@dce@hashnix.club merry Christmas to you too!
@thecanine@twtxt.net Is it because youāve used white pixels around it to sort of give it aht 3D look? š Hmm? š¤
Santa pulled over by cops for speeding in Fulton County, Ohio
It looks as though Santa may be a little delayed in setting out to deliver everyoneās presents this evening. Every child has wondered, at some point o⦠ā Read more
When I have to explain our technical choice to someone whoās not technical at all ā 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.
@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. ;-)
Swearing can actually make us physically stronger, study finds
Reeling off verbal expletives seems to have a measurable empowering effect on human strength. A few years back, we reported on the discovery that swea⦠ā Read more
Christmas lychees best quality in decades despite tough season
After season constraints and rain-delayed harvests, this summer is producing exceptional Queensland lychees, according to the wholesalers. ā Read more
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.
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
Home Alone: the Wet Bandits would not have survived in real life
The classic Christmas movie sees the hapless thieves subjected to all manner of traumatic injuries. Adam Taylor: The festive movie season is upon us, ⦠ā Read more
@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.
@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.
Hey EU friends š wtf happened to the EU Internet today for about 40 minutes or so?
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
Trump lays out ambitious timetable for Americaās return to the Moon
The first human to set foot on the lunar surface in more than five decades could do so sooner than you think. Last week, US President Donald Trump sig⦠ā Read more
@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.
Pentagon officials reopen āYankee Blueā memo search after FOIA appeal
The documents concern an alleged directive to halt a notorious hazing ritual involving claims of alien technology. Back in September, we reported on t⦠ā Read more
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
@kiwu@twtxt.net Ta, same to you!
Reports of UFOs over Wyoming power plant continue to endure
Something has been harassing the Red Desert and Jim Bridger Power Plant in Rock Springs for over 13 months. Unidentified drone-like objects shining be⦠ā Read more
The end of an era: 3I/ATLAS completes its closest approach to the Earth
The enigmatic interstellar interloper has passed the closest point to us it will ever reach and is now heading back out into space. It is perhaps the ⦠ā 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?) š¤£
@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.
Note to self: check if pygments can generate SVG, test and/or find another way to incorporate nicely formatted code into a py5 sketch⦠#python
@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:
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
@kiwu@twtxt.net Iām doing great, howāre ya going? Just two more days and then I never have to work anymore. In this year.
I just baked two trays of gingerbread. One definitely good one and another experiment.
This morning was also super pretty: https://lyse.isobeef.org/morgensonne-2025-12-19/
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