NAS and cloud and EC2 oh my!

Building my own awesome “NAS” box for precious family photos will take a pretty penny to complete and even then I wouldn’t have backups in case of disaster (I’m a disk over tape/dvd guy). So to get me started I’m using Amazon’s EC2 service.

For the moment, I’m using one Micro instance with 3x50GB extra drives in a ZFS RAIDZ. Later on I’m hoping to either compliment it with NAS at home or perhaps another Micro instance in another datacenter…or both.

Either way, I basically only had to do the following after creating the instance.

sudo apt-get install zfs-fuse
sudo mkdir /cloudnas

sudo zpool create cloudnas -m /cloudnas raidz /dev/xvdf /dev/xvdg /dev/xvdh
sudo adduser myself
sudo mkdir /cloudnas/myself
sudo chown myself:myself /cloudnas/myself

I really wish I could have used the native ZFS modules instead of the fuse, but I couldn’t get it to work and I wasn’t in the mood to build zfs from source…yet.

It’s a bird! It’s a project! It’s Magpie!

It’s all official now with papers signed and everything. I’m joining the folks at Magpie Software to help make the world of planes walkers easier.

A couple weeks ago my friend (CTO of Magpie) Nick Davis contacted me about joining the team and working on the various parts that make up their flagship software. My main focus being the back-end, like making sure the card prices are “on the money”.

If you want to know more or even subscribe, check them out at their site.

Changing laptops, keeping boot to VHDx

A couple-few months ago I decided that I wanted to give Windows’ newish feature of booting to a VHD a real try. Actually use it for every day computing instead of just a one off test.

I won’t go into details of setting up the system, there are plenty of tutorials out there. Like the one I used.

What I will go into is a recent laptop move. You see, I was using my work laptop originally. For one thing it was way more powerful than my personal one and I really didn’t like the idea of removing my nice Logitech M570┬ádongle every day. (So instead I moved the whole laptop.) However now that I have a new laptop, I wanted to move my environment so I didn’t need to setup every little thing again.

So I copied my VHDx file to the new laptop, mounted it and ran bcdboot.exe, restarted and after some “getting devices ready” screens, was in a very familiar Windows 8. The only thing I needed to do was install drivers, and they were right there on the physical drive (thanks HP!). I had downloaded drivers in preparation for no reason!

All in all, besides the annoyingly long copy time –about an hour and a half– I was back to my desktop in about 15-20 minutes. I could probably have done better on the copy time by making use of gigabit Ethernet instead of external USB drives, which according to the google would be roughly 16 minutes.

With this experience being so easy, I’m thinking that this may be a feature I’m going to have to get my peers to use as well. With things being this easy to change hardware, it would be a welcome change to rebuilding a failing machine. Heck with some fancy scripting, you could probably make a backup and move it someplace on the network at night.

Yet Another Revolution

Today is my first child’s birthday and she’s two years old!

It’s hard to believe that two years ago we were getting ready for church and then planning on spending Easter with the family. Instead we ended up spending it at the hospital as our little flower had enough and that she needed out 7 weeks early. Thankfully she let out a loud scream when she popped out to let us know she was okay.



Another revolution

One year minus one day ago we had a new addition to our home, Jethro.

Jethro Erickson

And now he’s one year minus one day old. (He’s the one in the middle.)

Blowing out candles

It’s hard to believe that one short year ago he was still in his mommy and we were sitting outside on a snow-less lawn with our friends from our church.


Your very own internet speed test in NodeJS

A couple weeks ago I was needing a non-flash internet speed test and came across SpeedOf.Me which is pretty cool in that it’s only HTML and Javascript. Then this last week I needed to test some VPN speeds, but couldn’t find anything simple and easy to quickly run on a server. So I came up with my own NodeJS speed tester.

So far it seems fairly accurate despite the poor coding.

Grab the code on github or to try it out yourself.

Find a network route

The Linux ip tool has a really handy feature to get the route a given IP will take. Unfortunately, I know of no native Windows equivalent.

This is built for Windows 8 or Powershell v3 as it makes use of Get-NetRoute.

function Find-Route {

    $rs = Get-NetRoute -AddressFamily ({if($IP.AddressFamily -eq "Internetwork"){"ipv4"} else {"ipv6"}}).invoke();

    foreach($ri in $rs) {
        if(Confirm-SameSubnet $ri.DestinationPrefix.split("/")[0] $ri.DestinationPrefix.split("/")[1] $IP) {

Example output


ifIndex DestinationPrefix                              NextHop                                  RouteMetric PolicyStore
------- -----------------                              -------                                  ----------- -----------
13                                                                  0 ActiveStore


ifIndex DestinationPrefix                              NextHop                                  RouteMetric PolicyStore
------- -----------------                              -------                                  ----------- -----------
13                                                                256 ActiveStore
13                                                                  0 ActiveStore


ifIndex DestinationPrefix                              NextHop                                  RouteMetric PolicyStore
------- -----------------                              -------                                  ----------- -----------
13                                                                  0 ActiveStore

Find-Route 2001:4860:4860::8844

Detecting your public IP address

There are times when I’m hacking together something and I need to know my public IP address. I could hard code it in, but where’s the fun in that?

Probably the best IP reporter I’ve seen so far is, but they lack IPV6 support at the moment. Since I want this, I decided to make my own.

You can find it at It’s rather simple right now and I don’t see myself adding too much. If you would like some other type of information or way it’s presented, leave a comment or email me.

IPv6 using Charter’s 6RD on Ubuntu behind an IPv4 only router.

Finally figured out how to get a 6rd tunnel setup with Charter. My problem was that 1) I wasn’t paying attention to the examples and 2) I have my IPv6 router behind an IPv4 only router. So unlike the examples, I needed to use the private IP address instead of the public for the tunnel. (Like you do for 6in4.)

You can find my setup script here.

In my /etc/network/interface I added the following to my eth0 interface.

post-up /etc/network/6rd || echo 1;
pre-down ip tunnel del tun6rd || echo 1;

In the original script, the author has PREFIX:0::1/32 assigned to the external interface and PREFIX:1::1/64 assigned to the inside. I’m not sure the reasoning for this as both reside on the same /64 subnet. To me, it would make more sense to use PREFIX:: for the outside and PREFIX::1 for the internal so they are right next to each other.

I hope this helps other Charter customers figure out their own ‘native’ IPv6 connectivity.