Go with a smile!

Thursday, May 09, 2013

Last Hurdle

My previous record for being away from Singapore in one unbroken stretch is 18 months. It’s almost 18 months now since I last went back. It’s a curious coincidence, but those 18 months back during my college days were some of the most intense 18 months of my life. They were almost a transformative force. They span the entirety of my love affair with codfish, and they spanned 2 trips to Europe. Because it was almost the only time I had been in love, it stands out as a kind of an “island” in my life, not really related to what had gone on before or after, like a journey to a strange land that I would never return to ever in my life.

For that matter, I have not gone back to Snowy Hill in the more than 10 years that I had been there. I have to visit that place in the thick of winter, otherwise it would not mean anything at all.

These 18 months has also been pretty heavy for me. During my first three months in Mexico, it was probably the first and only time I had allowed myself to relax. After that, it was worrying about one thing after another. Your time in a master’s program was short. No wonder people never seemed to have time for master’s students. Basically I had to do three things:

1. Learn whatever I could learn about computers
2. Procure a job
3. Get out

The first three months were deceptively easy, because they were in no small part rehashes of material that I had already previously covered in other parts of the course. Maybe I’ll blog about all the stuff in part 1 one day. But it’s not really that exciting or dramatic. There’s a lot of reading of papers, there’s a lot of introduction of really cool concepts in mathematics and computer science. A lot of academic stuff. There was this crazy four week period where I tried to cram 10 weeks’ worth of programming and barely lived to tell the tale. There was a lot of machine learning concepts, and a lot of computer systems concepts.

Unfortunately in engineering a lot of things get forgotten. That is the problem with engineering. The retention of knowledge is not fantastic. Especially if we’re talking about stuff like applied maths. If you learn the basic theory of stuff, it is like learning to ride a bike. You don’t forget basic ideas. Economics teaches you about supply and demand, you remember it forever. Psychology teaches you about motivation and different types of conditioning, you remember it forever. Government teaches you about the different causes of WW I, you remember it forever.

But unless you have worked on an engineering project over and over for an extended period of time, it could be really easy to forget about the details of things. It would be easier to learn again things that you have seen or learnt before. But it would take you some time to recall it, still.

Still, there were interesting things. At least for some period of time I was pretty fascinated with what I was learning. Then it became – not really repetitive, but over and over again, there would be new things to learn, new skills to master. Maybe my brain wasn’t made of plastic the way that it used to be when I was in my 20s.

For the master’s program, there were basically three main requirements.

1. Core courses that every master’s student had to pass in order to get his masters. They would be stuff in computer systems that they felt that every master’s student had to know. The core courses were generally heavy and involved reading 3-4 engineering papers each week.
2. A certain number of other courses, all graduate level. There were usually courses which focused on studying a few papers every week, talking about them in class, and then coming up with a project at the end of everything. Or there were math like courses where they pumped you with a lot of equations, and extracted a take home final out of you at the end of the course. Or there were project focused courses, where the main component of the course was a project.
3. A master’s project.

I had assumed that the project wasn’t going to be that tough. I was wrong. It was this experience that regularly had me coughing up blood. Usually a project could be finished within one term. But what I got instead was a very “interesting” experience. The first time I tried to do a project, it was not a great experience. I contacted a professor, and he explained a problem to me. I didn’t manage to get a lot of reading done in the meantime. Also I was really stupid and I didn’t realize that I could take any number of courses and call it projects for credit, and I doomed myself to still taking the full load of courses on top of having to entertain him. I hadn’t yet been plunged into the baptism of fire regarding programming. I hadn’t gotten enough coursework under my belt in order to be reasonably good at executing a computer project.

As time went on, it became harder to obtain time with this professor. Later on, when I saw the list of master’s projects, it became clear to me that he was juggling six or seven other students and just didn’t have time for me. At the same time, after digging around on my own, it also became clear to me that the task that he was proposing was probably too difficult for me to execute on my own without the help of a person with specialized knowledge in a certain field. It certainly wasn’t that professor’s field of expertise. I was still taking classes and stuff, but I lost six months like that.

That summer was probably one of the bleakest period of my time in Mexico. I had failed to secure an internship, and I was staring down at the prospect of not finding employment at the end of my program. I was hawking my resume to everybody, and I wasn’t getting a lot of responses. It was a strange period. On one hand, I could enjoy the sensation of not really having a lot of things to do, and just whiling my time away. On the other hand, it was a strange time: I just didn’t have much motivation to learn more coding, and learn more knowledge. That summer would have been a good time for me to work on a project, but I hadn’t secured one at that point.

