http://gist.github.com/6443

Awesome! Awesome keynote by Chris. Some excerpts from it

You should always have a side project, too. Side projects give you an
outlet, provide a useful distraction, let you explore new ideas, learn
new concepts, and generally give you the freedom to be unaccountable.
You don’t have to worry about your boss, or your coworkers, or the
damn commentators on Reddit. Just have some fun. Treat yourself.

If you already have a job you love, this doesn’t exclude you. You
probably use, day to day, many side projects from others. You can
also use your own side projects at your job. From Emacs configs to
simple web services, there are a ton of things you can do to stretch
your brain.

So, start a side project. Who knows where it will take you.

Do you have one now? If not, why not? Not enough time? No ideas? I
think I can help with both of those.

First off, the time issue. I don’t know how many of you read RSS, but
I challenge you (that’s a keynote term) to give it up for a month.
Just turn it off. Stop using Google Reader or NetNewsWire or whatever
the kids are using these days. It’s not worth your time.

What should you do instead? If you use Twitter, try following the
authors of your favorite blogs. Read their tweets on the bus. Or in
the bathroom. Check Ruby Inside once a week and skim over the posts.
Visit an aggregator like planetrubyonrails.com once a month. But
mainly, let other people do the filtering for you. Use your time for
other things.

You will not miss out on anything big. Stuff like the Google App
Engine, or Rubinius running Rails, or the killer speaker line up at
this year’s Ruby Hoedown will find its way to you. How can it not?
I’m willing to bet a lot of the stuff in your RSS reader is stuff you
already knew, or heard about somewhere else.

Personally, I used to check RSS multiple times per day. Now I don’t
use any reader, and haven’t since January 2008.
Another big time sink among programmers, I’ve found, are books on
process and theory. Books like Smalltalk Best Practice Patterns,
Practices of an Agile Developer, and even, I dare say, the Pragmatic
Programmer, are not worth your time. Instead, listen to Rein’s talk.

Talk to your friends or coworkers. Let other people filter the
information for you, then decide what you like.
The best way to learn about patterns, idioms, and best practices is to
read open source code. See how other people are doing it. It’s a
great way to stay current, and it’s free.

Next implement the Jerry Seinfield GTD method. Every time you work on
your side project, mark a big X through that day on calendar.
Eventually you’ll have a nice line of Xs. Missing an X will be
torture - it’ll mess up your beautiful streak. The goal is to maintain
the streak, even if you don’t think you have any ideas for the day.
The best way to overcome writer’s block is to write, after all.

Okay, so the time excuse is gone. Now you have time to work on a side
project and the motivation to do it consistently - the beautiful line
of Xs. You can devote at least one Sunday a month to it, at least.
But what’s the idea?

This is actually the easy part, because you don’t need a good idea.
Just start doing something interesting. Play with a new framework in
Ruby - I hear Sinatra is pretty hot these days. Learn how to do GUI
stuff, with Shoes.

Learn JavaScript. Like, for real. If you don’t know what the var,
with, or delete keywords are, get a book and start working on some
flashy effects. Or download Rhino or Johnson and write some server
side JS. It’s a really beautiful and misunderstood language.
Take some time to master your editor. Pick up the TextMate book and
dive in. Write a bundle. If you’re already got massive Vim-fu, try
out Emacs. Learn why people love it, then use that information in
your holy wars against them.

Write a web service. Something like Cheat, Subtlety, Disqus, or
TwitPic - tools someone can use to help make running a blog, site, or
coding simpler. Simple sites that do one thing very well, and surface
their information with digestible APIs.

If you’ve been meaning to learn a new language, start learning it.
But don’t just read a book. Start writing a program.

Learn Objective-C and Cocoa. Write a little Mac app to do something
useful, then give it away for free. Post the code on GitHub. Put up

a Pledgie badge and accept donations. Profit.

Write Rake in a Lisp. It’s a good way to learn about metaprogramming
and how command line scripts work in your new language. Write an RSS
parser and explore native data types in Erlang. Write a simple blog
and learn about the web frameworks in Haskell. Write Scrabble in Io,
picking up some OpenGL along the way. It doesn’t matter if people
have done it before.

In fact, stop worrying so much about other people. Every time I’ve
worked on a project I thought other people would really love, it was a
massive flop. Every time I’ve worked on a project I loved, it worked.

If you’re sitting in this room, your taste is not as far off from
those around you as you’d think. Build something you love and others
will love it, too. (Not everyone, of course.)

Alternatively, do something hard, the hardest thing you can think of,
in your language of choice. Stretch the boundries. Make Ruby cry out
in pain. Install ImageMagick. Rewrite all of the standard library.

Write an Objective-C bridge. You know, something just devilish. Flex
your brain.

