Hacker News new | past | comments | ask | show | jobs | submit login
Start a side project, says GitHub founder (gist.github.com)
210 points by aditya on Aug 20, 2008 | hide | past | favorite | 40 comments



Awesome and very inspiring. And this is priceless:

  But it wasn't an overnight eureka, and it wasn't intentional. I didn't just walk out of high school, pick up a Ruby book, 
  meet Tom and PJ, then launch the site GitHub.
  Before GitHub came, in chronological order, Spyc, Ozimodo, my ozmm.org tumblelog, ftpd.rb, 
  Choice, Err the Blog, acts_as_textiled, Cheat!, acts_as_cached, Mofo, Subtlety,  
  cache_fu, Sexy Migrations, Gibberish, ginx_config_generator, fixture scenarios builder, Sake, Ambition, and Facebox.


BTW, 'cheat' is pretty sweet. Console hackers should try it.

http://cheat.errtheblog.com/


I'm in college, I run an entrepreneurship organization on campus, work full-time at a startup, and I'm doing a side project for fun.

Here's my only complaint, to fellow people who work a regular job or startup AND a side project: don't chunk all of your work into the weekend. Try to at least see your code every day, otherwise it's like coming back from a week-long vacation and not remembering your code very well. Ever stare into the sun and try to get around in a dark room? It's like that.

This past week has been particularly bad because we're doing a push on the product and I've had to do some hiring, but usually I'll try and at the very least look over my code every night so I can keep it fresh in my mind (which keeps my productivity just as high).

And wow, I can relate to this:

"All the engineers kept notebooks, of course. Blogs. They'd write frustrated entries, only to have massive elated breakthroughs the following day."

As for the recommendation to learn native JS: I suggest you instead take the route of learning jQuery. Say goodbye to cross-domain, cross-browser, xmlhttprequest issues. Selectors, manipulation, AJAX, traversing, CSS, effects, it's all there and it works really well.


> As for the recommendation to learn native JS: I suggest you instead take the route of learning jQuery. Say goodbye to cross-domain, cross-browser, xmlhttprequest issues. Selectors, manipulation, AJAX, traversing, CSS, effects, it's all there and it works really well.

This is a good example of how javascript is misunderstood and the reason he suggests doing server side js. If you really dive into javascript, you'll see its true beauty and it has nothing to do with xhr, ajax, css or DOM.


Spend some time in jQuery and you'll see how much faster you can move on the DOM, and with half the code.

I don't mean to say it replaces JS, because you will always have native JS. But I would recommend not doing stuff like DOM and CSS manipulation and AJAX in pure native JS. jQuery extends JS and acts as a compliment, not a substitute.

But, I think we both agree that JS doesn't get anywhere near the credit it deserves.


Oh don't get me wrong, jQuery is my js library of choice when doing client side development (and server side in my own little side project), but the javascript he refers to is much deeper than manipulating DOM. Like he says "Learn JavaScript. Like, for real."


You have to learn the JavaScript core and the native DOM first to really understand the motivations and appreciate the beauty behind a framework like JQuery or Mootools.


The idea of making sure to keep your side project's code fresh in your mind is a really excellent one! One of the hardest problems with side projects is being forced to neglect them long enough that it's painful to dive back in.


Here's a linked link to the video: http://rubyhoedown2008.confreaks.com/08-chris-wanstrath-keyn...

(The preview image is not my default facial expression, I swear.)


A to-do list.

Without reading books, in a few Sundays:

  * Play with Sinatra (learn Ruby)
  * Play with server-side JS
  * Master JS
  * Master an editor and learn the others
  * Write a web service
  * Learn Objective-C and Cocoa by writing a Useful Small Mac App
  * Write Rake in Lisp (learn Lisp)
  * Write an RSS parser in Erlang (learn Erlang)
  * Rewrite the Ruby Standard Library
  * Write a Ruby->Objective C bridge
  * Learn another web framework
  * Add concurrent task execution to the Lisp Rake
  * Write a blog in Haskell (learn Haskell)
  * Write Scrabble in Io and learn OpenGL (learn Io)
