End of the Year

Category: By AG
Since last year, its the year ends that are most exciting and fun-filled part of the year. Its like making up for all the joy for the entire year towards the end of it....all cramped, within a span of a month or so. Last year I was back at home...and this year again with my parents and friends. 17 mile drive, muir woods, stinson beach, santa cruz, mystery spot, napa valley, sfo, tanferd (:)), berkeley, kayaking, canoing and much more. The vacations been tiring, really...busy schedules, rest is highly needed it seems after this long leisurely break :D

Back to the card game (badaam saat with two card decks!), while the Robert Mondavi desert wine from Napa awaits to be opened at the thoka of 12!

(someday will update this post with pics.)


On thickness of the equator

Category: By AG
Multiple Dimensions - Quicktime | RealMedia

I don't completely outcast the possibility that there could be 11 or more than 4 dimensions in this universe (I see these dimensions more as properties, saying these as spatial dimensions is what throws me off...could be true, but this is so unsettling!), but saying that the ants circling the wires supporting the light post as moving in 4th spatial dimension is utterly insane. However may the ants move, clockwise or anti-clockwise, they still are in 3 spatial dimensions - they can precisely be located using just 3 dimensions at any given time! And how can this analogy be used to say that the space-time fabric could well be rounded and so forth and serve means for additional dimensions? This is like saying equator has a thickness!

As I was saying to one of friends recently, I wish I could be alive 100 years from now to get the answers to this ultimate quest, but may be I'd be making exact same wish then.

Plenty of food (not junk) for our minuscule brains:
- Elegant universe
- Imagining the 10th dimension

Yet Another Bubble Burst

Category: , By AG
Very good parody! I originally watched it on YouTube, but apparently its being pulled on and off couple times because of petty copyright issues. Heres the Yahoo copy of it.

Guy Kawasaki's talk at PARC forum today was worth attending. He is good at putting forth stuff and marketing in general. The talk was much related to the Web 2.0 and his own new venture truemors.com. Not too impressed with this new venture, but with his way of presentation and his experience with the venture.

Oh and yes! Its been an year for those magic moments! Me going back home!! The month-long countdown and the situation climaxed by the algorithms exam...added to the fun, excitement, and happiness!

The New Age of Entertainment, Part II

Category: By AG
Ok, well, tv-links.co.uk has been raided by FACT. tv-links was a link aggregator that just deep-linked movie and TV shows from popular video sites, like Youtube, Veoh, Daily Motion, Stage6 and such.

When I look closely to what exactly is illegal in case of tv-links, it perplexes me a bit. Surely freedom-of-speech is legal, so is deep linking (had it been illegal, entire Internet would be too). IMO, only thing illegal in this context is facilitating the distribution of copyrighted content. But is pointing to copyrighted content with a proper disclaimer illegal? Are disclaimers enough for leechers like tv-links? Would it be illegal if I say, "go find some drugs in that bush, but wait..I'm not responsible for the consequences." Inappropriate? Yes. Illegal? May be.

But, video sites are untouched and arguably rightly so, the videos are user generated and the sites provide means to take the content down if the material is known to be copyright protected. But then how far are sites like piratebay, isohunt legal? They facilitate distribution of copyrighted content as well, and that too for downloading unlike tv-links. Oh, and don't forget sopcast and the whole list of p2p players (PPLive, CoolStreaming).

Agencies like FACT should've been smart. Certainly it takes lot more to upload something, find, link and index it than reporting or removing it. Sites such as tv-links tries hard to keep the links updated, so why not just exploit their knowledge and make it even harder for them by just reporting / removing stuff they update? Think feeds, this can even be automated!

Although, tv-links is gone for now, it only takes some right keywords and a decent search engine to get to everything you wanted. Perhaps "tv-links mirrors" ?

Younger, Nerdier Founders

Category: By AG
I smirk as I read this Paul Graham's essay on the future of web startups. He writes:
...founders can start them [startups] younger, when it's rational to take more risk, and can start more startups total in their careers...
This reminded me of my first business plan which I had prepared just after my higher secondary schooling, which I tried selling to any and all VCs and angel investors around the globe..from Fidelity, Garage to my dad and brother-in-law. It was a complete plan detailing the revenue model, parties involved, the split up of the fund requested, rough estimates on break-even point and much more. I had even registered a domain name, parked at Net4Domains! But, as you know now, the plan was not funded. But I had so worked on it!! It was so much fun :) If theres anytime I want to go back in my life..its this time. It was so much fun exploring and testing the waters..it was during these times I started writing for foreign publications, and doing crazy things like thinking of starting a startup!

Well, I don't think its too late to revisit the plan and rewrite it, I might get lucky this time :) Or may be seed fund would be enough this time. Of course, this time it would be much more fun and that too serious fun! :)


Category: By AG
Wow! Unfortunately I never completed movie Swades until today, that way I have a pretty long backlog of movies...I'm not prompt enough when it comes to watching movies.

As I mentioned in one of my previous blog, I'm spending some quality time of my life. I wish everyone gets to spend such moments. Early this month, my parents took _the_ flight from BOM to JFK, it was a long journey, very long, some not-so-pleasant, some almost breath-taking moments, an arduous journey..with pretty moments in between. I'm glad they are here...finally. They are glad they are here. While flying to SOSP last week I took Alaska Air. They are celebrating their 75th anniversary. One of their posters really touched me..it said "No matter where we go, we always remember where we came from." It showed a state-of-the-art boeing plane having a shadow of an age-old Stinson aircraft. I strongly and religiously believe in this. No matter what happens, never forget where we were, and what hardships we've been through to get here. Never forget the pretty faces on the way, could be your parents, friends, relatives, teachers, your own aspirations and ambitions, the ones who cheered you and pumped you to keep going. After all, I think, thats what humanity is, thats what is life. Look over the world, challenge and conquer it, but never foget the shoulders on which you are standing. In one of those stories that my mom reads during some devi puja on every thursday of that month..the gist of the story is (in marathi) "utu naye matu naye," that translates to when ultimately you get what you always wanted...never forget the way on which you came and the entities that supported you on the way...in other modern marathi words..."kadhihi maaju naye."

The theme of Swades is somewhat inline with this. The plight of the people shown is not mere artificial but an artifact of the rudimentary beliefs and socio-economic thinking. Mohan sees it all..his heart sinks heavily, Mohan goes back to his roots, he understands where he should be and what he should be doing.

One day, I will be Mohan!

SOSP 2007 Notes

All papers and the program can be found here: http://www.sosp2007.org/program.html

Listed here are my notes of the talks I found interesting:

Day 1

