// Deploying Rails Book

2014 In Review

Having reached 2015 I'm forced to acknowledge that 2013 In Review is probably not going to happen. I might even remove it from my ToDo list where it's now the oldest item after returning the copy of "Chaos" I borrowed from a public library in my first year of university, six years of fines are going to hurt. In the spirit of it probably isn't a big deal I'll dive straight into 2014 but with a scattering of confusing references to 2013 for context.

Products

One of my long term goals is to shift my income away from consulting and towards products. 2014 was the best year yet for this and hopefully 2015 will see this trend continue.

Make It With Code

In January 2014, Huw, Rebecca and I sat in a freezing cafe in Paris and talked about learning to code. In particular how it was broken. Our expertise was formidable, I'd learned to code, Rebecca was learning and Huw was used to trying to block out me talking about code. We were nearly experts already.

Our premise was simple, good developers learned by hacking on things, not by trawling through reams of dry theory. So why was no-one teaching this way. We put pen to paper and the result was this blog post. Our offer to write a course which taught this way was taken up by a surprisingly large number of people on Reddit and within a day we had over 60 people willing to pay for our experiment.

What followed was ten weeks of madness which when squinted at carefully, reveals what turned out to be a surprisingly effective method. The first of ten lessons was finished hours before the first group started. Having been written by me and tested by Huw and Rebecca, both for content and the ratio of sarcastic jokes to informational (1:10 turns out to be the perfect balance) the lesson went out to the first group. We'd then begin the whole process again for the next lesson alongside improving the first one based on feedback before sending it out to the next weeks group.

After ten weeks, ten lessons and countless revisions, we were exhausted but it seemed to have worked! Feedback from students was great and even more excitingly, they were sending us real things they'd been able to make using what they'd learned.

Fast forward to the end of 2014 and we're seeing good organic growth of our general "introduction to code" course (http://www.makeitwithcode.com) and just launched our first industry specific course coding for community professionals in partnership with CMX Media in San Francisco. Our tech's a bit more advanced to with a completely custom platform for delivering lesson content as well as a Docker based Cloud IDE for every student.

2015 will see us launch several more industry specific courses as well as experiment with in person teaching and multiple delivery platforms.

Reliably Deploying Rails Applications

Somewhere towards the end of 2013, patio11 on HN mentioned that someone should write a book about how to deploy Rails Applications without tearing your hair out. I commented that I'd been collating notes on that topic for a while and was thinking of releasing it as book sometime. I woke up to several emails from people saying they'd buy such a book and asking for copies of it. So somewhat impulsively I decided to write it.

Optimistically thinking it would take around three months to write and with a goal of selling ten copies, I released the first chapter on the amazing Leanpub, set a fairly low price and starting writing. 14 Months, two total re-writes and it's now about 90% finished. In this period it's sold around 850 copies and made a little over $15,000. The amazing Obie Fernandez, author of The Rails Way has kindly agreed to write a foreword and the 'final' version should be out by April this year.

Deploying Rails with Docker

Docker is in the process of changing nearly everything about how we deploy web applications. Late in 2014 I put out a fairly weighty blog post about development environments with Docker along with a signup form to see who'd be interested in a book about deploying Rails with Docker. Interest has been impressive, the post is now one of my highest trafficked pages and signups to the book mailing list are around 7/ week.

Unfortunately at the moment the Docker ecosystem is moving to quickly to put out a stable book on how to deploy with it. As Docker begin to develop their own orchestration and development environment tool chain, it's unclear whether the industry will standardise on that or if each platform ecosystem will develop it's own favourite tools. So at the moment this book is on hold while things stabilise.

In the mean time I've written my own Docker Orchestration framework Dacker which is entirely Ruby based and provides a simple way to orchestrate multiple containers across several hosts using a simple Fig like YAML syntax. Production usage is strongly discouraged...

I'll also be continuing to blog about Docker in 2015.

Au Revoir

2013 marked the demise of InGuide - a digital guidebook platform for art galleries and museums. High support costs and falling funding for the arts meant it simply wasn't financially viable. High points included trials with The National Trust and being used by the 3 Beards for one of their amazing art hack events.

