flypig.co.uk

List items

Items from the current list are shown below.

Blog

All items from January 2025

5 Jan 2025 : Reckoning and Renewal, Part V #
The old year is now old and the new year is still — relatively — new. Which means it's time for me to look back at my old year's resolutions from 2024, review them, admit my failings and then, as if lacking any form of self-awareness, make resolutions that I think I might keep in 2025.

This being the fifth instalment you know the drill and I'll try to keep things brief. So let's get straight to my list from 2024.
 
2024
 
  1. Start working through "Information Theory: A Tutorial Introduction" by James V. Stone.
  2. Do something practical in Rust.
  3. Make twelve incremental ecological improvements to my life.
  4. Go to at least three events or exhibitions at the British Library.
Starting from the top, I'm happy and a little astonished to say that I did start working through James Stone's introduction to Information Theory. Working together with a couple of friends, we got through to Section 2.3. The book has nine chapters in total so that really is only just the start. But at least it is a start.

Second we have my resolution to do something practical in Rust. I've continued attending and following the Rust reading group at work, but I admit that I've yet to find a practical outlet for the skills I've been learning. This falls entirely down to lack of motivation. If I really wanted to I could have found something, but the fact is it's much easier to work in a language I'm already proficient in. I don't plan to move it to my 2025 resolutions — there's no point in forcing it — but I'll keep it as a general goal. Doing this would offer real personal benefit.

Third is my desire to make twelve incremental ecological improvements to my life. The idea was to try to find roughly one per month. In practice and, somewhat to my surprise, I came within touching distance of achieving this. Many of the improvements were small, but that was the point: continual small improvements that could accumulate to become bigger aggregate improvements over time. I tried to keep track through the year:
  1. I planted our family Christmas tree from last year and miraculously it's still apparently healthy in the garden twelve months on.
  2. Joanna and I looked seriously into buying a new car, but decided that it would be better to keep our existing, 15 year old, car instead.
  3. I avoided using the dishwasher for 12 months. I've replaced it with washing up by hand, being careful to keep water usage low enough to be more efficient than the dishwasher would be.
  4. When I take a shower I now intentionally reduce the heat. Previously I always showered with the maximum, now I reduce it by quarter of a turn. It's a small win, but has the potential to be improved on in 2025 with an extra turn of the tap.
  5. At the recommendation of a friend at work I'm now buying only certified shade grown coffee. Apparently this is much better for the environment.
  6. This year I made special effort never to travel by plane. Given my previous years' failings I have plenty to make up for here. But I succeeded in making zero flights this year.
  7. When choosing my new home server, low power usage was a primary requirement. The device I ended up with is fanless and averages around just 12 Watts.
  8. I've also made a special effort to travel by train. Joanna will attest to this, as she's been very supportive when travelling together.
  9. Between June and August I cycled to Cambridge and back for my work commute seven times out of a possible 13. So there's room for improvement, but still better than the five I managed in 2023.
  10. Last January I offset my carbon output from 2023 with 10 Certified Emission Reductions.
As you can see, that's actually only 10 items. On top of this Joanna and I also made active moves to get solar panels installed and to switch our hob from gas to induction. These are still works-in-progress, but are also longer-term goals. So I think I can only claim this one as a partial success. On the positive side, I'm convinced it was only my commitment to this resolution that made me do some of these things, which makes me feel this process is worthwhile, even if I don't always succeed.

Finally, I committed to going to at least three events at the British Library. In this I succeeded, visiting the Fantasy: Realms of Imagination, Beyond the Baseline: 500 Years of Black British Music and Medieval Women: In Their Own Words exhibitions. Honestly, all three were fantastic; better even than I'd expected. So I'm glad I committed to this.

In total then for 2024 it's 2.83 out of four: a pretty good result in my world. So what's in store for 2025?
 
2025

Here are my planned resolutions for the year ahead:
  1. Prioritise Codeberg over GitHub.
  2. Do something fun outside the house at least once per week.
  3. Read at least one paper per week.
