The world, how it works, surroundings, myself, etc.

Sunday, March 19, 2006

My fourth job offer

I got my 4th job offer on 16th. This time it's Google, Hyderabad. This concludes the Google honeymoon which started on Dec 6th last year and lasted for 101 days. The process involved 9 interviews (2 on phone, 5 in Bangalore and 2 in Hyderabad), numerous mails and a similar no of phone calls, and fetched me my first air-trip (to and fro Bangalore in Jet airways) and 2 Google T-shirts.

Interview 1 - Interview 8:
Algorithms algorithms algorithms algorithms.
Each interview involved 2-3 questions and would last for about 1 hr.

Interview 9:
It can't really be called an interview. The only question I was asked was the meaning of my name, which, for natural reasons, wasn't very difficult to answer. The rest of the time was spent in me asking questions while my interviewer stood near the board explaining me things. He explained me a lot of things related to Google, the policies, the interviewing process, etc. He explained me Google's 80-20 funda, by which a person is given 20% (i.e. 1 day per week) free time to work on anything. This one day gives a person the chance to develop something very useful and interesting. The end-product can be recommended in the review process (which takes place every 6 months) and might lead to promotion and other incentives. Many of Google's flagships product have emerged from this 20% time. Ex: Orkut, Adsense, Google News.

Some excerpts from Interview 9:
Me: This is my 9th interview. What does this mean?
Ans: Nothing. A person is interviewed till as long as the deciding committee feels that the candidate hasn't been tested in all aspects.

Me: Should I expect more interviews?
Ans: Not very likely. 9 interviews is kind of enough for a fresher. I had 13 interviews.

Me: How many people are there at Google, Hyderabad.
Ans: There are 300 people, but only 20 engineers. The rest are people in advertising, marketing, art, design, etc, etc, etc.

Me: What is SDE, SET, SQA, etc.
Ans: These are names given to positions. SDE -- Software Devel Engineer, SET -- Software Engineer in Test, SQA -- Software Quality Assurance. When a person joins Google, he's just assigned to one of these based on some heuristics during the interviewing process. The real allocation is done 6 months later. Google doesn't do the dirty kind of testing.. the ones like black-box testing, monkey testing -- these are outsourced.

In essence, the motive of the interview was to convince me that Hyderabad does exciting technical work contrary to the popular notion associated with the word test. He was successful.

Monday, March 13, 2006

Getting direct rendering on MSI Xtreme with ATI Radeon Xpress 200

Configuration:
MSI Xtreme motherboard x86_64, 512 MB RAM (with 64 M shared)
ATI RADEON XPRESS 200 Series integrated on-board graphics

Problem: DRI not enabled with ATI drivers on Linux. Actually, after installing the rpm available from ATI's site, glxgears' performance drops. What runs at 400 FPS with vesa drivers, runs at 200 FPS with ATI's drivers (fglrx).

Solution: The kernel module wasn't getting compiled properly. ATI released new drivers on 8th, March. But that wasn't enough. It required some tweaking.
I used to get a missing <asm/ioctl32.h> error. There's no <asm/ioctl32.h> on my Fedora Core 4 (FC4-x86_64)
Replacing all such occurences with <linux/ioctl32.h> works.

Essentially:
  • cd /lib/modules/fglrx/build_mod
  • Replace all occurrences of <asm/ioctl32.h> with <linux/ioctl32.h>
  • sh make.sh (this should succeed. It should at least make fglrx.ko)
  • cd ..
  • sh make_install.sh
Besides, I need the fglrx64 rpm installed. The rpm released on 8th March didn't work for me. This one did.
So, finally I have direct rendering (confirmed with: glxinfo | grep direct) on FC4-x86_64. glxgears reports 733 FPS.

Monday, March 06, 2006

R & D Showcase '06: Display Wall

The R & D Showcase ended; a lot of fanfare, but the industry was uninterested (stupid Bush!). If the activity observed in the academic building is any criteria, it was succesful -- never before had I seen such activity going on in the main building. So many people moving around systems, tables, posters, and other people.

Display Wall
The Display Wall was unprecedented this time. The 3x4 matrix utilized 12 systems. The combined setup with a 6.25 megapixel resolution, 8.704 GB RAM, 1 TB storage and 36.2 GHz of processing power was cooled in a separate room (#215). 11 of the 12 systems used had the same config as the ones in lab-5, and the ATI graphics drivers were unusable in Linux (shame shame ATI).

Sincere thanks to Parry and Tarun for installing Fedora on all the systems, SMR for helping throughout thereafter, and Vardhman for the pics.

Some common questions asked about Display Wall:
Q1: What are you doing apart from just cutting an image and displaying on those systems?
Ans: Those are not images. They are rendered from a 3D model. The model has 13 Million triangles, and is a bit too heavy for even the most serious graphics cards.

Q2: Why not use a projector instead?
Ans: A display wall is different from just projecting using a projector. Projecting a display merely increases the scale, not the resolution. And if you sit near to a projected display, you'll start observing blocks. However, in the case of the display wall, the combined resolution is far greater than that of a single system. You can of course replace each monitor with a projector, and the total resolution is herculean.

Q3: What's the front-end and back-end?
Ans: I don't know, and I don't care.