The late sci-fi author Arthur C. Clarke famously said that any sufficiently advanced technology is indistinguishable from magic.
We certainly live in a magical world. We're surrounded by technology, yet we seldom stop to consider the amazing advances that we've come to rely on every day. Whether we're surfing the Web, making a call on our mobile phones, or watching a DVD movie on our big-screen TV, we take our modern conveniences for granted.
Here, then, is a peek inside the magician's hat at ten technologies that are keys to our digital age. Without realizing it, you've probably used at least one of them already today--if not all. But whether you're aware of them or not, without these technologies our world would be a very different place.
Unicode
We use computers for every kind of communication, from IM to e-mail to writing the Great American Novel. The trouble is, computers don't speak our language. They're all digital; before they can store or process text, every letter, symbol, and punctuation mark must first be translated into numbers.
So which numbers do we use? Early PCs relied on a code called ASCII, which took care of most of the characters used in Western European languages. But that's not enough in the age of the World Wide Web. What about Cyrillic, Hindi, or Thai?
Enter Unicode, the Rosetta Stone of computing. The Unicode standard defines a unique number for every letter, symbol, or glyph in more than 30 written languages, and it's still growing. At nearly 1500 pages and counting, it's incredibly complex, but it's been gaining traction ever since Microsoft adopted it as the internal encoding for the Windows NT family of operating systems.
Most of us will never need to know which characters map to which Unicode numbers, but modern computing could scarcely do without Unicode. In fact, it's what's letting you read this article in your Web browser, right now.
Digital Signal Processing
Digital music, digital photos, digital videos: It's easy to forget that we live in a fundamentally analog world. Computers can cope with all that we see and hear only through the application of highly complex mathematics, a field known as digital signal processing (DSP).
Wherever you find digital media, DSP is at work, facilitated by a whole subcategory of specialized chips and circuits. DSP algorithms correct for errors while your optical drive reads the music off a CD. They're at work again as you compress the audio into an MP3 file, and again when you play it back through your surround-sound speakers.
DSP is to digital media as gears and springs are to a pocket watch. It works its magic below the surface: invisible, yet totally essential. It's safe to say that without it, virtually none of the digital technologies that we take for granted today--from DVDs to mobile phones, ink jet printers to DSL broadband--would be possible.
Managed code
Programming is a lot more complicated than it used to be. Modern operating systems are like onions, with layers upon layers of subsystems to interconnect and manage. Worse, bugs and unnoticed security flaws, even ones that may have once seemed trivial, can be serious threats in the Net-connected era.
For a growing number of developers, the solution is to use platforms designed to relieve some of the burden. Programs written for such managed-code environments as Java and Microsoft's .NET don't run on the bare hardware the way traditional programs do. Instead, a virtual machine acts as an intermediary between

Post new comment