25719

1. Document the projects that I spend time on.

I spend a lot of time messin’ with tech, most of my life, in fact. Often, I get torn away from something that has taken my interest for a few weeks/days/hours by real life, and when someone asks me to explain what I was doing, I find it hard to explain. ‘I was trying to recompile my kernal’ or ‘I was learning about DHCP in completely unstructured way’ - these seem like terse descriptions for activities that have consumed many hours of my life. So, it seemed like a good idea to wrap up these personal trips into the ‘techy’ depths with some sort of document or artifact.

2. Write something.

I actually really enjoy writing. I’m not terribly good at it, but I find make incremental improvements if I actually practice. I find it’s like stretching a muscle that hasn’t been used in while. I like the groove I get into when I write. I like that I produce something. I like wrestling with ideas in my head that don’t want to come out neatly as words. Again, I’m not good at it - this is not award winning prose, but I enjoy it.

3. Get stuff out of my head

I suffer from head clutter. I have ideas. Lots of ideas. A great many of those ideas of self indulgent projects that my very patient wife has absolutely zero interest in. Usually I keep them to myself, and I land up mulling over them until she had to lean over to me and say ‘SAY SOMETHING!!’ So part of what this blog is a outpouring of what’s in my head. All the noise that’s not work or family related needs to come out here, leaving space for work and family in my head. Seems like an odd idea, but I think it works.

4. Keep notes

I really really hate having to do things more than once. As a died in the wool devops’er, if something needs to be done more than once, I pull up the handbrake, crack my knuckles and start automatin’. In the case of my small home network, often it’s small things that just need to be remembered e.g. How to make timecapsule backups run faster. I never remember the arcane symbols that OSX requires to make that happen. So they go here.
me
Project Backlog

Project firewall - home networking overkill

This is in a state of evolution. I wanted to create a safe place on the
network for 3rd party devices that I didn’t trust such as a Blink or
Ring.com camera. So far this has included:

  • Upgrading the house wireless LAN setup to Unifi gear (AP + switches)
  • Evaluate and install firewalls
  • Switch the Virgin Media router over to IPv4

Still left on the TODO list

  • Figure out how to architect the network, including getting the router
    to work in modem mode.
  • Set up OpenVPN ingress options to allow remote connections.
  • Consider installing some “infrastructure” type services, for example:
    • Landscape (because Ubuntu). I’ve had a first stab at
      this and the problem with Landscape is that it’s a bit of a resource
      beast. It’s a Java-based program that slowly fills up its max heap
      size, to the point where running it in a small VM has eventually led
      to death via OOM.
    • Spacewalk and Open IDM (because Fedora). This seems to
      be more of a complete solution for managing a large fleet of servers.
      It looks like you need to use the upstream component projects
      (Foreman, Katello, etc.) if you want to run it for free.
      For example, see the

      Katello installation instructions
      .
    • AWX for Ansible runs.
    • Reasonable CA management. Everything with a web UI
      needs SSL these days, so doing this properly seems worthwhile. I keep
      losing the root CAs I generate and then have to start again.
    • Let’s Encrypt

Circling back to freenas

I had a bad hardware failure on the NAS back in March, and I need to
document that. I have some new kit in the FreeNAS server now and need to
circle back to it, taking a proper look at what I did right and what I did
wrong. There are some things I could improve, such as running a more
reliable PostgreSQL installation (for example, proper backups and a CNAME).

As I was stuck on FreeNAS 11.1 for so long, the services I’ve been hosting
there are woefully out of date: OwnCloud / Nextcloud, Syncthing, Grafana,
and InfluxDB. There’s also a backlog of older projects I wanted to complete,
such as a remote logging server.

I’ve been heavily reliant on InfluxDB and Grafana, and I need to put more
thought into how I use that data and how to make it more resistant to
failure. I have a second NAS box running older disks that I’m less worried
about failing. The plan is to move all IO-heavy operations over to that
machine, leaving the FreeNAS box with a lighter IO workload. This should
help prolong the life of the drives.

I also need a better backup solution in general. From a monitoring
perspective, I need to finish and package the HDD temperature scripts I
wrote to capture drive temperatures in FreeNAS.

TODO / Ideas

  • Monero mining
  • Add drive temperature metrics to Netdata
  • Use Consul to keep tabs on services running in my house

The next evolution of the blog

Consider an upgrade to Hugo, especially the Academic
plugin. This is both exciting and painful, as the thought of porting all
the content I’ve created on the Jekyll site makes me want to cry. However,
the blog format is two years old at this point and clearly needs some love.

I’d also like to build a personal developer portfolio similar to this one:

https://github.com/RyanFitzgerald/devportfolio
.

I need to re-evaluate how I start writing blog articles. I’ve stalled for
the last couple of months (almost years at this point), and I’ve created a
barrier to writing that is simply too high.

Pi project backlog

The Magic Mirror project has been dragging on for over a year now, and it
clearly needs some love. I have a cut-down version in mind that I’d like
to implement using a spare monitor in my study — essentially a simple
dashboard with weather, news, and a nice background image.

I’d like to figure out how to use a Raspberry Pi as a BMC over a serial
connection; successful serial connections have so far eluded me. I also
want to finish whatever I originally planned for retro games on the Pi.

Looking back, I’ve always gotten stuck on games that require a PC-style
interface, such as old DOS titles or classic Amiga and Atari ST games.
I think I should instead focus on a specific form factor — for example
MAME or older gaming consoles — just to get something complete over the
line.

One of the biggest challenges I’ve faced with retro-gaming builds is
reproducibility: how to rebuild the system over and over again without
copying gigabytes of content across the network, while still keeping the
interface polished with game artwork and preserving any tweaks such as
customized menus or OS modifications.

IOT and Home Assistant

I’ve started messing around with ESP8366, with a view to creating some remote temperature sensors around the house. So far this has stalled.