Gemini Links 28/07/2026: Ethics, GIMP Script-Fu, SMTP Versus Gemini, and Proposal for Better TOFU
-
Gemini* and Gopher
-
Personal/Opinions
-
JAG PROGRESS
Sigh, I still surprise myself with how little I manage to get done in a weekend when working on cars (or most things really). The rule of "he said it took him two hours, so it'll take me two days" remains resolute even after ten years of trying to do this stuff. It is getting harder to imagine how those times that others quote can possibly be for real though...
Anyway the second fuel tank is out of my free Jaguar XJ6 S3 and the first one is ready to go back in after being de-rusted using the electrolytic process - a tank filled with water mixed with "washing soda" then a separate sacrificial piece of steel is placed nearby connected along with the tank to a power supply. I had lots of details and observations in mind to write about when I was doing that a month or two ago but never found time to write about them and now all forgotten, so others will have to figure it out for themselves. The main problem is you can't wipe off the rusty sludge that's left on the inside of the tank away because there's little access inside, so lots and lots of flushing with water and shaking it around.
Realising I'd forgotten how everything went together before I'd even finished taking it apart, I thought I'd solve the usual "where's this bit go?" problem by putting that first fuel tank back in right after I took the other one out, while it's all still in mind. But of course, I only got the second fuel tank out by 4PM on Sunday, and again I already couldn't say where exactly all the nuts and bolts I'd ended up with were from. I guess I'll just have to rely on my photos and the parts diagrams after all. I'd forgotten how hard the tanks are to pull out too - this one even seems to have a dent in the side from being squeezed in there at the factory. Getting one back in might take a day's effort in itself, and possibly a worrying degree of leverage.
-
on the verge
I'm on the verge of believing what the dreamer in me keeps whispering
-
Ethics
When I was a young programmer, I felt that talking to customers was important and sometimes my fellow programmers failed at the task.
When I was a middle-age programmer, I felt that thinking about the whys and hows was important and sometimes my fellow programmers failed at the task.
These days, I feel that thinking about the blood on the hardware we use and thinking about the crimes committed using the software we use is important and sometimes my fellow programmers are failing at the task.
-
-
Technology and Free Software
-
Notes on GIMP Script-Fu
GIMP has a built-in lisp scripting language, called Script-Fu, which is built on TinyScheme. This is meant for creating your own plugins but, in lisp style, you also get an interactive interpreter, available through the Script-Fu console. In principle, you can draw things onto a GIMP image using interactive commands, by passing Drawable objects to the various drawing tools.
The tricky part is that, in GIMP 3 at least, there isn't an API to simply get the Image object or Drawable for the image you are currently interested in or focused on. How the system is setup is that you are suppose to install a Script-Fu script, and then you register the script function in some menu or such like, which will pass the current Drawable(s) on to the script function when that menu or whatever is selected. This registration process is only done when GIMP boots up, meaning you have to restart GIMP whenever you want to test a change or addition, which is not a very lispy experience.
-
Internet/Gemini
-
SMTP versus Gemini
I spent a large chunk of time this weekend reading about SMTP and the evolution of modern e-mail. E-mail has very much been a "black box" technology to me: I use it all the time, often several times a day, but I never really had a solid understanding of how it works.
The history of e-mail by itself is fascinating. A few systems already existed in the 1960s for sending messages to other users on the same machine, but with the advent of ARPANET in the 1970s, the need for a network mail system became apparent. CPL and MAIL were early protocols designed to provide this capability, but they both had problems of their own. Eventually, SMTP was created in 1982, and it forms the basis for all e-mail communications even up to 2026.
The key to SMTP's lasting success lies in it extensibility. The header format listed in RFC 822 is brutally simplistic and completely inadequate for the needs of e-mail today. But the header format wasn't fixed, and this allowed for extensions to enter the protocol. True e-mail is 7-bit ASCII only, but MIME types allowed other types of data to be encoded meaningfully within the 7-bit limit. Attachments grew from this addition. The addition of an EHLO header allowed clients and servers to advertise what features they supported. Soon, extensions like DKIM, SPF and DMARC allowed for message integrity, DNS validation, and spoofing protection. All of this was done without breaking the core specification, and thus all e-mail clients and servers could add features on their own terms while still being interoperable.
-
Proposal for better TOFU
I've been thinking about a post made by Haze over on BBS. It dawned on me the other day that I've been doing my certs wrong for my Gemini page. I use Let's Encrypt on my HTTP, XMPP, Matrix, etc services and I just used the same TLS cert on Gemini. The cert changes every 90 days and as most Gemini clients don't actually track CA's you would just get a warning telling you the cert on my site is different.
But this isn't how TOFU should work. I should have created a single TLS cert for Gemini with an expiration date 10 years into the future, backed it up a million places and never changed it unless somehow it became compromised. You don't know me but the assumption is that once you visit my page you can be sure that all the posts are coming from the same person who posted all the other older posts since that cert is maintained in perpetuity. It works but it really isn't a great system. We've all lost computer files before, TLS certs aren't anything special.
With any security system there is a need for trust. You either trust the person giving you a key or you trust the system that generated the key. Since none of us know each other, then we must rely on the system. Trust-On-First-Use works fine for first use, but it does nothing when the rest of the system falls apart. What we need is a method of trusting after the first use cert fails us.
-
-
-
* Gemini (Primer) links can be opened using Gemini software. It's like the World Wide Web but a lot lighter.
Image source: Film Noir
