Oddbean new post about | logout

Notes by Ludovic Courtès | export

 Good news for declarative config fans: finally there’s a #Guix System service to deploy home environments!
https://guix.gnu.org/manual/devel/en/html_node/Guix-Services.html#Guix-Home-Service

Thanks to Richard Sent for implementing it, based on code by @123e16e8. 
 My friends, I made a terrific (terrible?) discovery that goes by the name ‘sdlpop’:
https://packages.guix.gnu.org/packages/sdlpop/1.22/

I spent hours on this as a kid and it was great, even though I’m not sure I ever went past level 2 (I didn’t today). 
 Full support to the NixOS users who oppose sponsorship from the military-industrial complex in the name of the community:
https://nixos-users-against-mic-sponsorship.github.io/ 
 One of the achievements of the workshop: ~15 people showed up at the install party with their laptop and left with a working installation, and ~70 attended the #Guix intro tutorial and following packaging intro, now knowing enough to get started.

We’re talking about people new to Guix, working in a variety of domains, and who’d often not self-identify as developers. 
 Stumbled upon Futurile, a neat blog with lots of pleasant, how-to-style #Guix posts:
https://futurile.net/archives.html 
 Just discovered that “noun piles” are a thing (I mean, a thing with a name), with lots of very funny examples here:
https://languagelog.ldc.upenn.edu/nll/index.php?s=noun+pile 
 “Solidarity For Artsakh, brought to you by Traveling Doctors”
https://www.youtube.com/watch?v=R5YMJmnnX7E 
 Ébahi par le concert de piano suspendu (!) d’Alain Roche ce soir à Bordeaux. 🎹🙃
https://www.pianovertical.com/ 
 My friends, I’ve spent an unreasonable amount of time debugging a #ZeroMQ issue whereby a router socket swallows a message: ‘zmq_msg_send’ succeeds but there’s no corresponding ‘sendto’ call in the strace log.

How would you go about debugging this?

(Other questions I ask myself: How did I end up here? Why am I even doing this⁈) 
 À propos de bagnole, tout ça… Je recommande « Permacité ! La ville de mes rêves », ça ouvre des horizons :
https://editions-sarbacane.com/albums/permacite 
 @1772be87 Wild guess: ‘#include_next’ doesn’t work because there’s nothing next (only one entry in ‘CROSS_C_INCLUDE_PATH’).

If that’s the case, then you can try to work around it with: export CROSS_C_INCLUDE_PATH=$CROSS_C_INCLUDE_PATH:$CROSS_C_INCLUDE_PATH. 
 nostr:npub19amud7rggjx0u77wqqa84x537x7g5nws9pqdgu5qadgypfreyv2s5hqjn6 Alors, si je suis d'accord ... 
 @07a0992c  Le but de la programmation en maths devrait être d’accompagner les apprentissages de maths (et vice versa éventuellement).

En montrant les affectations et autres effets de bord, on s’éloigne des maths et on risque de rendre la compréhension difficile pour des personnes qui découvrent la programmation.

(Le choix du langage importe peu, c’est vraiment le choix des idiomes dont je parle.) 
 nostr:npub19amud7rggjx0u77wqqa84x537x7g5nws9pqdgu5qadgypfreyv2s5hqjn6 
It's not just something yo... 
 @634bd1cc  I guess many math teachers discovered programming recently and had mandatory Python training where they had to endure imperative idioms themselves.  So now they’re just propagating that pain, maybe thinking that it’s a fundamental part of programming.

It’s terrible because it’s such a distraction and a pain when programming could instead be a great companion for math classes! 
 Les maths sont illustrées par du Python (et inversement) en première.  C’est chouette !

Sauf que, à une semaine de la rentrée, on leur parle déjà d’affectation avec des exemples où on change la valeur des variables en cours de route et on doit réfléchir à leur valeur à la fin.

Je crois vraiment que la programmation fonctionnelle a des vertus pédagogiques dont il faudrait tirer parti au lycée. 
 nostr:npub19amud7rggjx0u77wqqa84x537x7g5nws9pqdgu5qadgypfreyv2s5hqjn6 Out of curiosity, what is t... 
 @ed2912d5  So far we were still mostly cross-compiling everything but @634bd1cc fixed native compilation of many packages (substitutes are coming).  @634bd1cc also did a lot of work to switch to user-level drivers recently (netdde and rumpdisk).

One of the next steps is indeed adding x86_64 support, and @38aae3b0 was quite excited about it, having already upgraded glibc with that goal in mind.

