End of a phone number

πŸ•¦οΈŽ - 2020-07-26

I have had my own phone line and phone number since I was a teenager in the early 1990's, when my parents gave in to my wish to have a line to connect my computer to and run a BBS on.

At that time I was a member of Fidonet (2:230/149) and AmiNet, and at some point I started to get email and usenet news via a gateway in Sweden. That was expensive. The first phone bill after I started polling the gateway was when we decided that I should pay my own bill.

Tomorrow I'm changing to a different ISP, after the one I had been a customer of for 10+ years has been swallowed by the largest such corporate entity in Denmark, with the expected worsening of the conditions that entailed.

The old ISP offered a SIP-based way to keep the old phone number, so in that way I kept my 1990's phone number. The new ISP doesn't offer that service, so I'm giving up my "land line" and accompanying phone number.

I've only held on to it for nostalgic reasons - I had a tape-based answering machine connected, and by now the only ones calling it are "Microsoft" from India, trying to convince me that my computer is broken.

Still, it is an end, letting go of that phone number.

Fixing spelling mistakes and typos in XMPP messages #emacs

πŸ•šοΈŽ - 2020-07-25

One of the only things I like in Microsoft TeamsΒΉ is that I can edit messages I have sent.

I often send something without noticing all the typos and spelling mistakes I have made. I have tried to be more careful, but for some reason my eyes and brain prefer to see the errors after sending.

Klaus asked if I can use XEP-308 Last Message Correction as e.g. Conversations and Gajim do, and the answer was simple: jabber.el doesn't support it.

I asked about support for XEP-304 on the jabber.el mailing list.

And then I wrote a little jabber-last-message-correction.el, which implements rudimentary support for editing the last message sent, and also shows when an incoming message is an edit of a previous one.

It feels like I am the only one using jabber.el. But after I asked if I was, two people have said they use jabber.el too, so that's good!

ΒΉ Don't ask.

Latency to Germany funny #net

πŸ•œοΈŽ - 2020-07-23

As I am switching internet service provider soon, as thought it might be interesting to install SmokePing to see if there is any difference before and after. The connection is going over the same phone line, using the same technology, terminated in the same equipment, on the same central, as far as I know, so the variables are the actual router/modem and the ISP.

Shortly after setting it up, I noticed an interesting bump in latency to my virtual private server hosted in Frankfurt:

It doubled from around 10 to around 01 the following day. Huh?! The other host in Germany I have configured in SmokePing shows the same bump:

But all the other graphs are flat. Odd!

The end of SCSI #hardware

πŸ•–οΈŽ - 2020-07-22

For the first time in almost 30 years, I don't own a SCSI-harddisk.

ONBC: Travelmate β˜…β˜…β˜…β˜…βœ« #music

πŸ•ŸοΈŽ - 2020-07-21

For my birthday I was lucky enough to receive a copy of ONBC's 2017 album Travelmate.

Last year I got their 2016 album Crash, Burn & Cry and enjoyed it.

Travelmate seems a little more mellow - I'm sure nobody agrees, but I hear a mix of the Twin Peaks soundtrack and Luksus. Recommended.

1990's C-code recovery #software #programming #c

πŸ•—οΈŽ - 2020-07-20

During this years stay-at-home vacation, I've been cleaning out old eletronics, cables, harddisks and other things that had gathered under my bed.

One of the old SCSI-harddisks I found had the source code of my first "large" C-project - just above 8000 lines of code, which implemented a DOS program that handled results from the Danish cross country skiing championships for a couple of years in the 1990's.

I've put the recovered code in a git-repository along with a README, so I know where it is.

I have very little recollection about the actual code, except I remember implementing linked lists, badly, myself.

Adding DKIM to news articles #gnus #dkim

πŸ•₯︎ - 2020-07-04

Recently I had a monologue on the Gnus development list, where I lamented the munging of the From: header in my emails to the Emacs development mailing list when sent through Gmane using nntp, and proceeded to solve the problem.

Since then I've discovered, and fixed, a line-ending problem, so I thought I would document the entire solution in a little more detail here.