I've kept these descriptions brief so let me break them down a bit. I've never been a huge fan of GitHub. In its early years it was clean, focused and welcoming to open source projects even if it wasn't open source itself. More recently it's become bloated and messy. More seriously it's approach to AI data collection has become — in my opinion — actively hostile to open source.

Given all this, I'd love to move off GitHub for my personal projects. The obvious alternative right now seems to be Codeberg given its strong open-source and community credentials. So I'd really like to resolve to move all my projects there. Unfortunately moving existing projects to a different platform can be destructive (for example with loss of issues and open pull requests). I'm therefore resolving to start all new open source projects on either Codeberg or my self-hosted git server. I should also start moving existing projects, but that'll have to be on a best-effort basis.

Next up I'm resolving to do something recreational outside the house at least once per week. This might sound strange to a normal person, but I spend so much time inside and online that I can easily go an entire week without doing something recreational in the real world. Of course, I often leave the house for work, shopping or other non-recreational activities. But the plan here is to do something fun. It could be going to the cinema, visiting friends or just going for a walk in the local countryside. But it should be something. I've run this past Joanna and she's on board with this: it'll be a combined effort.

Finally I plan to read at last one research paper each week. This is an idea I stole from Dr Esther Plomp, a researcher I know through her contributions to The Turing Way. Dr Plomp committed to reading one paper a day but I've diluted this to one per week to suit my own lower standards. I'm also keeping my definition of a "research paper" pretty loose. If I end up reading a book chapter instead, that's fine.

So those are my three resolutions. I thought about including several others, but I think it's important to stay focused. Here are a few that didn't make the cut:
  1. Complete "Information Theory: A Tutorial Introduction" by James V. Stone.
  2. Complete all the exercises in Linear Algebra Done Right by Sheldon Axler.
  3. Add Cambridge live bus info to an app.
I dropped these either because I expect I'll do them anyway, or because I suspect I have no chance. I'll leave it to you to decide which is which.

With my home server back up and running I feel in good shape for the year to come. So, roll on 2025! See you in twelve months with the results in Part VI.
Comment
3 Jan 2025 : CWWK i3 N305 Fanless Mini PC first impressions #
Late last year I invested in a CWWK Fanless Mini PC to replace my previous home server. It took me about a month of deliberation before I finally settled on this over other potential options available, so I wanted to share my initial experiences with it.

This particular device is the snappily named "12th Gen Intel Firewall Mini PC Alder Lake i3 N305 8 Core Fanless Soft Router Proxmox DDR5 4800MHz 4xi226-V 2.5G". It seems to be available under a range of different brand names, but I believe CWWK is the manufacturer.

I've spent the last three or four days configuring the hardware and software on it so that it's just as I want it. Here are the main things I've configured on it and which I plan to make most use of:
  1. SSH
  2. Apache 2
  3. Let's Encrypt
  4. Nextcloud
    1. File sharing
    2. Shared calendar
    3. Contact sharing
    4. Phone backup
  5. Gitolite
  6. Subversion
  7. Jitsi
  8. OpenVPN
  9. ZNC
  10. BIND
  11. Offsite backups
  12. Various Cron jobs
I'm planning a detailed walkthrough of how I set all these things up in a future post, but at this point while I've not done any in-depth longitudinal testing, I do feel like I'm getting to know it already.

But before I talk about my experiences with the device itself, first let me say something about its delivery. I ordered the device direct from CWWK on 2nd December. Between then and the 17th December I heard nothing from them, which gave me considerable pause for thought and made me rather nervous.

The website looks legitimate at first, but the more you look at it the more dubious it looks. Support is provided through a GMail address and the shop still shows Shopify branding (the Social media links point to Shopify defaults). While the support questions I asked before ordering were answered swiftly, following my purchase my questions went unanswered. If you search the web there are several automated reports of the cwwk.net site being bogus. On the other hand you'll also find forum posts claiming that everything went fine when ordering from them.

I'd resigned myself to the server never arriving and me losing my money when on 17th December I received an alert claiming a package was heading my way, along with a tracking link. The package eventually arrived from China ten days later with server and everything else enclosed, intact, working and just as expected. So, apparently not a scam after all!

