I've been writing these end of year accounts since 2009, so I continue to do so, and as always, these are primarily for future me - so I'm sure you'll forgive the post for being overly ra-ra-me!
Book nowModern Universal React with Next.js
Stop worrying about configuration, and complex codebases: Next.js makes SSR with React easy. Book your masterclass today.
At the start of the year, I rebooted and returned to (effectively) a one-man code shop (although in reality both Julie and I run the business, I just do the coding part). My team had moved on, and I'd give up the office by January returning to working out of my trusty kitchen (where I actually work pretty well).
Although my biggest concern was finding new work after having nearly zero client work in 2014, it somehow turned out okay.
- I had the pleasure of working with local company Brilliant Noise and Martin Edwards and was responsible for building the node.js backend to their Picture Houses site update (in it's current 2015 state).
- Worked with the amazing team at eHealth Africa working on a very small part of their projects and produced a project that heavily involved 100s of 1,000s streaming objects and promises - a fun and tricky challenge!
- Finally working with Guy Podjarny to help build Snyk (primarily developing the CLI tool) to help (currently) node.js developers with security.
As always, I try to keep one toe in side projects to keep myself challenged. The main side project that I launched in 2015 was Confwall (though developed in late 2014).
Amazingly (to me) Confwall pulls a profit for my business which is partly due to some of the lessons I learnt from JS Bin during 2014, and it's always amazing seeing it being used by the audience.
Other side projects included:
- A complete rewrite of inliner, a tool I originally wrote back in early 2011 that takes a URL and produces a single inline file including all the assets.
- bind.js a small and simple two data binding library.
- autocache a memorisation library backed by persistent store (with support for redis, localStorage and mongo).
I've also been working on a short book (5 chapters, around 12,000 words) on the Command Line Interface for beginners (likely web developers and designers who have limited experience with the terminal). It's 4 chapters down and 1 to go, hopefully I'll have written most of that final chapter before this post goes live, so I can get on with the production side of things and get it online and ready to buy. If you're interested the TOC and would like to know when it's available to buy, you can pop your email in this form.
We (Julie and I) ran ffconf again this year, and again, it was a huge success (if the feedback of our delegates is anything go to by).
We had 8 absolutely amazing speakers. We started a full diversity scholarship programme which was also a huge success (some truly inspiring emails from applicants).
We also managed a 50/50 gender split in our speaker line up. As I said on the web site: "this isn't something we should be proud of, because it should be the norm, but it is what we've got and we'd like to share that with you". We're also working hard to improve the diversity of our audience and as always, more can, and will be done.
I've been actively turning down a lot of speaking for two firm reasons: firstly I wanted to be closer to family and not be travelling so much whilst the kids are still so young. Secondly, honestly, I didn't feel like I had anything to say - probably linked to self-worth, but that's for another day.
However, I was asked by JSCamp Romania to step in last minute for a speaker that couldn't make it and I suggest a JS Bin talk from 2014 called The Bits Behind JS Bin. A generally positive talk which always ended in a dark (and slightly bitter) note. It would end with this slide, and then I asked twitter if people wanted to hear more:
I realise it's a Sunday, but is there any interest in a talk about jsbin and this? It ain't a happy talk. +1/-1? pic.twitter.com/Hjp0aM3CsO— rem (@rem) May 31, 2015
On the fight to Romania, I started writing the content for a deck that would become "The toxic side of free", then I went on to give the talk 7 times this year, including at jsconf.us (my 5th talk at a jsconf) - which was a huge privilege to be part of.
I also (finally) gave a talk at Fronteers (amazingly this was my 6th time to be asked, and I'd always had conflicting plans). It was pretty frightening since I'd had Jake Archibald and Jeremy Keith both independently warned that the Fronteers audience are particularly savvy and have high expectations of their speakers.
My talk was entitled "The art of debugging" (video). I wasn't lynched, which is always a good sign. The talk went over fine, I think. In addition though, I've changed my method of preparing talks over the last few years. Instead of postit notes and scattered thoughts, I tend to write my talk as if it were a blog post and use that as the template for the slides. Of course, this means I can publish the post too, and from this, I've had a lot of positive feedback (which is nice). Which segues nicely on to my blog...
Last year I rewrote all the backend of my blog to be driven by static markdown files, and this revitalised my blog (in my eyes). Particularly seeing the archive, I gave myself the aim to get at least two posts published each month.
So far I've (nearly) managed that (one month has one post, whilst others have more than two), but that combined with keeping fully completed posts in draft state, and I'm hoping to continue the momentum into 2016.
I prefer to write short and to the point blog posts, but traffic and page views show me that actually my super long form writing is the most successful (in the region of 2-6,000 words!). My most popular posts this year were:
- The toxic side of free. Or: how I lost the love for my side project
- The art of debugging
- I am a web developer
- "Why I don't like open source" – my thoughts
- bind.js: Tiny two way data binding
I had a few personal goals and wins this year. My focus beyond family and work is my own personal health and strength. I finally hit the 18-year-old me waist size again (from 38 inches over 3 years ago) to 30 inches. In the gym I came close to 100KG bench press (though actually only hit 90KG x 8 back in April, and managed 100KG in a seated press). I only weigh 75KG so I'm figuring this isn't too shabby.
I made a small tear in my back in late 2014 which stopped me from doing deadlifts and squats (which I really enjoy) and sadly it's still giving me jip a year later. I've also continued to experiment and track my diet and it kind of pisses me off that it's taken me 2 decades to understand food to the level I do now (i.e. "fat free" is utter rubbish as a selling point - fats are good).
In some ways, this year was also extremely hard for Julie and me. Our littlest had some tough sleeping problems for a significant amount of the year and it put a tremendous strain on us as parents, as a couple and as individuals. Parenting has never been made out to be easy. In a way, to me, this seems a ridiculous thing to say given that we lost Tia. It's a different thing, obviously. We're through it now. Ready for the next challenges that lurk around the corner!
If you, dear reader have made it this far, thanks for doing so, and I hope you hold on to any of your own fond memories from 2015 and go strong into 2016 ❤