Archive

Primary Keys: IDs versus GUIDs

Long-time readers of this blog know that I have an inordinate fondness for GUIDs [https://blog.codinghorror.com/mastering-guids-with-occams-razor/]. Each globally unique ID [http://en.wikipedia.org/wiki/Globally_Unique_Identifier] is like a beautiful snowflake: every one a unique item waiting to be born. Perhaps that's why

By Jeff Atwood · · Comments

Creating User Friendly 404 Pages

We understand what 404 means: Page Not Found. But the average internet user has no idea what 404 means or what to do about it. To them, it's yet another unintelligible error message from the computer. Most 404 pages are unvarnished geek-speak. Consider the default 404 page under

By Jeff Atwood · · Comments

The "Works on My Machine" Certification Program

Joseph Cooney had a brilliant idea for a new application certification program [http://jcooney.net/archive/2007/02/01/42999.aspx]. But Vista's bland white-on-gray badge, in my opinion, doesn't properly communicate the.. authoritative.. nature of said program. With the help of Jon Galloway [http://weblogs.

By Jeff Atwood · · Comments

Are Web Interfaces "Good Enough"?

Torrent [http://www.utorrent.com/], my favorite BitTorrent client, now offers a web UI. See if you can spot the differences between the Web UI and the Windows UI: After spending about a year interacting with Torrent exclusively through Remote Desktop, I was pleasantly surprised to discover how good the

By Jeff Atwood · · Comments

My Work PC, or, Taking Your Own Advice

I recently had the opportunity to rebuild my work PC. It strongly resembles the "Little Bang" D.I.Y. system I outlined in my previous post on the philosophy of building your own computer. See, I do take my own advice. Here's a quick breakdown of

By Jeff Atwood · · Comments

Building a Computer the Google Way

If you're ever in Silicon Valley, I highly recommend checking out the Computer History Museum. Where else can you see a live demonstration of the only known working PDP-1 in existence, and actually get to play the original Spacewar on it? I did. It was incredible. I got

By Jeff Atwood · · Comments

Software Internationalization, SIMS Style

Internationalization of software is incredibly challenging. Consider this Wikipedia sandbox page in Arabic [http://ar.wikipedia.org/wiki/Sandbox], which is a right-to-left (RTL) language: Compare that layout with the Wikipedia page on internationalization and localization in English [http://en.wikipedia.org/wiki/Internationalization_and_localization]. Now consider how you&

By Jeff Atwood · · Comments

Dude, Where's My 4 Gigabytes of RAM?

Due to fallout from a recent computer catastrophe at work, I had the opportunity to salvage 2 GB of memory. I installed the memory in my work box, which brings it up to 4 gigabytes of RAM-- 4,096 megabytes in total. But that's not what I saw

By Jeff Atwood · · Comments

Getting the Most Out of PNG

When it comes to image formats on the internet, it's generally a three-way tie between JPEG [http://en.wikipedia.org/wiki/JPEG], GIF [http://en.wikipedia.org/wiki/GIF], and PNG [http://en.wikipedia.org/wiki/PNG]. Deciding which image format to use is relatively straightforward; you choose

By Jeff Atwood · · Comments

Using Amazon S3 as an Image Hosting Service

In Reducing Your Website's Bandwidth Usage, I concluded that my best outsourced image hosting option was Amazon's S3 or Simple Storage Service. S3 is a popular choice for startups. For example, SmugMug uses S3 as their primary data storage source. There have been a few minor

By Jeff Atwood · · Comments

Reducing Your Website's Bandwidth Usage

Over the last three years, this site has become far more popular than I ever could have imagined. Not that I'm complaining, mind you. Finding an audience and opening a dialog with that audience is the whole point of writing a blog in the first place. But on

By Jeff Atwood · · Comments

Your Code: OOP or POO?

I'm not a fan of object orientation for the sake of object orientation. Often the proper OO way of doing things ends up being a productivity tax. Sure, objects are the backbone of any modern programming language, but sometimes I can't help feeling that slavish adherence

By Jeff Atwood · · Comments