Reorganizing my ~/Sites directory

I keep all my websites’ source code under ~/Sites. I’ve always just named them like ~/Sites/ A while ago, while looking at how launchd names its plist files, like, I realized that would be a great way to organize my ~/Sites directory so that sites under the same domain show up next to each other with ls or in Finder.

Read more →

Nginx proxy for Slack Webhooks

I have a quick and dirty slack-notify script that I’ve been using for a while. I threw it on GitHub today, and got the idea of proxying a slack. subdomain on my internal network to Slack so I could avoid pasting the webhook everywhere I wanted to use it.

Read more →

My favorite shell aliases

I tend to use full scripts more than shell aliases, but I do have a few that I use all the time. I try to keep them all Bash/ZSH compatible so I can just source one file for either shell—so I avoid things like ZSH’s -g. Anyway, here they are…

Read more →

Somehow, I Manage: Why We Pair Program

On my dev team, we pair program for just about everything we do. In fact, this was the first team I worked with that pair programmed at all. It continues to work well for us, but there are pros and cons, and what works for one team may not work for another.

Read more →

HTML capture attribute

I learned about the capture attribute for file inputs today, which allows you to prompt a user to take a picture and passes it to the file input for processing. It is only supported by mobile browsers, and I can’t think of how I would use it. Still, seems like a neat concept.

The seventy thousand

The Biden administration announced their student debt relief program this week. Of course there are a lot of opinions on this, ranging from literal tears of relief to outright rage over liberals getting another handout. I’m one of those people who penny pinched for years to pay my loans off and I think this is a great idea. Strap in for a story.

Read more →

Red Dead Redemption 2

I’m finally getting around to playing RDR2. It’s been fun to see past posts where I managed to blog my game experiences (Resident Evil 4 - 1, 2, 3, 4, 5; The Legend of Zelda: Twilight Princess - 1, 2, 3, 4). Maybe I can do the same for this one?

Read more →

Keep calm and use the runbook

Runbooks are important because they make knowledge easily actionable for someone without domain expertise. This ensures, for example, that the engineer who created the service doesn’t need to be the first line of defense in the event of an outage. Instead, if they create a runbook, anyone else can pick it up and take the right steps to fix the problem.

Read more →

OSI Layer Mnemonic

One of my coworkers loves to say “Layer 2”, “Layer 3”, etc. I learned this in school to pass a test and promptly forgot. There’s always a mnemonic, I know I memorized it once for that test. So I looked it up again so I can maybe stop feeling dumb on those calls:

Read more →

Getting a new game sucks today

Getting a new game sucks today. Back in my day, we had booklets to read by street light on the drive home from Toys ‘R Us. You popped the game in, and if your room was clean, you were ready to rock. No console updates. No installing files to disk. No downloading game updates. Just you, your shiny new game, and a soda.

Read more →

Just discovered, a little DNS hack that lets you do stuff like dig to get back different types of data. It would be fun to do stuff like this as an employer searching for network engineers 😀


I have been using an old headless Mac mini to play music and was wondering if I could use a spare AppleTV remote to control the volume. I found SiriMote which does exactly that.


I saw Micropub in iA Writer’s publish settings today and had never heard of it. tl;dr I think I can use it and a small Heroku app to publish to this site from iA Writer on my phone 🤔

A solution for git repos and iCloud?

If you’re tried keeping a git repo in an iCloud (or Dropbox) folder before, you know it works fine — until it doesn’t. Something inevitably happens one day while one of your devices is syncing, and your repo is corrupted, such that a bunch of your files look like they’ve been changed. A workaround I’ve been playing with is custom $GIT_DIR set via direnv. Here’s how I set it up.

Read more →

You can’t parse HTML with regex

This now infamous post on Stack Overflow — You can’t parse HTML with regex — is one of my favorites. I think every dev has tried it at least three times: first time you do something simple and it Just Works™; second time you try something advanced and manage to figure out most of the edge cases so it Mostly Works™; final time is such a nightmare you wish you’d chosen to build Things Out of Wood™ instead of code.

Read more →


I am 37 today. I’ve spent the last week or so hacking on this blog and reviewing old content since I turned 21. I thought I’d wrap up my nostalgia trip with a check in on what life is like in 2022.

Read more →

The Ten Slack Commandments

As a fully distributed team, Slack is our main tool for real-time communication with each other. Keeping up with dozens of messages a day can be daunting, and distractions abound. Here are just a few ways I’ve seen remote teams of all sizes use Slack effectively to cut through the noise and keep the communication flowing.

