dmuth's blog

The Importance of Having More Than One Backup

Many years ago, I wanted to make sure my data was secure, so I purchased a fireproof safe from a (now defunct) company called FireCooler. I thought it would be a good idea to have a UL 125-rated safe which could keep an internal temperature of less than 125 degrees over an hour long fire. I regularly made backups to DVD and stored them in the safe.

Well, sometimes the best laid plans can go awry, and that was the case the other day when I went to put something in my safe, and found that it was flooded with water:

IMG_3373 IMG_3372 IMG_3374

How did this happen? Did something in the safe suck in tons of moisture? Did the basement somehow flood and not cause water damage elsewhere? To this day, I am still not sure. I did not see any evidence of flooding in my storage area--nothing else was damaged.

The takeaway here is that I had backups stored elsewhere so no actual data was lost. I recommend that everyone reading this, if they care about their data, to do the exact same thing. Here are a few resources for backups:

  • DropBox
  • Amazon S3
  • Amazon EC2 (Bonus: You can take the instance offline when you're not backing up to it, and an instasnce that is not online cannot be broken into. )
  • Carbonite

Happy Backups!

Average: 5 (1 vote)
Your rating: None

Centralia Visit

A few weekends ago, I did a road trip with Kasi Frost and Cliff Husky. Our destination? Centralia, Pennsylvania!

For those who have not heard of Centralia, it is a town which was gutted by a mine fire back in the 1980s. The government moved all of the residents (save for a few holdouts) out of down, demolished their homes, and removed the debris. The town is now pretty much a criss-crossed network of vacant lots, utility structures, and just a few buildings left standing. In some places, you can even see smoke and steam coming out of the ground.

Highway 61 (Highway to Hell)

One of the casualties of the mine fire is a section of PA Highway 61. The heat from the fire caused the highway to buckle and warp. End result was that a new stretch of road was built around the smoking part, and it was left alone. Here are a few pictures:

DSC_8093 DSC_8095 DSC_8098

Note that this in the middle of winter. Yet the snow around the fissure is completely melted away.

The Cemetery on The Hill

Welcome to Saints Peter and Paul Orthodox Cemetery. Living population: you

DSC_8121 DSC_8122 DSC_8126

Many of the headstones were from the 50s and 60s. As the general condition of this cemetery shows, it is still maintained.

Average: 4.7 (3 votes)
Your rating: None

My MidWest FurFest 2013 Con Report and Pictures

I was back in Chicago again from November 22nd to 24th for MidWest FurFest.

Once again, I worked staff in Convention Operations, under Takaza. Con Ops went really well this year, as we had many experienced staff members and plenty of manpower to get things done. I actually got to do something new: walk around to other departments in the convention, check in with them, and see if they needed anything. It was a nice extra responsibility to have this year.

IMG_3043 DSC_8032 DSC_8038

DSC_8019 DSC_8040 DSC_8052

Our charity this year was One Tail at a Time, and we were able to raise $8,000 for them and then gave them an additional $20,000 on top of that, bringing the total to $28,000.

Average: 5 (2 votes)
Your rating: None

Tweaking Boxen on OS/X

What Is Boxen?

Boxen is a package which lets you automate the setup your Mac. You can install whatever packages you want, set up services, install config files for your favorite tools. It's pretty amazing, really.

On a more technical level, Boxen is based on Puppet, Homebrew, and a plethora of contributed modules.

Setting up Boxen

Full instructions can be found on the repo, but here's the TL;DR:

sudo mkdir -p /opt/boxen
sudo chown ${USER}:staff /opt/boxen
git clone /opt/boxen/repo
cd /opt/boxen/repo

Along the way you'll be asked to enter your GitHub username and password. Please do so, because your GitHub username plays a big part in the next section.

Setting up a Personal Manifest

Average: 5 (2 votes)
Your rating: None

Git 101: How to Handle Merge Conflicts

In the last post, I talked about how to create a Git repository and upload it to GitHub. In this post, I'm going to talk about how to resolve Git conflicts.

Setting Up Our Environment

First, we're going to create a Git Repository for the user Doug. Since I already covered that in the last post, I'm bring to breeze through those steps below:

$ mkdir doug
$ cd doug
$ git init
Initialized empty Git repository in /path/to/doug/.git/
$ touch
$ git add 
$ git commit -m "First commit"
[master (root-commit) d86a7e2] First commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644

At this point, we have a repository created for the user Doug. Now I'm going to clone that repository for the user Andrew:

$ cd ..
$ git clone doug andrew
$ ls -l
total 0
drwxr-xr-x  4 doug  staff  136 Nov 28 16:59 andrew
drwxr-xr-x  4 doug  staff  136 Nov 28 16:47 doug
Average: 4.8 (6 votes)
Your rating: None

Git 101: Creating a Git Repo and Uploading It To GitHub

In this post, I'm going to discuss how to create a GitHub repo and upload (or "push") it to GitHub, a popular service for hosting Git repositories.

What is revision control and why do I need it?

The concept of revision control is a system which tracks changes to files. In programming, that is usually program code, but documents and text files can also be tracked. Using revision control will give the following benefits:

  • You will know what was changed, when it was changed, and who changed it
  • Multiple people can collaborate on a project without fear of overwriting each others' changes.
  • Protection against accidentally deleting a critical file. (revision history is usually read-only)

In GitHub, we store revisions in "repositories" or "repos" for short. As of this writing, the #1 service for storing Git repositories is GitHub. They offer free hosting for Git repositories.

Before you start

Make sure you have a copy of Git. If in doubt, go to the official Git website and download a copy.

Average: 5 (2 votes)
Your rating: None

My MidWest FurFest Duty Hours

Shia Moorhen and Keenora

MidWest FurFest is just around the corner, and I will be working in Convention Operations (ConOps) for Takaza.

Here are my duty hours:

Thursday: 1:30 PM to 4 PM
Friday: 4 PM to 7 PM
Saturday: 4 PM to 8 PM
Sunday: 4 PM to 8 PM

Outside of those hours, I look forward to hanging out with friends, flailing around at the dances, and generally having fun. I'll see you there!

Average: 4 (2 votes)
Your rating: None

Furfright 2013 Wrapup

Another fun year at FurFright! FurFright was held October 25th-27th, 2013 at the Crowne Plaza hotel in Cromwell, CT.

Once again, I worked security, and during the off hours I got to socialize with friends, and make a few new ones.

I didn't get to see as much of the con as I'd like, since I had some really whacky shifts. (Midnight to 4 AM, then a 4 AM to 8 AM shift)

DSC_7844 DSC_7845 DSC_7887 DSC_7862 DSC_7867 DSC_7868 DSC_7945 DSC_7874

Average: 5 (1 vote)
Your rating: None

Upcoming Presentation at GoLangPhilly

Interested in the Go Programming language? I will be presenting a web crawler which I wrote in Google Go on Wednesday, November 13th, 2013 at DramaFever's offices in Narberth, PA. More information about the meetup can be found on

For those curious about my web crawler or would like to check out the source, the source is up on GitHub.

Finally, for anyone who is curious, here is a sequence diagram of how my web crawler works:

I hope to see everyone there!

Average: 5 (1 vote)
Your rating: None

My Experience as a Mentor at PilotPhilly

On the weekend of November 9th and 10th, 2013 I had the pleasure of participating at PilotPhilly. PilotPhilly was a 24 hour hackathon for high school students. While I am not a high school student, I am a software engineer and the event put out the call for engineers to help out at the event as mentors. As a mentor, my job was to provide guidance to participants and give them suggestions if they became stuck on a problem.


A 360 degree panorama of the hackathon

The hackathon ran from 1 PM on Saturday to 1 PM on Sunday. Sunday afternoon, every group presented their projects. Some projects were serious, some not so serious, and some were downright hysterical.


The app "QuickMunch" is presented
Average: 5 (5 votes)
Your rating: None