@janneke@civodul@stikonas Using Musl is a very good compromise, too.
It's supereasy to read, and many of the problems we have fixed in meslibc we used musl as a reference so... Somehow meslibc is more similar to musl now. If we continue to do so, maybe it will become musl at some point hehe.
@civodul@janneke As @stikonas says, musl is just another package.
Why does it feel right to add TinyCC but we prefer to avoid Musl?
In the same way it would be great to use MesCC to build GCC4.6.4 but that's not possible right now for two reasons: it would take forever to build and it needs many improvements in MesCC to make this possible.
Same thing happens with MeslibC. MeslibC is just very problematic at this very moment.
@civodul@janneke@stikonas I shared in the past that it uses file descriptors as FILE structures, and that makes impossible to check if FILEs where opened correctly, it's not able to ungetc more than once and many things more. This makes binutils (not even GCC) impossible to build.
We need to rewrite many parts of MeslibC to make it able to build binutils, and probably way more for GCC.
@civodul@janneke@stikonas On the other hand, using Musl lets us avoid many intermediate steps and removes also many packages from the chain, as we can build more modern software directly.
It simplifies the chain, and that might doing more good than bad.
I spent most of the day getting comfortable with Guile and the basics of Guix services.
Followed the "perfect hacking setup" manual section (I'm lucky, I'm using Emacs). Geiser is okay-ish, but fails a lot of times (can't jump to definition in g-expressions for instance). Overall, the builtin yasnippets, and paredit are good and useful, geiser fails to jump to definition too many times to be really useful.
I have a fully functional sway/pipewire/xdg-desktop-portal setup. Costed me quite some headaches.
Guix home is super nice and definitely more integrated than home-manager.
I migrated ~60% of my laptop NixOS configuration. The remaining 40% are going to be pretty painful to migrate, Guix is currently lacking some features to do so (writers, secret management). I'll probably have to write the missing features to continue the migration, but I'm not comfortable enough with Guile/Guix to do so yet.
I packaged my first package (power-profiles-daemon) and wrote a service for that.
I really like the Guix service system. A lot more than the NixOS module system.
Tomorrow, I'll have to face my nemesis: mailing-list-powered patches. I'm 6 commits ahead of my Guix channel, it's time to reduce the stack and start cleaning/upstreaming the changes.
I'm not in love with Guile yet. Part of it probably comes from my inexperience, using it is still painful and slows me down a lot.
I hit a massive roadblock at some point: the guile error message was lying to me. I had a module with an error in it, and instead of throwing an error message, Guile was lying to me and telling me I was not loading this module, and giving me a hint explaining me how to load the module. But, I was already loading the module!! Gazlighted by the interpreter :D
Took me a good 2h before realizing the interpreter was lying to me. I need to find a minimal reproducer to send to the email list.
Massive kudos to @ekaitz_zarraga who helped me in the process :)
This introduction to Git aims to "reveal a bit of the simplicity underlying it". I'm not sure Git is as simple as it is to the author, but this work does help understand a little bit more on the tool and amek it feel less confusing:
@amoroso Oh I've been teaching git for some time and this is a very good selection of the underlying ideas that help understanding what is going on under the hood.
@hisham_hm@zital Even worse, this dude speaks in a Basque dialect only used in one specific town in the Basque country, and it's sometimes hard to understand for other Basque speakers, too. LOL
Today I talk about being sidetracked and why that happened, so you can understand how many different projects are involved in the process, not only the compilers, and how all that works together:
I released a "final" version of my #guile API for #neocities that also has a CLI tool.
It's a simple project to start learning about how does guile-hall work, get used to autotools and all that.
@daviwil i am watching your stream. I made a simple tool to remove all breakpoints in the Guile debugger a long time ago and it's lost in the bug-guile mailing list...
@daviwil It's pretty ok. It generates all the autotools setup you need, just using the hall.scm file.
The interface is a little bit weird and if you clean it removes too many files imho, but it's more than ok.
I don't like autotools myself but the development experience with it was nice.
If anyone has interest or questions about the #bootstrapping process, feel free to ask. I think I should talk more about this, and share what we do and how, because it's really interesting.
For example, this week I implemented many pseudoinstructions for the #RISCV backend in #tinycc and added some extended assembly support.
Behold! Despite FedEx trying very hard to just take it and keep it for themselves, I now have a tiny weird computer. It is running RISC-V and the RISC-V has an FPGA in it. This means this computer has more Freedom than other computers. The RISC-V/FPGA microchip is made by a company named "Microchip" which sounds fake.
Either this will enable me to do strange and beautiful things, or I will waste ~2 months on trying to install Linux on it unsuccessfully then sigh and put it in a drawer.