There are three steps to perform on the machine running Gnus (in this case, my laptop):

  • Install and configure opendkim, generate key
  • Update DNS of your domain
  • Integrate signing of news articles in Gnus

Install and configure opendkim, generate key

Installing is just sudo apt install opendkim.

In /etc/opendkim/ I have three files:

internalhosts containing the IP-addresses of my laptop (where Gnus runs):

keytable defining where to find the key corresponding to a domain:

koldfront.dk koldfront.dk:news:/etc/dkimkeys/koldfront.dk.news.private

and finally signingtable, saying what addresses to sign with what domain:

*@koldfront.dk koldfront.dk

In /etc/opendkim.conf I have changed these lines:

Selector news
SignatureAlgorithm rsa-sha256
InternalHosts /etc/opendkim/internalhosts
KeyTable /etc/opendkim/keytable
SigningTable refile:/etc/opendkim/signingtable

Generate key

To generate the key, I went to the directory /etc/dkimkeys, and ran this command:

opendkim-genkey -b 2048 -d koldfront.dk -s koldfront.dk.news

Notice that I am using the selector news, separate from the selector my mail server uses to sign outgoing email (mail). This way I don't have to share, and keep in sync, private keys between the machines.

Make sure the generated private key, koldfront.dk.news.private is owned by opendkim.opendkim and has permissions -rw-------.

Also generated by the command is a file called koldfront.dk.news.txt, this contains the information that goes in DNS.

Update DNS

I run my own DNS servers, so I copied the content of the .txt file to my bind zonefile /etc/bind/db.koldfront.dk, with a slight adjustment to the "hostname". I think that is necessary because of the -s argumen I gave opendkim-genkey - I had to change koldfront.dk.news._domainkey IN TXT to news._domainkey.koldfront.dk. IN TXT.

After remembering to bump the serial field in the zonefile, it's just a matter of telling bind to reload the zone, so it can be resigned for DNSSEC and distributed to the two other DNS servers, i.e. rndc reload koldfront.dk IN internet.

Integration in Gnus

The final step is to make Gnus sign outgoing news articles - to do that I added a function to the message-send-news-hook, which runs opendkim, as the opendkim user, on the article, and adds the header generated to it.

(add-hook 'message-send-news-hook 'asjo-add-dkim-signature)
(defun asjo-add-dkim-signature ()
  "Add a DKIM-signature: header"
    (insert (asjo-generate-dkim-signature))))

(defun asjo-generate-dkim-signature ()
  "Genedate DKIM signature from current buffer by calling opendkim."
    (shell-command-on-region (point-min) (point-max) "sudo -u opendkim /usr/sbin/opendkim -bs -t - | awk 'NR > 1' | sed 's/\r//'" " *asjo-generate-dkim-output")
    (with-current-buffer " *asjo-generate-dkim-output"

The thing I missed in the first iteration was that opendkim outputs lines ending with \r\n, and Gnus expects just \n in the article buffer, so I had to strip them.

I found this when I posted to an nntp-based blog-engine I am developing, which balked at the line endings!


When I write to the Emacs development list via Gmane/nntp, the From:-lines are no longer munged, as that is only necessary if SPF fails (it does almost by definition for a mailing list forwarding emails) and there were no DKIM-signature - and I've now added the latter.


Unfortunately it's not really feasible for this to work "out-of-the-box" in a news reader, because the public key needs to be added to DNS, which - while simple - is not something the news reader can do automatically.

I guess the installation could be made "less systemwide" by having the key in my home directory and using a configuration referring to that, but since I'm the primary user of my laptop, it's fine.

Lille langebro


Hiroshima bomb (75).

World Wide Web (29).


John Michael Kizza (58).


Desperados (21).


Tove Jansson (106).

Nagasaki bomb (75).


DOS 1 (39).


Left-handers day (28).

Fidel Castro (94).


Debian GNU/Linux (27).

CPAN (25).


Irma (134).

Den lille havfrue (107).


Linux (29).


Colour television starts in Denmark (53).


Prins Nikolai William Alexander Frederik (21).

Software Freedom Day (16).


Annisette (Savage Rose) (72).