Installing and booting to Intel 750 SSD in Debian 8

The Intel 750 series flash storage is a beast, without doubt one of the top tier consumer storage platforms on the market today. This can deliver up to 2500 MB/s reads… for comparison the best SSDs on the market today are limited to ~550 MB/s due to the SATA interface.


To use this storage in Debian Jessie, a little black magic is involved particularly if you want to use it as a boot drive.

Read More

Merry Christmas, new website!

Merry Christmas! And obviously a new website… hope you all like it! Ironically it’s taken 12 years but I’ve gone full circle back to a static website (albeit using the powerful Hexo generator). Inspired by Node.js and it’s ilk, along with lots of toying with MEAN stacks and Git at both work and play, this is now a change tracked Github CDN hosted website.

Either way - season’s greetings :)

Apologies for the old comments - I’ve moved to Disqus and can’t be bothered figuring out how to migrate the old ones. It was mostly spam anyway :)

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

A few enhancements/game philosophy changes:

  • Rolled back to our old map, aka the “Sanctum” map. I found the regulars didn’t play as much as the feeling of effort involved in the old map was lost. For the folks that built in the new world, I moved them to the old map via WorldEdit.
    Moved to Spigot, latest version. If you are a Minecraft server admin (big or small) and are not using this, you haven’t lived.
    Set up BungeeCord in front of the setup. This is a simple but very powerful proxy for the Minecraft protocol. At the moment I only use this as a convenient way for me to run a testing server beside the main one transparently, and run some custom game modes/“resettable” servers. This will help if I choose to move to a local hypervisor.
  • Created a “Lobby” world, both for aesthetics (it looks like heaven!) and a convenient way to mix and match Bungee portals with Multiverse portals transparently to the players.
  • Set up a CNAME record of to prepare the move of the server to my house.
  • Rebuilt the server folder from the ground up. Cut out some rubbish plugins. Set the “world” folder in spigot.yml to prevent rubbish acculating in the root of each server.
  • Moved to a tmux style server management model. All the scripts I looked at were either crippled/unmaintained since 1.7 was released or paid. I’m a tightass on principle here, so opted for run my own. Screen also sucks balls; tmux is another thing you had better try before you die from being throttle to legacy death by Screen.

The main outstanding issue is automated backup and crash recovery, which is not a small item. The backup process is manual at the moment and has a pretty big flaw (that being me :) ). Feel free to ask more about my setup in the comments.

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.


The above screenshot is taken after the migration command was run. Before this the “jail” field was blank.

Long story short… FreeNAS does not automagically migrate plugins when upgrading from 8.x to 9.x. You will need to run the follow command in the FreeNAS console documented here:

/root/ -D

I’m not sure why the would not automatically migrate plugins during the upgrade. The document hints that this may be due to binary incompatibility between the versions. Any readers that actually know… feel free to update me in the comments!

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!

Read More

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!

Read More