Friday, September 28, 2007

Life as a PhD student, is not without its ups and downs. The big up being that you get to do pretty much whatever you want for a few years and almost reliably come out looking cool in the end. Of course some of you may debate if the whole 40-year old virgin look is cool, but lets not go there. One of the upgrades these days, Pooja ki meherbani, is my cool new phone a Cingular 3125 -

Of course, this is just a poor grad student version of her cool phone. My other Windows Mobile based gadget that I used is my little iPaq hx2495. When getting a phone with Windows on it, I was a little apprehensive. Afterall I had to keep rebooting (soft reseting) my IPaq every now an then. So far the phone has been pleasently functional with very few, in any, annoyances. I wish the alarm was a little louder and such... Its also a strange feeling to have a phone that truly talks to your PC. Since I got this, I have been paying attention to my Contacts list in Outlook, sometimes even assigning pictures of people and such. Most of my previous phones were just that, phones. Here is somethng that begs to be hacked with. Nice.

One huge downgrade of being a poor grad student is that you are poor. Most of the time, I couldnt care much for it. I am usually having too much fun to notice being poor. Except that you cannot buy that cool new lens that you'd like and such... but well. The poverty really strikes you when something comes up - something has come up - dental problems. The university student insurnace doesnt cover dental and boy, is it expensive in this country.With the slightest thing running into several hundred dollars, I wonder how most medium salary working people afford dental bills here. And there are few things as maddening and just downright painful like a toothache. I sort of miss being of in India in regards to all things medical where one could expect to walk in and get treated without an appointment, and most of the time end up with an affordable bill (atleast for most common place ailments).

These days I seem to have a quiet a bit of free time on my hands. This semester has been nowhere as busy as my previous ones. I am yet to start on any major pieces of work. Hence there is lots of time to blog. I am looking to get deliciously busy again. I have a job teaching operating systems this semester, imagine that. The professor in concern does a fair bit of travelling, so I do a large number of his lecture sessions as well and assist people in writing parts of the OS that they have to work on for their assignments and such. They just finished implementing some synchronisation primitives last week, they are going on to implement basic user space process support, system calls, some IO calls and some process management API (fork, exec, waitpid and such) in the coming weeks. Grading these sorts of things are tricky, especially in the context of partial solutions. Not every one gets things done properly, how do you really gauge the value of a partly working fork() system call? Fun fun.

One of my favourite places in Bloomington is this little coffee shop called Soma. The only really bad thing about Soma is that they ask you to leave at 11.00 pm. They need to close apparently, what a lame excuse! Some days I drag myself unwillingly to a nearby Starbucks that is open overnight. A t-shirt that is for sale at Soma says "No Corporate Aftertaste". Right. Sometimes at Starbucks, on some nights, I run into Abdulaziz Ghuloum. Aziz gives me his usual smile which says, "Look here is Mr. I-Dont-Go-To-Starbucks".

