So, I was staring at my CodeChef handle just some time back. January this year is the last time I took part in a contest there. I’m quite amused actually, because at least half my batch (the one above and below too, I suppose) is practically busy all the time with contests. Not that I despise contests. I took part in a team event in the summers, which was okay. We had a exciting and curse filled round and narrowly missed doing really awesome in the time slot (both of us aren’t regulars in the scene either so I think it was a fine performance, we just wanted to try).
I’m bored by the questions, now that I think about it a little more. I’m bored when I know that the solution is a variation of the Union-Find (because the question reduces to those operations and I need around O(Q*log(n)) complexity) or it requires me to use Hashing like Rabin-Karp (because the acceptable solution will have to be O(Q) and not O(Q*N) ). I know the solution (the algorithm of sorts, for the purists) and as some would say, probably to lazy to flesh out the details and hence write the code. Team storming it makes more interesting though but Individual Contests bore me.
Also, I’m a pretty proficient developer (also, I don’t consider myself a bad programmer either, if a little rusted) but I feel that it’s less about building systems (at least with all the powerful tools available) and more about putting systems together. It’s fun to see things you create (or put together, to say) will help others and possibly that’s the reason I still cling on to Open Source Development (I contribute in some capacity to Boost C++). But still, it doesn’t give me any of the goody-goody feeling I get out of Computer Science all the time, except in flashes.
I guess I’m bored easily.
So, that leaves me with a question, What does actually interest me about Computer Science if not all the Competitive Programming or the Coding or the Development ? Is it the theory ? Is it the structure ? Is it the beauty or philosophy behind things in Computer Science being how they are ? I think this column is a journey I embark upon to find out those things which interest me in Computer Science (and hopefully interest you).
Mind you, even if this is not Competitive Programming or Open Source Development Column, it is still a Computer Science column and hence can get pretty technical (and sometimes will). Things which I talk about can range from anything and everything in CS and some more, I do hope to knock you off your feet.
This was just a sort of Introduction of what you will find here, kindly comment and fight with me about my thoughts. Looking forward to writing the first article and hope to see some feedback!