Read more →

How to print help text in shell scripts

Good shell scripts should come with documentation that is easy to access. Usually some-script -h, some-script --help will print such help — if the developer was nice enough to include docs anyway. I think it’s a really important thing to include in any script you’re going to share with the public. I’ve seen and tried a few different methods over the years. Here are a few, how they work, and what I’m using today.

Read more →

Hello, macOS!

I threw together this post on macOS basics for my dad a few years back when he got his first MacBook. Copying it here in case it helps anyone else, or if I ever need to share again.

Read more →

Disabling bottles in Homebrew with custom formulae

Homebrew recently added bottles for Vim/MacVim — but they depend on Homebrew-installed Ruby, Python, and Perl. I prefer to build these from source so they will use whatever versions of these dependencies currently installed on my system. Instead of constantly remembering brew install -s vim to install from source, I created a couple small formulae that disable bottles.

Read more →

Fun With Jekyll Posts and Vim Macros

Yesterday, I decided I wanted to edit a bunch of Jekyll posts. Specifically, I wanted to move the title field in each post’s YAML front matter to the bottom. Instead of having to manually edit a few hundred files, I finally remembered to use Vim macros.

Read more →

Wage intergalactic war on your Titanium Mobile apps with TiFighter

Over the last 10 months, I’ve had the opportunity to work with Titanium Mobile for a few different projects. I was immediately drawn to Titanium because projects are written in JavaScript (which I know) as opposed to Objective C or Java (which I don’t know). JavaScript is all well and good, but I still found myself missing things from jQuery, like $.each, $.map and friends.

Read more →

Deploy with git

I found this git hook that lets you deploy a project with a git push rather than having to use a full deployment library such as Capistrano. I use this on a bunch of PHP projects that don’t need all the features Capistrano provides.

Read more →

Asterisk Manager Commands

I’ve been playing around with the Asterisk Manager lately (which is pretty damn cool, if you ask me). There doesn’t seem to be a list of all the commands available on voip-info right now, so I’m posting these here for my own reference.

Read more →

OS X: Fixing the Terminal

This might not be a problem for everyone, but I got used to using home, end, page up, and page down to navigate through the command line and documents through the console. I was quite surprised to see that these seemingly basic features were missing from OS X’s

Read more →

jQuery, nothin’ but love for ya

For the longest time, I was anti-javascript in just about every sense. Once I figured out how to do rollovers with CSS instead of JS, I pretty much abandoned all JS on my work. This was before Ajax was known for more than its grease fighting abilities on pans and other dirty dishes. Needless to say, it was only a matter of time before I had to use Javascript - and it was an absolute disaster. Of course, now I know it was simply my inexperience with Javascript (and more importantly, cross-browser Javascript) that made it such a disaster. Now I know there are great tools already made to do most of this stuff for you.

Read more →

FTBS… I’m getting a Mac

I’ve decided that I am going to purchase a Mac Mini with my tax refund. I am sick of Windows on my old laptop, and Fireworks in Wine is slow as death. The Mac will give me the tastiness of Fireworks with the stability of Unix. I can’t wait.

Asterisk on Ubuntu Server

I know I’ve blogged this before, but these are the steps I took most recently to get Asterisk running on a fresh Ubuntu Server (Dapper) installation. The instructions will also work on Feisty or Gutsy server.

Read more →

Stuff I need to do

  1. Create something for any (preferably all) of the following sites I pay for:,,,,
  2. Use Ruby On Rails for one of the aforementioned projects.
  3. Learn OpenSER and setup a server for no reason other than to say I could.
  4. Find a car.
  5. Re-assess priorities, and find a car first.
  6. Purchase a new computer
  7. Complete my tax return.
  8. Go to sleep earlier.

Oh, how I love you Kate…

The KDE text editor Kate is my latest weapon. Its great if you’re on a slower connection (or you’re torrenting and killing a faster one) as it downloads the file to your hard drive before you edit it. I love me some vim - but it is no fun on a slow connection, waiting 30 seconds to move between lines.

Read more →

New Development(s)

Well, I’ve just finished building my first site with CodeIgniter, and I have to say it was an absolute blast. The framework is wonderfull. Using it, I was able to completely redesign Inglenook Realty in about 3 weeks with leaner, more sensible code than I had implemented previously. Granted, there is about twice as much code now as there was previously, but everything works perfectly now - and I won’t need to scrap the whole thing again if the owners want more revisions down the road. Thank you CI!

