Keith Gaughan

An attempt at public introspection

Planet Mercury Projects Go Slow Web

Introducing Planet Mercury

· 3min

Planet Mercury is a Planet-style feed aggregator I’ve been writing in Go over the past few days.

It’s now at the Minimal Viable Product stage, so I figure there’s no harm in announcing its existence to the world. If you want to poke around the currenty …

Projects Spectrum Next NetBSD

A time server for the ZX Spectrum Next

· 3min

I recently received my Spectrum Next. I’d been waiting three years for it, and they started sending them out just as the lockdown started. Thankfully, even though I wasn’t able to update the address, they were able to receive it at the office, and drop it over, which …

Tech

Awkwardly flailing around to get sshguard working on NetBSD

· 4min

When I previously configured NetBSD 9, I’d forgotten that I should configure sshguard and a firewall on the Raspberry Pi. It’s time to fix that.

I figured that I’d install the package:

# pkgin install sshguard
calculating dependencies...done.

1 package to install:
  sshguard-1.5nb1

0 to refresh …
Tech

Configuring a Raspberry Pi 4 as a desktop replacement

· 4min

I gave in to getting a Raspberry Pi 4 last month, and I’ve tried using it as a desktop replacement over the past week or so. It hasn’t been going so badly! After some initial issues finding a working SD card, I found the one I’d originally …

Meta

This site has moved

· 2min

I have to apologise to anybody who follows my feed as you have no doubt just been flooded with a hundred or so additional entries.

I’ll explain.

I’ve moved this site to keith.gaughan.ie. I intend for this to be its final location. I’ve added permanent …

Life

Leaving Twitter

· 4min

I made a decision, unconsciously, a couple of months back, to stop using Twitter. I still kept using it, but my use became more sporadic. This morning I deleted the last remaining client I had installed.

I’ve been using it for quite a while. My initial reason for joining …

Tech

RIP, spinning rust…

· 2min

Last time, I got my old Dell Mini 12 up and running again. Well, the fates did not smile kindly on me, and through my own clumsiness, it ended up slipping off my lap, leaving it with some very, very unhappy spinning rust.

And yes, it contains a regular HDD …

Tech

Notes on breathing life back into a Dell Mini 12

· 8min

(These are some rough, unedited notes from when I was rebuilding the machine today.)

I have a Dell Mini 12, and while I’m pretty sure it’s never going to be of much practical use, I’d like to restore it to a state where it might be useful …

Coding

Picking up Lua again

· 3min

I recently resurrected my old original Raspberry Pi B+ and installed NetBSD on it. Currently, it’s acting as a bastion for my local network, but I’ve been thinking of other projects I could do with it. One of those is to build something like Pi-Hole with it, as …

Tech

Fun installing NetBSD 9.0 on a Raspberry Pi B+

· 6min

One of the consequences of being on a lockdown is that you find time to do things you’ve been putting off for a while. One of mine is setting up a small bastion server on my home network. Having already set up dynamic DNS with Duck DNS, I found …

Life

Ending 2019

· 5min

Following on from last year’s post, it’s time to re-examine where I am in my life once more.

The good

My weight has stayed surprisingly stable over the last year. I’m still overweight, and I’ve yet to hit my goal of getting below 70kg, but the …

Coding

Creating AWS Lambda functions in Python with dependencies

· 1min

This assumes you have a package called mylambda and a requirements.txt file listing your dependencies.

build.sh:

#!/bin/sh

tmp_dir=$(mktemp -d)
trap "rm -rf '$tmp_dir'" EXIT

pip install -r requirements.txt -t "$tmp_dir"
cp -R mylambda "$tmp_dir/mylambda"

here=$(pwd)
(
    cd $tmp_dir
    zip -r -9 $here/lambda.zip …
Systems Administration

Bootstrapping development VMs with Ansible

· 5min

I often need VMs set up locally for development purposes. Setting these up manually can be time-consuming and error-prone, so I use Ansible to almost entirely automate the process.

[Aside: This post assumes you know how to use Ansible, and also doesn’t go into a tonne of detail on …

Life

On asking for things

· 7min

I’ve had variants of this stuck in my drafts for a while now. It’s time I sat down and wrote down what’s been on my mind.

First of all, go read Salary Negotiation Tips from White Men in Tech (and part 2). It had been on my …

Health

Becoming two thirds the man I was

· 9min

Note

I’ve had a post sitting here, waiting to be finished for almost three years. It concerns my previous attempt to fix my weight issues. There’s no sense in trying to post it now, but I might work it into a few different posts. There’s some stuff …

Life

Ending 2018

· 5min

It’s coming to the end of the year, and I figure it’s a good time to review what went well over the past year, what went poorly, and how things can go better.

The good

First up, and most important, is that I found a few great friends …

Advent of Code

Advent of Code 2018, Day 3

· 2min

Part 1

There’s some parsing needed on the input file, and because there doesn’t seem much point in writing the parsing code myself, I used the text_io crate.

Also, I needed some representation of the rectangles, so I wrote a simple implementation with some tests for a method …

Advent of Code

Advent of Code 2018, Day 1

· 2min

Part 1

Very simple. Just a matter of summing up the lines.

Given this is the first time I’m writing non-trivial Rust, I ran into a small issue. Initially, my main function used the default return type of (), so when I compiled my code, I got this:

warning: unused …
Advent of Code

Advent of Code 2018, Day 2

· 5min

Part 1

This one has us applying a simple algorithm to a list of strings to extract some characteristics of a string - specificially, whether a given string contains exactly two or three of any letter - then summing up how many each of these characteristics applies to the strings, and multiplying …

Life

Starting again

· 3min

I haven’t posted here in two years. This site was meant to be a way for me to start writing something more than post random crap on Twitter. I’ve failed at that, but I’d like to try again.

Note

What’s written above was accurate when I …

continue   →