Now Playing Tracks

Azure File Storage and Ubuntu SMB

I’ve been playing around with the new/preview Azure File Storage service and have had a few issues I’ve had to overcome along the way

Creating a share from OS X

The first thing you’ll want to do is create a new share on your file storage account. Unfortunately the only supported tools to do this are powershell scripts so if link me you don’t run windows regularly you’ll want to use something else. I use a proxy called wazproxy which signs requests automatically. However it doesn’t (yet) support file storage so I had to make some changes. Here’s a quick pull request with the changes to make:

Once you have the correct version of wazproxy installed start it up

wazproxy -a <account> -k <key>

this will start the proxy listening on 8080 by default

in another terminal make this the default proxy:

export http_proxy=

then you can use curl to create the share

curl -X PUT http://<account><share>?restype=share -H “Content-Length: 0”

(notice it’s over http, as https will not go through the proxy correctly)

Connecting to the share from Ubuntu

Tested on ubuntu 14.04 LTS

Now you’ve got a share you’ll probably want to connect to it.

One thing that’s semi hidden in the docs is that you can only connect to the smb share if the machine is in the same location as the file storage service. So don’t expect to test this from your development machine….

Install smbclient:

sudo apt-get install smbclient

use the following syntax to connect to the share:

smbclient // –U <account> <key> —max-protocol=SMB2_24

if you miss out the —max-protocol you’ll get a cryptic error:

protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED

Mounting the share

Usually you’ll want to mount the share somewhere

you’ll need to apt-get install cifs-utils

then you can run

sudo mount -t cifs -o username=<account>,password=<key>==,vers=2.1 //<account><share> /mnt/here

the vers=2.1 is the key to making that command work 

that should be all you need to get up and running

WDCNZ: Past, Present and Future


WDCNZ 2014 is two weeks away!

It’s always amazing how fast it creeps up on me but this year has been slightly exceptional. Last year’s event marked a flag in the sand. The last engagement as an employee of a healthy growing wellington tech company and the start of my journey into setting up my own startup (which is going well/frightening/amazing/scary all at once, thanks for asking)

This year’s conference has been met with the most amazing reaction I could have asked for. It’s the biggest we’ve ever done, the fastest selling, and the most talked about. Not least of all because of our stellar (if I do say so myself) lineup so thanks to all the speakers from here and abroad who said they’d take part. Also a huge thanks is needed to the person who actually makes the conference possible by coordinating most of the logistics of the day, Charlotte Hinton. She’s really the unsung hero of the day, also thanks to our helpers (long term helpers Nick Malcolm and Ruth McDavit as well as Becca McClelland who’s new to WDCNZ this year) But most of all thanks to all the people who have faith in the content I put together an the speakers I invite and buy a ticket, really without the 450 people who are coming along this year we couldn’t put the day on so THANK YOU.

I spend most of my WDCNZ planning time actually just scouting out speakers to invite and I’m so thrilled that most of those who I approached said yes, it’s a great honour to be able to put on the day and get the people I really want to hear from myself to come and talk.

But, just as last year proved a milestone, this year will to. I’ve spoken to a number of people over the past year and I’ve alluded a number of times to the uncertainty around being able to put on another event next year. Putting on the event is no mean feat, it’s a costly endeavour for one (we don’t make a profit but aim to break even by the smallest of margins). It’s also time consuming, and juggling that, a startup, and a family becomes hard at times.

But after much soul searching over the past year I’m happy to say that we’ll be bringing back the event in 2015. We’ve pencil booked the date, and I’m in the process of putting together my dream list of speakers to tap on the shoulder for next year. Also I’ll be needing to sell my kidney or something to pay for it I suspect so if you know anyone in the market… or maybe just someone who would love to sponsor next year’s event, please point them my way.

So yes WDCNZ is on in 2015 and thanks to speakers, Charlotte, the volunteers and all the attendees for making it happen. Save the date: 23rd July 2015

Why I’m Running, 2014.

update: I’ve put up a donation page here:

Last year, with a bit of a nudge shove from an old friend Huw, I finally got up the gumption to go for a run.

For years I’d said “I don’t see what people like about running” or “I only run if I’m chasing a ball” but after a few outings with Huw I got to understand a few of the reasons why people run for fun. 

So last year I managed to run somewhere in the region of 500km, with two 10km races thrown in. I went from 110kg to my current plateau at 95kg (still a bit to get rid of but I’m not concerned). I learnt that running was good for one thing: an exercise I could fit into my lunch without feeling too guilty about time out of the office.

This year I wanted to do something for a different reason and unfortunately I was reminded of that reason this morning.

This is Bethan


Bethan is/was one of my oldest and dearest friends. We’ve known each other for about 20 years and I can’t even say how we know each other. We didn’t go to the same school we just had paths that crossed, and she was so vivacious and fun that it was impossible not to like her. She travelled half way round the world to be at my wedding and I have some awesome memories of times we spent together.

Sadly in 2012 at the age of 30 Bethan was diagnosed with bowel cancer, the diagnosis was somewhat complicated by her giving birth in 2011 so by the time they found out what was wrong it was too late for her. She sadly passed away peacefully yesterday/today (not sure when and timezones mess everything up)

Our thoughts and prayers are with Bethan’s husband and daughter, Scott and Abigail. 


This year I’m running in two half marathons, and a full marathon and all in memory of Bethan, I’m hoping to collect for bowel cancer research and I’m looking at trying to get a trust fund together for Abigail. If anyone knows a good way to do this let me know..

Farewell Bethan but you’ll always live in our hearts and in Abigail.

Tech Stacks

For the past 4 months I’ve been hard at work with the Hoist team at building the platform (you can read more about what we’re building here).

It’s been an interesting few months and I’ll catch up with some of the things I’ve been tinkering with in a few future posts, but I wanted to give a primer on the technology layout for Hoist.


I’ve been a developer for most of my life, I remember my mum (who had the foresight to see that computers were not going away) buying computing magazines and helping my eldest brother type in code to display a christmas tree on the screen of our BBC model B. I remember assembling my first 386 PC from parts. 

But it’s been a long time since I’ve been a tinkerer. Software development as a profession tends to put you on a single track, a single set of languages/frameworks/tools. You become a specialist through no fault of your own.

I’ve previously spoken of my efforts to not fall into this mould, learning a language a year, attending different user groups to my own, setting up WDCNZ as a cross language conference.

All of this has led to this point of trying to pick the best technologies for the goal of creating a really easy platform to use.

Early on our decision was that JSON would be the language of choice for communications. Our target market for our first BETA (front end developers) would be comfortable with it as a language for data and it’s becoming ubiquitous across all kinds of development teams.

As such I quickly dived into learning all I could about what store would be best to back our data service (one of the cornerstone offerings for Hoist) quickly settling on CouchDB as being one of the most robust choices to use.

So we had a JavaScript based store, so really the rest just fell into place over that.

Suffice to say it’s JavaScript all the way down at the moment. (subject to change if we find anything that Node.js doesn’t fit for)

Hoist currently consists of 

Azure for VMs running linux,
Chef for VM provisioning and maintenance,
Capistrano for deployment,
MongoDB (don’t kill me Koz),

and a couple of other little bits and pieces.

I’ll aim to go into each of these in a bit more detail (probably starting with Chef and Capistrano as those were the hardest for me to get my head round/setup)

Needless to say it’s been an enjoyable experience so far, and we’re only just getting started.

To Tumblr, Love Pixel Union