Awesome Profs at Waterloo
I've been at Waterloo for about 4 years now and have taken exactly 38 courses here. There's a lot of bad profs out here, but there are also some remarkably outstanding ones I'd like to mention in particular. Keep in mind that I don't normally say a prof is good unless he's really good. Profs with double stars beside them are so good I'd take their courses just for the heck of it. That's really saying something about them.
- Giuseppe Tenti** — MATH 117 Calculus 1
- Anthony Vannelli** — NE 112 Linear Algebra
- Miguel F. Anjos** — MSCI 331 Intro to Optimization and MSCI 700 Semidefinite Programming
- Wing-Ki Liu — MATH 211 Calculus 3 and MATH 212 Calculus 4
- Steven Forsey — NE 122 Organic Chemistry
- Magdy Salama — NE 141 Electromagnetism
- David Harmsworth** — MATH 119 Calculus 2
- Jean Duhamel — NE 233 Polymer Science 1
- Bing Ran — MSCI 211 Organizational Behaviour
- Scott Jeffrey — MSCI 452 Decision Making Under Uncertainty
- Karim Karim — NE 334 Electronic Circuits
- Craig Sloss** — MATH 239 Combinatorics
- Dan Wolczuk** — AMATH 332 Complex Analysis
- Frank Gu — NE 481 Nanoscale Biosystems
- Chetat Ng — PMATH 334 Rings and Fields
- Richard Ennis — PSYCH 101 Introductory Psychology
- Dayan Ban — NE 445 Photonic Materials and Devices
- Hany Aziz — NE 479 Organic Electronics
- Ricardo Fukasawa — CO 370 Deterministic Operations Research Models
Keep in mind profs that are good aren't necessarily always good at all courses they teach. But they were certainly good when they taught the course I took with them.
I've had some amazing TAs as well, but I unfortunately don't have a list of all their names to select the best. But two fantastic TAs that come to mind right away are Amir and Randy Fagan. I am sure there are more.
That First Half Hour
People always think people write essays because they enjoy writing them. There's probably a decent amount of truth to that statement in my own case. But I enjoy writing essays because I enjoy publishing them on the web. And it's the first half hour after an essay goes live, a period where the number of page views shoots from 0 to a 100, that's the most amount of fun.
I could do what Paul Graham does and that is write an essay, have it reviewed by some friends, then edit it multiple times, then polish it, and then publish it. And once it is published, he seldom modifies it. But I tend to approach essays differently. I know I can get my essays polished if you gave me an hour, but putting the essay live in an unfinished state provides me with this boost of energy like never before. Polishing my essays would usually would take me 30 minutes spread out throughout a day, but now it only takes at most 5 minutes spread out across half an hour.
Because the number of pageviews climbs up so quickly after publishing to Facebook and Twitter, I get this sudden surge inside me because there are so many people who'll end up reading a version of my essay that I can't quite say is my very best. It's a version far away from being "done". It's usually riddled with typos and several grammatical errors of the kind only an amateur writer would make.
So once an essay becomes live, it's sprint time. With all the adrenaline picking up, I have to work as fast as I can. I can't have my beloved readers reading anything but my very best. I shift gears and move into ninja mode. My typing speed picks up 4x. I can read twice as fast. I spot errors instantly. I'm moving entire sentences and paragraphs around in swoops. My fingers punch keys feverishly as edits and saves are happening semi-real-time. I'm adding punch lines at the end of paragraphs. I'm constantly asking myself if this paragraph is too long and if it needs splitting. Or maybe the essay itself is too long. Painful as it may be, sometimes entire paragraphs will go away 15 minutes after making an essay live.
I guess the only way to share this process with you is to use Etherpad's time-slider feature. But saving there won't save it here on Posterous. Maybe someone will write blogging software where you type all your blogs on etherpad and the static html pages are generated from the content posted there.
So this is why the first half hour after making an essay live is perhaps the most important and also the most fun part of the essay-writing process. Whenever I'm ready to publish, I make sure the next half-hour is completely available to me and is 100% distraction-free. It's just me, my desk, my laptop, and my music.
So yes, the reality is that it's probably better for you to read my essays a few hours after it's published. The unfortunate irony is that the people I wish are reading my essays, the target audience I have in mind as I write, are usually the ones who read my essays the minute they become live. They just happen to be good with the internet, and have superior notification systems. But they don't ever get to see my best work unless they re-read an essay a while later, which they seldom do. But even then, the punch lines are lost. What good is a horror movie the second time?
I've always wished I could lead my entire life in that kind of "sprint-mode" all the time. I'd get so much done that way. I once dreamt about living my life that way every single day. I got so excited that I fell off my 2 feet-high bed. True story.
But let me get to the real point. I always have tremendous difficulty explaining why I love writing web software so much and why I love writing essays so much. It's because they can both be iterated upon and constantly improved as the audience is consuming it. You can't do this with products like the Blackberry. You can't do this with an orchestra. You can't do this with a movie. Imagine Tarantino tweaking final scenes of Inglorius Basterds as you were watching the movie. You could probably do this in a live stage drama, but not so cleanly so as to altogether avoid invoking all suspicion in your audience.
I used this strategy to my advantage while I was building Fotavia. I'd spend a day building an unfinished and unpolished version of a feature, like photo comments or the news feed, push it out to production, and then spend a few hours polishing it and fixing bugs after. This was still a lot faster than trying to roll out a polished version after 3 days, often even failing due to a lack of continual motivation.
In the spirit of meta-ness, this very post was edited several times after being published and is probably undergoing edits as you're reading it. You should be used to this idea of edits happening underneath the rug if you've ever used Wikipedia for any length of time.
Properties of the High Bar
Sure, being an Indian, moving to Canada at age fifteen from a city as conservative as Dubai to a city as liberal as Vancouver was a big culture shock for me. But what awaited me in Canada was a far bigger, a far more serious and a far more undocumented shock. It is the shock of discovering you had been brainwashed for the first fifteen years of your life.
Until Grade 10, I had gone to a school that made me unconsciously surround myself with friends, classmates and teachers who all had a few simple assumptions when it came to test and exam grades. Popular belief was that 90% on a non-language exam was a mere pass, 95% was average, 99% was considered rather decent, 100% was considered noteworthy, and 105% was considered pretty darn good.
Then I moved to Canada and started interacting with a lot of people who had come from various countries around the world. The popular belief here was that 50% was a pass, 75% or thereabouts was average, 90% was considered pretty good and 100% was considered remarkable, almost impossible. Imagine my surprise.
I discussed this distinction with my Grade 10 French teacher at the time. I suspect she knew what I was talking about because the next evening she phoned my parents and asked them to find me a new school.
Never underestimate the power of setting the bar ridiculously high for yourself. You want your "good" to be other people's "excellent". In fact, you don't even want to compare yourself with others at all. Because if you do, you'll probably end up doing pretty average. Why? Because the general population naturally deviates to well, the average, by definition.
A lot of the software startups and medium-sized companies like Tagged make this mistake quite frequently of juxtaposing themselves with universally-accepted "standards". That's where they place their bar. They're pretty happy when they ship a major feature in just 2 weeks. Employees at these companies say that the same feature would've taken a high-profile company like Google and Microsoft 2 months to ship. But if you set your bar high, 2 weeks is considered outrageously slow. It really should've been only 5 days.
You see this at the Olympics every four years. The Africans always seem to perform much better at running. Why? Because they train at higher altitudes so when they actually run at the Olympic stadium close to sea level, they find it much easier. In short, their coaches set the bar high for the runners. They force the runners to forget they're actually training at high altitudes by never mentioning it. So when the runners finish a 100m sprint at 12 seconds during practice, it's considered quite crappy, and the coaches pretend they're upset, when we all know 12 seconds is actually quite a remarkable feat at that high of an altitude.
People consider Steve Jobs as the epitome of perfectionism and attention to detail. But imagine if you set Steve Jobs as your minimum standard instead. Now you've only given yourself room to do better than him.
In Fall 2007, I set 7 courses per semester to be the minimum standard for myself. Nothing less than that. Eight perhaps some day when I had the guts, but never five. Never six. I set myself a hard standard, then I went away and implemented it.
If you find something hard, force yourself to do something that is 10x times harder. I found driving in suburban Vancouver stressful and confusing until I forced myself to drive in Downtown. When I lived in San Francisco, climbing up Green and Vallejo seemed so arduous until I forced myself to climb Taylor everyday after which Green and Vallejo basically became a walk in the park.
You might already be familiar with this idea of setting yourself an incredibly high bar and then forgetting that you did so. Our neighbour used do something similar with all the clocks in his house. He'd set them all at different times that were anywhere from 10 minutes slow to 10 minutes fast from the right time. Thus, the only clock that was reliable was the fastest one which made him 10 minutes early for all his appointments. I'd imagine he never missed a bus in his life or any other appointment for that matter.
This idea of messing with yourself and then proceeding to forget that you did so is what psychologists famously call mind programming. And you can certainly program yourself to set really high bars for yourself and then forget that you did so. This will make your high bars seem rather normal to you, but will leave everyone else in your wake scratching their heads, wondering how you got to the finish line so incredibly faster than they did.
The Cat is Out of the Bag
People are always confused by my actions. They say it makes no sense. That there doesn't seem like there's any sane rationale for half the stuff I do or half the stuff I say. Under normal circumstances I'd love this. Under normal circumstaces, I'd like them to think that I'm ever-puzzling and enigmatic, because that way I can catch them by suprise whenever I want. But the truth is pretty much who I am and what I do everyday is simply a mesh of the works of the following three people:
1. A. R. Rahman's musical compositions
2. Paul Graham's essays
3. Steve Pavlina's blog entries
That my life is only a mesh of the works of 3 other people is perhaps one of my best-kept secrets. But I wasn't really trying hard to keep it a secret because if you dig deep enough, you'll see references to these 3 people all over my blog and essays and even on Twitter.
I've been paying close attention to the works of these 3 "artists" from anywhere between 4 and 8 years. I think I'd be safe to say that I'm an almost perfect hybrid between the stories that have resulted from the works of these 3 people. These people are so ingrained in me that I refer to them as my #1, #2 and #3 respectively. Take anything, anything at all, that's odd about me and I can provably attribute it to one or more of the works of one or more of these 3 people. It's almost like these guys tell me what to do and how, and all I have to do is execute it.
So there you go, the cat is out of the bag. It's kinda sad though, because it means there is nothing original about my personality. It's all just a copy of 3 other peoples'! But I pride myself for having chosen the 3 right people. If I had chosen wrong, the consequences could've been disastrous.
Now you might think these 3 people are what a lot of people call mentors or role models. But I actually don't know any of these 3 people personally! Sure, you could argue, you don't need to know a person personally to consider him a mentor or a role model. But there's a subtle difference here. It's almost like the famous difference between catching a man a fish and teaching him how to fish. These 3 guys tell me how to think, when and where, but at the end, I'm the one who has to go do the thinking. These 3 people never tell me what to do, but instead establish the right framework and the right mindset to enable me to think and do what I consider is the right thing. So it would almost certainly be wrong to consider these 3 people as mentors or role models. I don't copy them per se, I just take all their works, mesh them together, and use that to figure out what I should do and how I should go about doing them.
Michael Jackson may make a good role model. Bill Clinton may make a good role model. But Paul Graham? Now I don't know how he leads his life, but even if I did, he probably wouldn't make that great of a role model. But his depth of thinking and writing ability, now I'd certainly love to copy that!
Two Types of Girls
I hate lines. Not the geometric figure, but line-ups where all you do is wait. Anyone who has hung out with me sufficiently long will know how much I can't "stand" queues (haha, excuse lame pun attempt). Queues are the bane of our society's existence.
Anyways, I think of really weird stuff when I'm forced to wait in lines. On Friday, I was forced to wait in line to return my rental modem to Comcast Internet. And I started wondering how I instinctively classify girls when I meet them for the first time and am interested in continuing a conversation with them. And after much introspection, here's what I discovered about how I do it.
There are the girls that I meet for the first time and I'm interested in carrying on a conversation with them online on IM. And I ask them if they're on MSN.
Then there are the girls that I meet for the first time and I'm interested in carrying on a conversation with them online on IM. But with this bunch, I ask them if they're on GTalk.
Prejudiced as it may be, I'm mostly interested in the 2nd bunch. Not just because they use GTalk, but girls who use and prefer GTalk over MSN on their own accord and not just because someone close to them is also using it, or someone forced them into using it, tend to have some very interesting characteristics that I consider really cool. These girls think about the technologies they use, and don't just go with whatever their friends are using.
I hadn't even fully recovered from my first realization when I also realized this is a more general kind of classification I tend to do pretty frequently with the blink of an eye. Given a population P, come up with a qualifier X that partitions the population into two buckets: one bucket containing people that meet the qualifier and the other bucket containing the rest of the population. Most importantly, the cardinality (i.e. the size of the set) of P1 must be much smaller than P2, close to the ratio of 1:10 or smaller.
In my example above, P is the set of all girls I meet everyday at school, at work, at airports, in the plane, on the bus, while walking on the streets, random facebook private messaging, etc. The qualifier X is if the girl prefers GTalk over MSN. Clearly in this case the subset of girls for who the qualifier X holds true is much smaller than the complementary subset of girls for who the qualifier X does not hold true.
This is actually a pretty general problem. It's a problem we encounter so frequently that we all have very fast heuristics to sub-consciously come up with the qualifier to quickly compartmentalize our sets. We always only want to deal with the cream of the crop, and filter out all cruft. So our brains are always looking for ways to rapidly split the population into 2 subsets, one much smaller than the other. Farmers call this process winnowing.
Then there are the girls that I meet and want to ask them if they use Yahoo IM, or much worse, AOL IM (AIM). Thankfully, I've never had to deal with this bunch yet. I hope I never will.
The Post-Exam Session
With perhaps only a very few exceptions, the best time during any exam period, at least to me, would be the post-exam session. Those 15 minutes after everyone exits the exam hall is really quite a time I cherish and enjoy being in the middle of. People talking excitedly, some looking dejected, some looking relieved they actually managed to pass, and others just plain exhausted from all the mental exertion. It was a period of intense communication and knowledge sharing.
Why people would want to discuss the exam after the exam is still beyond me. The exam is over. You couldn't do much to change the outcome now could you?
In March of 2001, we had this particular nasty and exhausting math exam. It was an examination administered by the gulf boards and these exams were supposed to be hard, by design. I was in Grade 9 at the time, and even after several years of experience, I still hadn't quite adjusted myself to the idea of being tested on an entire year's worth of curriculum in just one exam sitting. The exam was an exhausting 3-hour long exam for exactly a 100 marks. Actually they'd design the exam to be 4 hours long, but only give you 3 hours to see how you performed under time pressure. I hated it.
At 2 hours 30 minutes, people would start to leave. The people who had obviously failed the exam or were pretty close to failing didn't give the exam much thought. They'd just be glad to be able to leave the stuffy exam room and go play soccer. But the others, the others that were serious about their grades would wait outside the door. And as each person would exit, the same question would be asked over and over again.
"Did you get 7b)?"
It was the same question they'd ask every person that exited the exam hall. And in almost all cases the student exiting the exam room would shake his head in despair. "No way! I have no clue how to approach 7b). It's impossible." Of course it's impossible. It's trigonometry. And then he'd go join the crowd of people so he too could now ask the very same question to the next person who'd come out of the exam hall after him.
And so this process would continue. These kids would actually wait for half-an-hour just so they could find even one person that could solve 7b). Maybe they're motivation was that if no one could solve 7b), then it wasn't their fault. Maybe there was a mistake in the problem after all.
But eventually, there'd be that one guy, the one student that everyone would soon come to hate. He'd be one of the last students to exit the room. You know, one of those kids who'd be feverishly writing his solutions down on his answer sheet up until the very point the proctor called out "pens down!"
But when he'd pick up his backpack and leave the classroom, the whole crowd of 15 or so students who had been waiting outside the exam hall, in the hot un-airconditoned Dubai heat, for over half-an-hour, would all groan together in unison.
And ever so calmly, that one guy, one hand in his pocket, a wonderful smile plastered all over his little delighted face, would stick his other hand back to make sure the door closed gently behind him. The groaning would get a tad louder as soon as the exam hall's door had been shut.
He'd then proceed to brush his hair off his forehead, wipe off some sweat trickling down his cheeks, and then adjust his nerdy glasses so they sat correctly on the bridge of his nose. All with a cool air of calm surrounding him as his classmates watched with deep chagrin and remorse.
The pretense was unmistakable.
Mr. Smart Guy had indeed solved 7b).
What Fall '09 Has In Store For Me
In the spirit of self-improvement and the onset of the month of September, I've decided to revamp my life and try something completely new. A Rajesh 2.0 if you will. Astute readers will notice I started this new posterous blog on September 1 not without good reason.
I've spent 8 months thinking about this solidly, encountering first-hand, people who do this sort of stuff day-in and day-out. I've also read hundreds of blog entries and essays by other students (or ex-students) who do this kind of challenging academic stuff again and again successfully. Finally, I feel I'm ready to take the plunge into some more exciting challenges!
Fall '09, which is 4A in Waterloo speak, looks like it's going to be even tougher than Spring '08, and that too by quite a far shot. So what does Fall '09 have in store for me?
- I'll be writing my last work term report, a 6000-word (or more) report I haven't started yet.
- I'll be taking 6 courses, 4 of which are at the 400-level.
- I'll be in 2 labs, one of them being an advanced 6-hour lab every other week.
- I'll also be spear-heading a final year engineering design project I have no clue about. Looks like we might be doing something related to high-performance water filters or maybe thermal shirts?
- I'll be maintaining and improving Fotavia, a photography website project my friend William and I started earlier last month.
- I'll be applying to top graduate schools. This implies I'll have to lobby my professors and mentors for reference letters and write well thought-out personal statements and essays.
- I'll also be applying and interviewing for graduating jobs that are challenging and will probably require many hours of interview preparation.
So it seems like I'll be needing some real ninja skills to pull this term off without regret. It'll also be the first time I'll be living off-campus during an academic term. This has a huge impact on my productivity. And finally, I'll be working out of a tiny room that has no natural light whatsoever. This will be a huge hit to my productivity during weekend mornings which happen to be my most efficient working time because of the availability of contiguous blocks of free time and the availability of natural lighting.
So what does this mean for me?
- It means no more snap decisions. Everything I do will have to be explicitly planned, scheduled and instrumented carefully. My Google Calendar will prove tremendously useful here. Also, my schedule.txt (ask me about it) that my good friend Devin helped me implement 1.5 years ago will be crucial to ensure I don't miss any due-dates. But, stuff will still come up all the time without notice, but everything that can be planned will be planned. Everything else will be decided and acted upon on the fly, in true engineering fashion.
- It means careful and conscious implementation of all that I've read over the last 8 months.
- It means taking time to celebrate each mini-success, no matter how small. I'm all too used to finishing a task, and then asking what's next immediately after. Every little success needs to count and will provide the motivation to keep pushing further without burning out. Reward-based performance is something that works really well for me.
- It means taking some real risks and doing things that force me out of my cushioned comfort zone.
- I simply can't afford to waste any more time on random websites (like youtube) like I used to do in previous terms. Even a few wasted hours before a midterm can make the difference between getting a 95% on a course versus failing that course.
And as usual, expect a post-mortem of the term at the end of December. It's going to be an interesting one I think!
Against Gmail Failures
Recently Gmail went down for more than 5 minutes and the whole world watched it happen in astonishment. The last time I witnessed the whole world so stunned was when planes crashed into the Twin Towers back in 2001.
I was telling Shams today about how I have a very simple email strategy to protect against times when gmail is down. I pay $10/year for a simple, cheap POP mail account. This mail server rarely goes down because all it is is a simple email server. People send me email to the POP server, but I get it to forward all incoming email to gmail leaving a copy on the POP server. That way I get to use all the awesome features of gmail like spam protection and filters and labels, but I can still access my email through my POP account's webmail interface whenever gmail goes down.
This afternoon gmail went down and I was the only one who had access to email. Everyone else was either swearing, crying, or complaining.
Or madly spamming the F5 button.
What We Learn from Changing Logos
Tropicana changed their branding and they got shot down.
The University of Waterloo changed their logo and they got shot down too.
IKEA changed their logo and their typeface from Futura to Verdana and they got shot down too.
What do we learn from this? People hate change. But we already knew that. What else do we learn? Two things:
- If you're making your logo for the first time for a business or company
that is not yet big or well known, STOP. Stop and think. Do not make a
mediocre logo now with the lazy mindset of "ahh, it doesn't matter, we can
always change it later." Problem is, you can't change it. If you do, you'll
be shot down. Just like Tropicana. Just like the University of
Waterloo. Just like IKEA. So if you're going to make a mediocre logo, you
should stop and instead put in more effort to make it awesome.
- If you're going to make a mediocre logo anyways, at least do it knowingly and acknowledgeably . Do it as a marketing gimmick. Don't make your initial logo merely mediocre, but instead, make it shitty. Because that way when you change it, it will obviously be better than what you had before and no one will complain. That's what I did with Fotavia. I designed the shittiest 5-min MS Paint logo and when people told me it was shitty, I was like "oh really?" The only catch to this is that your business may not pick up so well if you have too much of a shitty logo. So don't make it too shitty, just somewhat shitty. But definitely not anywhere as good as a mediocre logo.
More evidence that mediocrity is no longer an acceptable standard these days. Either strive to be at the top of the pile, or be at the very bottom. Don't strive for the middle, you'll be stuck there forever.
What Leibniz Must've Thought
Like Leibniz, people are always criticizing me for being a jack of all trades. Although it's a valid accusation, I'd say this outcome is more a result of design than laziness or natural preponderance. Our world is becoming increasingly specialized, and lots of people know a fair amount of knowledge on 5-10 things and virtually nothing at all about the rest.
I propose to be different. I want to know a little bit of hundreds of things. I'm 22 and I can't yet call myself an expert at anything. The closest I've gotten to being an expert is being in the 65th or 70th percentile. But I think not being an expert at anything is a good thing in today's world of hyper competition so long as you're somewhat good at a whole lot of other things.
The trouble is that my interests are too varied and change way too frequently to find the motivation to specialize. One day I'm interested in web development, the next day I'm interested in distributed version control, then one day personal development, short stories, essay writing, juggling, time management, typography, user interaction, marketing, calculus, transportation, efficiency, nanotech, and the next day, movies, screenplay, relational databases, animation, instant messaging, startup culture, innovation, chess, photography, angel funding and vegetarianism. There are a few topics that I try to judiciously stay away from namely economics, finance, religion and politics. But I don't always succeed.
I'm always wondering what might have gone through the head of Leibniz when he was alive. To me, he's the king of all jacks of all trades. I'm inspired by the very thought that a person could be so knowledgeable about such distant topics as math and geneaology at the same time.