Articles


Pivoting Elasticsearch data

As I've possibly mentioned here before, ClueTrust is using Elasticsearch to perform analysis of log information. Recently, I finally decided to take some our telemetry inforamtion and pull it in to Elasticsearch as a data exploration and statistical tool. Importing structured XML data into Elasticsearch Although there are some filters …

Always check your arguments

Quite a while back, RS wrote a comprehensive ansible role for handling Let's Encrypt certificate issuance and renewal. We both use this role extensively, which is why it was a significant issue when it suddenly started throwing type errors deep inside of the dnspython library during an nsupdate call in …

2021 Backup Software

As we approach another World Backup Day, I figured it was time for me to revise my 2013 backup article for a more up-to-date view of what my backup situation is and what I am currently recommending. My basic backup strategy, as outlined in the previous article, hasn't changed significantly …

pre-commit and Pelican

Putting pre-commit to use I mentioned in a previous post about pre-commit, a tool for maintaining code consistency through simple management of pre-commit checks. The first place I decided to give this a whirl was on my blog sites. As you may be aware, I moved my blog sites (both …

pre-commit

Introducing pre-commit hooks I recently became aware of the open-source project: pre-commit, which is "A framework for managing and maintaining multi-language pre-commit hooks." The key feature of pre-commit is that it creates an execution environment for itself in order to enable running hooks without messing with (or creating conflicts with …

Bacula Restore Testing

Originally this was going to contain a brief Bacula, 6 months on section at the start. Of course, that became much too detailed, so I split them up, however I would encourage you to read it. Restore Testing Backup is the most obvious part of doing backups. Almost everyone's aware …

Bacula 6 months on

It's been about six months since I originally wrote Welcome Bacula, describing our transition to Bacula from our previous solution (and a bit of history even before that). If you haven't read it, it might be worth a read. Although not quite 6 months since I wrote the first piece …

Trapped in the ice

We've heard it all before: AWS is expensive, and you need to watch out for the hidden sharp edges of their pricing model. Today I provide a small lesson in that concept. History ClueTrust has run through a number of backup methodologies over the year, originally using Retrospect (when they …

Static pages-18 months on

In 2018, I wrote about the move to convert Gaige's Pages to a static generation model. I followed this up in mid-December of that year describing the drop in processing and response time. After 18 months of running the site (and Cartographica's Blog as well) on Pelican, I wanted to …

XCTest + CoreData = ouch

I put this up in hopes that somebody runs across it more quickly than I did... This weekend, as a "break", I decided to do some work updating an ancient (2003-vintage) piece of code that I wrote when I was doing extensive blogging. I'm not certain it'll ever leave my …

So much LDAP, so little time

The background Many years ago, all of my systems were pets. I tried to make them easier to manage by standardizing on a single operating system (MacOS X Server at the time) and used management tools that were part of that suite. As time moved forward, Apple decided to concentrate …

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 Pro[1] 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 …