So… exciting times! 
 Try #Hurd 👉 https://tryhurd.gexp.no/

The unbelievable Marius Bakke turned #Guix childhurds into cloudhurds. ☁ 
 Folks happily running #Apptainer/#Singularity images generated by ‘guix pack’ with native MPI performance on #HPC clusters:
https://issues.guix.gnu.org/65801#2

Not really a surprise because that’s a major goal of our Open MPI packaging, but always pleasant feedback. 
 A colleague of mine provided participants at a #EuroMPI tutorial with relocatable #Guix packs (tarballs) of the relevant software stack, which worked well to ensure they’d all get the right environment.  Nice use case! 
 “Swineherd: Guix System container manager”
https://lists.gnu.org/archive/html/guix-devel/2023-09/msg00310.html

The unique, the fabulous Ricardo Wurmus shares a pretty neat tool to manage #Guix System #containers via the #Shepherd. 🐑 
 “The five pillars of computational reproducibility: Bioinformatics and beyond”
https://ziemann-lab.net/public/5pillars/5pillars.html

Good to see that one of these pillars is “compute environment control”, which is still all too often overlooked by scientists.

(HT to zimoun!)

#OpenScience #ReproducibleResearch #Guix 
 We should take Lispers who think parens hinder popularity to ClojureCon (and EmacsConf). 
 We’ll see how it goes, but my guess is that Rhombus will be as successful at making Racket popular as Hop.js was at making multitier web programming popular (Hop.js replaced Scheme with JavaScript as its source language, https://hop.inria.fr). 
 @0376c6e8 @59893ad8  Also: “since handling static information (such as types) is also a necessary part of growing macros beyond Lisp, Rhombus includes support in its expansion protocol for communicating static information among bindings and expressions”.

Reminds me of Turnstile, which does a great job of using macros to express static type info:
https://docs.racket-lang.org/turnstile/ 
 “A new Quality Assurance tool for #Guix”
https://guix.gnu.org/en/blog/2023/a-new-quality-assurance-tool-for-guix/

The amazing @adeb9205 writes about https://qa.guix.gnu.org and all the things behind it. 
 And @adeb9205 will be at #PackagingCon to talk about QA for #Guix!
https://cfp.packaging-con.org/2023/talk/UKS9P9/

Lots of other interesting topics in this program:
https://cfp.packaging-con.org/2023/schedule/ 
 Why oh why can’t we have a viable Git library? 😢
https://issues.guix.gnu.org/65720#6 
 After weeks (months?) of neglecting guix-devel email and/or taking vacations, I learn that something unbelievable happened: *all* of #TeX Live has been imported in #Guix, as 4K+ individual packages, including “collections” and “schemes” (≅ meta-packages):
https://guix.gnu.org/manual/devel/en/html_node/Using-TeX-and-LaTeX.html

Thumbs up to Nicolas Goaziou for this achievement! 
 nostr:npub19amud7rggjx0u77wqqa84x537x7g5nws9pqdgu5qadgypfreyv2s5hqjn6 is it possible to attend on... 
 @f56fc16d  Talks will be recorded but probably not live-streamed (this is still being discussed). 
 And also: some well-known names from the #Guix community! 
 The tutorials will cover a range of topics, not limited to Guix, and I expect this to be a good fit for fellow research software engineers but also for anyone willing to get started or to improve their #Guix skills. 
 Really happy that we’ll have talks covering the use of #Guix in widely different (often non-geeky!) contexts: physics, bioinfo, medicine, psychology, linear algebra… not to mention feedback from #HPC sysadmins. 
 And also: some well-known names from the #Guix community! 
 Excited to unveil the preliminary program of the 1st Workshop on Reproducible Software Environments for Research and High-Performance Computing!
https://hpc.guix.info/events/2023/workshop/

Experience reports by people with a variety of backgrounds, tutorials… time to register!

📅 Nov. 8–10, 2023
🗺 Montpellier, France

#OpenScience #ReproducibleResearch #HPC #Guix 
 Really happy that we’ll have talks covering the use of #Guix in widely different (often non-geeky!) contexts: physics, bioinfo, medicine, psychology, linear algebra… not to mention feedback from #HPC sysadmins. 
 “sqlelf: Explore ELF objects through the power of SQL”
https://github.com/fzakaria/sqlelf

SQL lacks the expressive power of GNU Poke for these things, but this looks like an interesting and useful way to inspect ELF files.