It’s been 10 months since I went on a sabbatical. I’m still enjoying it (though I’ve had moments of weakness). I’ve also created some passive income, which will slow down my savings’ burn rate. I’ve accomplished a number of goals. I’ve failed (sometimes miserably) on others. But I haven’t gotten to do everything I’ve wanted. So I’m extending it.


I’m assuming you’ve read Rebooting Life (Part 1). If you haven’t, here were the goals I set out to accomplish during my sabbatical.


I want to talk about my successes first. What in the world have I been doing for the past 10 months? Did I really accomplish anything of value? Or did I just waste my time?

I built a freaking game

Michael Townsend created a minimalist web based idle game called A Dark Room. I built it for iOS. As of today, A Dark Room iOS ranks 11th in the RPG Category and is ranked as the 174th game overall (out of the 180,000+ games in the App Store).

The word “built” is a loaded word. I didn’t just port a game to iOS. I translated it to a mobile medium. I added my own artistic spin to the game. I wrote about it. I presented about it. I marketed it. I pushed it to a top spot in the App Store (at one point it was ranked #6 in the RPG Category).

Most importantly, I found that the saying “if you build it, they will come” is completely, utterly false. Building something takes an immense amount of work. Reflecting back, this is quite an accomplishment. Wouldn’t have existed without Michael’s initial work of course :-).

You can read about the entire journey of A Dark Room right here. It’s over 9000 words. So just be aware it’s long.

Present about software, contribute to open source

Check and check. I’ve given eight presentations in the last ten months. On topics that I care about. I’ve created a number of open source reference implementations for NodeJS, which will continue to grow. I’ve continued to help developers break down barriers and learn new things. I still want to make a contribution to a large open source project. Haven’t “unlocked that achievement” yet.

Build my development chops on stacks other than .Net

My work in NodeJS and A Dark Room iOS kept me on the OSX and Linux stack. Before my sabbatical, I barely ever booted into my OSX partition. My work was on Windows and .Net, so there was really no need to do so. With an iOS project, and many websocket-centric NodeJS projects, I had to use my OSX partition.

For a good 5 months, I didn’t boot into Windows for any long period of time. After a while, the Linux file hierarchies began to make sense. My skills with the terminal got better. I can commission a bare bones Linux virtual machine via ssh. I can get a Node app up and running on nginx. Compiling languages and frameworks from source doesn’t intimidate me anymore. Trying out emerging languages/technologies is much easier (because they “just work” on Linux based systems). I’ve pushed through the barrier of entry, and there is a wealth of knowledge on the other side.

There is still so much I need to learn, but I feel that I’ve reached a good level of comfort now. Also, I really can’t comment much about the OSX operating system. Simply because the first thing I do, when I login, is start iTerm and put it in full screen mode.

Music, Drawing, and Artsy Stuff

I’ve picked up drawing again (I drew quite a bit when I was younger, but didn’t make time for it when I grew up). Thank you Eric Sowell for helping me get back into it. A picture is worth 1000 words. So here are a few of the pieces I’ve done.

I’ve also discovered a site called Patreon. The site gives artists a chance of make a living off of their passion. It connects the artist directly to the patron. Be sure to browse through it. You may find an artist you want to support. You’ll be surprised at how even a small pledge of $1 a month can help them keep doing what they love.


Now for the failures. That’s how you learn, right? All the failures have a common theme. What I’ve learned so far with setting goals (and failing):

Build a client/server iOS app

When I first started my sabbatical. I worked on a little budgeting app for myself. I had a genuine interest in building a unique, simple, budgeting app. I enjoyed learning Objective C, but felt crippled in XCode (it can’t hold a candle to Visual Studio). XCode also lacked the lean environment that I enjoyed with Rails and NodeJS development. But, I finished the development of the app, and I use it everyday now.

Progress was made, but I didn’t feel like pushing it to the App Store, or paying for a business class server instance. I kept making excuses with regards to shipping the app. After all was said and done, I no longer felt that the end result was worth the effort. So my budgeting app is just on my device. I’m okay with that.

Have conversations with developers everywhere

