A Postmortem of Temporary Success
I submitted my previous post, Why Working at Google Is Not My Dream Job (Anymore), to HackerNews and it hit the front page! Within the first hour of its submission my post reached the front page, and then quickly peaked at number ten. It floated between the number ten and twelve spots for another three hours, but after six hours it had dropped to the second page. By the time I got home from work, it had fallen to the fourth or fifth page and had accumulated 196 points and 166 comments. You can tell I am a little bit excited about all this. I think in one day I had the same number of views that I have had in the last three years. Here's a link to the HN comments.
Have a look at this traffic graph of my site from today:
Some other quick notes.
- I probably should have picked a different title. It served well to grab the attention of readers on HN, but it doesn't serve as well to summarize the contents of the post.
- Lots of people had similar experiences with Google and other large companies. This is not surprising.
- Lots of people had quite the opposite experience interviewing at Google. This is also not surprising.
- There were some pretty rude/crass comments made. This should be expected with the internet.
- At peak bandwidth, my server was struggling a little bit. Pages were definitely loading a little slower.
- My comments section needs work. It is not escaping quotes properly
- Someone took the opportunity to explore other posts and comment on a six year old post.
Why Working at Google Is Not My Dream Job (Anymore)
I had to sign several NDAs with Google and I am honestly too lazy to check what I can and cannot disclose. In light of that, I'll keep this vague and hopefully avoid getting sued (fingers-crossed).
I still remember being in high school and reading about how amazing it was to work at Google. About how amazing their free cafeterias were, their company gyms, massage chairs, and on-site laundry machines. Not to mention the brightly colored walls and hip decorations, which were a stark contrast to Intel where I interned. Conan O’Brien once compared Intel's offices to a parking garage, and complimented them on their excellent design choice to match the grey trim with the grey walls. When I was in university, and I learned more about the ground breaking projects Google had, the brilliant people they employed, and the amazing resources they provided their engineers, I knew that Google was a company I wanted to work for. What computer science undergraduate didn't dream of working at Google? To work at the same company with brilliant minds like Guido van Rossum, Leonard Kleinrock, and Ken Thompson? But in college, after two phone interviews I was rejected from a summer internship, and turned down for a full time position after another three phone interviews.
But not too long ago I interviewed with Google again. The entire experience, from first e-mail to final phone call stretched from the end of November to the beginning of April. I passed the phone interviews and the on-site interviews, all of which were arduous but not unmanageable.
After finding out I passed the interviews, and Google finished doing my background check, I spent the next two months on an emotional roller-coaster. I spoke to a couple hiring mangers, exchanged many confused and angry emails with friends and colleagues at Google, and had numerous phone calls with my recruiter, whose tone ranged from apologetic to congratulatory. At various times, I was not entirely sure if I was fully rejected, or if the only thing standing between me and a formal job offer was some paper work. Many phone calls with the recruiter (who was very kind and helpful) were required for clarification, but did little to assuage my annoyance as she was not allowed to explain any of the inner workings of the hiring process. As the weeks dragged on I received job offers from two other companies, so I gave the Google recruiter a deadline and the inscrutable bureaucracy missed it with all the grace of a three-legged elephant.
I am not overly found of interviews. They can be difficult and uncomfortable and require me taking time off from my current job, and getting my chain jerked around does nothing to help improve the situation. I was contacted by another Google recruiter two months back, who asked me if I was interested in the exciting new job opportunity she had (I wasn't, my current job is more interesting). The caveat was that I would have to do some more interviews. I was surprised to discover that although working at Google has been my dream job for many years, I turned down this opportunity with no difficulty whatsoever. The time and the trouble involved just didn't seem worth it anymore. While I still believe Google is doing great things, there are also other companies in the industry doing groundbreaking work, many of whom can reach a decision over an applicant in three months or less.
The problem is not the fault of the excellent people that Google employs, but rather the creaking, rambling structure of their hiring process. Why is the whole process so obfuscated? Why are they doing background checks and calling references before they are even close to being ready to make an offer? Why is some arbitrary committee rejecting a candidate at the eleventh hour after everything else has been approved? Why does the rain fall from up-above? How many licks does it take to get to the center of a tootsie pop?
These are questions that us non-Googlers (non-ooglers? nono-oglers?) may never know the answer to. But we can take solace in the fact that the Silicon Valley is a big place with many wonderful opportunities. And hey, I hear Facebook is hiring
(EDIT: see hackernews discussion)
Me and Tex
Someone once told me that all the "cool kids" use Latex to write up all their technical documents. Due to my desperate desire to be part of the cool crowd, I immediately began reading through Latex tutorials. At the time, the only formal document I was working on was my resume, so I rewrote my resume in Latex, and because I wanted to have lots of fancy formatting, it took me a surprisingly long time to write it up. The end result was a resume that looked pretty decent, and one very annoyed college student who decided that Latex was far too aggravating to be used on a regular basis for such trivial things like lab reports or resumes. So for the longest time, my resume was the only document I used Latex for.
Now lets put the way-back machine in reverse and jump forward one year, to last week, when I was typing up my linguistics homework in VIM. We were working with sentence trees (think back to your automata/algorithms class, where you used a formal grammar to show that a string is an element of a language) and unfortunately, there is no good way to draw graphs, or much less trees, in plain ASCII text. Lucky me, Google-fu revealed that there are numerous Latex packages that will allow a writer to knock together some pretty spiffy graphs. Long story short, it took me a really (really (really (really))) long time to write up my linguistics homework using Tex. I was up till 4 AM, and most of that time was spent making sentence trees. Granted, I spent a pretty good chunk of time relearning Latex, learning how to use some crazy packages I found out in the Internet, and going "Ooooo! Look what I can do!"
The end results: the loveliest homework assignment I've ever turned in, and one tired college student.
Funny story, the next day, I wrote up my algorithms homework in Latex. This week, I wrote part of my circuits lab report and my new linguistics homework in Latex.
I run Linux almost exclusively and its often quite difficult for me to create nice looking documents with fancy charts, tables, and nicely notated equations, because quite frankly, Open Office just doesn't cut it when I need to make stuff look nice. Not only that, but I still haven't bothered to install Open Office on my laptop. The end result is that I write most of my lab reports in Microsoft Office on the school computers. Now I'll admit, I do bash on Microsoft on occasion, but I actually enjoy using Microsoft Office 2010. Office's new equation editor is simple to use and it creates really pretty looking equations, and the graphs now have nice aesthetically pleasing colors and shadows (unlike the old-school graphs). So really, there hasn't yet been a reason for me to seek out an alternative to MS Office. Until now of course.
Latex allows me to create epically awesome, professional grade documents in about the same amount of time as it takes in MS Office. Some tasks are actually faster because I don't have to fight the editor program, which usually thinks it knows better then me. I can now also work on my documents from the comfort of my own desk, or on my laptop while I'm chilling in the hallway between classes. Plus, documents marked up in Latex just look better in general then your typical MS Word doc, due partially to more consistent formatting rules and a more structured layout.
So join the rest of us cool kids! Jump on the Latex bandwagon! After all, how could something created by Donald Knuth possibly be bad?
Gmail Down Time Again…
So Gmail is down again and has been for at least thiry minutes, attempts to access the webpage results in a 502 error. I disallowed IMAP and POP forwarding on my account so I have no way of knowing if IMAP and POP are still accessible, but I am inclined to assume that they're not. Gmail outages while rare, are not unheard of, and I have always ridden out the down times without too much complaining. But Google's mail software is now officially out of beta, and it is not acceptable for a production-ready product to be having these kinds of outages. I may just have to create a 42gems.com e-mail and use that instead of my gmail account as my primary e-mail address.
Three Weeks of Biking
Because I've had these numbers on a post-it-note for almost a month now...
Distance Traveled: 16.529 miles
Elapsed Time: 1 hour and 17 minutes
Average Speed: 12.9 MPH
Max Speed: 30.4 MPH
Distance Traveled: 10.18 miles
Elapsed Time: 44 minutes and 39 seconds
Average Speed: 13.7 MPH
Max Speed: 29 MPH
Distance Traveled: 10.692 miles
Elapsed Time: 49 minutes and 51 seconds
Average Speed: 13.2 MPH
Max Speed: 29.7 MPH
Goo on Linux
Several weeks ago, I saw an article on digg about World of Goo being ported to Linux. My roommate happened to see it too, and knowing that I was a Linux user, told me that I should download it and give it a try since it apparently gained a good reputation on the Wii. I have to admit, I was a little excited to give it a try, especially because the Linux world isn't exactly overflowing with a wealth of good games (seriously, Sudoku and Mahjong don't really count).
I'm not exactly sure why 2D Boy, the makers of World of Goo, decided to port their funky game to Linux, but I'm not complaining. One thing that people should note however, is that although Goo is DRM free (yeah!!) it is not totally free, getting it legally will cost $20 (US). I know that there are a few Linux users that turned to Linux specifically because it is free, and they expect that all their software should be totally free and open source. Unfortunately, the two guys at 2D Boy have to make a living, and since they've managed to make a good product I have no qualms forking over a small fee to play the whole game.
If you're not quite ready to put some money down (like me), you can of course download the trial version (like I did), which will allow you to play through the first level (which I did). The Linux version comes available as debs, RPMs, or just good-old tarballs (and Arch user that I am, I went with the tarballs). I was expecting that Goo wouldn't work right out of the box and would require some tweaking to get it to work, but surprisingly all I had to do was untar and run the binary inside, and Goo was up in an instant. So props to the developers and testers for a job well done. And of course, the game was actually surprisingly fun, despite the fact that on first impressions it looks like a cheesy, kiddy game. I'd highly advise that Linux users give World of Goo a shot.
Lightbox Effects
So unless you've spent the last few years never clicking on an image on a web page, you're quite familiar with Lightbox-like effects (and if not with the name then at least with the effect itself). Here's an example of Lightbox2 for those unfamiliar with it.
When I say "Lightbox-like," I am referring to any kind of "effect" that allows for embedded pop-ups of images and other forms of media (i.e. flash videos, etc). The benefit of Lightbox, aside from the aesthetics, is that it doesn't result in an actual pop-up (which are often blocked by a pop-up blocker on a modern browser), or require the user to navigate to another page and then hit the browser's "back" button to navigate back to the main content. The basic idea is that Lightbox makes a visitor's life easier, supposedly.
I have two problems with Lightbox-like effects. Firstly, the Javascript files required for the effects tend to fatties. The Lightbox2 Javascript files take up 18Kb, but Lightbox2 also requires the Prototype and Scriptaculous libraries which take up 172Kb. Its not a big deal if you're site is already heavily AJAX-ified and already uses Prototype and Scriptaculous, but not everyone's site does. Quite frankly, I find it to be highly annoying that I spend so much time slimming down my images and making sure that people without lightening fast Internet connections can easily access my sites, only to have Lightbox, which is supposed to improve the visitor's experience, bog my site down by requiring 190Kb of Javascript files. There are of course, many alternatives to Lokesh Dhakar's original Lightbox and Lightbox2, many of them which are much lighter in memory. I stumbled across this helpful "Lightbox Clones Matrix" a month or so back, and it usefully lists memory sizes for each "Lightbox clone."
Javascript Performance
I've noticed that Javascript runs amazingly slowly in Firefox 3 on my computer. I'm running Debian Lenny with an i686 kernel and I have the i686 version of FF3 downloaded straight from the firefox website. Under Opera, Konqueror, and Epiphany, on my computer, Javascript effects like Lokesh Dhakar's Lightbox, (which I'm using on my blog to display image) tend to be a little sluggish, but in Firefox 3, performance is horrendous. In Lightbox, when you click an image the entire page darkens, which normally takes next to no time, even on my Mom's old Celeron loaded down with tons of malware. But in FF3 on my computer, it takes a noticeable amount of time for Lightbox to darken the screen, at least a second or two. I tried running other Javascript intensive websites, built with various libraries including JQuery, Prototype, and Mootools, but the results were the same. Javascript performance continued to be absymal. Indeed, in some cases I clicked an image, went to the bathroom, came back and found my computer was still trying the zoom the image out.
I haven't conducted any kind of indepth, exhaustive testing of FF3's Javascript performance, but from cursory usage, I have determined that its pretty bad. Aside from complaining, I have no idea what else to do.