dmuth's blog

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.

5
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 https://github.com/boxen/our-boxen /opt/boxen/repo
cd /opt/boxen/repo
script/boxen

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

5
Average: 5 (1 vote)
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 README.md
$ git add README.md 
$ git commit -m "First commit"
[master (root-commit) d86a7e2] First commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md

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
4.666665
Average: 4.7 (3 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.

5
Average: 5 (1 vote)
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!

4
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


5
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 meetup.com.

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!

5
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.

IMG_2997

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.

IMG_3005

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

My presentation on the Node.js Seq module

My presentation on the Seq module from the Node.js Philly Meetup is now online.

Here's how to view it:


git clone git@github.com:dmuth/nodejs-presentations.git

open seq.html # On a Mac, this will open in your browser

Enjoy, and feel free to send me any questions you may have about Seq!

5
Average: 5 (1 vote)
Your rating: None

Philly DevOps Meetup Notes, September 2013


"I LOVE Boxen!"

I attended tonight's Philly DevOps Meetup at the Comcast Center in Philadelphia, PA. As a service to the tech community, I decided to share the notes I took from the presentations.

Boxen (presented by Adam Ochonicki):

  • configuration management for Macs
  • Does things like installs Skype, VLC, etc.
  • is a wrapper for Puppet
  • Warnings:
    • Installs its own Homebrew and rbenv
    • Installs services on non-standard ports
    • YMMV on "older" hardware
  • http://boxen.github.com/

Docker (presented by Dave Konopka):

  • Docker is to Linux containers what Vagrant is to VMs
  • Linux containers (lxc): isolate proceses, files, and networking running on a host system
  • AUFS: Layered file system
  • Docker is NOT:
    • package manager
    • configuration management
    • VM
  • Requirements:
    • 3.8 kernel
    • LXC and AUFS support
  • Layered file system:
    • Base image can be shared across multiple docker containers
  • Unlike VMs, the guest OSes and kernels are not duplicated
  • Host kernel + smaller resource footprint + layered file system = insanely fast spinup
  • Can run on top of other forms of virtualization (EC2)
  • Starting a container:
    • Spawn a container from an image
    • Fire one process
  • Repositories
  • Ideal use cases:
    • Experiment with distributed applications
    • Portable stand alone applications
    • App deployment
    • Replicate test environments
    • High number of concurrent isolated "systems"
  • "production ready" due in October, 2014
  • https://www.docker.io/
4.5
Average: 4.5 (2 votes)
Your rating: None