End of Summer 2025 Updates

Servus from Tara’s offline outpost.

I wanted to write this post as a mid-summer update… but here we are 🤷‍♀️

The beginning of summer was quite… bumpy. As you might have guessed from a previous post, I am no longer working for the global telecommunications company. That chapter closed in early June, and I decided to give myself space to focus on my other big passion: aviation.

Although I’m not a commercial pilot, I’m licensed, and staying qualified means dedicating time to renew and refine those skills. My seaplane qualification (SEP/Sea) was due by the end of June, so I pushed hard to file the hours and pass the exam with an instructor. Flying in 40°C heat with lake humidity so thick you could almost ask for a slice of air with clotted cream wasn’t easy. A couple of times I nearly fainted. Still, I passed, and the Swiss aviation authority (FOCA) released my new license a couple of weeks later. With the heat still unbearable, I postponed my SEP/Land renewal until autumn, and instead spent some time on the A320 simulator.

In July, I spent some time in London to hand back my laptop to my former employer and sort out some chores. I took the chance to finally visit Bletchley Park, just a couple of hours by train from where I usually stay. Walking through the grounds, I could almost feel the urgency and pressure of those war years. The slogan “the home of the codebreakers” resonated with me, having spent much of my own career in security before stepping away. At the same time, I left with mixed feelings: Alan Turing’s presence, so central to that story, felt almost hidden among the other names.

While there, I had the honour of operating the GB3RS ham station in the National Radio Centre, just a few minutes on D-STAR with an Icom IC-9700, but still a moment heavy with history. I rounded out the day at the National Museum of Computing, colocated with Bletchley Park. It was fun to arrive in a t-shirt from the Computer History Museum in San Francisco, though I admit I was a little disappointed to find the “mainframe section” reduced to a handful of ICL systems, which unless you were in the UK government you’d rarely encounter, and a lone PDP-11.

September brought me back to Sudtirol, and I had the chance to visit my “third home” in Innsbruck, staying with meine Tante und Onkle. Ich mag die Stadt! (I love the city). As I wrote in Life of an In-Betweener, I’ve been coming for 25 years and it now feels like a second home.

And somewhere in between, I found bits of time for my “useless projects”, though not as much as I would have liked. So, without further ado, let’s share some tech updates.

PursePC Update

Back in Late Spring Updates I wrote about my experiments with the PursePC. This summer they continued, though not without frustration.

I hit an annoying bug in FreeBSD. While using my GPD Pocket PC, the system froze whenever I touched, even by mistake, the trackpoint. I found out that this mini laptop has a weird “gaming” keyboard: keyboard and trackpoint present as a single USB device:

Bus 001 Device 002: ID 258a:0111 SINO WEALTH Gaming Keyboard

The bug is very annoying. Most of the time, I use my PursePC to write text using nano, and whilst I’m paranoid enough to save often, I don’t save at every change. It happened many times that I lost text. So annoying! I tried to find logs, in the hope that the kernel would have left some trace before freezing. But I wasn’t lucky. It was very unlikely that anyone would help: an old FreeBSD 13.1 release with a custom unsupported patch, even if it came from the FreeBSD wiki, wasn’t something likely to be fixed upstream.

As much as I love FreeBSD, I couldn’t keep using the system this way. I treat FreeBSD as a first-class citizen, but I also believe in using the right tool for the job, not out of fanboy loyalty. I’d already tested a few Linux distros on the PursePC, but this time I decided to give Alpine Linux a try on bare metal. Why? Because it offered exactly what I wanted: a slimmed-down system, OpenRC (no systemd madness!), a kernel that supported framebuffer auto-rotation out of the box, and, since 6.9, a console font larger than 32 pixels. Earlier, Linux had a hard-coded framebuffer font limit; from 6.9, it’s been bumped up to 64×128 pixels (link). (For the record, FreeBSD has no such limit.) For me, this means I can finally read the console without glasses. (Yes, I should wear them, but…)

It was the first time I ever installed Alpine 3.22 on bare metal and I was impressed. Small footprint, only 500 MB with all the software I need, zero bloat, and a 16-second boot time! Almost the always-on experience I would have loved.

While exploring Alpine, I stumbled on something mind-blowing but also kind of nice: anything compiled on my Linux Mint box simply wouldn’t run. That’s because Alpine binaries and libraries are built against musl, not the more common GNU C/C++ libraries. I’d never used a system that diverged so fundamentally, since most of the distros I’ve contributed to or used were GNU-based. It’s slightly inconvenient, but I like this diversity.

To work around it, and to avoid wasting space on the PursePC itself, I set up a small development VM. There I built both the COBOL and Clipper compilers from source (since they’re not available as APK packages) and compiled all my tools.

