Did you read the memo?

a minimalistic, self-hosted, micro-blogging engine
by Borjan Tchakaloff

Proxmox 8.2-2 & USB NIC's

TL;DR: Proxmox VE 8.2-2 (August 2024) uses the old NIC naming scheme. Updating the kernel will switch to the so-called “predictable” naming scheme, and so the network configuration must be updated.

I installed Proxmox VE tonight, on a spare Framework mainboard.

A specificity of Framework's laptops (also true with the bare motherboard when embedded in a laptop-shape case) is that it has four USB-C ports recessed in its shell (actually Thunderbolt 3 ports for my board). The customer chooses “expansion ports” to fit in, such as USB A, USB-C (pass-through), HDMI, Ethernet jack, etc.

I ordered two USB-C and two USB A extensions, knowing that I had an old 1 gigabit Ethernet-USB A dongle lying around. The other USB A is for rescue by means of external keyboard. I used my USB-C “dock” to plug both power supply and USB stick with the installer burnt on it, and plugged my external USB-C display to the remaining port. Went through the installer process, all good, rebooted, SSH'ed into the machine and decided I could move it to the shelf next to the router.

From there, the game was on. The router did not see the machine go online, the static DHCP address I pinned in its interface was not claimed again. The USB NIC was hopelessly dark, no network activity. After fumbling around for a while, I realised that the USB-C dock I used had its own NIC, and thus the USB NIC left in the mainboard was named eth1 (and not eth0, that was the dock's own NIC). Uhh, still the old naming scheme? Okay, why not, let's make sure /etc/network/interfaces refers to eth0 now that the USB-C dock is unplugged.

All good, the boards boot up and I can SSH in it again. Out of habit, I update the underlying Debian OS with a good old apt update followed by apt-get dist-upgrade. Quite a few updates, an updated kernel, okay let's go. The install is fresh and nothing is running on it, there is zero risk of breaking something after reboot… Wait. I broke my LAN connection again!

Turns out that update did switch to the modern NIC naming scheme. The USB NIC, given its fleeting nature and ever-changing address, is now named after its MAC address (which is way smarter!). Another trip with the keyboard/screen later, and I can start playing with Proxmox VE for real.

Finally generated

It took me a bit more than two hours of work but I came up with a simple engine. The data is read from a TOML file and spits out more-or-less the HTML I hand wrote.

The real exercise here is to see if a single-file script can do what I want. I mean: no dependencies other than the standard library (Python 3.11 at the moment).

Sunday mornings

Somehow I always end up with tech ideas on Sunday mornings.

Is it because I am “refreshed” after a Saturday focused on chores and family activities? Or maybe it´s the “relaxed” time it takes me to whip up the Sunday breakfast (waffles, pancakes, or crêpes).

I don´t often take much action to follow-up on these ideas. Today is different. Today I am taking notes. Today I am actually doing something else than rambling in my heads. Today it is on paper. (And now digital.)

Revived and published

I have another project I would like to work on and I though it was a perfect opportunity to finally push the "memos" online.

Of course plumbing is a pain: I just spent at least a full hour looking at DNS, NS records, static web hosting, and other unwieldy concepts. I ended up pushing the static files to a repository on SourceHut and using my domain with their hosting for now.

Now onto how to make it easier for me to publish… (Or should I simply spin-up an instance of microblog.pub?)

A first step to improve “reader mode”, a.k.a. metadata

I am a big fan of the "reader mode" in Firefox. It couples a gentle sepia tone with distraction-free content, great for long pieces of text.

It turns out that you don´t want to forget the basic HTML metadata such as author in the page header.

Let´s get ready for the future: with tags

I already planned for a couple of features for a next version. Tags are well recognised in the blogosphere, they are a dynamic free-form of grouping articles together by themes.

Let´s take a sneak peek at what it could look like with the current stylesheet.

Customising pico, a minimal CSS framework for semantics nerds

It´s not only for nerds but the facts speak for themselves: there is a "classless" version that simply styles all basic HTML tags. No additional classes needed.

Now, I am trying to tweak a few things such as aligning the date-stamp to the right.

Exploring (basic) styling

I neither want nor need something complicated. Since the idea is to have a minimal engine to publish byte-sized content every now and then, I want to follow suit with the styling and not spend countless hours trying to get it perfect. It has to be simple, and easy to implement. (Wishful thinking!)

I will certainly look into minimalistic CSS solutions out there. I have almost no skills in that area and I know how painful it is to test and have it right. Been there, done that.

Hand-writing an HTML prototype

After a decade or two, I am back to hand-crafting an HTML page.

Today, I am prototyping the very page of this project: a list of memos. (That is so meta.) It turns out bare HTML is still as easy as pie, styling is the real deal.

Kick-starting a new project: memos!

I like the concept of leaving a log of short entries on a regular basis.

I am not so good at publishing blog posts frequently, somehow the barrier is too high for me.

Let´s try with a shorter form, and also because it´s fun to explore project ideas.

Stand-alone, short, and sweet entries following the idea of micro-blogging, but why follow the arbitrary limit of 136 characters? I will keep them short but that´s because I want to.