MashupOS - Microsoft Research

  • Inline modules in HTML currently exhibit all-or-nothing behavior. They can either run with no interaction with the other components of the page (iframe) or run with the same privilege as that of the page (script).
  • Introduce tags for allowing integration of unauthorized components from third-parties. This allows aandboxing external scripts running within a browser.
  • Used for multiple-principle sites pooling in third-party principles and integarting as one.

AjaxScope - Microsoft Research
  • For examining ajax execution remotely.
  • Uses a ajax proxy between the server and the clients to insert the instrumentation to debug, test and optimize the ajax code.
  • Injects javascript within the applications on the fly, to capture logs.
  • Logs are sent back for inspection.
  • No need to modify the client side code or browser.

Automatic Partitioning (Swift) - Cornell (Best Paper Award)
  • Javascript-like programming language for auto-splitting client and server side code.
  • Compiler decides which code should run where (client or server) based on security minimizing messages flow.
  • Handles security and integrity using annotations.

TxLinux - UTAustin

  • Transactional memory to be reality in Sun's new "Rock" processor.
  • Locks are difficult to implement and use in the code. Makes code complex.
  • Initial implementation to use transactions in Linux kernel. Not-so-easy to do due to legacy code and transactional-unfriendly code, especially involving I/O.
  • Implemented co-operative transactions, which dynamically choose between spinlocks and transactions depending upon conflicts and I/Os.
  • Easy to implement than complete lock to transaction conversion.
  • Transactions are made scheduling aware to eliminate priority inversion completely.


  • Variables are corelated, they relate to one or more variables.
  • Idea is to leverage the relation of variables statically and identify possible bugs.
  • Corelations are inferred by variable placement and distance between the usage of the variables.
  • These corelations and the frequency of variables occurring in groups is calculated, which is used to detect if the developer has forgot to update or initialize a variable.
  • Found real bugs in Mozilla.

Day 2

iComment - UIUC

  • Comments in the code could get stale or incorrect over time. They are often used to specify assumptions made by the piece of the code.
  • Idea is to leverage the developer's assumptions for verifying the correctness of the program.
  • Uses NLP, statistics and data-mining to derive a set of frequently-used words for detailing certain things, like e.g. that a function should be called only with the locks held.
  • Uses the decision tree to verify if other parts of the code ammend to the comments.
  • Notifies for a possible bug in the code or invalid comments.
  • No need to retrain or remake the decision tree across softwares since developers often use common words to siginify things. But can remake for less false-positives.

Sinfonia - HP Labs (Best Paper Award)

  • Every distributed systems involves a complex message-passing protocol taking into account failures and concurrency issues.
  • Idea is to have a framework which will deal with message passing and provide availability and concurrency guarantees.
  • Sinfonia provides minitransactions as a primitive for building a data-centric message passing systems like cluster file systems.
  • It takes care of load-balancing, fault-tolerence, coherency and scalability.

Dynamo - Amazon

  • Amazon needs key-value storage solutions, it built it for themselves with 99.9% availability.
  • It did not detail about how it measured 99.9% availability, but it uses distributed hash-tables with consistent hashing and versioning.

Integrating Concurrency Control and Energy Management in Device Drivers - Stanford

  • A solution of efficient energy use in sensor networks. Implemented in TinyOS.
  • Uses a power manager which drivers talk to for device-specific operations. The power manager handles the powering-off and powering-on of the device depending upon the requests.
  • Amortizes the cost of powering-on and powering-off by trying to do it less frequently.
  • Might as well be used for mobiles OSs and even generic OSs.

Day 3

DejaView - Columbia University

  • Personal desktop experience recorder - fast and transaparent
  • Virtual display driver to record the display on disk.
  • Uses accessibility features of the OS and applications to record the keys and clicks, which also provide meta info about the text (application, menu text, focus)
  • File system snapshotting for recording fs state.
  • Allows browsing, replaying and restoring application states.
  • Does not handle network connections.

I/O Shepherding - Wisconsin Madison

  • File systems are not flexible enough to mould to differnt deployments (servers, desktop).
  • Different reliability policies are helpful in different deployments.
  • I/O shepherd allows specifying reliabity policies by the file system developers and takes care of enforcing those.
  • All the I/O goes through the shepherd, it can do more I/O or modify the I/O as per the policies set for that I/O.
  • Allows specifying fault-detection and recovery policies.

Generalized File System Dependencies - UCLA

  • Writing individual policies, like journaling and soft-updates, for individual file systems is difficult and cumbersome.
  • Idea is to be able to write such policies in a fs-agnostic way.
  • Proposal is to handle each change going to the disk as patches. Each patch is a change going to a block of the disk.
  • Patches are linked together as per the enforced dependencies (certain writes may be needed to happen before some other write).
  • Policies then are implemented only dealing with patches.
  • Patches are merged and rendered unimportant when possible.
  • Allows easily write the policies and features and which can be applicable of any file system.

SOSP 2007 - Stevenson, WA

Category: By AG
Its been a while. Spending some good time overall. Not as productive as I'd like, but ya, quality time :)

VMware (also) sponsored 21st SOSP this year. SOSP is a biennial ACM conference on Operating System Principles. Undoutably its one of the presitigious conference in operating systems area along with USENIX OSDI. I was fortunate enough to attend both of these, once as USENIX student scholar and now SOSP with VMware.

SOSP, though OS-focused,I found very inclusive to accept papers on programming languages not directly related to OS. The talks were excellent and so were the papers. Most notable were TxLinux, I/O Shepherding, Featherstitch, Amazon's Dynamo, and HP Lab's Sinfonia.

Got some great research feeds, revived my aspirations of PhD, and of course met some really sharp people.

SOSP is known for the locations where it is held. This year it was at Stevenson, Washington, about 40 minute north east of Portland. Very small town with nothing much in it. But fall was at its best and conference host hotel was at an excellent location. Very well picked indeed. SOSP brought some good tourist business around Stevenson overflowing the hotels in the region. For the first night I reached Stevenson at around 11 in the night and the place on the banks of Columbia river with railway line passing right next to the lodge and the place was without phones and TV. I felt adventurous. Those were individual rooms spread across a small area. The dim lights and the red-indian interiors with patio and wooden roofs and floors reminded me of those canibal movies :| Fortunately I was able to move to the hotel where the conference was hosted for the remaining nights, and it was much prettier. The view from the lobby of the hotel was stunningly awesome!

I'm yet to digest the info gathered. Might post here my notes as well.

Hope to be able to go to future SOSPs as well :)

Cursor on Firefox?

Category: By AG
Press F7! Its a feature and an annoying one until you know about it. Its called "caret browsing." Well its been around for a long time..but I noticed it until recently, when I changed my keyboard for mercy of my hands and started pressing all the wrong keys! :)

