I was about to just type a list of stuff here, but that doesn’t do the topic justice. So here I am, at 3:30 in the morning, sleep cycle screwed up by the Hackfest, typing out a post on what all I learnt from there. I spent pretty much my entire awake-time at the IIT, so it helped me a lot.
Your college doesn’t matter much
IIT Envy. Every non-IITian has that. I spent a lot of time at IITM during the Hackfest, and while my IITEnvy did go up during the first few hours, it initially came down well below normal as I got to know the people better. What was cool about them was not where they were studying, but what they were doing. I could do what these guys were doing. Anyone can do what these guys were doing – there is nothing special about the IIT except maybe for the fact that it aggregates naturally dedicated people into pools. You don’t need an IIT for that – IRC will do :) I’m from a teeny college that nobody has heard of – that would have been a problem when people judged people by where they studied, rather than by what they did. Should not be a problem for me now :)
Real C isn’t hard
I was utterly clueless about GTK+ when I landed up at the IIT. The first thing I told Arun was that I was clueless about C and maybe would like to hack on something in C# or Python.
I thought I was clueless about C. All I had done was TurboC – which I had not really considered as real C till that point. However, an hour into the hackfest, I realized something – Pointers and Structures are all you need! Read the docs, read some good code, and you are done. I will probably do what I usually do to learn a new language – write a significant amount of useful code in it – in C very soon.
I don’t have any patches against my name. The only significant piece of code I think I have written so far is this blogging engine you are reading. That needs to change.
Doesn’t mean I have to churn out code like a copier machine – I just have to have enough things to point to and be able to proudly say ‘I did that’. Great Documentation, proper deployment options and a little evangelism helps too. None of my code has any of that. That has to change too.
Know tools well
I use Emacs. But not to its fullest potential. Same thing for pretty much all of my tools – Bash/Powershell, Build Tools, etc. Heck, I can’t even write a shell script to save my life! That has to change, and change fast. I smell perl.
People on IRC are friendly
I’ve always been a lurker on IRC, just listening and not daring to speak. That changed drastically once I actually met these really nice people in person – so I can see my IRC usage going way up! It has also expanded my horizons quite a bit – meeting new people, getting to know people better, constantly being challenged to actually get off my ass and write some stuff, etc.
- Read more code. File bugs. Try to fix bugs.
- Learn Perl. Learn C. Learn C++. Get much better at Python.
- Go through my code, document all the necessary parts, create home pages for the significant ones.
- IRC more. I have been – the last two days have seen my IRC usage skyrocket.
- Stop cribbing about my life and get on with it!