Articles


Welcome Bacula

I wasn't originally going to write this up on the blog, but considering that we've just finished our transition from our old backup software (BRU, no link) to Bacula community edition and considering that it's World Backup Day, it seemed like it would make sense. As many of you are …

ssh key choices

This weekend, Rob and I had been testing the use of hardware keys to secure ssh sessions, especially for back-end console access and certain administrative functions. Since the hardware keys are a special case, and cannot be added to the ssh-agent, we were slinging around a fair number of command …

Update to nginx_alias_map

I've been doing a bunch of maintenance on my two blogs (company and personal) and one purpose has been to track down malformed and mis-mapped URLs on the site. Since both have been through changes in the underlying blog engine a couple of times, there are multiple sets of URLs …

Client Certs and Intermediate CAs

Why client certificates? RS wrote about Preventing drive-bys with client certs and although we'd discussed this method for some time, I hadn't deployed it yet. However, some recent log-spelunking had led me to determine that I liked the idea of a second layer of protection on some of my sites …

Larry Tesler at NCSA

Today I read of the passing of Larry Tesler, a computer scientist with a long and storied career, spanning Xerox PARC, Apple, Amazon, Yahoo, and others. He's considered the father of the modeless interaction model (think Cut/Copy/Paste on the Mac). I met Larry in the late 1980s, when …

Overwatch Leaves nVidia's GeForce Now

According to an article on PCWorld, Activision-Blizard has pulled all of their titles from nVidia's GeForce Now. In my days as CTO of Haste (a service that improves network connections for gamers), I had occasion to spend a fair amount of time playing Overwatch as part of our test regime …

Developing on a 2019 Mac Pro

There's been a lot of discussion about the 2019 Mac Pro and various assertions that it's over-designed, overpriced, or underpowered. Since I decided to replace my venerable 2013 Mac Pro1 with a 2019 Mac Pro, I figured I'd write up my experience with the device as a developer. The …

gitignore as a service

When you're looking to quickly create an appropriate .gitignore file for a new repository, you can save yourself some time, and possibly aggravation, by using gitignore.io. Available as either a website with a very simple interface (and completion), or as a simple API-based service documentation for the API and …

Ansible become: useful and dangerous

OK, now that I have your attention with the catchy title, let me get right into the reason behind this post. Rob has been doing a lot of work lately on a set of roles to provision raspberry pi systems. I'm grateful for the work in this area, because frankly …

NetNewsWire rises again!

One of the very first posts on this blog (16 years ago in the beginning of 2003) was entitled All of your favorite sites at a glance which discussed a new pair of apps (NetNewsWire and NetNewsWire Lite) that I'd just started using. Considering the fallout for RSS from the …

Separating Ansible roles for fun and profit

At ClueTrust, we use a lot of automation to run our systems. It's mostly how just a couple of us can manage hundreds of virtual servers and keep them up-to-date and operational. A few years back, I moved from using Puppet to Ansible, mostly at the suggestion of RS, who …


Git subtrees for Perforce users

For many years, I was a happy Perforce user. Despite clearly not fitting their precise model, I had a three-user license which allowed me and my bots to appropriately work on my code base. I have a number of pretty complex projects, which often have overlapping code and I took …

Pelican plugin for NGINX redirection

When I set out to move Gaige's Pages to a static web generator, chronicled in Gaige's Pages moves to static generation, I stated one of the reasons that I favored Pelican was because it is written in python, which is a language that I'm intimately familiar with. Not surprisingly, that …

Dynamic XCTests

For a number of years, Cartographica has had a lot of tests-on the order of 1500+, but a few of them are quite a bit bigger than they should have been, owing mostly to their data-driven nature. This post describes the method used to provide dynamic test creation for Cartographica …

Fastlane + Jenkins Pipelines (Gaige gets his Java on)

Jenkins For years, I've been using Jenkins as a CI environment at ClueTrust. For those unfamiliar with Jenkins, it's a long-running open-source project built in Java for doing Continuous Integration. It'll work on just about any platform that can run Java (although it's most at home on Unix machines) and …

Follow-up on static pages

At the beginning of the month, I wrote about the move to convert Gaige's Pages to a static generation model. Today I'm following up with some performance graphs. There's absolutely nothing surprising here, but it's good to see nonetheless that things work as they should. Look to the right of …

Gaige's Pages moves to static generation

Gaige's Pages has been through a lot of changes over the last 15 years, since I did the first major revamp of the site. At that time, I was converting from a statically generated site that I was manually creating (with a little help from DreamWeaver) to Geeklog, a venerable …

Looking for a Nav system (Revisited: 2018)

If you want a good feel for the advancements in Navigation systems in the last 10 years, you should check out my piece Looking for a Nav system from 2008. The article went through my key issues that lead to my recommendation of the TomTom's in those days. TL;DR …

Codesigning ate my Sunday

I have a version of Cartographica that I need to push out before the end of the year, due to a certificate expiration on one of my long-term servers. As a bulwark against problems occurring just at the turn of the year and to make sure that users can use …