Office of Secret Intelligence

Who taught you to be a spy, fucking Gallagher!?!


Pages Are Broken!

It looks like pages are broken.  I think this is a caching issue, but I'm not positive.


If anyone reads this blog, hang tight, I'll have your precious pages back to you soon.

Golang Application Namespacing

I'm no guru when it comes to golang intricacies, and this one actually put me off go a few times, but I've finally figured out how to have your library and instance application play together in the same directory for go apps.


Here's a little clarification:


This is the basic go app structure that you're told to use from day one (so sayeth  It is correct.

However, this doesn't really help address say, "what if I want my library that I wrote and my application using it to live in the same git repository?"

The problem I run into is some sort of namespace clashing, where go complains about "package main" and "package myapp" existing in the same place.

Long story short, my solution was to create an "app" directory underneath my library's root directory, like this:

This seems to do the trick for my purposes, allowing me to maintain my library and instance code in the same git repository while allowing everything to compile properly.

Linux Snippet: Bring Networking Back Up

It's been a while since I've posted, I've just been buried with work and life.


Yesterday I was trying to recover some things from a personal VM that went kaput for reasons completely unrelated to this post, and I found that networking was disabled, even though I had it enabled through Virtualbox.


After a little bit of digging, I found the following command did the trick:


sudo dhclient eth0

nixCraft (one of my favorite *nix knowledgebase sites) explains it best:


The dhclient command, provides a means for configuring one or more network interfaces using the Dynamic Host Configuration Protocol, BOOTP protocol, or if these protocols fail, by statically assigning an address.

Thus starts my journal (and what this blog was originally intended to be) of miscellaneous commands and algorithms that I need to keep handy.

Treeify 0.04 Released

Amidst all this being busy stuff, I have released version 0.04 of Treeify (link to gem:


Here's a list of changes (noted in the file):


(My changelog generation needs some work but hey! It's there.)


I haven't yet updated this blog to use the newest Treeify code, but I'll do that soon, I hope.  The biggest changes involved adding the ability to specify what columns to use in a query and actually have them retrieved.  I created some benchmarks here:, though I don't know how accurate they are beyond saying one is faster than the other.  Although the previous method was faster, it did a lot less, and the new find_by_sql call can be fine tuned in the future.

On a side note, this article about generating Changelogs from git is awesome:, and so is this snippet:

That's all for now, hopefully I'll get some more time tomorrow to write some more interesting articles.

And We're Back

I've obtained my database dump, and it looks like all is well now.  I need to get varnish set up again, but in the mean time, everything appears to look okay.


This week I'd like to write a little something on Go, since I just wrote a small tool for work using it.  I think I'm also going to finally package up Kodiak and do a proper release, since I had a bit of an epiphany installing it on a new server and not having much pain.


Anyway, more later!