Work on your small project for a few Sundays, declare it complete then
move on. Learn another language, or write something else in your new
language. Pick up a new web framework or work on flashy effect number
two. Add concurrent task execution to your Rake. The more acclimated
you get to this process, the more creative your ideas will be. It’s
the whole 10% inspiration 90% perspiration thing, and it worked for
me.

This, after all, is how GitHub was started. Tom and I had full time
gigs, but we’d get together on Saturday, have lunch, then work on
GitHub. We wanted a pretty and simple way to share Git repositories.
Something we’d use. Something that would make it easier for us to
share and work on open source.

The more side projects I had, the more I felt the pain of maintaining
open source code.

My plea to you today is to start a side project. Scratch your own
itch. Be creative. Share something with the world, or keep it to
yourself.

Side projects are less masturbatory than reading RSS, often more
useful than MobileMe, more educational than the comments on Reddit,
and usually more fun than listening to keynotes.

Survey

It’s a A List Apart’s survey 2008 for people who make websites. I came to know about this via Abdul’s blog. Questions were really interesting. Do take the survey.

Planet Rails

Checkout Planet Rails, side project on which I worked for last two weekends. It’s a planet site for top Ruby on Rails related weblogs.

Planet site aggregates feeds of different weblogs into one site. It’s having RSS feed support, so if you subscribe the RSS feed of it, you will never miss posts by your favorite Rails blogs. If you already know existing most popular Rails planet site by Pratik, you know what Planet is.

I have added only few feed channels to it those I like. Mainly to have quality content. Feel free to contact to for adding you popular Rails weblog to the planet. I would definitely try to add it.

On the technical side, I am using my Slicehost slice for hosting it. Mongrel + Nginx combo. It’s using Rails. It is open source you could check its source here. Apart from those thanks to Capistrano + Git which makes development so enjoyable without pain. I see my planet as defacto site to read great Rails posts.

If you find Planet site/source useful please donate Click here to lend your support to: planet and make a donation at www.pledgie.com !
 
(Blog authors who don’t want to have their posts to be displayed in Planet, feel free to contact, I would happily remove feed).

Are you game?

I am taking part of this exciting game! More info @ http://42times.pbwiki.com and http://tinyurl.com/4uec9b

I am INTJ

I took part in a survey on http://typefocus.com. My personality type came out to be “INTJ”.
So overall description for INTJ is here

Common Qualities of Introverts:

Attracted to in-depth analysis
Like to think, sometimes without talking
Like to understand
Keyword: Inner-directed



Common Qualities of Intuitives:

Notice the whole picture
Theoretical - interested in WHY things work
Creative - like to experiment
Keyword: Imaginative



Common Qualities of Thinkers:

Appreciate analysis
Quick to give advice
Fair and just - same rules for all
Keyword: Logical



Common Qualities of Judgers:

Are comfortable when everything is organized
Like to have a time-framed schedule
Decide quickly - sometimes bossy
Keyword: Organized

General Description:
INTJs understand complex relationships and use these insights to organize their life. If they are determined to see their inner vision realized, they can be businesslike and sometimes impersonal. Being visionaries, INTJs enjoy the complexities of new challenges and become bored quickly with unchanging routine. Of all the types, they are the most independent and may appear difficult to get to know until they have established a deeper relationship.

Career Insights:
INTJs like to bring their inner visions into reality and can be determined in their pursuit of this goal. They understand the “big picture” quickly and are good at impersonal analysis. They enjoy intellectual people and organizations, where their quick conceptual grasp of things is appreciated. Careers that prove popular to INTJs include architecture, legal professions, engineering, science, human resource management and computer systems.

Rails moved to Git

It is now official that Rails is moving to Git. I am more happy because I love both Git and Rails. From last couple of months Git became my favourite source control tool. I was so much excited about it that I read most articles/posts/manuals about it for last some months, I gave a BarCamp presentation on it. I have been using it lot, for my personal side-projects.

Some days ago, I forked koz-rails(Rails repo git mirror) repository, considering that I would start hacking Rails source. I had no idea that Rails would officially move to Git that time. I had read some posts of Koz that it is not that easy to start using Git to manage Rails source. But now after reading DHHs announcement post, I am happy.

The good thing is that it will use GitHub (awesome Git repository hosting site). I am in love with GitHub since I heard about it. I think, I am one of the earlier users of GitHub and that makes it and me special that Rails is using GitHub.

Even DHH himself has written good words about Git and GitHub. Chris also wrote some posts related to this announcement.

I always find that like minded people like similar things and it continues. I also noticed that whatever I like becomes Hit and popular(oh yeah). I think I have some little sense to predict about any app and its future. I think I can definitely define product features for a successful app. I think I also understand the market and what people want and expect. This is why I am more eager to develop my side projects.

Update 12 April, 08: You could visit Rails repository at http://github.com/rails/rails/tree./

For cloning do


git clone git://github.com/rails/rails.git

My fork for Rails is at http://github.com/anildigital/rails/tree

Pratik now Rails Core member