When I was stressed, I started going online to buy CDs off eBay because I know that in this 5 year period between the age of the CD and the age of iTunes, everybody’s dumping all their old stuff on the market. This would be the one time in my life when I could get all the music that I wanted, for as cheaply as I wanted. I ended up buying a lot of CDs that summer, because I was going back to Singapore, right? So I could sell all of them off eBay for a profit or break even, right?

I also tried to learn a lot of stuff through coursera. I had gotten through one natural language processing course. I ate out a fair bit, and made a few trips to the main city during that time. Read a lot of news too. That summer wasn’t wholly bad: I managed to get myself a teaching gig, and it was a fairly enjoyable experience, except that it wasn’t a subject that I had excelled in. So it was basically a race between myself and the students to see who could learn that stuff faster. And then I had to teach it to the other people in class. Luckily, like many summer classes, it was just a 5 week class. So whether it went well or not, it was over in a flash, and I was a couple of thousand dollars richer.

Later on, I wrote to another professor whose class I had taken and who I had suffered under, asking for a project. I listed my skills, as well as what I was good at. He forwarded me to another professor that was looking for a particular skill I picked up in Labyrinth University. Then Crazy Frog visited me and (more likely) his old pal from school days. By coincidence this old pal of his was working with that same professor. On the day that Crazy Frog left, I revised my resume, and also I met with the grad student under that prof.

Things were looking good. I circulated my resume to Google and Facebook and got interviews with them. I did not pass any of the coding interviews, but things were looking up: if I had given them my old resume very likely I wouldn’t get people having a second look at it. But I’ve written about my job hunt somewhere else so this isn’t about that job hunt.

This is about the project. I had the grad student telling me about the project. We managed to meet on and off for a few weeks. He told me about the project. I had been balancing the project work, course work and the job hunt so it wasn’t 100% easy but I managed to learn a few things from him. The talks were not 100% smooth, and I did detect a little bit of touchiness in that grad student, but I thought, OK, this is good enough for me. Then I sat down and did my own research on and off. In the meantime, I obtained and accepted a job offer, so it did look as though things were looking up for a while.

Then disaster struck. First I found out that the grad student was graduating in a matter of weeks (he only told me two weeks in advance), and that I would have to correspond with him while he was back home. Then I worked things out on my own and found out that the idea that he was proposing was totally bogus. It had rested on certain assumptions of his about theories that I found were probably incorrect. And third, I had already told the prospective employer that I would be graduating by winter or at least spring. If I did not meet my target date for graduation, owing to visa restrictions, I would have to go and find a new job. I was somewhat fairly lucky to get that job so I didn’t want to get back out in the job market.

So these three things pretty much ruined the experience of doing a project with me. First, the person that would be most knowledgeable about the project would be away on the other side of the world. Second, the goal of the project had shifted: I could not work on the project that he was proposing, because I could not work on something that I believed to be false and which would deliver no results. I couldn’t guarantee the co-operation of the ex-grad student, because he could feel bad about me thrashing his idea. I didn’t know how to tell him, so I wrote an email asking him once again to lay out his ideas on paper for me. Then I proceeded to send him a few emails explaining to him why I thought he was wrong. I didn’t get replies to those emails. Maybe that should have been the cue for me to go and look around for yet another project adviser, but I waited too long. It also turned out that that professor was busy. Often too busy to meet me on a regular basis. Somewhat fortuitously, there was a paper that was spun off from Mr ex-grad student’s thesis. The second such paper to be spun off from that thesis. I had read the first paper, and that was what brought me to them in the first place. The second paper was rejected from a conference. So the professor invited me to work with the ex-grad-student and try to get that paper published in a journal instead.

I realised that I had only two weeks to work on the project and develop it to the point where I could reasonably persuade that professor to continue working on that project with me. I wasn’t able to do much. Especially since I had been enduring a tough school term which had a class that proved much harder than expected. Only after a few attempts to get the professor did I manage to sit him down and get him to do business. There were a few forms that needed to be signed for visa purposes and it took me a while to get him to understand that he wasn’t signing a form that said that I had completed the project. Finally we talked business, and he was agreeable to continue working, provided that I gave him regular status reports.

