OK j’ai passé une partie de la semaine dernière à lire de la documentation LaTeX, à me lancer dans une crise existentielle, à trouver un nouveau pseudo + éventuellement à accepter mon identité de personne non-binaire, à me mettre en retard de plus d’une semaine sur une fiche de lecture à rendre, à faire planter mon seul terminal Linux, à concevoir (dans ma tête) une infrastructure de blog pérenne™, à tenter d’installer Alpine Linux, MX Linux, NetBSD, et OpenBSD, sur un ordinateur défectueux acheté dans un destockage d’entreprise, et à accepter sur le principe les conséquences du fait que j’avais survécu à un #génocide dématérialisé et hybride, et que mon travail était une responsabilité collective.

Cet après-midi, j’ai donc pris mes responsabilités et contacté une camarade pour lui demander de l’aide sur mon téléphone, et éventuellement lui emprunter un ordinateur d’ici la réception de mon Framework 12.

Bref : mes billets seront directement publiés sur IPFS en tant que documents PDF, et référencés avec #Keyoxide en tant que preuves de type lien.

Cela signifie que si votre navigateur a le plugin #IPFS, il fetchera automatiquement mes billets au format PDF… et, en principe, qu’il les partagera tous.

Mes billets seront convertis du format LaTeX au format HTML avec NoWeb, et peut-être convertis au format GemText pour un export #Gemini avec un fork de Pandoc ou Skribilo (seuls les liens ayant une option [GemText=(...),] seront exportés). Ils seront accessibles à l’URL miroir.blog.tld sauf que je ne suis pas encore sûr·e de l’URL vu que je ne suis pas sûre de vouloir encore m’appeler Océane. Je demanderai conseil autour de moi, je garderai peut-être « Océane » comme pseudo (ou comme prénom) donc je renouvellerai le nom de domaine océane.fr, en tout cas pour l’année suivante.

Je pourrai éventuellement traiter océane.fr comme le miroir officiel de la liste de preuves Keyoxide vers laquelle redirigera un autre nom de domaine, mais je pourrai aussi utiliser un SLD dans la grande tradition du web 3 lol. (Je n’ai pas l’intention de m’investir dans les cryptomonnaies, mais ça peut parler à certaines personnes et faire les ponts entre libertarianisme et anarchisme – je veux partager des ressources au plus grand monde possible, et dire « Twitter est co-responsable d’un génocide » à des libertarien·nes me branche aussi – le FQDN de mon miroir n’a pas de raison particulière de changer le contenu de mes billets.)

Je compte partager mes modifications avec la communauté de rédaction de l’outil utilisé et mettre tout le reste en programmation lettrée avec #NoWeb. Mon éditeur de texte (Emacs) contiendra un script local (au répertoire de mon blog) de pré-remplissage des documents .tex basé sur un script Perl extrayant les éléments de configuration lettrée du document le plus récent dans l’arborescence git (par date de commit), et la syntaxe interprétée sera exportée dans un dossier /tmp/ci-blog/. De la sorte, à quelques exceptions triviales près, mon blog sera entièrement reproductible, en sus du code source de mes documents, accessibles dans mon projet git.

De la sorte, si un serveur OpenPGP devait être partagé sur IPFS, mon blog survivrait littéralement (en théorie et dans le cas de colonies extraterrestres) à une vitrification totale et irrémédiable de la planète Terre. La disparition ponctuelle de mon miroir ne serait même pas à proprement parler une perte car elle stimulerait l’apparition de pairs partageant mes documents IPFS.

J’ai réalisé ce travail grâce au défi #100DaysToOffload (lien), dans Emacs, en configurant et utilisant un système de références académiques pendant un an. cc #ToutEstMieuxAvecEmacs

PS : merci à mon mécène LiberaPay, je suis obligée de me bouger à cause de lui 😅 je n’en demandais pas tant donc je suis très touchée.

#Blog #Blogging #BloggingTools #BloggingSoftware #CIBlog #CIBlogging

Framework Laptop 12 pre-orders are now open!

Framework Laptop 12 is a 12.2” convertible with stylus support. Designed for easy customization, upgrades, and repairs.

Framework

time to iterate for vectors now that I have my punch out grid for enough chars.

