Facebook’s Staggered Maintenance Procedure

Facebook has one of the world’s largest server farms and for good reason – with all that traffic no amount of servers can be considered too much. While Facebook’s uptime is a lot better than many most of the other “Web 2.0” services, we’ve been seeing a lot of maintenance-related downtime recently (see possible reasons below).

You’ve got to hand it to the Facebook team though, they have scaling and uptime perfected down to an art. For instance, when servers are due for updates, the maintenance is performed in a staggered manner, updating one set of servers at a time as attested to by the unavailability of certain Facebook accounts while others can still be accessed.

If your account is on one of he servers being serviced/maintained/upgraded, you’ll see a message like this:

Continue reading

ATi Catalyst 8.5 Drivers Out

ATi has just released the Catalyst 8.5 drivers for Windows XP and Vista, you can download a copy here (hotlinking to the actual driver page is disabled).

The entire 8.x line has been of sub-par quality to date (8.3 and 8.4 in particular, which seem to crash randomly on a large percentage of Vista machines), hopefully the 8.5 release can provide a much-needed boost in terms of quality and stability.

It’s obviously too early to tell if the 8.5 releases addresses these issues, which are not listed in the release notes, but it’s possible that some of the causes of the problem have been resolved as a result of one or more of the bugfixes in this version.

Programmers Should Trust Their Instincts

People are either cut out to be programmers or they’re not. How to know, what to do if you’re not, and where to go from there is a huge issue and not the subject of discussion. But one of the signs of a good programmer is good programming instincts. The right instincts can save hours of work and provide creative solutions to even the most difficult problems; and “gut feelings” in programming are not something you should ignore lightly.

One of the first thing Computer Science teachers drill into the heads of their students is that it’s important to map everything out beforehand. Design the algorithm. Draw the UML diagrams. Decide the entire flow of data and the relationships between everything before you even touch the IDE. While this is integral advice for anything above a small-complexity project, there is an exception: if you have a gut feeling, follow it.

For instance, the other day I sat down to write a simulator for a MIPS datacache, with different replacement policies. “Ideally,” the planning procedure would have involved designing the sequence diagram, a flowchart detailing the method used by the cache to determine expired entries, and generally-speaking a lot of time down the hole just visualizing what happens beforehand.

Continue reading

Making Gmail a More Welcoming Experience

It used to be that when you opened your Gmail account you would see a bland, blank page with the text “Loading…” in the upper-right corner of the screen, as you waited for your browser to download the Gmail scripts and to make contact with the mail server to download the list of messages and other content that appears on the Gmail “dashboard.”

We’ve long felt that Gmail’s approach was not befitting of the Web 2.0 service with all its sky-blue shades and flashy appearance – and now it seems that Google’s felt that way too.

Here’s the new loading interface… Subtle, simple, and effective:

(Click image to see more changes)
 Gmail Progress Bar 

After all, first impressions are everything!

Mapping Computer Techniques to the Real World

As a recent Times article describes, shopping plazas are now using cell-phone tracking technology to map shoppers’ activities and movement patterns. The "Path Intelligence" hardware used to track the movements works like this:

  • A cell-phone-wielding shopper enters the shopping plaza.
  • Path Intelligence monitors mounted throughout the plaza detect that a new mobile phone is in the vicinity and log its IMEI code.
  • As the shopper moves around the mall, his or her movements are continuously triangulated by the multiple Path Intelligence units, allowing movements to be mapped and saved for later analysis.

The good news: it’s totally private, there isn’t any (automated) way to map a particular record in the Path Intelligence logs to an actual person. The resulting logs can be analyzed for shopping patterns (where people go after visiting a certain store, peak hours of traffic, most popular regions, etc.) later on, providing valuable intelligence and allowing for improvements.

Continue reading

Asus: Linux, Whether You Need it Or Not

It looks like Asus is going to be shipping all its motherboards from here on out with Linux built right in, as part of their “Express Gate” initiative. Express Gate is a custom Linux distribution (Splashtop Linux) installed to a Flash ROM that’s a part of the motherboard. With Express Gate, Asus users have an option of booting from that built-in ROM chip to a Linux-based desktop, with an average boot time of around 5 seconds or so.

The problem with Express Gate isn’t that it’s Linux nor that it’s there – it’s the rather more-mysterious question of why it’s there in the first place. If ASUS had thought to make use of this Linux distribution to provide data recovery & diagnostics services, offer advanced BIOS configuration and updating options, or one of the infinite other creative ideas that one can manage with a light and fully-configurable OS that ships embedded with the motherboard, perhaps then we could see a use for it.

Continue reading