My ideal Minecraft server buildout (v3)

So after much consideration, I updated and tightened my private Minecraft server. TL;DR:

  • Minecraft server hostname (copy/paste to join):
  • Teamspeak3:
  • Contact any Arbiter to get promoted to build access.

My brief notes here only cover the software side of the setup; I’ll be doing something interesting once I build out my new home hypervisor (currently waiting on 1GB/s internet connection to get installed).


FreeNAS upgraded to 9.1, unable to delete old jails

I just ran the FreeNAS upgrade from 8.3 to 9.1. FreeNAS 9.1 adds the capability to run multiple jails (awesome feature by the way, thanks). After upgrading there was the usual slew of minor UI changes. I had installed bacula earlier but never got around to configuring it, and hence wanted to remove/start fresh.

Unfortunately the jails did not migrate so cleanly on the UI. Additionally when I attempted to remove the installed bacula plugin it resulted in an error saying the jail does not exist.


Redirect an old hostname to new hostname using mod_rewrite and Drupal

I was browsing through the referer logs in my website and noticed Drupal was serving content to my old hostname, . SEO gurus also suggest it’s a bad idea to serve the same content from multiple domains, and that you can transfer link value using a redirect. Over the long run I want the references to all end up going to so it’s time to take corrective action.


Erlang B Visual Basic implementation for use in Excel

Erlang B is a commonly used algorithm used to estimate required capacity for a given load. Originating in telephony for estimating required trunks/channels for an expected load, this same algorithm can be applied to any problem where you have a known arrival rate and required Grade of Service - e.g. servers required for given web traffic, lanes required for given car traffic, staff required for given customers in a retail shop, etc. I’m by no means an expert on the algorithm (it involves poisson distributions and clever things mathematicians get exited about). I do however use it so need it available in a format that doesn’t require a maths degree or regularly going to websites, hence Excel. Note also that this does not account for queuing (Erlang C for that) so may not be suitable where you expect and accept a queue, e.g. customers in your store can wait a few minutes and would not typically mind.


Jeff's Minecraft server

Yeah, I’m a geek - I’m running my own Minecraft server. In case it isn’t obvious you can see a realtime map of the world as we escape reality in the link in the menu up top. It’s now open for “public” but I would still class as beta as I’m tinkering quite a bit.

Anyways, feel free to drop in.

Minecraft server address:


Sniff iPhone traffic using Tomato router firmware

I had a need recently to sniff traffic going to an iPhone at home. Nothing nefarious; just trying to figure out why iCloud backup was not working. Anyhow, a decent (and secure) wifi router would typically only send data to the destination hardware address, meaning I could not see the iPhone’s traffic using tcpdump or Wireshark. In effect what I wanted to do is set up a SPAN port in the Tomoto wifi world. Here’s how I did it…


Install script for Teamspeak 3 server on Debian (or Ubuntu)

The ‘teamspeak-server’ package built for Debian/Ubuntu at the time of writing this article is only for Teamspeak version 2, but everyone who is anyone these days uses TS3. After trolling around the Internet looking for a prebuilt package I could trust, I decided to roll my own install script. For the impatient here are the steps to get a Teamspeak 3 server installed on Debian-based Linux quickly:

  1. Try this in a test environment first! It requires root privileges and can take your children. You have been warned.
  2. Download and transfer to your server.
  3. Download and transfer the correct server binary to your server.
  4. Run
    chmod u+x
    sudo ./ serverbinary.tar.gz

Replace serverbinary.tar.gz with the name of the file you downloaded from the Teamspeak website. If there are no errors the script will tell you where to get your ServerAdmin privilege key and you are good to go!


Mount SSH on a Mac using Macports (aka the easy way)

Often I would like to access files over SFTP but without the limitations of an FTP client. For example, it’s handy to alter remote files directly in terminal as if they are local, or open them with my nice, fully fledged editor. Mucking around downloading/uploading files each time I modify them gets annoying quickly, especially with something fiddly like web development.

Fortunately SSHFS is now in MacPorts, and provides a quick solution for those on a Mac with SSH access. I could of course configure a file server but that is not always possible, particularly if you don’t have the ablity to install software on the remote machine!


Git cheat sheet - computer setup

January 2015 update: these days I generally use the powerful SourceTree tool from Atlassian. While it’s great to be a purist, sometimes I just need to get the “job done”. The below still applies when I’m working exclusively in a shell (generally on a remote box).

These are some post-installation commands I use to get Git quickly into a working, friendly to use state - cherry-picked from

# Required. Tell git who you are... appears in commit logs.
git config --global ""
git config --global "Your Name"

# Optional! Some preferences to ease the eye and editing
git config --global core.editor nano
git config --global color.ui true

This list may grow/update over time, but this I find gets me out of the gate and over the minor annoyances quickly when using git on a fresh machine.