A Geeky Vacation!

Opening Mood: I’m back!
Opening Song: Romantic Piano – Chopin

Spent the last week at this place called Kudremukh. It used to be one of Karnataka’s famous mines before the operations were shut down in 2005. So now it is just a nice little place with lots of greenery and very few people to bother an occasional guest. Which was me πŸ™‚

I started from karkala on 4th Feb at 8:00 AM to Kudremukh. I had booked a room for myself at the Sahyadri Bhavan lodge for five days through some family contacts. Reached the place at around 9:30 A.M. The ride was very good, and one could spot a lot of trees and forests on the way. Once you cross the Mala outpost, the weather becomes quite pleasant owing to the trees around.

The room where I was put up was really a big one. It had three beds, a balcony, and an attic! All for an extremely cheap then of Rs 200 per day! The guest house has a small restaurant which serves breakfast, lunch and dinner. Again, at very affordable rates. I liked the food there. But then, I also stayed for four years at NITK Surathkal and survived the mess food. So I really shouldn’t be talking about how good the food at any place is πŸ˜› . The place also has a very nice town park where I used to go in the evenings for a stroll.

The purpose of the vacation was to do stuff which I had always wanted to do, but never got the time. Starting problem you can say πŸ™‚ . Over the past couple of years, I have been accumulating quite a bit of technical stuff to read, and the list was only growing. So I wanted to take some time off and get started on some of those items.

Thus I had five days at a place with very little disturbance and an awesome climate. Really, I couldn’t ask for more. The working style was simple. Start with one work item, when you get bored, move on to the next one. There were no other rules. No hard deadlines to finish this or that by the end of 5 days. Just have fun πŸ™‚

So, in the five days, I read through parts of Linux Memory management. Two years of programming the kernel, and I was still not aware of how Linux manages the memory across the various platforms it supports. So I had to go back to the very basics, starting from the 386 memory management model and then how Linux represents it using a 4 level model. After that, I read up on the Zoned Buddy Allocator, the Slab Allocator and a part of Process address space. I was using “Understanding the Linux Kernel, 3ed” and 2.6.24 kernel code as reference.

Other than that, RB-trees was something I read about and implemented during this time. It reminded me a lot about AVL trees, which we had studied in our data-structures classes. RB-trees was actually easier to implement (atleast the deletion part).

Also, read the first three chapters from Ulrich Drepper’s “What every programmer must know about memory”. The paper is true to it’s name. Especially the chapter on caches. The paper gives a very clear picture of the implications of having different levels of caches, how the cache size matters, through various well designed experiments. It should be read by anyone who is interested in doing any kind of system programming.

Other than these, did a whole bunch of fun stuff, like wrote a ascii visualization tool for trees. One of the problems I had with the Data structures lab assignement was that we had to show the output through an inorder, or a breadth order traversal. And that was not always very easy to visualize. But then I was one of those who did the class assignments when there was only one or two days left for the deadline. So I guess I am doing all the supplemental things now πŸ™‚

Oh yeah, spent a whole evening reverse engineering this obfuscated C Code which prints the poem about the various gifts given by the true love on each day of Christmas. Am planning on writing a small article on that. How recursion was used in place of loops and how the ‘,’ operator was used for statements. It’s a code when you see, you’ll go “This hurts my brain!” . Check it out here.

And when I had time to spare, I read some chapters from Jon Bentley’s “Programming Pearls”. Another book which I would recommend to anyone interested in serious programming. This book sure is fun!

So, now that I am back, the first thing to do would be to catchup with a week of email. Oh well πŸ™‚

Closing Song: Marriage of Figaro – Mozart.
Closing Mood: Anxious to catch up with last week’s happenings.


About gautshen

A jack of many trades of which , Linux Kernel Programming puts food on the table. Also pursuing his PhD in the area Theoretical Computer Science at the Chennai Mathematical Institute. Is an avid reader interested in the Hindu traditions and philosophy. Loves Bicycling and Good Music. Name is Ranjal Gautham Shenoy.
This entry was posted in academia, books, geek, interesting, linux and tagged , , , , , , , , , , , . Bookmark the permalink.

5 Responses to A Geeky Vacation!

  1. Arun says:

    This definitely is one geeky vacation!
    Very nice blog…Looking at this inspires me to come up with my own blog πŸ™‚

  2. poonam says:

    Lol…I get ur point completely…..sometimes…these are the kind of vacations required to collect your thoughts!! definitely geeky…no doubt about it..but dats wat its all about…being geeky and enjoying it!![:D] Unique blog…liked it!!!keep writing..cheers!!

  3. Pingback: A Bet of Death By Chocolate. Insert comma’s in the right places! « Random Walk of Life

  4. M says:

    Wow i wish i could be this disciplined about doing all this stuff in a week. But i guess being in a place where you were, it kinda helped. I am trying nowadays to learn more on XML and XPath, Struts, Web Services, SOA and other random things that come along. But i find myself forgetting stuff i read over once….always need revisions.

  5. Pingback: Random Walk of Life » Blog Archive » Flashback: Linux and moi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s