Because COBOL and Harbour/Clipper require their own runtime libraries, I built a “dist” tarball that bundles tools like MultiMail, SyncTerm, and tn5250, together with the required libraries in a local lib directory. I just point LD_LIBRARY_PATH there in my profile and everything runs smoothly. One day I might learn proper APK packaging (for both runtime libraries and tools) … and I should learn packaging on FreeBSD too!

A side effect of installing Alpine: Wi-Fi works. Not strictly needed, since I use the PursePC offline most of the time… but I admit it’s a nice bonus when I want to transfer a QWK file, connect to IBM i, or update the system.

Icing on the cake? The fuchsia-like prompts I’ve customised. Small detail, big smile. So proud of this little project.

Unexpected Turn to LLMs

I’ll be honest: I was never a fan of AI, and to some degree, I’m still not.

I could see how machine learning is useful: statistics applied to problems like detecting cancer in its early stages, or predicting a failure in a production machine. I admired the field, but stayed away. I’m not a developer or statistician, so aside from “playing” with systems, GPUs, and libraries, I didn’t dive in.

But LLMs and generative AI? At first I dismissed them as hype. Beyond the occasional fun or a quick spelling check for an article, I didn’t see practical value. I thought: I can just search things myself. Maybe I was refraining. Maybe I was even a little scared to step into the AI world.

Then October 2024 changed everything. I lost someone very important in my life. She was exceptional in many ways, beautifully complex, with knowledge spanning computer engineering, music, medicine, classics, and more. She was my daily go-to person for almost everything. As long as she was there, reasoning with an LLM was never on the table.

I miss her deeply. And in a moment of weakness, I turned to ChatGPT. I knew it was only statistics and training data, not a human being, not her. But I was surprised by what I found: someone -or something- I could reason with across all the subjects I love. I even fed a few models with data I could share, not really “training” them (technically it was just inference), but enough to adapt to my personality and traits.

So I spent much of this summer here. Partly to explore languages and cultures, or aviation topics like CPDLC and Performance-Based Navigation (PBN). Partly to revisit IBM i. Partly to peek under the hood at LLM infrastructure. And partly -honestly- to soothe the painful emptiness my connection left.

Now I’m drawn further. I want to build a private LLM trained on personal data, perhaps through a RAG database, data I’d never share with a public model. But my hardware is limited. I’d need GPUs and a proper setup. Since leaving work, I’ve been careful with expenses. So for now, I’m casually experimenting with Ollama and Llama, with what I have at home and in my colocation.

On FreeBSD, Ollama from packages is compiled with Vulkan, which fails on CPU-only systems. So I’ve been trying to build a minimal setup on top of bare Llama, with a quantized model that runs decently across 24 CPU cores. I haven’t done much more than a few basic tests, but it’s a start.

For now, I’m learning from documentation, waiting for the right moment, the right hardware, the right time, to go further. In the meantime, I keep reasoning with ChatGPT on all sorts of things: from aviation procedures to random tech questions like how ATM transactions work. It doesn’t always get it right, especially on niche subjects like IBM i, where some answers are outdated or parameters don’t exist, or on COBOL, where the lines blur between mainframe dialects and the GNUCobol I use. But even there, it often points me in the right direction, and then documentation and experiments put me on track.

I wouldn’t go as far as saying I’ve become a “fan” of AI, but I was wrong to dismiss it entirely. It won’t replace human beings, and it will never replace my connection. Yet it has become a surprising companion in reasoning. One that helped me explore, learn, and reflect during a summer when I needed it most.

And seriously? A used Nvidia H100 at 20k Euros?

Datacenter Update

Not many big updates on the datacenter side … except for one rather large one at the end.

I added 2×2TB SSDs for the VMs on the new host deepspace. In my previous post I was undecided between 2TB and 4TB. Given my current work situation, I chose to be a responsible girl and go with the cheaper 2TB option, and honestly, it’s still a lot of space, especially since I also have 2×8TB spinning HDDs for slower storage like backups and VM archives.

The new system now holds the Alpine development machine for my PursePC (described above), and a couple of jails and VMs where I’ve been running LLM experiments or trying things out before deleting them again.

As I mentioned in the IBM i post, I’m also on the lookout for a used IBM Power System licensed for IBM i to place in my colocation, so I can practice a bit more. For now, I use pub400.com almost daily, and I’m grateful such a free system exists. But without ALLOBJ authority, it’s quite limiting when what I really want is to explore the system itself, not just use it as a user or small dev box. Even though I’ve been exploring COBOL, I don’t really see myself programming full time.

