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
Still, it is an end, letting go of that phone number.
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.
Gajim do, and the answer was simple:
jabber.el doesn't support it.
I asked about support for
on the jabber.el mailing list.
And then I wrote a little
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
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.
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!
During this years stay-at-home vacation, I've been cleaning out old
eletronics, cables, harddisks and other things that had gathered under
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
I have very little recollection about the actual code, except I remember
implementing linked lists, badly, myself.
Recently I had a
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
to solve the
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
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.
/etc/opendkim/ I have three files:
internalhosts containing the IP-addresses of my laptop (where Gnus
keytable defining where to find the key corresponding to a domain:
signingtable, saying what addresses to sign with what
/etc/opendkim.conf I have changed these lines:
To generate the key, I went to the directory
/etc/dkimkeys, and ran
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,
opendkim.opendkim and has permissions
Also generated by the command is a file called
this contains the information that goes in DNS.
I run my own DNS servers, so I copied the content of the .txt file to my
/etc/bind/db.koldfront.dk, with a slight adjustment to
the "hostname". I think that is necessary because of the
-s argumen I
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"
(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
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.