Why I got rid of my fork of Waffle

For those of you who didn’t know, Waffle is a schemaless storage layer that sits on top of SQLAlchemy. Something that I was initially very interested in.

Not anymore.

Why?

Because I found MongoDB.

And fell in love.

Yes, I do know they both are different, but MongoDB has the things that attracted me to Waffle (very flexible schema, great querying, indexes) and is just as easy to set up (maybe not as easy as Waffle over SQLite, but only slightly less easier).

I <3 MongoDB. Let’s see how long this lasts!

What I learnt from the Hackfest at IITM

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.

Code talks

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.

TODO

  • 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!

Hackfest ’09 – Expectations

I’m going to participate in Hackfest at IITM’s Shaastra, starting tomorrow. Will hopefully be a lot of fun – and may I be able to contribute my first ever patch during the event ;) Got permission to not get back home – but wondering, where would I stay? Probably pass out in front of the computers :)

I’ll be hackin on GNOME Apps – hopefully Banshee (since that’s one app I love), or write a newish, smallish app with PyGTK. Anything would do but :)

Will be blogging more – Sadly, no camera, so no pictures :(

Anyone else coming along?

Code I’ve written so far

Code I have written so far:

  1. HiSlain: A static blog publishing system (NOT A DJANGO BLOG!). Runs this blog
  2. wtfimb: The code that powers Busroutes.in
  3. frailgrey: Markov Chain based page generator (pretty lame, actually)
  4. GoodFather: Collection of utils for web data scraping and storing
  5. reappy: A Twitter Search Application Framework
  6. SadIvy: A pure WSGI URL Shortener

Now, I’ve been doing a shit job of documenting them – none exists. Nor of writing tests – none exists. That should hopefully change soon :)

HiSlain and reappy are where I’m going to concentrate my efforts on for the next month or so.

Task List for HiSlain

  • Refactor code, clean it up so it doesn’t look like proof for the Infinite Monkey Theorem
  • Add support for raw, unmanaged pages
  • Port a decent looking, simple theme to HiSlain
  • WRITE DOCUMENTATION!
  • Write some tests, and refactor the code to make it more testable
  • WRITE MORE DOCUMENTATION!

Task List for reappy

  • Write a real application with it, so bugs can be fixed in the process
  • DOCUMENTATION!
  • Write some tests and refactor the code to make it more testable
  • MORE DOCUMENTATION!
  • Examples.

And ofcourse, new sub-pages over here for both of them (atleast). Stay tuned!

Lessons learnt from working with the Symposium

  • Document Everything! On paper. Will save you from hell later.
  • There is never enough time. Start earlier than you think is early enough.
  • Sell people things. Make them want it. Think from their point of view.
  • Prioritize.
  • Delegate. Responsibly. And follow up.
  • Know when to stop. Recognize when something is good enough.
  • Printing takes a long time. Very long timeE. And is boring.
  • People often do not mean what they say. Very often
  • Indoor photography requires a good camera.
  • Old people think in weird ways.
  • Different people prioritize differently.
  • Promises are worth shit. Usually.
  • Fight. It’s worth it.

3hours of code & 1 blog post per day

Those are my new goals.

I’ve got a mechanism to track the code accomplishments (will make that public soon), and maybe I’ll write a widget for HiSlain for the blog post/day accomplishment.

I’m liking it so far – 7 hours of code yesterday, along with 2 blog posts. Couldn’t hit my code target today – but am hitting my blog target. I should figure out more ways to make this work better.

Let’s see how much I could stick to it.

Premature Greying

He liked her. Very much. He had never felt like that before. The butterflies in his stomach were beating up a storm. He had never believed in love at first sight. Till he saw her.

Her waitress uniform made her look cuter than ever. He knew he had to ask her out. He drummed up enough courage, went to her and said ‘Hi’.

She turned, gave him a cute smile, and replied ‘Hello uncle, what can I do for you?’