Read more →


It’s been a long time since I have had the motivation to post here. It’s funny how things like jobs can ruin the otherwise productive streak of a blog started two years ago during unemployment, but such is life.

Read more →

Calling Dell Support

Earlier today, I noticed the A/C adapter for my laptop seemed to be broken. It took a few minutes to realize that there was a kink in the wiring under the shielding. If I moved that around just a bit, it would work properly. “That sucks,” I thought. “At least I have the warranty and it should be a quick phone call to get a new one out.” Wrong.

Read more →

Vim 7 on a Shared Host

I did this about 8 months ago and never wrote down my steps. I just had to figure it out again for another server, and thought I’d write it down here to save myself (and possibly someone else) time.

Read more →

I love/hate KDE

I haven’t been much of a KDE fan. 2 years ago when I was first exposed to Linux in my Operating Systems class at ITT, I liked the layout a bit better that Gnome, but really knew nothing about it.

Read more →

New Motherboard

So I broke down about 2 weeks ago and picked up a new motherboard for my PC. It’s an ECS — which I’ve never heard of either - but I have to say I’ve definitely been pleasantly surprised by the performance.

Read more →

Fireworks CS3

First, I can’t say how happy I am that Adobe has decided to continue developing Fireworks after the Macromedia merger. That was my biggest concern a year ago when I first heard the news.

Read more →

Hacking Wordpress

It’s been a great time stripping WordPress for use as a CMS. The software itself is awesome, it’s really been just commenting things out here and there that might be confusing for people. I am looking for a plugin that makes better use of WP pages and RSS feeds.

Read more →


If you remember a few weeks back, I had blogged about a program I am writing called Movierack. Well — it’s more or less complete now (although you can’t have the link unless you work with me, tough luck kids). I hate the layout, and there are still bugs, but all in all, it’s way better than an Apache directory listing.

Read more →

Asterisk Goodness

So with the help of a friend at work, I successfully made my first incoming and outgoing calls with Asterisk this weekend. I haven’t gotten all of the kinks worked out yet, but it’s definitely been a good time.

Moving on Friday

Yes — Eric and I move into our apartment on Friday. Unfortunately, the carpenters aren’t coming until Saturday, so we’re camping out in the living room until then. We are, however, having our cable installed tomorrow, so I’ll have the void of the ‘net to keep me company the entire time.

Read more →

Linux Experiences

If you’ve been reading this over the last 8 months or so, you know that I’ve gone through somewhat of a love/hate relationship with Linux. I installed Fedora Core 4 at first and liked it for about a day. As soon as I went to play an MP3 and realized I couldn’t, I was quickly back to Windows.

Read more →

It’s been a long time

I know I never update this much. I can’t seem to find the time to sit down and spend 5-10 minutes on this blog — although, I do often waste time writing in the company blog. Who knows if anyone even reads this?

Read more →

New keyboard

I bought a sexual new keyboard today for the lapper at work. I really have no reason to update this other than the fact I’m just trying to see how comfortable is it when I’m typing.

Read more →

Grrr ITT

So much work left to do. I have to work out the topology of a 90 host network and then do a shit load of math. Oh, I should learn to subnet too.

Read more →

MxO One More Time

So me and Mr. Iversen recently started playing the Matrix Online again. There have been a couple new combat revisions that have made the game much more enjoyable than it was in the past.

Read more →

Ninety-nine is always fine

There really was some kick ass music at the end of the 90s. Snot of course, but currently I’m re-addicted to Staind’s first CD Dysfunction. Mike Mushok kicks major ass. And the singer doesn’t suck too much on this CD… it’s a great time.

Read more →

I win the spirit award!

Haha, I answered 2 out of 24 questions correctly on Mr Iversen’s Academy Awards test. That shit was like homework, let’s do a music test next time huh?

Server Migration

I’m currently moving all of my files from over to my new home at You probably won’t even see this for a while, until my DNS resolves. Updates soon maybe?

RA: Week 1

First, I should mention I’m not actually working for Ticketmaster, although I am working in the same call center (and will eventually be working for TM). I’m selling camping reservations at a low low price instead.

Read more →

The Forty Grand

It’s always great to be so bored at ITT that I have to leave early. Every time I’m there I’m just a bit further in debt, and every time I feel as though it’s all been a complete waste of money.

Read more →