More here: http://en.wikipedia.org/wiki/Caret_navigation


Category: By AG
Past 8 days have been pretty eventful - couple brand new US tourist visas, couple brand new Honda Accords, and a brand new IPO!! VMware (VMW) goes public today at NYSE, making (or in the making of) hundreds millionaire :) Good company to grow with! And me and my friend (minua) got a steal deal on Honda Accord!

Hail VMW!

A Busy Weekend (pun ;))

Category: By AG
Yanda Kartavya Aahe
Aga Bai Arechya
Pak Pak Pakaak
Kai Dyacha Bola
Shubha Mangal Savadhaan

(in no particular order)

Dombivli Fast

Theres nothing as entertaining as Marathi movies :D

Kase Sartil Saye - Notes and Chords

Category: By AG
Song mainly in Bb (A#). Other stanzas are same with slight variation within the Bb octave. I'm not too confident about the third chord, I've used Ab, I could be wrong.

To my saye ;)


Song: Kase Sartil Saye (OST)
Album: Divas Ase Ki (marathi)
Singer: Salil Kulkarni

Suffix '1'- indicates note from next octave and '0' from previous.

kase sartil sai
f a# a c1 a# a#

Bb (actually Ab cal also go here..but its Bb in OST)
mazya vina dis tujhe
f g# g f d#

Eb Ab Bb
sartana ani saang saltil na
d# g f d# d c d# d

gulabachi phula dona
a#0 c d d# d c

Bb (can also try Ab)
roj ratri dolyavara
c d d# f d# d

musu musu paani sang
d d# f a# a c1

Bb Ab Bb
bhartil naa..........bhartil naa
a# a# g# g f d# d c d# d


Bb Bb
Pavsachya dhara dhara mojatana disa sara
a# d c a# g# g# a# a# a# g#
(remember the notes are elongated)

Bb Eb
rite rite mana tujhe ure
g# a# g# g f f g

Bb Bb
otha bhara hase hase oratun vede pise
a# d c a# g# g# a# a# a# g#

Bb Bb
khol khol kona aat zure
g# a# g# g f a#

aata jara aali mili
f a# b g f

tujhi majhi yatha nili
f g# g f d#

Eb Ab Bb
sosatana sukhavun hashila na
d# g f d# d c d# d

gulabachi phula dona
roj ratri dolyavara
musu musu paani sang
bhartil naa..........bhartil naa

Two...and still counting.

Category: , By AG
Its been exactly two years now, since I came to US. They say if you count something it decreases in number. I wish thats true. Things have changed rapidly over the last year. Going back home in December was a heveanly relief. Something I'm again looking forward to and that too more desperately.

But, some hearts have broken - my H1 is approved. My hopes of going back home for couple months have been crushed :(

Now I'm at my third city in US - Manhattan, KS -> Boston -> Palo Alto. And every place had something to offer...and its hard to pick one out of three.

Recently I'm finding myself doing just two things - coding and playing music. Coding has always been my lunch and dinner, so thats not surprising. But music is taking my more than usual time..and its a rewarding pleasure :) Voila! (read violin ;)) I bought a cheap violin! I had initially thought I'd take lessons, but as I started playing it..I dropped the plans and now am just learning on my own. Knowing guitar kinda helps in learning violin. Violin is more intrigue than any instruments like guitar. You have to tune Violin every time you play it. You have to apply rosin to the bow which is made of horse hair before you can generate any sound out of the bow. Your hand aches when you hold the violin long enough. But it really has a soothing tone.

I hope I won't have such year counting posts often.

Research. Mainline or not.

Category: By AG
Recent examples of Reiser4, and RSDL/SD make it difficult to convince someone that they should work in an area to contribute towards Linux kernel and it will be appreciated. Work, IMHO, should be done for the sake of research and not with a goal of getting it included into mainline / upstream. If someone appreciates it or not really depends on whom you ask. Getting the work included in the mainline is no indication that it is of no importance, it just depicts that enterprise world is not benefiting much from that piece of code.

Ratatouille and the Baseball game

Last week my company gave away tickets to a matinee show and we bunked the afternoon's work for the Ratatouille show. Its really a cute movie. In general, I tend to like animated movies a lot. The whole idea of this rat aspiring to become a chef is so unique and crazy. They really did put it up very well.

And yesterday I sneaked into a baseball game between SF Giants and LA Dodgers at AT&T Park in SFO. Again, VMware arranged this for all the interns and their mentors. I could go because of a spare ticket by our team member. Although, TNT has beaten it to death, I'd like to add that I didn't really enjoyed it as much as I would've enjoyed for a cricket match. I feel these games are so very commercialized that watching a game is reduced to merely hanging out with friends and eating garlic fries. But the location of the stadium was awesome, the bay was in the background with some what huge ships and was surrounded by bridges. A nice experience though :)

Tum Pukar Lo - Notes chords

Category: By AG
Awesome classic song, one of my very favorites. This song sounds really good on mouth organ than on keyboard. I'm giving it a try. Do rectify if anything is wrong - after all, source is with you :)

Song: Tum Pukar Lo
Film: Khamoshi
Singer: Hemant Kumar
Notes: Western.
Chords above in caps; lead below in small letters

Suffix '1'- indicates next note from next octave and '0' from previous.

M0 (prelude - just lead, no chords):

F F F F G C1 Bb Bb Bb Bb G

Hmmm hmmm hmm...

(repeat first line)
F F F F G C1 Bb Bb Bb Bb G


Tummm mm mm mm
d b a g f

Pukar Lo
d g g g

Tumhara Intazaar Hain
g c1 b a g g a a a

Tummm mm mm mm
d b a g f

Pukar Lo
d g g g

Khaab Chun Rahi Hain Raat
g g g g g g f e d

Bekaraar Hain
d d g g g

Tumhaaaraaa aaa aaa Intazaar Hain
g c1 b a g d d g g g

Tummm mm mm mm
d b a g f

Pukar Lo
d g g g


Hoton pe liye hue
b b b b a b c1

Dil ki baat hum
b a c1 c1 b

Jaagteee raheenge Auuur
d1 d1 d1 d1 d1 d1 c1 b a

Kitni raat hum
a a c1 c1 b a g

Muktasar si bat hain
g g g g g g f e d

Tumse pyaar hain
d d g g g

Tumhaaaraaa aaa aaa Intazaar Hain
g c1 b a g d d g g g

Things so small ...

Category: By AG
- finally had my haircut after a month long delay

- finally my debit card arrived :D Now I can call home "freely"!!

- found a short way to bike to office saving me a mile! Now its roughly 1.2 miles now :) (1.2! isn't that awesome?) This way goes through a park and a hospital. Only for day-time use though, no lights at nights; but anyways going back home from office, which is 2.2 miles, is mostly a slope :)

- learned how to make an expresso with steam and without burning hands ;)