I'd want to work with someone who lived like this.


I'd like to take this opportunity to pimp my own personal blog at http://www.gittr.com. I have written a ton of documentation about Sinatra, while learning it. It feels like PHP, but minus the nasty parts. Whereas Rails feels like Java minus the nasty parts.

That was my side project, and sure enough, I start an awesome new job in a week and a half. I basically have been doing exactly what this talks about, and it works!


The takeaway:

You are not actually that different from other people. Build something for yourself and you'll find that if you love it, others will love it, too.


Interesting. I took away:

Always maintain a hunger for learning and good things happen to those who do, not talk.


Yeah, but the problem is that this leads to a bunch of good software for software developers. :)

There's a huge population out there with wants and needs that aren't captured by the tastes of a typical geek. That's where the money is, which is why you get so many dumb (dumb in hindsight, that is) startup ideas. The risk is higher doing something outside your own "internal market", but the payoff is higher too.


What we need is a more diverse population of developers.


Girls?


Anyone who makes a programming environment that's actually liked by most girls will revolutionize programming and make a billion dollars. (Because that person will solve some fundamental contradiction in programming.)


Maybe this will lead to software developers better equipped to build software for non-developers.


I can think of lots of things I could build for myself that I would love that few if any other people would find useful - I would rather spend my side projects on things I love and a lot of other people would love.


Don't be discouraged by the haters saying: we don't need another X. If building another X interests you, than do it.


Exactly! I am working on a small Asterisk framework, although Adhearsion does an excellent job, and my own little hack will never be useful; BUT IT IS INTERESTING!

And way better than writing yet another blog in Rails or Sinatra or something. Skip bulding on top of frameworks and get to the ground level.

Next up is a curses-based music player. It's cool to get dirty now and then.


Isn't curses something like a framework?

(Not meant seriously. Go ahead coding!)


There is no ground level - it's turtles all the way down.


I listened to the video, and I have to say I was inspired. The startup I'm working with helps communities and students, and that's a hugely motivating factor - but I love exploring my python co-dependent species evolution sandbox.

I lost the code to it, so perhaps as a side project I'll learn ruby and rebuild it - then post it on github. Why not?

And....I'll give the no RSS thing a try.


[deleted]


Speak for yourself. I usually just toss them up in a background tab and go on with my coding. :-P


Had me at:

"Learn JavaScript. Like, for real..."

"... It's a really beautiful and misunderstood language."


Just like Scheme is a beautiful and misunderstood language. Learn both! Do it, it's fun!


Ha, I love this line: "I know this may sound kind of crazy, but you have to trust me. I'm keynoting." :)


I would like to emphasize that the side project doesn't necessarily have to be technology related. You might learn more by learning outside your comfort zone. Computers are computers - they take our input - GIGO. I learn more when I have to interact with real people. Like with computers - If you work with cars all day, is working on vintage cars truly a hobby?


I have too many side projects, and not enough projects that make money:-/

Still though, I really identify with his style, and liked the talk.


I had the pleasure of meeting Chris at eRubyCon last weekend in Columbus, OH. He is a great speaker, and very smart.

I loved this keynote. I guess just do what makes you tick, scratch your own itch, and most importantly, find the time sinks in your life and let go of them.

Thank you Chris...


Wow, remarkably inspiring. That is the attitude of a true hacker. Keep building!



Every now and then an article or keynote like this comes around and makes our day. Very good keynote by Chris, totally must read for everyone who wants to create something.


This is a must read. Great advice from an awesome Ruby hacker behind one of the coolest startups around!


This article has a great timing. I just announced my side project on my blog - http://bit.ly/U3AsK. It's called siliconverge.com - Digg for Semiconductor industries.

BTW, article was a great read, though was very lengthy! Very inspiring!



"... and I'm pretty sure PHP came with a library (aka a shotgun blast of functions in the global namespace) that could understand ini files ..."

LoL


Wow. Color me inspired.


What Chris describes is how to stay ahead of fashion: by creating it, in response to one's need that is not covered.

And how to profit from it just by being a gentleman.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: