Update: the original title was "Reason Why You Shouldn't Hack on Open Source Projects", but commenters pointed out that this title would fit better.
People admire open source contributors, just like they admire entrepreneurs and artists. That's awesome, they'll tell you. Improve the world, I love that. Go for it! (It's easy for them to say.)
But as with anything that becomes more prestigious, people recommending it to you will ignore your opportunity costs, and you may try to do it for the wrong reasons. You shouldn't become an artist so you can be famous, but because there's art inside of you that will kill you if you don't let it out. You shouldn't found a startup to make money, but because it's your life's work. And you shouldn't hack on open source projects because someone told you that your GitHub profile is your new resume, but because you want to code socially. I won't focus on why open source is good in this post, but rather warn you about some common, bad reasons to hack on open source projects.
Since we last updated, you’ve asked for a lot of need-to-have features for CodeCombat, and we’ve been hard at work making them. How hard? This hard:
Nick discusses the epic 120-hour hacking week in detail on his blog.
Here’s what’s new in the past couple weeks:
After a reader asked about why I don't use shower products on the cold showers post comments, I started thinking of other things people do or use that I find I don't need. Here's a short list, preceded by a disclaimer: I'm not a joyless robot, deranged workaholic, or dirty hippy, so don't start with the pattern matching of stereotypes and questioning of my humanity. I just like to experiment.
Dessert. I randomly decided to only eat one dessert (the French macarons at my wedding) in 2013, and it has been great. It's simpler this way: I never have to resist eating desserts, and I appreciate tasty non-dessert food more. Drawback: sometimes I have nightmares where I accidentally eat a cinnamon roll, or some baddies are chasing me and trying to shove donuts into my mouth.
Drinking things that aren't water. From an early age I never wanted to try soda or coffee, and this persisted to never trying alcohol, either. I eventually accidentally had a digestif on a romantic date with Chloe in Paris, but it was gross. I stopped drinking fruit juice because it's too sweet, milk because of experiments with cutting out dairy, and vegetable juice because it gives me gas. What else do people even drink? Tea, I guess--I drink that when Chloe makes it, but I honestly don't see much difference between tea and hot water. It's just easier to be content with water than to ever crave some other sort of beverage.
Shower products. I gave more details in this comment, but basically I found that after five weeks of not using shampoo, my grease production shut down and I no longer needed shampoo (just like the internet said would happen). I tested body wash on one half of my body for a while and so no difference, so stopped that. I cut out conditioner when I cut off my long hair, and I use a dry-shave electric razor, so I never used shaving cream. Showers are now quite straightforward.
It's been almost six months since I published The Motivation Hacker, my book on how to get yourself to want to do what you always wanted to want to do. Here's what surprised me.
Sales (updates: First Year Book Sales, Second Year Book Sales, Fourth Year Book Sales)
I use a site called PredictionBook to compare my private guesses to reality for things like this. It helps me be less overconfident. I took a brutal calibration beating on my predictions for how many copies I'd sell in the first six months:
Here's how many I actually sold:
Inspired by my 120-Hour Workweek Epic Coding Time-lapse video, Bethany and Danny over at Beeminder have done their own maniac work time-lapse videos using Telepath.
Bethany maniac week:
Danny's maniac weekend:
Here are the last six posts I've written for the CodeCombat blog over the past few months. Look at the view counts:
A few months ago, I set out to test cold showers. Here's what I wrote for my experimental mission statement:
People are raving about what hormetic opponent process magic silver bullet it is to take cold showers. A little research gave supposed benefits of increasing circulation, mood, immunity, fertility, energy, exercise recovery, fat loss, mental alertness, pain and stress tolerance, cold tolerance, and skin and hair health. They're even supposed to stop depression and hair loss and tumors. I'm going to alternate two weeks of cold showers with two weeks of hot showers for the next two months and see what actually happens.
So excepting two days of each condition when traveling, every day for two months I woke up, did a 10-minute workout, immediately took a 7-minute shower, recorded my energy, mood, and shower discomfort, and took an 8-minute Quantified Mind battery. This wouldn't tell me anything about skin health and tumors, but it would get the main thing: does a cold shower begin one's day more vigorously than a hot shower?
There were no observable differences on any Quantified Mind tests, suggesting that the brain does not care about the water temperature.
A month before Y Combinator Demo Day, I resolved to be as productive as possible for 30 days, since they say that the time leading up to Demo Day is one of the most highly leveraged timespans you can go through. They were right, and it was worth it. Demo Day was on Tuesday, and it was epic.
Having been working mainly on CodeCombat's competitive multiplayer during YC and finally launching it widely last week, it delighted me to see it immediately get picked up on Slashdot, TechCrunch, Hacker News, reddit, and other sites, and for the leaderboards to explode, and for there to be hundreds of players I now can't even beat at my own game. I'm also pleased (but somewhat alarmed) at how much time I'm now spending playing CodeCombat, trying to destroy my own users and reclaim my programming throne. And I am not above dirty tricks (watch the strafing in the upper left).
So how much work did I get done?
I averaged 11.32 hours of work per day, or 79.23 per week, for 30 days. Not recommended for general productivity purposes, but great for growing a website fast when it counts. The other CodeCombat guys and our GitHub army were also swarming smoothly last month. Trying to find more balance now that I'm back town to a relaxed 60 hours of work per week. (Why do I work so much? Because it's important, and because I only have so much badass work time left before I produce infants.)
I always love it when people share revenue data for their apps / games / books / works, and it's been a year since The Motivation Hacker came out, so here's an updated graph of first year ebook sales by platform:
Last time I posted six months in, right after that spike in August, and I was sure it was some temporary press thing and figured my book could head into quiet retirement shortly. But the last six months have sold more than the first, which was quite surprising to me. People must be continuing to recommend it to their other people.
As I've gone from 40 total reviews to 124, the book's rating went from 4.9 to 4.5 on Amazon and 4.29 to 3.90 on Goodreads. This is much more in line with the actual quality of the book (although still a little high on Amazon); perhaps it regressed to the mean, or perhaps friends of friends of friends are more critical of my stuff.
So yeah, 2412 sales in the first year at ~$2.21 profit per sale, which given ~$620 in direct costs and 195 hours of work means I've made $24.16 per hour so far, up from the gorgeous $8.36 per hour I'd calculated from the first six months. That's not bad at all, given my expectations.
A while ago I was working with Yoni on Telepath, a project to make your laptop do passive machine learning on your emotional state. It would know how you were feeling, record it for your Quantified Self purposes, and even correlate your moods with your at-computer activities. It might even be able to measure and correlate fluctuations in your cognitive performance.
How? It would look at your keystrokes, your mouse movements, your open applications, the light level, what music you were listening to, and more. It would listen. It would even look at you: with the webcam, it can get your heart rate and heart-rate variability, check your posture, look at your expression, notice when you're looking at the screen and when you're away, and more. There's a ton of signal here. If we can be clever about processing it, we don't need to ever ask you what's going on. It would go way beyond RescueTime or manual experiential sampling.
The project is on hold, because it's hard to do machine learning good enough on all those sources of data, and we got busy hacking on other things. But a few people were asking me about the personal logging part of it, since Stephen Wolfram has demonstrated that keylogging is cool, so last week I open-sourced the keylogger. You can now get the Telepath Logger on GitHub if you are running Mac OSX, or you can download a prebuilt version here.
It currently records keypresses, mouse movements, window and document switches, light levels, accelerometry (if you have a sudden motion sensor), and, optionally, webcam photos. My version also really beeps at me when I type bad-writing adverbs and plays the drums whenever the accelerometer notices sharp motion, which I find hilarious, but which is not enabled by default. All the log files are stored locally and it doesn't do any networking, but it's not encrypted, so if someone had access to your computer, they could also try to inefficiently dig through your typing history for the interesting parts.