I wanted to converse with developers (specifically experts). I wanted to talk about the craft. Soak up wisdom and hopefully give some in return. That is not what I got. I just a lot of “strong opinions, strongly held” (myself included). I didn’t feel like I made any progress. It took away from what was really valuable, helping developers who wanted to and were open to learning something outside their comfort zone.

The end goal of “impacting a peer” didn’t happen in any substantial way. So I’m not going to try to reach out to experts anymore, because they already know everything there is to know about software (apparently).

Outside of the persona I place in marketing slicks, I honestly feel that I’m just a practitioner of software, sharing the experiences I have. I no longer have an interest in debating with, or reaching out to, those who feel they’ve got it all figured out.

Music (guitar)

Farewell electric guitar. The end goal was vivid, the interest was there, but I just didn’t see progress. I can read music well, but couldn’t get my fingers to perform what my mind was capable of reading. There was a huge gap between the mental and the physical. It was too much “work without feedback” to close that mental gap.

I’m trying again however. This time with a violin (great idea Amir -_-). The interest is there. It’s a smaller instrument with less to set up and play. The novelty with learning something new is there. Just comes down to the journey, the feeling that I’ve made some noticeable progress.

Get into better shape

This is an ongoing battle (I wouldn’t say it’s a complete failure). Working out is not fun. It feels really good afterwards… kinda. There is measurable progress (I am definitely stronger and leaner now). But the end result is far, far away. On top of this, I feel it takes away time from things that really interest me. But I guess you just have to form a habit with it. It’s just something that you do, because you only have one life to live, and exercise is a sure fire way to extend that life. Bleh.

Read more books

I’ve never been an avid reader. I feel like I’m missing out on a wealth of knowledge. I have a terrible reading speed. It’s again, an issue with balancing interest, enjoyment, progress, and the end goal. Progress so far? A book every couple of months… T_T. I’ve lowered my expectations of the end goal: being a god like consumer of knowledge. So still reading. Just with less purpose.

Moments of weakness. Need more time.

The rest of the items on the list. I simply need more time. You’d think 10 months would be plenty of time. But it isn’t.

Earlier this year, I felt that I should throw in the towel and go back to work. Against my better judgement, I turned down a great opportunity to leverage all the things I’ve learned so far. Objectively, the “numbers” were right. The people I would have been collaborating with was right. Everything was right on paper. But then I started thinking about the hours of my life I’d be “giving up”. I just couldn’t bring myself to do it. Eventually I’ll have to exchange “good money” for “reasonably meaningful hours”. But for now I’m okay with “crappy money” for “invaluable, once in a lifetime hours”.

The sales from A Dark Room iOS (go buy it ^_^) and for-pay remote pairing sessions via AirPair have helped slow down my savings account’s burn rate.

I still need to delve into functional programming (F#, Haskell, Elixir) . I still want to wrap my head around Lisp (clojure). I still want to increase my breadth. Must. Have. More. Knowledge.

A Nice Story

Here is a nice little story to end with. It’s about a boy who wanted to become a great martial artist. A monk of the Shaolin Temple.

He was ordered by the chief instructor to carry a large wooden pail down the mountainside to a stream, fill it with water, and bring it back up to the temple.

“Good,” said the instructor. “Now stand beside the bucket and with your palm slap the surface of the water. Repeat that until there is no water left.” The boy again did as instructed.

This went on all day, and to the boy’s horror the next day, too. Then the next day, and the next… and soon weeks and months were going by and all the boy did was carry the big bucket of water and slap all the water out of it.

“Young man, you’ve been here for a year. Now I want you to take a break and visit your family for the holidays.”

The humiliation grew in the young boy: Indeed he had been made a fool of by the head instructor. In a whole year he hadn’t learned any martial arts at all.

The villagers dragged him to the head table and yelled and shouted and urged him to show them some real Shaolin kung fu. He stood motionless with tears welling in his eyes and his face reddening, ashamed to tell the villagers that he had learned nothing.

“Leave me be,” screamed the boy as he slammed his hand down on the table. Everyone stood silent and wide-eyed for several moments… when he slammed his hand down… he had broken the thick stone table right in half.

Subscribe to get high signal, low noise entries with regards to software development, doing what you love, and never being content with where you are.

Also, I've spent the three years fighting the uphill battle of getting noticed in the App Store. I've decided to write some words about it in book format.

powered by MailChimp

16 March 2014