2013, the summary
This post is part of a chain of yearly summaries of noteworthy self-education and side-project work. I'm publishing these overviews to provide pointers to interesting resources, to show I'm serious about continuous self-improvement, and to inspire others to have fun with new technologies.
Next year: 2014
Although I've been doing side-projects all my life, I only started documenting them this year. I decided to start writing short summaries at the end of the year to use as reflection on what I did during the year, some lessons learned, and to use as a starting point linking to more detailed articles elsewhere on this site.
Let's get started!
After finishing my master's degree at UCL, London, I moved back to Amsterdam without a plan on what to do next. Time was mostly spent playing with technologies for which I didn't have a chance to use during university, wandering around in the city, and visiting meetups. It was at one of these meetups that I met two guys playing with the idea of starting a 3D-print company. Long story short, we ended up starting the company Zazzy together, and you'll see the entrepreneurial influence back in the readings listed below. What started as a gap-year ended up as one of the busiest years in my life so far, completely immersing myself in a world I knew little about: running a company.
First laser-cutting & 3D-printing
Before meeting my future co-founders, I discovered a local makerspace, called ZB45, that had just opened its doors nearby my new apartment. Makerspaces are places for makers: they have tooling for self-fabrication, electronics, and helpful chaps explaining how they work. During various walk-in Tuesdays, I designed a simple cube with arithmetic operators - for throwing dice to generate random formulas - and managed to 3D-print it on an Ultimaker 1. I also laser-cutted a simple wooden sign to mark my man cave at home. I'd seen 3D-printers and laser-cutters before at the various Hackerspaces I frequented, but didn't get a chance to use them yet, as they were generally broken at the community-driven workspaces.
Together with a friend, I travelled by train for my first Fosdem, the yearly open-source software event held in Brussels. In true hacker spirit, the event is free - held at the university campus - and we stayed at a couch-surfing address (free predecessor of AirBnB). Although the talks were very specific, I much enjoyed the atmosphere of hackers enthusiastically working on a better, open future, all while drinking Club-mate.
Building a 3D-printer
Shortly after starting our startup, we decided we needed a 3D-printer to quickly prototype new products. I convinced my co-founders we needed the self-assembly version of the Ultimaker 1 kit, saving €300,- while spending the next 4 evenings assembling the many parts of the first physical property of our company. The kit consisted basically of laser-cutted plywood parts, screws and nuts, and some motors and electronics. Instructions came in the form of a few web pages, and required following the instructions with accompanied photos, eventually leading in a fully-fledged printer making the first squeaking movements, pouring melted plastic on a little blue-taped plateau. I would spend many, many hours in the following months testing new 3D-models, generated by our own backend, while re-calibrating settings or changing the rolls of filament (coloured plastic). Sharing an office with 3D Hubs, we soon also gained access to more than a dozen other printers, resulting in mountains of plastic printing failures, and lots of fun.
IoT Home Controller
Meanwhile at home, I was continuing connecting lights to computers. Initial prototyping with home automation quickly made me realise that a physical interface is indispensable. Grabbing your phone or computer every time you want to change the lights hinders adaptation, especially when you're not the only one at home. However, it doesn't have to be complicated: I hooked up an old-school LCD display, Arduino, and some buttons, and used the serial connection to connect to my home control system running on a hacked NSLU2. With a wink to Apple's 1-button trend (now simply swipe the trackpad with 6 fingers!), I created as many buttons as possible around the screen, to eliminate all possible ambiguity on where to click when. The menu includes simple presets and specific device actions, which are send as string messages to the backend. Works like a charm! (UPDATE 2017: although mostly superseded by other interfaces, this control panel is still in use now!)
Parallel computing (course)
With processor speed development levelling off, it's becoming more important to start thinking about parallelism. This Coursera course gave an introduction into GPU programming (with CUDA), multi-threaded programming, and heterogeneous cluster computing. Focussing mostly on GPUs, this course gave a great overview of the hardware design and trade-offs when using general-purpose GPUs. Programming assignments could be executed inside the Coursera AWS cloud instance, but I chose to get it running on my local Ubuntu desktop with an NVIDIA GeForce GPU. Although the examples were a bit artificial, getting your hands dirty with GPUs has been an enjoyable ride - and an important step for future AI and data-related projects!
DIY / woodworking
Moving into a pretty small new home came with opportunities to get creative with woodworking and furniture.
Our bedroom is so small that we elevated the bed on top of bookshelves, arranged into a U-shape, completely with cat-friendly bookshelf-staircases. This resulted in a chill-out hut underneath the bed, with plenty of shelves around for books!
Stackable / Snappable coffee tables
The slightly bigger, but still small living room accommodates a large home theater (TV, projector, large audio setup) and lots of chairs and coffee tables, in case visitors would come over. Chairs can easily be piled-up or moved, but side tables are less flexible. I made a bunch of tables by sawing IKEA rack cabinets into separate double-shelves, attaching wheels to the bottom, and gluing strong magnets at all corners. Multiple small tables could be "snapped" together sideways to form a larger coffee table. With no visitors around, they could be "snapped" on top of each other, forming the original rack cabinets, and easily moved into a corner of the room. Even if the cabinet has stuff inside, the top of all tables would be empty when detached, being able to use them as coffee tables where desired.
Python is one of these languages I learned just by doing. While practical experience is indispensable, sometimes gaps in language understanding slow you down, requiring you to spend too much time debugging little-known corner cases. To refresh the underlying principles behind this beautiful but practical language, I read the official Python tutorial, but with a twist: as Python syntax is so similar to Ruby, I did all coding examples in both Python and Ruby to learn about subtle differences. I was able to run the vast majority of examples with very little change in Ruby!
Running lean - Ash Maurya
Recommended as 'required reading' by our startup accelerator Rockstart, this book has a similar message as the famous The Lean Startup by Eric Ries: before spending a tremendous amount of time designing and developing a product nobody wants, model your assumptions in a quick "lean canvas" instead and start validating assumptions, reducing risks along the way. Think you're solving a problem? Interact with potential customers. Have a potential solution? Make a quick mock-up and get customers to interact with it, iterating from there. GET OUT OF THE BUILDING! From all the entrepreneurial literature I read this year, this has been the most influential to my and our thinking at Zazzy. Recommended if you didn't read The Lean Startup yet!
Rework - Jason Fried & David Heinemeier Hansson
A collection of short, no-nonsense essays on how to run a modern small company. Containing many punches towards hyper-growth startup dogmas, this was an enjoyable read on how to run a company the happy way. While I don't agree with all the principles outlined - e.g., "Never take outside funding" - this book includes a wealth of good advice for building sustainable companies that have a standing in the fast-changing world, full of self-made entrepreneurs and blown-up expectations.
Venture Deals - Brad Feld & Jason Mendelson
Being a newcomer to startups, this was a welcome introduction into raising money. The book is written by venture capitalists, and opens up about many ways VCs can try to take advantage of first-time entrepreneurs. It includes clear descriptions of VC funding round terms, describes the various rounds, and gives tips for the negotiation process. This 200p book is the best crash-course on fund raising I've seen so far. A must-read for entrepreneurs during your flight to your first Y Combinator interview!
Hyves - Raymond Spanjar
My favourite (Dutch) book of the year describes the "boy's dream" fairytale of the founding of Hyves, the Dutch social network that was among the last standing world-wide before Facebook overtook even the little country of the Netherlands. One of the founders takes the reader to the very beginning of the website that quickly rose to being one of the most popular in the nation, and describes many growing pains and humouristic encounters along the way, up until the estimated €40M sale. One of the other founders eventually became an investor in our startup, bringing his lessons and stories with him.
Free - Chris Anderson
This was an interesting book about the philosophical effect the price of "free" has on people's behaviour. As we're moving from physical to digital goods, the marginal production cost moves to zero as copying is (almost) free, allowing business models where much of what's on offer can be offered for free. This insight comes with many business opportunities, supported by models like freemium and in-product advertisements, but also offers challenges for branches that traditionally benefited from customers' inability to copy freely: music and film industry, journalism, and even (paid) software.