At this point in time I got extremely nervous and irritable because for a while it didn’t look like it was likely that I would complete the project by the end of spring. I was juggling a difficult course, which took time and effort away from me that I could have better spent on developing the project further. I had to work on the supercomputing facility that (fortunately) gave all students some computing time to play with. I had to figure out how to make UNIX work. The professor had a dataset ready for me to inspect and play with. But I had to work out how to make a database system work. I had to write plenty of scripts to process the data. (This was where my previous work experience came in useful). I had to little by little find out how to send things through a remote connection to the supercomputer. I had to figure out what did or did not work on the supercomputer. Then I had to make sure that a package that I had previously found on the internet would work on that supercomputer.

On top of that, I had to work things out with my employer. Fortunately, he was quite OK with me not being able to start work as soon as I had earlier expected to. First it was “I’ll probably graduate after Winter and work for you after that”. Then it was “I might have to work for you part time during the spring term so that I can keep on working on that project”. Then it was “I have to work full time on that project and join you only after spring”.

Sometimes I wonder if I had used that summer a little better. Maybe I should have just flown home to Singapore for some R+R and take my mind off stressing over things. Maybe I could have done up that resume a little earlier. Maybe I could have just forced myself to do a project and through doing that project, learn a little more about programming. I think those 18 months that I mentioned earlier also spanned a summer where I would have been better going back to Singapore, but I didn't. I suppose I wanted to save on the plane ticket and decided to go hang around instead. Anyway - a lot has been left to this last hurdle. I'm not safe yet, by any means. This is my last term. I'm only doing the project this term, and they've allowed me to consider this as studying part time, and they've allowed me to pay part time school fees. I'm not panicking yet - the time for panicking is over. Now it does seem as though I will continue to make steady progress on the project and that's all I want. The time for panicking was a few weeks ago when neither the professor nor the ex-grad student were responding to my emails. I've been really worried that if I didn't finish the legwork to help my professor and the ex-grad student get that paper published, I wouldn't be allowed to graduate.

I've spoken to people. They said that I'm doing the project plan, not the thesis plan. How difficult could it be? I don't know. I'm just hoping that it all turns out well. I had previously attended master's project presentations, and I had found that after the master's projects, all the students usually give out cries of jubilation. I didn't understand it back then, but I'm beginning to understand it now. I think about my ex-boss, Mr Angler, who was "suckered" into doing a PhD while working at the same time. He had thought that it was merely a formality to convert his previous industrial experience into research. It ended up taking up six years of his life in the process.

After that, the project went along on its slow tortuous path. I had overseen some projects before. I knew from experience that it took effort to be a supervisor. I had worked on projects where I was engaged enough, and also on projects where I didn’t know what was going on, just let it slide, and ended up signing off on it in the end. What happened was that this professor was probably a little overstretched, and he wasn’t fully participating in the work, which was more owned by the grad student. The grad student, on the other hand, had literally flown away. The professor was under the impression that I was going to help him send in a second submission of a paper that was rejected to a conference, to make it work towards a journal instead. I seldom got to talk to the professor one on one, and he always preferred to talk on skype – that’s how I knew that he didn’t really “own” the project.

And as usual, there was the same lack of clarity, lack of direction that characterized the project. The professor might have thought that there was a chance to get a publication. The grad student (now PhD) understood best what was going on for the project, but now it was heading in a different direction from what he had envisioned, and I couldn’t blame him for being disengaged. I was less than 6 months away from my intended graduation date, and it was too late to start a new project from afresh. It was a really big mess and I just had to grit my teeth and endure it. I could assure you that if I could go back in time, I would have run away and looked for a new project the very moment the grad student received his PhD and flew back home. I wouldn’t be stuck in a mess.

In fact years ago there was a project that was supervised by a colleague at my workplace. I wasn’t really appraised of the situation, because it wasn’t my project, but I could tell it didn’t go well. The students didn’t always turn up when they were supposed to turn up. And at the same time, from the project title, I knew that they were taking something on and using an approach that in my opinion, wasn’t going to work. (I have my intuition about these things, even though that intuition is not always 100% accurate.) And I knew that it does take a dose of luck and skill to avoid situations like those.

There was this time when I was not getting replies from the PhD student regarding his thesis. He wasn’t willing to send me any code to work with, so I had to recode everything myself. I know from experience that when your code is messy and convoluted, it’s just not in the right condition to pass it on, and the other guy is better off implementing everything himself.