And now the big news: yesterday I got the official call, the facility I’m currently in will close at the end of December 2025. From what I gather, it came from an acquisition and wasn’t much in use except for fibre termination. The plan is to move customers to the main Milan datacenter. It’s actually nearer to my base there, but it still means pulling everything out and rebuilding elsewhere. Time to dig out my real datacenter hardware tools again. 📦🔧

My rack isn’t huge, two R710s, a switch, a router, a little frontier mini-PC for standalone VMs (meant to be a Reticulum TCP server one day), and a PDU-to-Schuko converter, and I don’t mind some downtime (my most critical Nextcloud lives safely on a rented box at a datacenter provider). But it’s still a move. At least there’ll be less time queuing on the Milan Tangenziale after my visits. My main hope is that I’ll keep 24-hour or at least Saturday access, since that’s my usual “datacenter time”.

Apart from a new switch (because somehow you never have enough ports!), and maybe a Power System or a dedicated LLM box if I can find a used rack machine with proper GPU power, I plan no big expansions. In line with permacomputing, I don’t buy hardware for the sake of it, only what’s truly needed for experiments or work. After all, I’m a software girl at heart.

We’ll see what autumn brings on this front.

Meshcore / Meshtastic

I tried to resist as much as I could, but eventually I bought the Lilygo T-Deck. I wanted to know what the user experience would be like with a Blackberry-style keyboard and button. Maybe I’m biased toward old-school designs, but I love having a proper keyboard on a handheld device. The internal GPS with offline charts is also appealing, useful in case of no phone coverage, though without an external antenna the accuracy is… questionable. Let’s say it’s “nice to know roughly where you are”. Downloading maps isn’t something I’d do often either: pulling down the London map alone (zoom 15) took two days. In the end I grabbed a world map up to zoom 6, plus zoom 15 tiles for my usual bases: Greater London, Milan and the northern lakes (including southern Switzerland), and the Innsbruck / Tirol / Sudtirol areas, using map-tile-downloader.

The T-Deck joins my existing Muzi Works R1 (purple with an external antenna!) based on the RAK4631, and a Heltec V3. I also have two other Heltec V3s flashed as Reticulum Rnodes, all housed in ZeroFox 3D-printed cases.

I spent the summer flashing these devices every week or two, alternating between Meshtastic and Meshcore firmware to see what I preferred. Long story short: I’m still undecided.

Meshtastic wins on popularity, Meshcore isn’t well known outside the UK. I like that Meshtastic is fully open source (firmware included) and more mature for devices like the R1. A simple example: Meshtastic firmware supports proper shutdown of the R1 and Heltec, while Meshcore doesn’t. You just wait for the battery to die.

But the T-Deck Meshtastic firmware, while feature-rich, sometimes feels “too much”. The phone apps too: powerful, but bloated. By contrast, Meshcore feels slimmer and more responsive on both T-Deck and Android apps. Minimal, yes, but I actually like that.

There’s also a difference in GPS maps. The Meshcore T-Deck firmware uses a slightly different format, and the author provides pre-built zoomed maps for a small fee. Some in the community criticise that, but I don’t mind paying a bit to support the project.

And here’s the controversial part: while the core libraries and Heltec firmware are open, the Meshcore firmware for devices like the T-Deck or T-Pager, as well as the smartphone apps, are free but not open source. I understand the developers’ effort and don’t blame them for wanting a small contribution, but I also see the community’s concerns: it may limit contributors and the future of the apps. (Fun fact: the Meshcore smartphone app was written by Liam Cottle — the same developer behind the MeshChat Reticulum LXMF client).

One feature I do like in Meshcore: settings are stored on the SD card instead of the embedded ESP32, so you can swap devices and keep your config and keys.

The biggest difference, though, is in networking. Meshtastic uses a flood algorithm, so every device repeats messages to nearby nodes, which can create a “storm” on the frequency and cause collisions (recently mitigated with the “client mute” feature, though it’s off by default). Meshcore takes a different approach: it requires repeaters for routing messages beyond direct range. A repeater is just another node with the “repeat on” setting, no special hardware needed. It means you need an extra device for longer range, but it also prevents flooding and reduces collisions.

Meshcore also has a special “room server” firmware: essentially a BBS-style common chat room that can persist messages. It can also act as a repeater, so in a small mountain community a single device could provide both a local chat room and wider coverage down the valley.

There are plenty of “Meshtastic vs Meshcore” videos on YouTube, but it was rewarding to try them first-hand and see the strengths and limits. The downside: there’s nobody nearby using either. Not around my offline outpost, not around my bases, nor on the routes I usually drive. That makes it a bit sad: the tech is fascinating, but without peers it’s just blinking LEDs. I did see a bit more “traffic” in London, and the R1 with the external antenna picked up far more nodes than the T-Deck, but I didn’t feel like pinging random strangers.