all the caps are done. lowers done. this isnthe biiiig version of course. goal is some stamps.
also to mess with subtrsctive modelling and ultimately make a high carbon steel set of them at a few sizes.

then I can do more #programming. LOL

we are bridging #digital and #analogue hard over here.

hammers, steel, wood, chisels, sanding, and letters!!!? yep.

#fontforge #typography #stamps #noweb lol

@nixCraft at the same time, everything related to standard tools is not bloated and works on both relatively weak and more powerful hardware
#noWeb
@alxlg Interesting, but I need actual TeX, because I'm using #noweb for #literateprogramming. Is #Typst #freesoftware?
#Tech #Rant One thing I dislike about #LiterateProgramming in #OrgMode is that code chunks are not cross-referenced or labeled in the finished document, as they are in #noweb. #GNU #Linux #Emacs #programming
NEW by @rrix: A toolkit for Literate Programming imapfilter configurations | Emacs noweb

Over on imapfilter filters my imap I have cooked up a simple Org Babel page which generates a set of mail filtering rules for the imapfilter utility. It's operated using Lua, but with a lot of rules it gets a bit difficult to manage. I broke my configuration up in to a number of org-mode tables that are processed by ten lines of Emacs Lisp which turns it in to Lua code that is written to the imapfilter configuration.

While I don't publish the raw org-mode file since it has un-published headings with rules I don't want to publish, the usage flow is pretty simple, so let me walk you through it:

  • in the imapfilter configuration I define a handful of lua helper functions which take a list of mails to act on, a search key, and a destination to move the matching mails.

  • Define some emacs-lisp which takes a table as variable; these are passed in to the ELisp as list of lists, the inner list being a single row. This is stored in a named Org Mode source block. It takes each row and turns it in to a single Lua statement:

    (thread-last tbl (seq-map (lambda (row) (format "mb = file_by_%s(mb, \"%s\", \"%s\")" (first row) (second row) (third row)))) (s-join "\n"))
  • Define a table with at least three rows

    • the first is the "type" of rule – notice in the format call that the string contains file_by_%s, this first row is used to pick one of the helpers.
    • the second row is the value to filter on, that subject, sender, or destination.
    • the third row is the destination to send it.
  • Create "lua" source code blocks with noweb syntax enabled, and with a tangle destination of the imapfilter configuration. That calls, via noweb, our code generation elisp, passing in each table, and then tangling that generated lua in to the configuration file. <<call-imapfilter-from-table(social-lists)>>

The end result is a set of tables which can be shared or published, edited and reordered etc, easily, and then seamlessly exported as a configuration file.

I do this as well in some other places:

Using literate programming for generating configuration is really fun and lets you scale your code and configuration while keeping it legible!

https://cce.whatthefuck.computer/updates#20231002T162108.807896 #Emacs #noweb #true
Literate Programming with Org Babel - The Complete Computing Environment

The equivalent of #Vinyl on the internet is communicating via mailing lists with people you know and mostly like. Ideally on your own domain. #RetroNet #NoWeb #AsyncCommunication #Decentralised #BringBackThe90s
Everytime I've heard a #Vim user say something to the effect of "can your emacs do THAT" the answer has always been yes of course thats a one-liner, but there's still no serious #noweb programming modes for vim that allow polyglot literate programming, while there are several for #emacs

The #science overlay of #Gentoo has an ebuild for a rather recent version of #noweb

It is YEARS since I used noweb, but maybe I could use it again, say for ports to other languages than C of program06 (my program that VIOLATES BELL INEQUALITIES despite having nothing resembling the non-existent ‘entanglement’).

Today I updated the #github #ci workflows of sisi4s
and I realised that I had to repurpose some steps in different
workflow files.

Good-olde #OrgMode and #emacs to the rescue!
Just define the common blocks in separate blocks
and inject them with #noweb!

https://github.com/alejandrogallo/sisi4s/tree/master/.github/workflows

#CompChem #MaterialScience #emacs #OrgMode

sisi4s/.github/workflows at master · alejandrogallo/sisi4s

Massively parallel electronic structure code for experimentation - sisi4s/.github/workflows at master · alejandrogallo/sisi4s

GitHub