Dr. Toderici’s sarcasm

George Toderici, one signature away from graduation, is going to be a senior software engineer in Google. We worked closely together this whole semester and he taught, helped and also pwnd me a lot. Meanwhile I found quite interesting his (weird) sense of humor and sarcasm from time to time.

To be honest I have never learned coding systematically. Prior to becoming the instructional assistant for an introductory C++ class, my C++ skills were mostly self-taught and thus rudimentary. For instance, I didn’t know how header files and pointers work. Surprisingly I managed to survive from such experience of having to know the course materials before the students had corresponding classes.

GT, on the other hand, began to program in his early childhood. By fourth grade, he was already programming in C. There is a huge gap here. I am admitting this and trying my best to be as good as him in some aspects, maybe some years later when I will be graduating.

Last week I was trying to modify the acquisition program I rewrote in C++ from his C# version. Inevitably I ran into problems and asked him for help. Having observed my code for a few times, he compared my code to a big ball of mud and suggested a rewrite (not even refactor) after the data acquisition event. Although I am still not sure if he is a truly organized programmer or a great code hacker, of all those inappropriate programming practices that he pointed out I find the lack of error checking most critical.

He later asked me to take a look at a guide he wrote some time ago aiming to help people produce code that their colleague will appreciate. Apparently he was so pissed off that this 21-slide presentation contains nothing but irony after I extracted its kernel ideas, which are the following:

  • Write code in English
  • Do not handle file I/O’s with absolute (hard coded) paths
  • Always perform error checking with informative messages
  • Use STL
  • Do not use MFC (because there are simpler alternatives)

All right, I think I should just pick up this irony and say, “See? How good I am at summarizing stuff!”

Let’s start off with iPhone vs. W800

I’m not gonna write some odyssey here because I have seen similar blog posts here and there. Instead I am going to compare the iPhone with my previous Sony Ericsson W800. You might want to claim right away that it’s not a fair comparison. While I am vey aware of the fact that the iPhone is newer an more “smartphone-like”, what I would like to begin here are just a few complaints and compliments that comes from the experience I had with both phones, i.e. features I find useful on W800 but not implemented in iPhone. Guess you can see the big picture here already, so each of the following features is available on W800 but not implemented on iPhone unless otherwise stated.

The foremost (because I found it annoying first, it might not be the biggest though) complain would be the inability of file exchange and synchronization via bluetooth. In short, all you can do with the bluetooth on the iPhone is for using compatible headsets and car kits. Pretty lame, isn’t it? Suppose that your boss finds a picture on your iPhone very interesting and wants to have it, the following steps should be taken:

  1. Check to see if your boss’s phone supports emails with attachments, if yes you have got less trouble, simply send the picture via email.
  2. If not, first apologize that you are unable to do it right now due to some external force and then promise to send it as soon as you can.
  3. Now if you are lucky you might have one of those cables with you and go to the next step, otherwise you will not be able to upload the picture to your computer because of the same reason why you can’t just send it to your boss’s phone via bluetooth.
  4. Again if you are lucky enough the desktop in your cubical is the one with which you synchronize the iPhone, then you can skip Step 5 and go directly to 6. But the chances are, your syncing machine with the iPhone is the desktop at home and as a result you will be notified that your iPhone can only be synchronized with one computer.
  5. Go home at a proper time.
  6. Hook up the iPhone and your desktop at home, start iTunes, synchronize and then send it to your boss. Hopefully it’s not too late.

Of course, the way of expressing this process is probably exaggerating its tedium, but you will run into this or similar situation. Yesterday my colleague was trying to send me a contact but was told that the iPhone does not support that, thus we had to go with the dumb way of reading, dialing and storing the number.W800’s bluetooth services also include remote control, meaning its joystick serves as a wireless mouse and keys are mapped into basic functions in presentation and media player. I was very surprised to find the fact that nothing needs to be installed in order for this to work on OS X. All available bluetooth services are set up automatically after pairing is done, and iSync makes syncing way easier than it is on Windows. However, the iPhone is not taking any advantage of this awesomeness. To make things worse, it can synchronize with only one computer at a time. So in case my syncing computer get stolen, I would probably have no means of backing up my contacts and calenders.

Both the iPhone and W800 have 2 megapixel cameras built-in, I don’t know about the difference of their internal components but I do know the capability of autofocus (AF) which is a feature that W800 has, along with a manual cover to protect the lens and a built-in flashlight for illumination (not only for taking pictures I mean). The camera on the iPhone, on the other hand, since it does not have AF they probably think it is meaningless to devise a cover to protect its lens. I am acting like a protective maniac, am I?

iPhone’s not supporting MMS is in fact quite understandable. From my observation, people here seldom send even short messages, let alone multimedia ones. Different from monthly SMS packages in China, carriers in the States focus on talking plans, so you see people making calls more often than sending messages, which is in most cases not covered by the monthly fee. Plus, I think Apple is probably expecting emails to be the alternative for MMS. They don’t work exactly the same but taking into consideration that more and more people are using smart or semi-smart phones that are email-friendly the experiences would be equivalent.

Also I miss the feature of semi-transparent stickies that are posted over the desktop of W800, as I would be forced to pay attention to those every time I resume my phone from standby so that I don’t forget things that I want to remember. Since OS X already has stickies built-in natively, I don’t see why Apple did not include such a handy tool in the iPhone.

I planned to write a few words to tell what’s good about the iPhone over W800 but just found it unnecessary. You guys must have seen these cool features a thousand times, why bother?