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 $