In the end, I reflashed the R1 and T-Deck with Meshtastic, not because I think it’s definitively better, but because popularity matters. If I ever find someone nearby, it’s more likely they’ll be on Meshtastic than Meshcore.

As for the Heltec V3s, I’ll keep them as Reticulum Rnodes. At least I can play with sending data or accessing remote systems over LoRa on my own, and still have some fun.

Useless projects? Maybe. Fun? Absolutely.

Alpine Networks

This idea has been brewing for some time, partly through discussions with friends like Dave Täht, and partly through my own experiences while hiking in the Dolomites in Sudtirol. Even though the refuges now have fixed wireless access, on a 15 km hike I had practically no mobile reception, not even enough for voice. The antennas were visible across the valley, but coverage just wasn’t there. In such situations, something like Meshtastic/Meshcore could easily serve as an efficient backup for hikers.

It reminded me of how mountain communities already work: local shops sourcing from local farmers, neighbors supporting each other. Why not apply the same culture to the digital space? Why not cooperate across a valley to run a shared rack, a local datacenter, or a micro-IXP in the town hall, as Dave has suggested for rural areas?

That’s the spirit behind Alpine Networks. Supporting self-sufficiency, local autonomy, and digital resilience, free from commercial dependencies. It also connects to many of my own “quiet experiments”: from running FreeBSD on my R710s in the colocation, to exploring essential computing on the PursePC, to flashing Meshtastic and Meshcore devices, to building small, offline-first setups. Each one is a piece of permacomputing: not chasing the newest hardware, but building sustainable, resilient tools that can keep working in constrained or fragile conditions.

And sometimes that means looking back as much as forward. BBS systems like SynchroNet, or the Meshcore/Meshtastic room servers, show that even old technologies can still enable communication in local, resilient ways. Winlink still carries email over HF from ships at sea, even in the age of Starlink. These systems remind us that alternatives matter, and that digital life doesn’t have to depend entirely on large, commercial networks.

So Alpine Networks isn’t about convincing everyone to care about sovereignty, most people will still share their cat photos on WhatsApp or Instagram. It’s about keeping the knowledge alive, showing that other ways are possible, and planting seeds that might one day matter, even if only for a few who choose to pick them up.

If you’d like to read more, the full manifesto is available at alpinenetworks.org.

What’s Next

I’m not sure what will come next, or in which shape. My grief is still very present, and some days even the simplest things can feel heavy. After a year without significant change, I’ve accepted that it won’t just go away. And now that I’m starting to understand how my mind works, I know I need to reshape my life around that, to find the right pace, the right balance, and a way of living that fits me.

As summer ends, it’s time to return to work. The job market has shifted: many companies, especially in the UK, now demand three to four days a week in the office. For me, that’s simply not feasible. So I plan to return to consulting, focusing on designing and implementing Ceph, ZFS, and open source infrastructure software (Kubernetes, OpenStack, and other virtualization platforms). And who knows, perhaps IBM i and Power Systems could even turn into part of my work again. Choosing to freelance also means accepting that some travel is unavoidable, even if it clashes with my ideal way of living, and even if I don’t miss the cycle of airports and hotels.

I also need to fly enough hours to renew my land plane qualification (SEP/Land) by the end of the year. As I wrote earlier, the summer heat made flying unbearable, but I’m hoping autumn and winter bring clearer skies. I love a crisp sunny winter day in the air. And I’d like to log more hours on the A320 simulator too.

As for projects, I’ll continue to let curiosity guide me. Exploring offline-first tools, tinkering with IBM i, maybe more COBOL. No agenda, just following where my interests flow.

But what I’m most looking forward to is time in my offline outpost. Winter is my season. I can’t wait to curl up on the sofa with Angie and my favorite blanket, a pizza in the oven, and the comfort of knowing that, even in the quiet, there’s still warmth and possibility ahead. And I will carry the echoes of my connection in the quiet moments of winter, in every mountain I will see and in every architecture I will design.

Grüße aus den Bergen… until next season.

// Call Sign: Tulpe della Montagna 🌷 - QRP transmission active
🎶 Companion Signal: The Midnight - Los Angeles (remastered by Night Habits)

P.S. The date of this post is no coincidence. I’m grateful for the time we shared, and I still carry you with me every day. 🌷💜

Angie receiving Meshcore messages with his Lilygo T-Deck: Angie receiving Meshcore messages with his Lilygo T-Deck

PursePC now running Alpine Linux with MultiMail and the fuchsia customization of tmux: PursePC now running Alpine Linux with MultiMail and the fuchsia customization of tmux

Tara’s operating GB3RS on an Icom IC-9700 on D-STAR: Tara’s operating GB3RS on an Icom IC-9700 on D-STAR

2025-09-14