- got my first bug fixed!

la fete du Canada!

Category: By AG
Its turning out to be my best conference so far. I like techie talks, and in a city with a French touch celebrating its 150th anniversary as capital of the nation..its amazing!

My BoFS at OLS did go well..with more attendance than I expected, even though it was friday night. I had already started feeling feverish, may be due to insufficient sleep and wandering in cold weather because of some credit card problem in the Hotel I'm staying (I lost my only debit card I had and the one I applied for hasn't arrived yet). The day after my talk, yesterday, I decided to take half day off..woke up late and went to wander around only to see that Rideau Canal is celebrating its 175th aniversary and the announcement of Rideau Canal as a UNESCO World Heritage Site! The area around canal was transformed into early 19th century, with troops, bands, blacksmiths, ladies and men with the periodic attires.

After the transformed period, I came back to cutting edge stuff of 21st century with James Bottomley giving a keynote address concluding OLS on "Evolution and Diversity: The Meaning of Freedom and Openness in Linux." I have two cents in response to his talk, but later.

The talk was followed by party at one of the local pubs. With almost in ready-to-fall condition due to body-ache, I just showed up for a while and came straight to the hotel.

Today is the day! The Canada Day. There are events going on throughout the nation, and especially in Ottawa for its 150th anniversary as Canada's capital. The celebration party at the Parliament Hill in Ottawa goes with a tagline "149 years in making." Dressed in red troops on horses, band mainly of bagpipers wearing skirts and cavaliers in long fur cap with its belt going tightly across the jaw just below the lower lip performed in the Parliament Hill early this morning. To my very surprise, the stage performace started with a Punjabi song, fused by the European and Mujra (derived from Kathak) dancers! Probably the most spectacular was the SkyHawk planes display from Canadian Air Force saluting the Parliament heads and the National anthem. Was truly splendid!! I guess this is best time to be in Canada, and Ottawa!

Now, after a grueling 5 hour stand in a feverish condition, am relaxing in my room. Although I eagerly await the fireworks late evening today.

A toutes et a tous, bonne fete du Canada! (copied ;))

Ottawa Linux Symposium, Day I

Category: , By AG
My first impression of Ottawa was..royally splendid! Literally. I haven't seen any US city downtown as royal as Ottawa. Is it mandatory here to have country flag (or some such) on every building? I miss my digicam. The glittering night view of the city of Ottawa from 23rd floor of my hotel room shows the Ottawa river and some boats. I like cities based alongside a river.

The talks so far were OK, there are roughly 4 parallel sessions for 4 full days. This specific conference is mainly for seeing people face to face and knowing whom you're working with. People meet here with whom they work almost 24/7 but never see them. This is there chance to talk to each other in person. This is an upside of working in open source...you know lot of people and lot of people know you. Not by the face, by your name. Work speaks. OLS is, unsurprisingly, different from traditional technical conferences. Emphasis here is more on practical implications and talks have more of implementation details unlike other technical conferences. Companies fund such conference becauase they want to be associated with Linux, want to spread the word that they do Linux. Some others do to build open source communities around projects of their interest.

Overall the talks are good. Its like those redhat days..hackers with pony tails talking hardcore kernel :) And its good to meet and know people. Source has power..to motivate and innovate. I'm with open source.

Student, I am

Category: By AG
Laziness is the appropriate word for reasoning about my sporadic blogging activity. Although lot of shifting, moving and relocating could also justify why I didn't blog for the past month.

So, the OPT finally arrived and I headed to California as soon as I could. It was for Ramu and TNT, that I got a headstart in the bay area. Almost no weekend is idle since I came here.

Within couple days I ended up renting a 10x10 room in a 4-bed house. The owner James (kind hearted agedly American) lives in an RV and I guess makes his living by renting all his 4 bedrooms. The house is almost a garage-turned-into-house, with all the things James collected throughout his lifetime - books on cuisines, travel guides to as far as Thailand, antique knives, cryptic dated paintings and wall-hangings, couple couches, plenty cupboards, couple more couches, plenty lamps, couple VCRs, DVD / cassette players, a huge (almost 40 inch) TV with a barely-working remote. The house is unduly-furnished. Kitchen is well equipped..with every possible thing you'd need..and clean. Alongside is a nice eating area with a table with a window and a lamp..and a fat book on tours in US. Plus a backyard with a table, BBQ and lot of wood. All this is yours for less than 700 bucks a month. Mind you, you're right in the heart of Palo Alto and CA in general is expensive.

I'm yet to use kitchen and laundry. Only two things I do in my newly rented place is shower and sleep. Company I've taken up job with, VMware, is just 2.2 miles from this place and biking makes sense..in fact, its perfect in the CA weather. The company shifted to new locations within Palo Alto and the new place is right across the historic place - PARC, where many things were invented including laser printing, GUI, OO programming, and Ethernet. This place truly is a valley and after being in Kansas for a while its nice to see mountains around. Its a pleasant bike ride to and from the office.

I'm now loving this place..there are huge number of things to do and go. Last Sunday we drove to Lake Tahoe. Although its more scenic in winters, summers do no harm to the beauty of the place. Its splendid...especially the drive.

On the work side, its non-opensourse file systems for some time. But, efforts are on the way for stuff I'm doing be opensourced :). Its a nice place to be..and almost all the colleagues are from top 10 schools in the country. So some sharp minds doing some bleeding edge stuff.

Is work life supposed to be different? I don't think so..I'm still a student and will forever be!

And finally I also got my visa to Canada yesterday. I'm now definitely going to OLS :). I'II be hosting a Birds-of-a-feather session on my thesis topic - chunkfs. Will surely blog about it. See you at OLS!

Blogger 2

Category: By AG
100th post, new version, new look. Good enough to postpone my decision to migrate to some other blog site :)

Ext2 Number of Data Blocks

Category: , By AG
In Ext2, an FFS derivative, not all blocks associated with a file contains data. Some are used for storing pointers to the data blocks, called as indirect, double and triple indirect blocks. Finding actual number of data blocks from a given number of blocks associated with an inode in O(1) time I thought, wouldn't be that time-consuming. I was wrong. After spending almost entire evening few weeks ago trying to code it, today again I had to fix it for it wasn't correct! This is the fixed version, as of today:
* Do not count the {,double,triple} indirect blocks.
* While calculating ceiling, the result is subtracted because
* it is to be counted as extra number of blocks.
* [FIXME] This code hates sparse files, and the math is ugly
blkcnt_t block_count(struct inode *inode)
blkcnt_t blks, dind, tind, diff = 0, level, rem;
int addrs_per_block = (inode->i_sb->s_blocksize / sizeof(blkcnt_t));