2013 was also the end of Shop Of Me - a browser extension which alerted users when items of clothing they had used went on sale. The business model was re-selling the data collected to retailers to help with pricing and buying decisions. We eventually found that while data usage in the fashion industry is gradually on the up, it's a slow process, and demand for data like ours wasn't going to be sufficient to sustain the company. I'm not sure I quite go as far as Travis Lee Street's Radio 4 quote that we were "the rockstars of the startup world" (because it isn't true..) but we did get a visit to 10 Downing Street out of it!

Speaking and Conferences

Speaking At Railsconf

Buoyed by the interest in the book, I submitted a talk to RailsConf aimed at beginners, entitled "Deploying Rails is Easier Than it Looks". Euphoria followed by total panic summarises my reaction to the acceptance email. You can watch the talk below:

In future I'd tone down the code walk through - it was too intimidating at the pace I did it - and probably do one or two less obsessive 4AM run throughs the night before. But in general it seemed well received and as my first talk at a major conference I'm pleased with it.

The conference itself was definitely worth attending just for the number of interesting people I met. I'll definitely plan to go back to this years conference whether as a speaker or an attendee.

Attending DockerCon

The first ever DockerCon was definitely a special event. It's amazing to see such a young company with such an engaged and diverse following. The badge of honor at the conference seemed to be hour far before 1.0 did you put Docker into production (0.8 for the record).

Seeing the likes of Google stand up to announce they'd be standardising on the Docker container format gave an idea of how the "getting people to agree standards" part of Docker is actually far more important than any code they've written.

Attending TC Disrupt London

Having built Sentimentile with the awesome @OldWhiteWizard for the Disrupt Hackathon, we were lucky enough to win tickets to the main conference. I admit to being initially skeptical of Disrupt, TC seems to cover funding rather than tech so I was partly expecting two days of "who's raised the biggest series A" posing.

As it turned out I couldn't have been more wrong. The most impressive speaker by far was Morten Lund, primarily due to what seemed like an almost pathological lack of interest in what anyone thought of his answers. It's hard to pick a favourite but if pressed I'd probably go with "I'm not trying to be f**king friends with everybody, I just want to work on interesting things with people I like".

Health

Energy Levels, Wellbeing and Diet

About two years after first realising that what goes into my body might effect how well it worked - revolutionary huh - I'm starting to get a feel for "what works" for me.

In general some variation on low/ slow carb seems to give me the most consistent energy throughout the day. In particular cutting out white bread and anything with a lot of refined sugar in it.

I stuck to a strict "no bread, no pasta etc" regime for a month while in Crete and as well as generally having a more consistent level of energy, lost around 1St. It did however have the major downfall that it excluded two key food groups; Fajitas and Pizza. The Fajita problem has been solved with the aid of low carb tortillas from Amazon and the pizza one by limiting it to occasions when said Pizza is free.

I become more convinced every year that basic meditation and mindfulness techniques should be taught along side basic numeracy and literacy. Having had a long and meandering relationship with stress and in particular irrational anxiety, meditation, specifically breath based meditations and exercises remain one of my most effective tools for keep my head straight. I can't recommend the Headspace app enough to anyone thinking of giving it a go.

Exercise and Tracking

Total distance on RunKeeper was 316km of which 240km was running, 71km cycling and 3.3km skiing. Total duration for all Cardio was 28 hours and 51 minutes which seems surpringly low. For about 2/3rds of the year I had a fairly good running schedule, sticking to at least once a week and usually more. That's slipped completely at the start of 2015, in true British fashion, I blame the weather.

RunKeeper has proven to be a great motivator. In particular the paid version (clever) allowing me to see how each run compares to others of mine over a similar distance, e.g. "your 4th fastest 4 - 6km) and so-on.

The Withings Smart Body Analyser (read posh scales attached to wifi) turned out to be a great purchase. It's emphasised just how low friction something needs to be for me to stick to regularly tracking it. This is in stark contrast to the Withings blood pressure monitor which I've ended up returning due to persistent unreliability.

While I haven't stuck to it as regularly, sleep tracking with Sleep as Android has been useful. In particular it's emphasised the difference to duration of deep sleep activities before sleeping make. Specifically that watching TV immediately before hand or drinking alcohol in the few hours before hand dramatically reduce the amount of deep sleep and so how well rested I feel the following day.

Other things I've experimented with tracking and given up on (and why):

  • Mood (data not actionable)
  • Everything Eaten (too much effort to track)
  • Balance of activities E.g. work v social v exercise. (too much effort to track)
  • Calories Consumed (too much effort, data not actionable)
  • Steps (data not actionable)

Travel

2014 (and the end of 2013) are my best yet for travel by a long way. But since a picture is worth a thousand words, here are what may seem like several thousand pictures.

Venice (2013)

Look for the incredibly talented charcoal only artists with a studio under a bridge somewhere. He creates the most amazing pieces using only the edge of the stick.

Venice

Malta (2013)

They have English power outlets, what more can you ask for?

Brussels (2013)

When you get there, don't despair, Ghent is only an hour away. And the Trams are good.

Brussels

Moving to Paris (2013/ 2014)

Absolutely my favourite city in the world. Dedicated post coming soon. Nothing quite beats Canal St Matin on a summers evening or the Mutinerie co-working space at pretty much any time.

Paris

Claviere (Skiing, 2014)

Up to date lifts but retains the "little resort" feel. And our room key turned out to be a master key, the owner responded with surprise when I mentioned it, "so you'd prefer one just for your room"?

Claviere

Milan (2014)

A Beautiful city but everything is overshadowed by seeing Ludovicio Einaudi live. Just incredible.

Milan

Crete (2014)

The best place for stag do spotting outside of Prague (and it's kind of beautiful).

Crete

Athens (2014)

Athens Backpackers Hostel. Seriously. Go. Now.

Athens

Chicago (2014)

I wasn't sure what the whole "windy city" thing was about. Now I get it.

Chicago

San Francisco (2014)

On day two I wandered out into a mile long hippy fest complete with bubble blowing and hemp robes. Amazing city.

San Francisco

Dallas (2014)

Some beautiful lighting at night and the Texas state fair was beyond an experience.

Dallas

Austin (2014)

Seems to have nothing beyond geography in common with what I've seen of the rest of Texas. Beautiful city seemingly built entirely around enjoying the outdoors.

Austin

Boston (2014)

One of my favourite cities to date, small enough that you can walk everywhere but big enough you can find everything you want.

Boston

Maine (2014)

The highlands of Scotland but with much, much better weather. It also took me a mere two hours to start the below pictured fire sans paper.

Maine

New York (2014)

I still can't work out why but completely in love with this city, definitely need to live there at some point. And it's not just because I had the best Chinese food I've ever encountered for $4.

NY

Normandy (2014)

There's something bizarre but wonderful about the picturesque, quaint towns around the coast, directly next to the graveyards from the second world war.

Normandy

Goals For 2015

If anything 2015 will have less goals than 2014. Despite it having been a very successful year, I started off trying to do so many things that it was tough not to focus on all the things I'd set out to do which I didn't. So for 2015 all I've got is:

  • Meditate More
  • Finish Reliably Deploying Rails Applications
  • Spend more time with people
  • Try and get 7 - 8 hours sleep per night