Aziz is usually upto hacking his Scheme compiler, Ikarus (maybe the only one that may compare with Kent's Chez), or is engaged in some intellectual activity broadly (very broadly) related to his compiler. I remember one of these occasions when I found Aziz peering intently at this paper and I made the mistake of going over to ask what he was upto. He was trying to solve this Sudoku puzzle. "I am trying to solve it without writing anything", he says. "Its fun, join me". Big mistake, the next we know its 5 in the morning.

The other night, he was standing around smoking and I was standing around pretending to be smoking (I dont smoke, yet) and he says, "There is something strange about R6's exception semantics". "What?". R6 is short for R6RS, which is short for Revision 6 of the Report on the Algorithmic Language Scheme. In turns out there is something truly strange about Scheme's new exception handling mechanism. The textual description in the report makes almost no sense. Fortunately, very unlike Schemers, they included a formal operational semantics. A short while later we had an implementation of R6's exception handling implemented in about a page of code. I should write about this sometime, it is truly strange - if I knew what they were smoking when they did this, I might consider smoking too. There are one or two things about the way it interacts with stacks that would make a C#-Java programmer weep. (The C++ programmers are weeping all the time anyway.)

Work-wise one of the things I am being drawn into is thinking about macro-systems. More specifically, combining macro with types. Some of it looks truly interesting and maybe of some lasting value. This is also a rather strange space. Thinking about the issues underlying staged evaluation makes thinking about the semantics of control effects a walk in the park. Things like call/cc, shift-reset seem man-sized in comparison to the juggernaut of staged evaluation.

What do I mean by staging? A good approximate is to think about those times when you generated SQL queries from a host program, say a C# program. How did you generate that query? You pieced it together using substrings to make up a string that represents your query. Getting the syntax of the final query right is your sole responsibility. C# does nothing to check this for you. Even if the syntax is correct, making sure that your query is typed correctly (that it used the right fields for the right tables and such) is completely upto you. Can we do a better job? In other words, given a host language and a target language, can there be better gaurantees provided in the host language for generating code of the target language? Things like LINQ and its associated quotation mechanism is an approximation of a solution in this direction.

The situation however is a common one. Almost of every web application has to deal with the nightmare of generating client side javascript, html, sql code and god knows what else. Every language with eval encounters this. Most non-trivial macro systems face this and so on. 

 I spent a major part of last week trying to study some of the related work that has already been done. One significant piece of work, that is obviously relevant, is Walid Taha's MetaML, MetaOCaml and Environment Classifiers. Another one that I personally suspect is related is Barry Jay's Pattern Calculus. I dont have a concrete enough argument to make about this connection, so I am generally silent about this for now - atleast until I can better articulate things.

Trying to understand the type theory behind Walid Taha's Environment Classifiers has been rather mind-bending. I was shocked that someone could do so much thinking for just one paper. After spending a few nights poring over the details of the type system, and not getting too far, Aziz tells me, "I think he is Egyptian". It then made a lot of sense to me. I have been having a hard enough time trying to keep up with the one other Egyptian I know - my advisor. I was begining to see a pattern here.

So at approximately 3 at night (or morning), knocked high on caffeine and toothache and type theory, I have the vision from several thousand years ago. With a slightly smug expression and a questioning eyebrow the Egyptian architect looks at the newly constructed pyramid at Giza, his eyes slightly disappointed. "Is this all we can do?". At approximately the same time, my own avatar at Mohen-jo-daro looks rather pleased. He addresses his confused looking brethren and says in ancient avestha-sanskrit with a slight tam accent, "Yand frends, We will call this a Drain." :)

A couple of days later my advisor, with a rather sympathetic expression, explains to me that this was Walid's PhD work and it took many years of refinements even after his PhD which culminated in the Environment Classifiers paper. Whew! This definitely helped my Mohen-jo-daro alter-avatar feel better. So after he invents the drain, he goes home, has a nice supper, samples some soma and then proves P = NP.

 

Humko maloom hai jannat ki haqeeqat lekin,
Dil ke khush rakhne ko, Ghalib, yeh khayaal acha hai

Friday, September 28, 2007 12:09:16 AM (Eastern Standard Time, UTC-05:00)  #    Comments [5]  | 
 Sunday, September 23, 2007

I have been reading this Ansel Adams classic at a leisurely pace and have been enjoying it greatly. He uses the word "make" as opposed to "take" for the photographs he creates. And truly, what wonderful photographs he makes.

From the chapter on "Rose and Driftwood":

Most of my photographs made before 1930 were of distant grandeurs. But as I learned the inherent propperties of camera, lens, filters and exposure, I also gained the freedom to see with more sensitive eyes the full landscape of our environment, a landscape that included scissors and thread, grains of sand, leaf details, the human face and a single rose.

I am begining to see this difference in 'making' pictures, I am only begining to make mine, though I have 'taken' many.

Sunday, September 23, 2007 10:26:22 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Last night I attended IU music school's rendition of Giuseppe Verdi's Rigoletto. I came away relatively unimpressed. The last time I saw Rigoletto was at the Cambridge Corn Exchange at Cambridge. It was by Ellen Kent and The Chisinau National Opera in collaboration with The Ukranian National Opera of Odessa.

I am not quiet sure what was missing. My memories of the performance at Cambridge were that it was bolder, a lot more heart rending and passionate. The humilation of Countess Ceprano, Count Ceprano's curse, Rigoletto's reaction all set the stage for the rest of the story to unfold elegantly... the whole atmosphere they setup was so much more lively. At IU I felt that they missed something in the beginning and everything else felt watered down as a consequence.