/* see DQUOT_ALLOC_SPACE_NODIRTY and inode_add_bytes */
blks = inode->i_blocks >> (inode->i_sb->s_blocksize_bits - 9);

/* if has an indirect block */
if (blks > EXT2_IND_BLOCK)

dind = EXT2_IND_BLOCK + addrs_per_block;
if (blks >= dind) {
diff++; /* the double indirect block */

if ((blks - dind - diff) < (addrs_per_block * addrs_per_block + addrs_per_block)) {
rem = (blks - dind - diff) / addrs_per_block;
/* calculate ceiling */
if ((blks - dind - diff - rem) > addrs_per_block * rem)
diff += rem; /* indirects */
diff += addrs_per_block; /* indirects */

tind = dind + (addrs_per_block * addrs_per_block);
if (blks >= tind + diff) {
diff++; /* the triple indirect block */

/* calculate, number of double indirect blocks */
level = (blks - tind - diff) / (addrs_per_block * addrs_per_block);
diff += level * addrs_per_block; /* indirects */
/* calculate ceiling, here 'rem' stores remaining blocks */
rem = blks - tind - diff - level - (addrs_per_block * addrs_per_block * level);
if (rem > 0) {

diff += level; /* double indirects */

/* for remaining blocks, calculate number of indirect blocks used */
if (rem > 0) {
level = rem / addrs_per_block;
if ((rem - level) > level * addrs_per_block)
diff += level; /* indirects */

return blks - diff;

Userspace version. When I'II take technical interview next, this will be one of the questions :)

ChunkFS Git Repositories

Category: , By AG
I'm moving ChunkFS git repos from cislinux.cis.ksu.edu to kernel.org, which will contain the latest developmental code for ChunkFS.


Also, fuse-ext2:

The repos are web-browsable using a nice Gitweb interface:


Rebasing Git Branches

Category: By AG
While trying to rebase my git repos based on 2.6.18 to the latest kernel, I faced some problems. Initially I had started with 2.6.18, converted it into a brand new git repo locally and started doing my changes. Now rebasing to the new kernel is difficult with the default options available in git. Here, a tool called Stacked git comes in handy.

I'm not too conversant with either of the tools, so with some help from IRC and with some experimentation I was able to do it with the following sequence of commands:
# stg init
# stg uncommit -n
(this saves the commits as individual patches in .git/patches/<branch-name>/patches/ directory)
# git remote add linus git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
# fetch linus
# git checkout -b mybranch linus/master
(where 'master' is the current branch to which changes have been made, 'mybranch' is the new branch that will be created)
# git reset --hard v2.6.21 (to have a known good version of upstream)
# stg init (again)

Finally for every individual patch created in .git/patches/<branch-name>/patches/ directory with the step above, do:
# stg pick <patchname>@master ('patchname' is the name of patch)

A list of patches can be obtained with
# stg series -b master

The New Age of Entertainment. Part I

Category: By AG
While I await for my OPT to arrive before I start my full-time job, I have some time to kill apart from the projects and the regular stuff I've been doing.

Lately its been lot of movie and show watching. And its amazing to know today how satisfied an entertainment consumers can be. You just need a computer with an Internet connection and you are all set. There are plenty and plenty (and plenty) of sites offering free movies, tv shows and almost everything you'd want to watch. The major benefits of viewing media online are not only it allows flexibility in the time you spend watching, but it also offers you huge variety of entertainment options. That too with a viewable quality and most importantly without any commercials. Its like a dream come true for an entertainment consumer. And can certainly be said as a golden era for entertainment consumer. Today you can watch almost anything you demand, from the current tv-shows, to very (very) latest movies (shrek 3 released yesterday, now available on couple sites for free viewing), to any old movie or any old tv show that you watched in your childhood. Its just amazing. Whats more amusing is that many stuff online comes in a very good quality audio and video, even in divx quality on many sites.

The sites are plenty:

Whats booming all this? Wheres are the copyright laws? Is DRM dead already? (I wouldn't disagree that DRM won't work at all..but I have a post due on that.)

The main reason for proliferation of movies and tv shows are the gateways or "leecher" sites that do not actually host anything but just act as link-aggregators providing links to the content available on different servers. Its illegal in US, for example, to host any copyrighted content for unsolicited public downloads, so many leechers link content from servers outside US, like ouou.com in China. But leechers promote copyright violations and are thus illegal anyway. But more they are suppressed, more they sprung up..more in number and more powerfully. Leechers are small sites, (just may be a desktop machine hosting the site, and thats it) and many in number. If one gateway is shutdown couple more sprung up. And its a never ending benefit for the consumers. For the media companies, its more compelling to sue high profiting big-company-backed movie sites like youtube, that such leechers. But these aggregators are certainly creating a shift in the way the consumer consumes his dose of entertainment.

Consumer who have experienced this new age of online media, is becoming habitual about how he wants his entertainment dish to be served. Now he wants it when he demands it, good quality, ads-free, and possibly free (as in free beer). And he will likely to get it from now on. Music, media companies will have to work around to sort out things related to the digital media, and are already in process by legalizing downloads for a small fee.

PGP Public Key B24B7BA4 Revoked

I don't know how, I was not able to decipher an encrypted email using my B24B7BA4 key for my ksu email address. Ultimately after trying hard, I had to give up and revoke the key. Below is the revocation certificate.
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: A revocation certificate should follow


My new PGP public key is: 1024D/B0697E48 2007/05/18 Amit Gud <gud@ksu.edu>

Fixing Slab Corruptions

Category: By AG
A while ago, I was dealing with this unwelcomed bug. It was corrupting the slab with occasional oops.

The syslog looked like this:
Slab corruption: 094f77bc start=094f77c0, len=444
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0811de0f>](ext2_destroy_inode+0x41/0x46)
0f0: 6c 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj=094f75f4 start=094f75f8, len=444
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<00000000>](nosmp+0xf7fb7000/0x14)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj=094f7984 start=094f7988, len=444
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<0811dd90>](ext2_alloc_inode+0x14/0x52)
000: 36 8c 01 00 00 00 00 00 00 00 00 00 00 00 00 00
010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

First thing to do while detecting slab corruptions is to enable debug compile flags CONFIG_DEBUG_SLAB, and CONFIG_DEBUG_SLAB_LEAK. Also CONFIG_DEBUG_VM doesn't harm.

Each allocatable memory unit is called an object in the slab terminology. The first line of the syslog excerpt shows where the object starts which is corrupted according to the slab allocator. Slab corruption is detected while allocating an object. Typically, during unallocation the object is "poisoned" (a specific byte value is written at the entire memory of the object) and it is checked during allocation whether the poison values are intact. Thus, if some values are different, it indicates that the memory location was written after unallocation. There are 3 possible scenarios when this can happen:
  1. over-running the allocated memory - writing to address ahead of the end of the allocated memory

  2. under-running the allocated memory - writing to address before the start of the allocated memory

  3. using memory after freeing it

Wrong pointer arithmetic could lead to cases (a) and (b) above. In such cases, the "Next" and "Prev" objects specified in the syslog provide an indication as to where could be the leakage. The "Last user" in the syslog indicates the last function which freed the object. [<00000000>] or nosmp indicates that the object is not used yet.

Since I didn't had much pointer arithmetic in my code, it was likely that I was using the freed memory. The memory in question for me was for an inode. It was freed when all the referenced to it are dropped. Reference for an inode is dropped by using iput.

I audited all the iputs in the code but couldn't find any problems. iputs in my code are the ones that make the code complex. Typical file systems have just one inode per file to deal with, so usually no iputs are involved, as most stuff is taken care of by VFS. But in the ChunkFS case, lot more (continuation) inodes and hence lot more igets and iputs.

Next was to sprinkle printks around to know whats going on. That didn't help either, only it took me more than a day to figure out of piles of logs what is exactly happening and if anything absurd is going on, or if there is any particular corruption pattern. It is stressful as well as fun to build a mental map of the execution paths and the likely values of the variables just by seeing the log. Good, it was (almost) all single-threaded.

I figured that slab are mostly corrupted during creation of continuation inode for directories and in an desperate attempt to fix it fast, I resorted to a debugger. Theres a reason, btw, why theres no debugger in the Linux kernel. Debugger makes developers lazy. They inspect code no more to look for problems but quickly turn to debugging them. While debugging, I looked at the code and I saw where the problem was. I somehow didn't audited the code close enough to catch it. This patch fixed it:
@@ -264,10 +266,10 @@ static int chunkfs_mkdir(struct inode *

d_instantiate(dentry, inode);
- if (parent)
- iput(parent);

if (dentry->d_parent->d_inode != dir)
+ if (parent)
+ iput(parent);

return err;

In the code, variable parent is equal to variable dir if a continuation inode is created while creating a directory.

The Graduation Walk

The defense went pretty well. Was on 2nd May. The thesis looks decent, although I felt I should've had another month or so to be satisfied with whats in there. But, nothing stops me from continuing the project further and keeping thesis updated.

The week after defense was pretty much doing changes suggested to the draft and giving it finishing touches. And yes, dinner with the family of my major professor Dr. Daniel Andresen, once at his house and once in a mexican restaurant.

And finally, I take a graduation walk today with a Masters of Science degree in Computer Science.



"If I have seen further it is by standing on the shoulders of giants."
-- Isaac Newton, Letter to Robert Hooke, February 5, 1675

It would be an understatement if I say I would like to extend my profound thanks to my major Professor Dr. Daniel Andresen for all the support and guidance throughout my Masters and thesis. I have learned a lot from him, both on the research and non-technical side, and all that will help me in my future. And I would also like to thank him for being generous for allowing me access to Nichols 119 lab, where I spent most of my Masters life.

I would like to thank my committee members, Dr. Gurdip Singh and Dr. Mitchell Neilsen for being patient while I worked on the thesis topic and also for supporting me during my Masters. Special thanks for the excellent graduate-level courses they offered.

I would like to extend sincere thanks to Valerie Henson for having faith in me while I explored the topic in the thesis further. Without her constant support and positive energy this work wouldn't have been possible.

I owe a lot to Rik van Riel for having enormous confidence in me and this idea. I was glad to have interacted with him on numerous occasions discussing ideas and learning. He was the guy I would run to whenever I had problems. I thank him for all his support. I also thank him for introducing me to number of Linux file system folks. I would also like to thank Arjan van de Ven, Zach Brown, Peter Staubach, Garth Gibson, and Stephen Tweedie for sharing their thoughts on this topic. All of the input was crucial.

Also thanks to Dave Jones and his blog that allowed me to have a wonderful summer in Boston interning with Red Hat, Inc., from where this work fruitioned.

On personal side, I would like to thank my parents, to whom this work is dedicated, for their unparalleled care and love. I hope, with all my work throughout my Masters, I'm able to make up for at least something for the time that I could not spend with you. Also I would like to thank rest of my family for all the laughter and being with me during all my times throughout my education so far.

I have thanked just a small fraction of people who have been instrumental for shaping my career so far and I ask forgiveness from those who have been omitted unintentionally.

Thank you all!

[RFC] ChunkFS: fs fission for faster fsck

Category: , By AG
I had pre-decided to send out the code on this day. Very early morning I posted it out on lkml and linux-fsdevel. Though its far from anything even usable, its out just to get some eyeballs and help me decide hows it going. Meanwhile I'm trying to get some test results and write remainder of my thesis.

Nothing special today, except for the mundane work :) Happy birthday to me.

PS: Oh, yes, I made up the subject of the patch a moment before sending it, previously I had set it to "divide your fs for faster fsck" or something.

Knowing People

Category: By AG
I incidently came across a random profile on Orkut and started thinking how sweet people are who take pleasure in doing simple things, who like being simple...and at the same time care for not-so-fortunate people around them.

Also, a very good story on the lives of diamond diggers of Sierra Leone. Thanks Viv!

All this and many other things reminds me that how greatful and thankful should we be of our lives and at some point we should definitely put part of our time and energy to the use of such not-so-fortunate people (windows users included ;)).

Those continuation inodes

Category: By AG
So far, though I've been quiet lazy, coding kernel chunkfs didn't feel like a very big task...things pretty much falling in right places. The continuation inodes are working fine now...both the cross-chunk links and the file spanning multiple chunks. Ripping off the existing ext2 driver was probably a good idea to shorten the development time drastically, and still get all the ideas implemented. Need to soon wrap-up writing the dissertation!

As flat as Kansas

Category: By AG
Its the end of spring break and I can wait no more to write a post about our Colorado trip that we had last weekend. I was waiting for photos so that I can put some here. But nevermind, posts doesn't cost any :)

Since I don't have any courses this semester, I don't have much a feel about spring break this year, except for the fact that libraries close early and theres unusually small number of people moving around.

Being in KS and not visiting Colorado is foolish! So, to avoid ending up in that category and to get out of this flat land, I and my prodigal roomies decided to drive to Colorado Springs, which turned out to be a heavenly experience. It was as beautiful and scenic as it could be! I think this is really a very good time to visit places like this..when the mountains are still covered with snow so that you can do all the snow adventures, like skiing and all..but at the same time don't have to shiver too badly due to bad weather. The weather was just right..no problems whatsoever.

The world's highest suspension bridge, the Royal Gorge, which connects two gigantic mountains with a small stream of river and a railway line right in the heart of the valley in between. Seeing down from the bridge is scary! Especially seeing down from the crevices of the wooden planks of the floor of the bridge! But whats scariest is the "world's most scariest ride" (one of my friends told me..no official confirmation on this - but experiencing it makes you realize it is ;)). Its kind of the swing, except that its right at the edge of a mountain and you swing half way through the 1400 feet deep valley. I partnered with suppu for this joy ride. Most heart throbbing part of the ride is when you are lifted to a height on the ground side attached to a rope on your waist and at the count of 3 asked to pull a trigger that is on your right hand side. The moment you pull it, you head straight towards the valley with about 60 kmph! Its like pulling the suicide trigger! Fun!

Most of the stuff that we had cooked (batata wada, sabji, and some gujarati yummy thing I don't remember) for ourselves went bad due to our stupidity of letting it exposed to sun, while we did these adventures :(

Amongst the 4 days in all, 2nd day we spent at the Garden of Gods. And the rest at Estes Park and Ice-tubing at the Summer Gardens respectively. Each passing day we felt today was more fun and wonderful than yesterday! The entire trip was fun-filled and filled with stomach-aching jokes and raptures! Though everyone had in their minds, we all buddies will be floating distant places like wooden blocks on the ocean in couple months time.

I must admit that this trip brought me real joy! I'm glad I was there! :)

Debugging in UML

Category: By AG
User-Mode-Linux is a blessing for file system developers. Have been using it quiet some time now. But lately, for some reason breakpoints won't work in gdb. The execution just didn't stop at the breakpoints. I figured an alternate way to make the execution stop. Let me document it before I forget this again ;) It works like this:

$ gdb ./vmlinux
(gdb) handle SIGUSR1 pass nostop noprint
(gdb) handle SIGTRAP nostop noprint
(gdb) run

Above commands tells gdb to pass the SIGUSR1 signal to the program but don't pass SIGTRAP. SIGUSR1 is used by UML internally. Recall that, SIGTRAP signal is used by the debugger to stop at various execution points in the program that is being debugged. So we don't want this signal to be passed to the program. After this, simply run the program, assuming that you want to have a breakpoint later in the program.

When you want to have a breakpoint to be placed, signal INT to the debugged program, vmlinux is this case. This can be done by firing up another terminal and giving following command:

(gdb) kill -INT <PID>

where <PID> is pid of first vmlinux process running (there are usually multiple vmlinux process spawned by UML). With this gdb will give you a prompt where you can set up a break point, e.g.:

(gdb) b ext2_fill_super
(gdb) continue

And continue executing. Execution will stop at the set breakpoint.

If you want to have breakpoints right while the kernel boots, pass the INT signal as soon as you run the program in gdb.


After almost 4-5 freezing months, finally today we were able to get our cricketing gears out. We usually play outside our department on the roads. Only 4-5 of us used to play, but now number has increased. But while bowling today, I think I got a muscle pull on backside of my right forehand and so whole of my right forehand and even the palm is in pain :| This pain reminds me of pain I used to have when used to play dhol and dholki whole lot during Ganesh festivals, when my hands used to ache for whole nights!

Top Post or Bottom Post?

Category: By AG
One of friends asked me why I bottom-post, i.e. while replying to emails why I put my text at the end of the email. I started out as a top-poster back in late 90s, but got a bump when I came to know that top-posting is a bad idea, and there are reasons why to bottom-post.

Bottom-posting with message trimming is in fact very effective way of reducing chaos in email communication. Bottom-posting is actually a special case of inline-posting, where replies are interleaved with the previous email's message. Firstly bottom-posting provides a logical flow to the discussion in the email. It makes sense to have answer below the question instead of the other way round. Secondly with bottom-positing, the part of the message that is irrelevant can easily be trimmed away leaving just the part of the message to which reply is to be written, thus long scrolling can be avoided. But there are exceptions to this.

On the flip side, top-posting allows easy reading of the latest reply, but not necessarily indicating what part of email it is referring to. Another plus point of top-posting is that the entire scroll to the bottom of the email is avoided.

Though it indicates bottom-posting makes sense (atleast to me and some others; in fact many others..there are many mailing lists where top-posting is a breach of etiquette), corporate emails and most email users in general top-post. This is mainly because most popular email clients - Microsoft Outlook and Outlook Express in particular place the cursors right at the start of the replies instead at the end. And people are stuck with it. If most of the people top-post for over so many decades now, it does not mean it is the right thing. They are simply misleaded.

Talking about the exceptions, top-post sometimes can be useful. Actually its common-sense in deciding whether to bottom-post or top-post while replying to emails.

Top-post *ONLY* if:
- replies are really short like yes or no and they refer to previous email in its entirety and it is unlikely to have another reply to this reply
- when thread so far has been using top-post, so just to go with the flow without a possible breach of etiquette

Or else, by all means bottom-post!

It matters when email is THE basic communication medium of the age.

PS: wow, this fills in the gaps: http://www.caliburn.nl/topposting.html

At half a dozen decades of life

At every stage of life, theres a struggle. Years keep flying away and an average man keeps slogging for most of his life - tackling problems which just seem to manifest themselves in different shapes and forms after every while. After all this, whats important is to have uncountable number of people having goodwill and a word of praise for him...for they have seen it all - all his struggle, and all his success.

My sis just sent me some snaps of celebration of my Dad's 60th birthday. They missed me, but they didn't wanted to miss out on the occassion and so had a house full of people - my whole family, its a big one! He turned 60 on 25th Feb.

Tales of his struggle which I've heard from my mom and his friends have inspired me for most part of my life. At my 60, like him I want to look back at life and say with a smile of wisdom and satisfaction and with a benign glare...wow, what a thrilling ride! Lets go further!


Category: By AG
Why can't I sleep early, even with a big-enough dose of Nyquil? I'm not an insomniac! But I think its those hot waves that dash against my eye-lids thats keeping me from closing them. (no, "<ESC> :w" doesn't work here...its not vi, its blogger!, are you sick?!?) BTW, coding actually works even when you're dizzy..and feeling sleepy, though not recommended! Could make you yearn for your sleep.

If you feel like having some temperature, and / or have body-pain lasting for more than a couple days and even if you've not taken health insurance and have tons of thesis research / coding to do...with actual write-up nowhere in sight.....take a FLU shot!

Nishabds' Rozana musical notes

Category: By AG
This is my first attempt to publicly post any song notes. I tried this on my CTK-411 casio. This song seemed pretty simple one...seems BigB can actually sing in almost 1 & 1/2 octaves! The whole song is around chords C# and F# as far as I see...but even C# sounds OK even if played throughout. F# is particularly used when note B is used. I've borrowed the lyrics with some modifications.

Music is beautiful, in the sense its again open-source...you just need to have the right decompiler - and its yours to keep and use. I'm working on mine :)

Enjoy the song! Corrections, suggestions welcome :)

Printer-friendly version here.


Song: Rozana OST [Nishabd]
Film: Nishabd
Singer: Amitabh Bachhan

Major chord: C# (Sa in the classic notes)

NOTE: C#+ means C# in the next octave and similarly
A#- means A# in the previous octave

Rozana Jiye Rozana Mare
Teri Yaadon mein hum

Ungali teri thame hue har lamha chalta hoon mein
C# C# C# C# C# C# C# C# C# D# F D# C# C# F

Tujhko liye ghar lautu aur ghar se nikalta hoon mein
C# C# C# C# C# C# C# C# C# D# F D# D# C# C# F

Ek pal ko bhi jata nahi tere bin kahin
F F# F G# F F# F G# F# F# G# A# G#

yun raat din bas tujh pe hi bas tujh mein hi
F F# F G# F F# F G# F# F# G# A# G#

Lipta rehta hoon mein
F# A# G# F# F D#

Rozaana 3
F F C#

ummmm rozaana
D# F F C#

Rozana Jiye Rozana Mare
G#A#G# FC#+ G#A#G# F#C#+

Teri Yaadon mein hum
A# A# C#+ A# G# G#

Rozana Jale Rozana Ghoole
G#A#G# FC#+ G#A#G# F#C#+

Teri Yaadon mein hum
A# A# C#+ A# G# G#

< same as above... from ungli to ummmm >
Har din teri ankhon se Duniya ko takta hoon mein
Tu jaise rakhti thi ghar vaise hi rakhta hoon mein
Teri trah sang sang chale yaadein teri
Yun har ghadi baaaton mein bas
Baaton mein tere
gumghzaa Rehta hoon mein
Rozaaana 3
ummmmm rozaaana

Kuch gaao to yaad aaate hooo
C# C# C# D# F D# C# A#- A#-

Gungunao to yaad aate hoo
C#C#C#D# F D# C# F F

Kuch phehnu to yaad aate hoo
C# C# C# D# F D# C# A#- A#-

Kahin jaau to Yaad aate hoon
C# C# C#D# F D# C# F F

Kuch khone pe yaad aate hoo
F# F# F# F F# F A#F# F#

Kuch paau to yaaaaad aate hoo
F# G# A# BC#+sss B C#+ C#+

Rozana chale yaadon mein teri
B C#+ B G# C#+ B C#+ B G# C#+

Zindagi ka safar
A# B C#+ BA# G# G#

Tujhse hai roshan tujse hai zinda
B C#+ B G# C#+ B C#+ B G# C#+

Yeh dil ka sheher
A# B C#+ BA# G# G#

Yeh dil ka sheher
F#A# F# F D# D#

F F C#

May the source be with you.

Freezing Valentines (belated)

Category: By AG
13th was a long day. Starting from sunny beaches of LA, Santa Monica, I flew towards the snow deserts of Pittsburgh via Cleveland. Landing at Cleveland was a memorable one. It was cloudy, snowing and windy with just a quarter mile visilibility. The plane was descending, but we couldn't guess where. We could not see anything until almost we actually touched the ground. The passengers actually cheered and clapped for the pilot for a safe landing!

The connecting flight to Pittsburgh, however, was cancelled, and I had to stay overnight in Cleveland. Found a cheap place and stayed over. Never saw so much of snow before..the ride to the hotel was almost driving through a river covered with snow.

I had an early morning flight, as it was scheduled, but I was wandering around the airport until early afternoon..since the whole airport was on a ground stop. Ultimately Gary, an elderly person I met while going to the hotel last night, and I decided to pool-in a car and drive down to Pittsburgh. We found another couple who were stranded like us..and they wanted to join us as well.
So it was fun drive..with no stoppages at all..except during getting our car out of the parking lot of the rental office, where it got stuck in knee-deep snow. We had to get out in chilling wind and shovel the snow and push the car to get it started. The rest of the ride was smooth, thanks for the turnpike. Equally long 14th ended with a sandwich watching movies on HBO in Pittsburgh.

BTW, bumped into couple real-super treat for the ears -

'Saang Sakhya Re' by none other than Sandeep Khare and group -

This group's previous albums 'Ayushyavar Bolu Kahi' and 'Divas Ase Ki' is also a delight (some songs, if not all) and for the most part couple songs in this new album are upto the expectations. WARNING: Could put to sleep if listened while making broken code work ;)

Nishabd's Rozana by BigB -

Thanks Sandhu for pointing me to this, had listened to part of it in a trailer while in India, but the complete song is a treat. Its not just the voice of BigB that makes this song special (I wouldn't argue if someone else would've sang it better), but both the lyrics and the pace of the song are good.

The raaga.com copy is apparently broken. But both the above albums can be downloaded gratis at www.cooltoad.com :)

