Tuesday 31 December 2024 My digital 2024 =============== It is that time of the year again, when we publish our lists and reviews of the year. Looking back on 2024, here are some highlights. SPF, DMARC and DKIM ------------------- It becomes harder to send email from your own email server. At the beginning of 2024 I set up SPF, DMARC and DKIM, to prevent most of my email ending up in spam-folders. As is so often the case, it looked more scary than it really was. My SMTP server was sendmail, running in a jail on the small FreeBSD server in our home network. Later in 2024 I had to end the self-hosting of the internet services from within our home network, and migrated the services, including the SMTP server, to an external Debian machine. I installed Postfix on it, and made that work with the same certificates. Building GnuPG from source -------------------------- There were some compatibility problems between Emacs and the version of GnuPG from the FreeBSD packages. It could be solved by running a different GnuPG version, so I decided to build it myself. Building GnuPG means building all the GnuPG packages, in the right order. It turned out this was a good exercise. Later in 2024 version 2.5.1 of GnuPG was released, which supports so called "post quantum" encryption. Which, you guessed it, I also build from source. Emacs package in ELPA --------------------- With support from Philip Kaludercic, I build rcirc-sqlite. `rcirc' is a default, simple IRC client in Emacs. `rcirc-sqlite' is a small Emacs package that diverts the chat logs to SQLite, and provides a little user-interface to query the database. `rcirc-sqlite' is available as ELPA package. See also https://codeberg.org/mattof/rcirc-sqlite Added an OPML file to the links page ------------------------------------ My website has a page with a weblinks collection, https://box.matto.nl/links.html The list is maintained in a GNU recutils database. I added the RSS feeds of the websites, and created a script that generates an OPML file. This OPML file can be obtained from the links page. Created some Elisp scripts -------------------------- During the year, I created a number of Elisp scripts to make live easier. Some examples: * My invoices for my customers are now generated by an Elisp script. This script also adds the records in the ledger journal. * The RSS-feed from my gopher burrow is now generated by an Elisp script, see gopher://box.matto.nl/0/gopherindex.rss Developed a new static site builder ----------------------------------- In 2024 I developed a new static site builder in Common Lisp. I started this using Clisp, and when it was finished compared the performance of the builder running on Clisp, on CCL, and on SBCL. Running on Clisp, it takes about 48 seconds to rebuild the entire website. The same code on CCL builds it in about 12 seconds, and on SBCL it builds it in less than 2.5 seconds. Because it takes less than three seconds, I never bothered to develop an incremental solution that only builds new or changed files. After a change or addition, I simply rebuild the entire site :) Replaced Goodreads by GNU recutils ---------------------------------- I used the Goodreads website only to track the books I have read. The ROOPLOCH 2024 inspired me to move away from Goodreads. Now I track the books I have read in a GNU recutils database. See also gopher://box.matto.nl/0/rooploch-2024-phlog.txt pass as password manager ------------------------ I installed pass, the standard Unix password manager, on my systems. Compared with the pool of passwords in a big GnuPG encrypted file, this is easier to work with. And Emacs has a mode for it :) Hunchbin -------- I developed Hunchbin, a self hosted snippet service, and file dropper. It also features temporarily bookmarks. This is a Common Lisp application, build upon Hunchentoot, the Common Lisp web server. Hunchbin works with pure HTML, without any JavaScript. See https://codeberg.org/mattof/hunchbin Embraced paredit ---------------- Sandra's post "Wrapping and raising" inspired me to start using paredit. Before reading Sandra's post, I was rather intimidated by paredit. This post changed my perspective and got me started. Now, I don't want to edit Lisp without it. Sandra's post: gemini://idiomdrottning.org/wrapping-and-raising Finished the 100daystooffload challenge --------------------------------------- Prahou and I decided in August 2023 to do the 100daystooffload challenge, on Gopher, see: gopher://box.matto.nl/0/boost-our-gopher-activity-challenge.tx In August 2024 I posted the 98-th phlog post. See gopher://box.matto.nl/0/wrap-up-of-100daystooffload.txt Having fun with qemu-system-i386 -------------------------------- I installed qemu-system-i386 on my X201 running FreeBSD, and used it to revive some old OS'es, like RedHat 5.2 (1998), OpenBSD 2.5 (1999), and some others. This was great fun! And more -------- These are a number of highlights. Also there was the Old Computer Challenge 2024, which let me to the conclusion that I should visit the Gemini-verse more often. To bring this into practice, I added Cosmos and Antenna to my Webjump table and visit those almost daily. Also I did some server migrations and set up some NFS shares using ZFS datasets. Less fun was the end of life of one of my BeagleBone Black boards, as a result of a power outage. But that is all part of working with computers, I guess. Last edited: $Date: 2024/12/31 10:01:15 $