One of my good friends, Pratik Naik is now officially member of Rails core team. I still don’t realize that the guy, to whom I used to meet when I was with Reevik(my first company), is now in Rails core team.

When I started my career with Ruby on Rails, Pratik too had started working Ruby on Rails in those days. Pratik also was working with Betterlabs and I was with Reevik Technologies. There were only two companies in Pune, which were using Ruby and Ruby on Rails for projects. We used to meet at various Ruby meets in Pune.

I would like to thank Pratik for gifting me domain names anilw.info and anil.rails.in with server spaces. One of the reasons I continued career in Ruby on Rails is Pratik. We have been discussing about tech topics IRCs, messengers, twitters for sometime. He always helped/guided me. He is nice guy. I congratulate him for his achievement and greatness. Great work man! He currently works with a London based startup(makers of Bebo and BirthdayAlarm.com). Do check out his nice blog, http://m.onkey.org.

GitHub - My Kind of Service

Recently I got interested in using Git. I like it too much. I already have some Git repositories on my Slicehost server. From last month, I am using a Git repository hosting service GitHub.com. I have become a fan of this service. Now I have two homes for my projects’ repositories, one is GitHub and other on my Slicehost server.

It always felt good to commit changes locally, push them to server with one command. Git added that geeky-ness to my coding. I came to know about GitHub when I read this post. Since then, I was waiting for its launch and one good day, I got beta invite for GitHub from Chris.

GitHub brings a social aspect into play. GitHub is kind of social network for developers with codes. I almost felt it when I forked a repository first time.

Git has very nice features. Some of which I like the most are forking, sending pull requests, nice UI of repository browser, news feeds, follow, hCard-ed profiles and simple project wikis etc.
I think Git adoption by developers is very near. Fantastic tool like GitHub is making it happen. I am very happy to be early adopter of this service.

I know, this is the kind of app/service which is really benefiting me than any-other as it is helping for coding and improving it. I think it is one of the best things on internets

Update: Oh yeah, I have a couple github invites if anyone wants them.

Barcamp Pune 4

This was fourth time, I attended BarCamp Pune. It was very cool. I was already excited about it, seeing preparation by its organizers. This time, I was not among organizers for it, but was in volunteer’s list. I mostly spent my time discussing with other geeks. The only talk I fully attended was our PurpleTrail presentation and demo by Anuj. Obviously it was the best talk of this BarCamp :)

It was very nice experience to meet Latesh, a tech freak from Mumbai. He was very much interested in knowing what Git is and (almost) listened to me very enthusiastically when I explained and demonstrated about it. I hope I was able to inspire him to start using Git.

He shared various nice things with me. He described me how he installed MacOSX on his PC. He also showed me the sites showing how to install MacOSX on PCs. From my Macbook, he sshed(logged) into his router(which is there at his home, Mumbai) in which he had installed Linux, then from router, he sshed his MacOSX which is installed on his PC(not Apple built machine, but PC architecture mostly suited for Windows machines). He showed files on his MacOSX, also there he was downloading latest Leopard OS, whoa.. totally awesome. Quite geeky, hacky and interesting right? ;)
We exchanged our Peepcode videos, I had one, he gave me 8 (eight! :-) ). Thanks Latesh. Nice to meet with him.

Diwakar (Google Hacking guy, he was with MangoSpring too) was with me most of time. I missed his talk. He told me about Temper Data( a FF extension to view and modify HTTP/HTTPS headers and post parameters).

Talking with Rohit, Tarun, Sidu, Aditya, Shirish and other geeks made me happy. I am almost waiting for next BarCamp Pune.

Last but not the least, I gave a talk this time. It was titled “Git Introduction”. It was fine. My first endevour to present at BarCamp as I had mentioned in this post. I have shared it on Slideshare.

Here it is.

Yahoo! Live rocks!

No good project is worth than a project with good idea/new concept. I found Yahoo! Live came out with nice concept. From last couple of years, I always got fascinated about new ideas, the very earlier was blogging, then social networking, youtube, social bookmarking, flickr, ..etc. Yahoo! Live is all about being live with no hassle. Just open site and click Go Live, thats it.. you are now live(The web-cam of your laptop/pc is doing all magic behind).

Yahoo! Live

You can see me ON AIR in above pic, I am seeing technosailor performing guitar along with other guys and Premshree. Premshree is one of the lead developers of Yahoo! Live. I came to know about Yahoo! Live because of him. Nice to know that he hadn’t slept last 50 hours as he was fixing things.

The plus things for Yahoo! Live are

  1. Nice developer API http://developer.yahoo.com/ylive/
  2. Simplicity
  3. Features which are really necessary, no extra junk.
  4. Anybody can start rocking live at any time, people are there to watch
  5. … the X factor

One minus point which I could think of is, Yahoo! Live can be misused to spread obscene material. Overall, Yahoo! Live will definitely rock in future! Nice done Premshree!