Moreover, yesterday I finally got a reply from the professor: “People do projects with varying levels of ambition. There are people who just want me to sign off on it, people who want to do good projects and get good letters, and people who want to be co-authors. Which one are you?” Finally he got down to this question: which one was I? By this time, I had made some progress on the project, we had had around five weekly meetings, and I had either implemented some parts of the project from scratch, or refuted some of their ideas. So he was finally admitting that all that lack of communication was due to his misunderstanding – he thought that there were much more stringent requirements for the project than there had actually been. In the meantime, he had kept me in the dark and wondering about whether or not I was going to graduate, up till one month before the due date. Now he was thinking about whether or not I was worth investing effort in.

I haven’t had the talk with him, but I could roughly guess that from here, there were two ways to go: first was that I could indicate that I would pull out the stops and give him very good work. But that would almost certainly delay my graduation for one term or even more. It would be pretty ridiculous. The second was that I was just going to wrap up and finish up everything else that was on the plate at the moment. But he would probably be disinterested and disinvested. Obviously, with the constraints that I was under, I would take the second path.

Meanwhile - there was all the work that I did - setting up systems, writing up results that I wasn't 100% sure that the professor was going to read, writing code that sometimes worked and sometimes didn't, wondering if I was going to seriously veer off course. I've already gone through that whole shebang about working on certain directions, having it rejected because the supervisor doesn't 100% understand it, only for the supervisor to suddenly realise that you were right, long after you've finished redoing your thing. It's so much easier when you're just doing a course - when you're doing coursework, you know that there's a certain level of effort involved - you put in that effort, and then you know that everything's over. For this, there was a lot of crossing my fingers and wondering if I was ever doing the right thing. I think if there's a comparable experience, it's three years ago, when I was applying back to college, knowing that I was going to compete with a whole slew of very qualified candidates from all the third world countries in Asia, and wondering if I would ever achieve one of the ambitions of my life. (Of course, I could have been doing something else on my own entirely, without the help of that gatekeeper called college, but well ...

There may be some other twists and turns in the tale yet. On balance I know that I have a better than even chance of graduating out of here next month but like they say – it’s not over until the fat lady sings. I just have to tell myself - one more month of this shit, and then I'll have more worthy shit to deal with, instead of dealing with this sticky situation.

Meanwhile, I've been looking towards my dreams - both as a indicator for the future and a reflection of my inner state of mind. I dreamt about Snowy Hill again. I used to dream about Snowy Hill in the first few years after graduation when I was back in Singapore for work. There were things that I missed about that place, and to be honest, much of it had to do with how some of my favourite times in Snowy Hill were when I was studying politics. To be frank I enjoyed learning politics more than I enjoyed engineering, although mostly it was just a matter of getting used to engineering.

I used to dream of the old gothic buildings, the musty smells of libraries, the joy of discovery. The novelty of seeing plenty of snow. The novelty of being in a new country with new areas to explore. But a few years later I stopped dreaming of it. Now when I dream of it, I usually dream of the hill. It’s a place with plenty of buildings, and plenty of people gathered together, eating in the dining halls, and having intelligent conversation. It’s a place where I first got to know a lot of ideas – it’s funny, I think of ideas as friends. Friends who will always quarrel with each other in my head, but they are all my friends.

When you think of snow, and when you think of hills, those are symbols traditionally associated with Capricorns. But now I think of a giant slope, where I’m just struggling to get back up to the top. The landscape is littered with big buildings everywhere – just like Singapore. Or strange complexes like the engineering faculty of NUS – monstrous industrial complexes where people were always busy and building lots of things. I would be climbing a few flights of stairs just to get to the next building, or climbing down a few flights of stairs.

What I also dreamt of was a trip that I had taken with my parents when they came to visit me right after my graduation from Snowy Hill. We went to Niagara Falls, and I just remember that there was a great, vast flowing river – I had never been to great rivers and I’ve never seen such a great rush of water in my life.

Earlier on, I had another dream. This time, I was in a large mansion. There were people everywhere, they were taping up windows, and carrying large ammo boxes everywhere. At the same time, I was in charge of a cannon outside. An officer was asking me, if I was standing that cannon down, and keeping the ammunition back into the house, and I neglected to comply. Night fell, and then the zombie apocalypse began. The shells were raining down, and I felt a little embarrassed that I was supposed to have brought the artillery ammo indoors, but instead allowed them to be ruined by the enemy shells. At the same time, the zombies were advancing, and everybody in the machine gun turrets were cutting them down. In the end, the ammo was ruined, but that was OK, because the machine guns did their jobs, there was zombie flesh splattered everywhere but the battle was won.


Post a Comment