I recently posted a question to Hacker News, asking, “How do I make myself competitive for a master’s in Computer Science after college?” The colleges in question are particularly the super-competitive and elite that produce legendary talent, such as MIT and Stanford.
The responses are surprising. Most people suggest to shoot for a Ph.D. program, for a variety of reasons:
Universities prefer to admit Ph.D. applicants over master’s; they’re an investment. Ph.D. candidates publish research that gives the school a return on their investment. It improves their reputation to have more publishing (Ph.D.) students than non-publishing (master’s) students. Hence…
You are more likely to get funded as a Ph.D. student. Being a master’s student eliminates fellowship opportunities and leaves only the possibility of teaching assistantship. Because Ph.D. students are an investment for the university (see #1), they tend to assign the limited number of TA positions to those students which gives them the highest return.
The possibility of continuing on to a Ph.D. typically only exists if you initially apply. There are some schools that are exceptions and allow you to opt for the Ph.D. program when your master’s is completed, but most are structured in such a way that they foster Ph.D. applicants from the beginning.
(For Americans Only) It is cheaper to accept American applicants than international applicants. Lacker, the most up-voted commenter, states that, “a professor at a top-25 CS grad school once told me they accept almost every American citizen who applies to the PhD program because it’s so much cheaper - so worst case, you should be able to go to a well-known school that has merely a good CS program.”
In summary, make the grad school investment as though you are applying to a Ph.D. program. This means that the importance of research and publishing is paramount. Have solid grades and fantastic recommendations from well-published people.
Last, I have heard that graduate admissions councils rank students in this order:
Undergraduate degrees with publications.
Graduate degrees with publications.
Undergraduate degrees without publications.
Graduate degrees without publications.
Why is it detrimental to have a graduate degree (a master’s) without a publication? Because it shows that you have attended school for a long time without showing a lot of interest in research. If you have done research, then you must not have been very successful.
I recently ordered a 13.3″ MacBook, my first Apple computer and currently only Apple product.
I would like to share the fantastic user experience that it has to offer.
Goals
My intention in purchasing this laptop was to be able to have a computer that was well-suited for programming, blogging, and surfing (with the occasional Hulu video) and could be easily transported. I wanted something with a native Linux install that would give me access to a BASH terminal, emacs, Eclipse, and xmonad (or another tiling window manager of equal quality). I am a supporter of Ubuntu and quite a large number of free and open source software tools: Python, Apache, MySQL, git, etc. I wanted an ultraportable since I lug my laptop around everywhere, and I wanted something nice, seeing as how I can spend up to 12 hours a day on my computer (including watching TV, paying bills, reading, socializing, etc.–literally, every aspect of my life is tied to my computer).
Shopping Experience
I shopped around for various ultraportables, which happened to fall in the $1500 price range for the horsepower I desired (give or take a couple of hundred bucks): the Dell M1330, the Lenovo Thinkpad X300 (among various Lenovo models) and the MacBook/MacBook Pro series.
The decision was difficult due to the minor variations in each series. The Dell M1330, for example, offered a solid-state hard drive for a much lower markup than its competitors, which was really appealling. The Thinkpad X300 included everything-and-the-kitchen-sink in what it claimed to be a competitive size to the MacBook Air (although it’s actually about the size of a regular MacBook). I also received a significant discount as an IBM employee. The MacBook Pro series was the popular choice, but also the highest priced and least powered. It wasn’t a logical purchase.
My mind was quickly made up when I physically saw a silver 5th-generation MacBook in the Apple section of the local Best Buy. Both the MacBook and MacBook Pro are nearly identical, yet the Pro version is drastically marked up for an extra video card and larger screen size. In my mind, that doesn’t justify the price difference. The Dell M1330, Thinkpad x300 and the MacBook are all 13.3″ models, while the MacBook Pro is 15.4″. Hence, the plain old MacBook was also the size (and closer to the weight) that I was looking for.
First Impressions
Now that I have made my purchase, I clearly understand why Apple fanatics grow to become Apple fanatics–regardless of whether they are the most hardcore programmers or the most casual buyers. I can’t stress this enough: the experience of purchasing an Apple is absolutely immaculate from top to bottom. From receiving the first thank you e-mail from Apple that basically shouts, “we care about you as a customer,” to opening the well-designed, stylish box, to the exciting, galactic startup screen when you boot it for the first time, Apple consistently communicates the message that they care about the end-user and that they take pride in producing something excellent.
I previewed the MacBook series at Best Buy. Upon browsing the various laptops, they are clearly the most well-designed product on the floor, the distinction being enhanced by being proudly displayed in their own section. This could have been said about most previous Macbook Pro models, but I feel that the metal unibody design for the fifth generation is a significant step forward for the oft-overlooked MacBook stepchild.
I was not impressed by the form factor of the other laptop models. It is also worth mentioning that in this purchase, I wasn’t valuing horsepower as a priority. A local development environment for Web programming simply is not all that demanding. I just needed something that would survive 3-4 years without becoming outdated.
I first previewed the Dell M1330, which feels thick, and hence somewhat archaic, even though it wasn’t released all that long ago. From a design perspective, the keyboard suffers from the typically Windows PC woes by being cluttered which stickers and excessive buttons. Additionally, the screen feels small in comparison to the MacBook, although it is the same size. This is something I found to be remarkable in my comparison of the MacBook and MacBook Pro: although the Pro edition has a screen that is more than two inches larger, the difference is negligible. I am sure that over time, with much use, the difference would be noted, especially for text-heavy web applications that require scrolling such as Google Reader, but in a side-by-side comparison, it did not feel like a huge loss. Last, the Dell is clearly the best bang for your buck in terms of horsepower for ultraportables. You can configure a system with 4GB of RAM and a 128GB solid-state drive for under $1500. However, because I was not impressed by the form factor, it did not feel entirely like an ultraportable, but more like a powerful Netbook, of which there are an abundance of options that I did not consider. It looks pretty in pictures, though:
Lenovo laptops are nowhere to be previewed in the physical world unless you are lucky enough to have a friend that owns the model you are looking for. Additionally, I have heard that there are “authorized Lenovo dealers” or something to that effect which can be located in obscure places such the authorized dealer’s home. So it was an easy decision to disregard them, considering I am unfamiliar with any of their new models. This is too bad, since their commericals slobber all over the MacBook Air.
Not to dismiss them completely, I do use a Lenovo Thinkpad T61p at work, which is a fantastic machine, and it would have been an easy decision to buy one had Lenovo not discontinued them.
Ubuntu
I immediately installed Ubuntu and was quickly disappointed by its support (or lack thereof). Using anything besides OS X (Leopard 10.5 at the time of this writing) simply destroyed the vertical Apple user experience. There are various fatal problems with Ubuntu on the new MacBook that led me back to OS X:
The system does not shut down properly. It causes the screen to go blank and an intermittent series of three loud beeps to occur. Supposedly, this is a problem that occurs when the RAM is not installed properly. I know this is not true.
The sound doesn’t work out-of-the-box. It takes some configuration to get working, if you’re lucky.
Supposedly, the battery life is horrendous.
Quirks
Because Apple controls everything, they can keep it all tightly integrated to the level that other operating systems can’t. These are the quirks that Apple users rave about to the annoyance of everybody else, but it wasn’t until making this purchase that I deeply understood why. These are some of those quirks:
No need to shut down, instant boot up, no need to reboot. With my Thinkpad, I can set the computer to “stand by” to quickly reduce the startup time. With my MacBook, this is a no-brainer. I close the lid, it shuts off, I tap the touchpad and it starts up. A similar configuration can be made with other operating systems, but it’s not quite as seamless.
The operating system is relatively lightweight. No need for a power-house that would run Windows Vista (as if that was ever in the question–ha). I don’t know the specifics of how OS X compares to Ubuntu, but the designers definitely had the specific hardware configuration in mind when they designed the memory management. Ubuntu simply does not have this luxury. This point is worthy of further investigation.
Spotlight. This is an tool that lets you find applications, media and files by typing them in. It follows the Ubiquity design paradigm that I recently discovered and am incredibly excited about. It is also available on Linux in the form of Beagle.
Meticulous attention to detail. Like I already stated, everything from the packaging to the registration screen seems to be well-thought-out and well-done. This feeling never ceases. The playful, “friendly” feel of Leopard’s Expose, Spaces, Dock and other applications simply make it feel like more work has gone into it. These apps are enjoyable to use. Additionally, since it is Unix-based, the hardcore users don’t suffer, with access to vital developer elements such as a Unix terminal.
Everything is simply beautiful. You don’t really appreciate the sheer beauty of a MacBook’s physical design and the aesthetics of Leopard until you experience the top-to-bottom user experience. Like I said, I feel the aluminum unibody design is a big step forward and it feels like a work of art.
All these items are things that could be configured with enough tweaking and tuning on any machine. However, the point is that that tweaking and tuning is simple not necessary here. The designers have done a magnificient job of selected only what is necessary and useful for the common population.
During my Ubuntu install, for the first time, I felt a pang of burden at installing the darn thing. There simply wasn’t the value add that one achieves over Windows. I would have put all this work into configuring it to get what would inevitably be an inferior user experience to OS X, because certain things, like the backlit keyboard that I paid for, wouldn’t function properly.
Mac OS X Woes
The experience isn’t perfect, and there are several annoyances about it:
Some keyboard shortcuts are moved from Ctrl on most machines to the Command button. This is a common paradigm across most operating systems I’ve used (Windows, Ubuntu, Fedora), and is an annoyance.
The Delete, Page Up and Page Down keys are missing, being replaced by different shortcuts, which takes some getting used to.
I have no idea what mounting an application to the hard disk means and it causes seemingly installed applications to disappear when the computer is restarted.
The typical annoyances of learning a new operating system. Dealing with things like a new package manager or finding a good FTP client, for example, are always a pain.
Overall, I am enthralled that I chose to step out of the open-source mindset to give Apple a try. The’s company’s Mac vs. PC commercials are still damn pretentious and made me love and sympathize with John Hodgeman, but I suppose they are working out for them. Fortunately, I don’t watch much TV and so therefore I’m not affected.
I recently became a believer in making oneself accountable for one’s goal by communicating them to others. I feel this blog is a good medium to express such things. Here is my list of goals for 2009:
Personal Development
Blog an average of once a week. This means at least 52 blog posts; this is the second of this year (yes, I am counting “junk” posts).
Read one book every two weeks.
Continue to lift weights three times a week.
Continue to practice salsa dancing at least once a week.
Technically
Release the fitness application I have been developing to the public (more details to come).
Welcome! Along with the advent of the new year, I have completely re-vamped this blog in various ways:
Completely new look and feel. I was sick of the clutter from two-column layouts with text that wouldn’t fit into the sidebar. I feel too much superfluous information detracts from the actual blog content. The minimalistic layout also allows me to keep the titles of my posts long without formatting issues.
Moved to an externally hosted server. This means I have full control over the state of my Wordpress set up. While I wholeheartedly recommend Wordpress as a blogging platforms, there are certain restrictions in place in the free hosted version, such as the inability to install plug-ins. The trade-off, of course, is more work for the inital setup, for more control in the future.