It has been an eventful month and a half. Taxing, draining and testing. Perhaps there has been no other time when I have had to control so many pressing parameters of demands and desire. It is as though one is thrown into a rough sea and asked to surf a way to calmer waters, even if the fury of the waves tosses you frequently into the bitterly cold air. Yes, you cannot control extraneous factors beyond your command. The icy blast of the gusty winds and waves cannot be controlled. But perhaps you can fashion your reactions the right way, landing on both feet every time you are tossed and hurled. It is not so much those things beyond your jurisdiction that matter, as much as your meaningful and clearheaded responses. Each such response is a feather in your crown, a lesson for your personal and invaluable learning machine. The treacherous waters will pass, and you are the richer because of what you learned.
I have a strong and abiding belief in the goodness of what I have experienced at Carnegie Mellon. Each experience that I have here seems to convey a meaning. A purpose. It is not by accident that I continue to meet extraordinary minds that challenge me to go where I have not gone before. How this happens – this uncanny set of coincidences and chances that keeps pushing me – is hard to explain. There’s no logic involved in it, except perhaps that when you get to know good people, only good things are bound to happen.
Schmoozing with agile evangelists at OOPSLA
This was the first time I’ve ever been to OOPSLA. My first ever visit Orlando Florida, and my first visit to the Disney Resort where the conference happened. This is the ACM special interest group for Object Oriented Programming, Systems, Languages and Applications. The disambiguation is crisp and almost precise. OOPSLA has been the primary venue where many of the great things of our time in computer science were born. It is here that object-orientation took shape, where design patterns were first created and where agile development as a methodology was first presented. Joining Professor Jonathan Aldrich‘s team of researchers at this conference was special. Representing CMU was even more special.
Barbara Liskov, MIT’s Turing award winner and the conference’s keynote speaker, declared that the software crisis is still an ongoing phenomenon. That her team’s visit to Marian Shaw‘s research group in CMU in early 1990 is perhaps another indication of the prominence of CMU in advancing the field of programming languages since its inception. I had a chat with Professor Liskov after her talk, and it struck me how grandmotherly she was.
My own presentation of the myopic mindset towards agile development was received better than what I had hoped for. There are many people who constantly misinterpret the original tenets as laid out by the agile alliance, and seem to equate agility with the lack of a need for planning. I think I was able to convey the gist of my ideas during the talk, and met quite a few people who told me later of how typical this mindset really is, perhaps more entrenched and widespread than most people would like to admit.
Applied Machine Learning
This has to be the most magical of courses that I have had the great fortune of studying at Carnegie Mellon. Taught by the extraordinary Professor Carolyn Rose, the pedagogical path that this course follows sets the gold standard for how a course should be delivered. This course is very meticulously crafted and crisply defined. Learning theoritical machine learning can give you a solid statistical base. Yet applying machine learning on real world datasets and programming learning algorithms for real world applications are two important skills that are different in scope from theoritical machine learning.
This course adopts an algorithmic approach to applying relevant machine learning techniques on real world applications. It tell you how to choose a learner for your dataset, how you might transform your dataset to build a better learning model, and trains you on the often glossed over aspect of error analysis. The concepts underlying the learning algorithms themselves – from the differences between tree and rule based learners to instance-based learning and ensemble methods were taught in such a lucid and meaningful way. Perhaps the fact that Professor Rose has a deep interest in human-computer interaction is one factor contributing to how well she has modeled this course.I will be writing a detailed pedagogical perspective on this course towards the middle of December.
Human-Computer Interaction Methods: Contextual Design
If you have every studied at Carnegie Mellon and not have taken this course, I have to say to you that you have missed out on magnificent course. I have frequently wondered how the human component in software development can be managed better, but my thoughts to this question were in terms of general ideas. Having studied Beyer and Holtzblatt‘s creation of contextual design, I am more convinced every day that every software programmer and product manager must study contextual design. Of course, contextual design is just one of the methods that you can learn in this course, but I am highly convinced that the world would be a better place if more and more people learn human-computer interaction methods.
Professor Laura Dabbish and I used some of the principles for writing a paper on designing software for production support. We have used a lot of concepts for our work on SeeMail, and I’m very excited about what we are going to do with this in the future.
The quiet obligation
It goes without saying that the present gloomy realities is hard on many people. I have seen many of my friends trying to grapple with the rough side of life. I have drawn inspiration from my heroes who have endured even in the face of insurmountable odds. Whatever the uncertainties of our times, and however emotionally draining they can be, you have to plough on with perseverance. One has an obligation to keep going, unperturbed and focused. Short-term setbacks must be viewed in the right perspective, for they are what they are – things that will soon pass. There is no other qualitly that is more powerful than perseverance.
The learning machine embedded in the deep recesses of your thoughts needs to be given a chance. The quiet obligation must be kept and by so doing being the best that you humanly can.
There are many golden things that are waiting on the horizon.