The Lambda Lab Garden --------------------- This server started as an experiment back in April 2019. While I've written previously about the madness [1] which led me to put it online, I've said almost nothing about the overarching goals I had in mind. Essentially the goal was this: to have my own publicly-accessible spot of internet turf where I could experiment with self-hosting and Scheme. To be clear, the personal experimentation rather than the self-hosting was and continues to be the priority. Exactly zero of the server-side programming I engage in here is necessary to achieve the aims of self-hosting. It adds nothing new for site visitors. But, while I certainly appreciate my 5 or so visitors, this site is really just a Zen garden for me. I tend to it because I enjoy the process in its own right. This means that stability, uptime etc are very low priorities. If there is a sensible established way to implement some service and a silly-but-fun way, the fun way wins every time! For this reason, most of the network services on the Lambda Lab I wrote myself, for better or worse, as very ugly Scheme implementations based off available specs. These include: 1. the Gopher server, 2. the Gemini server, and 3. the SMTP MTA. These have all worked reasonably well over the years; unsurprisingly, I suppose, given that these are all very basic protocols that are difficult even for me to mess up. You might be wondering about the SMTP server there: it's a bit bare-bones, and still doesn't support DKIM or even TLS. That said, it doesn't produce spam, and is the only way (besides IRC and comments on my gopher/gemini pages) that I communicate with people about Lambda Lab matters. A tentative addition to the above list would be: 4. the Core War King of the Hill server. I had big plans for this, but sadly nobody's yet successfully submitted a contender to this hill. Maybe because my MARS implementation only supports the "load file" subset of redcode? Yes, that must be it. (Plans to support full redcode assembly are underway, after which I'm sure there'll be _dozens_ of submissions!) - Concessions - Of course not everything here is written by me; the above is only a negligible fraction of the software running on this VPS, which is currently a full Debian GNU/Linux systemd monstrosity (although with 128Mb of RAM, it's fairly lean). But even in terms of just server software I've made several concessions: 1. HTTP (nginx): I'm not really interested in publishing web content here; I just needed a landing page because MELPA requires this for emacs packages there. 2. Git (git/gitweb) I'm happy with Git, the idea of replacing it doesn't spark joy. 3. SSH (OpenSSH) Ditto. - Local software - Also part of the same project are several key pieces of client software that I use to interact with the server. Emacs is my OS, so these are all written in elisp: Client software: 1. Gopher+Gemini client (elpher) 2. IRC client (lurk) 3. Music player (emus) I like these, they work well. I'm constantly tweaking them, particularly the IRC client and music player, but they mostly work as intended. Anyway, that's my garden. It's not the most beautiful thing to look at, but it's fun to play in and the veggies taste good. --- [1]: gopher://thelambdalab.xyz/0phlog/2019-05-31-Gopher-Madness.txt gemini://thelambdalab.xyz/phlog/2023-10-19-The-Lambda-Lab-Garden.txt

-- Leo's gemini proxy

-- Connecting to thelambdalab.xyz:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/plain;charset=utf-8

-- Response ended

-- Page fetched on Wed May 1 13:37:46 2024