That said, there was some good talent at IU. Also the stageprops and costumes were so much grander that what they had at Cambridge. I bit the bullet and bought center orchestra season tickets to the opra at IU. The next one is Susannah.

Sunday, September 23, 2007 10:37:17 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
 Saturday, September 22, 2007

I have been seeing this guy outside my apartment for the past 2 years now. Every once in a while I see him dart under the bushes or wait apprehensively to see what I would do. So the other day when I saw him looking rather relaxed on the grass, I decided to shoot him.

Canon 350D, Canon 70-300 4-5.6 IS at 300mm (35mm equivalent is 641mm!!), exposure 1/250, f/5.6, ISO 1600, handheld.

Btw, he is not just any rabbit, he has a name - Jack.

Saturday, September 22, 2007 1:03:09 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
 Wednesday, September 19, 2007

 

This is an antique shop in a little west of the Bloomington town center. I have never really seen this store open - it has been closed everytime I passed by. I have wondered about this building every time I have passed by. Its a bit of a spooky building and I was wondering if I might be able to hold our weekly Programming Languages group meetings in there, the building would lend a nice ambience to our usual topics - dependand types, syntactic abstraction, denotational semantics and such.

This is also one of my first 30 sec exposure shots. It was taken with my 350D at 10mm (Canon 10-22mm) , f/8.0, ISO 400 and exposure time 30secs. I didnt have a tripod on me that I would like to use (I really need to get another tripod, one that can support the weight of my camera and which is a ball-head instead of the maddening mutli-directional adjustment thing), so I had to set the camera on the ground with the lens facing slightly upwards. Also it was so dark when I was taking the shot that the autofocus completely failed and I could not tell if the structure was in focus or not using the manual focus. The view-finder on a Rebel XT leaves a lot to be desired.

For a long time now, I have been taking pictures without knowing the details behind many things. Of late I have been looking at some photography books to better understand the technicalities and boy, has it been fun!

 

Same settings as the previous shot, but with -1/3 stop exposure bias.

Wednesday, September 19, 2007 4:10:18 PM (Eastern Standard Time, UTC-05:00)  #    Comments [3]  | 
 Tuesday, September 18, 2007

For a while now there is a fly living in my apartment. I dont know how it got in there - I usually keep the windows closed (and even otherwise they have screens on them). Anyway, I was cooking the other day and there comes this fly zooming into the kitchen. Thats when I saw it first. I was making pasta, nothing too funny.

I dont quiet know what to do about it. Its one of those fast ones with a not-easy-to-ignore buzzing sound. And it just wont still, it insists on flying around. I have tried, unsuccessfully, to swat at it and such. I am not sure what to do ... spraying it with something like my deo doesnt feel like a nice thing to do. Also, I dont see how it can possibly find its way out.

I finally found somethng that gives me some peace, I can shut it in the bathroom - it zooms in there to annoy me when I go in. I let it out when I go in and then try trap it back in there again. Lets see how long this game continues.

Tuesday, September 18, 2007 5:56:39 PM (Eastern Standard Time, UTC-05:00)  #    Comments [5]  | 
 Saturday, September 15, 2007

Srikanth Chunduri visited me this weekend. The last time we met was in Hyd 3 years back. These days  Srikanth is up to living the life of a fast paced New Yorker in the financial district. He introduced me to some music from XLRI... enjoy.

 

If you don't understand Hindi, I would advice that you don't go about singing this without having checked the meaning of the lyrics with a friend. Enough said.

Here is another piece, which I would rather not embed on my blog:

http://www.youtube.com/watch?v=y_KT3sMR4CY

Enjoy.

Saturday, September 15, 2007 2:38:43 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2]  | 
 Friday, September 14, 2007

After what should have been a brief hiatus that turned into a 4+ month vacation in India, Pooja returns to the land of McDonalds and "What's up?".

Pooja is not going to be Bloomington anymore - she is done with old IU - she is going to be at Seattle, working with the software company commonly known as Microsoft (again). With one small difference this time - Pooj is going to be a dev!

Friday, September 14, 2007 9:37:31 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2]  |