The Lag

Going back home is truly rejuvenating. But again departing back from home is not-so-good feeling...and as one of my friends suggested, I just didn't think (much) about it as I was departing...exactly a week ago. This vacation have left with me tons of memories which will serve me good for a lot of time to come.

What really impressed me in this vacation about India in general were growing (and high paying) jobs and bollywood music. But degrading work quality in the IT companies and growing disinterest among new generation to have higher education is something I felt sad about.

Even after a week, as I sit here in the Hale library sipping french vanilla, I feel my home is just somewhere round the corner of the road thats outside this huge window I'm sitting besides. I now feel home is more closer to me.

Happily, coding is my main task this semester apart from TA task of a graduate course which, interestingly, I haven't taken...so some classes as well.

BTW, marathi song collection at dhingana.com is good to get over the jetlag (neat interface and nice collection is something I really liked about this site, plus the audio quality is pretty descent...and all this without any stupid ads - thanks sis for the link :)), which I'm still troubled with. I was recently told by a professor that on an average it takes an hour a day to get over the jetlag. So it seems its 5 more days for me.

Welcome to Life!

Its been over a month I came back to my home after a year and a half long wait. I would disgrace my feelings of those precious moments I've been through if I try to narrate those here. Only thing I can say is life comes with all the shades...you have to wait and be patient to see them all and enjoy the ride.

More later. The home landline is dead as usual, and I'm using some net cafe connection, and its time to go.