Nail-biting period of angst aside, CWWK fully delivered my order and I don't regret that I bought it direct from them. But I'm just a random person on the Internet, so if you're thinking of doing the same please don't take this as being any sort of evidence!

The best way to describe the hardware itself is solid. Heavy and solid. It looks a bit like a standard metal-encased mini PC, but sporting a wild haircut. That's because this thing needs a big-ol' heat-sink to dissipate excess energy during periods of heavy use.
 
The CWWK fanless mini PC: a solid looking black case with fins along the top to form a heat sink. On the front of the case are six USB-A ports, one of which has a thumb-drive plugged in to it. On the left the power button glows with a blue power logo.

It's also bristling with ports: four 2.5 G Ethernet ports, eight USB-A ports, HDMI, DisplayPort, a micro SD Card reader and power in. There are no USB-C ports.

Some notes about this configuration: there are other very similar devices available that have USB-C ports. If I planned to use this as a desktop replacement I'd absolutely want USB-C ports. I'd want it powered over USB-C. I wouldn't want any USB-A ports at all.

But I plan to use this as a headless server, equivalent of a cloud device, so I expect to plug devices into it only very rarely. So for my purposes the lack of USB-C isn't a problem. But I'd very much expect others to feel differently about this.

Although it's great to have 2.5 G Ethernet, in practice I can't really make use of the full bandwidth on my home network. The Intel i226-V network controllers that provide the 2.5 G support are too new to be picked up by anything except relatively new Linux kernels, which is something to be aware of.

For software, I'm running Ubuntu 24.04, which is the first LTS release to support the Ethernet ports. With this, everything is working just great.

From a performance point of view I've so far found it to be excellent. Desktop performance is completely usable, although that's not something I'm concerned about. More importantly for me I've found performance as a network server to be great. To be honest, my previous server had become noticeably slow at serving Nextcloud pages. That had an Intel Atom N2800 CPU with two cores, compared to the N305 in this device with eight cores. That's a big jump up so it's not really surprising it feels so swift.

Being fanless you can't hear any activity from it unless it's the dead of night and you stick your ear right up against it. But the chassis does give off some heat. While idle it stays mildly warm — not warm enough to be comfortable bath temperature — but during burst usage it gets a lot warmer. It's never hot though and placing my hand firmly on it has yet to feel uncomfortable.

I bought the device bare-bones for $327.40 including the expansion board that increases storage to five M.2 NVMe slots. I spent £141.34 on 16 GiB of SO-DIMM RAM, a 500 GB Gen4 NVMe SSD (4 700 MB/s) for the operating system and a 1 TB Gen4 SSD (5 150 MB/s) for data. So the complete package set me back £400.

My last device ran for 12 years before failing, so it's a bit early to rush to any judgement, but if this one last a couple of years I'll consider that to be money well spent. Right now, it's doing the job I bought it for perfectly and I'm very happy with it.

So I'm happy. But there's an obvious follow-up question to all of this: would I have been equally happy with the other devices I considered buying?

I made fans a deal-breaker during the decision-making process and I stand by this decision. This is my first server that's had no moving parts and I'm happy with the silence and reassurance this brings. When I entered the world of computing in the nineties moving parts were a rarity and it gratifies me that by the time I leave the world of computing we'll have returned to the same paradigm.

On the other hand, it's harder to justify my decision to go with an N305 processor when I suspect an N100 would have been more than sufficient and would probably have ended up more power-efficient as well. Eight cores sounds great, but in practice four probably would have been enough.

In particular, while the solid metal case of this CWWK device is one of its best features, if I'd dropped down to an N100 processor this may not have been necessary. In summary, with an N305 the metal case is probably wise, but less so for one of the more power-efficient CPUs.

I have to conclude that many of the other devices would have worked just fine as well. Of the twelve I considered, it looks like the HUNSN BM34, iKoolCore R2 Max and Shuttle XPC slim DL30N would all have been just fine. Some of the others would have been fine were it not for the fact they had fans, came with Windows pre-installed, or lacked the space for two drives.

But clearly these are all rather personal to my requirements. It's easy to conclude that we live in a world of rich possibilities. There are numerous great options for low-power home servers and having one of these can offer a genuine quality of life improvement.
Comment