April 30, 2008, 2:46 PM — 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 the
software and the system. It's like a robot nanny for computer programs, silently
taking care of memory management and other housekeeping drudgery while keeping
an eye out for potential security violations before they happen.
To an end user, a managed-code program may seem no different than a traditional
one, but software that runs in a virtual machine makes for a more reliable,
stable, and secure computing experience. And with .NET rapidly becoming the
preferred platform for Windows development, managed code may soon be the norm,
rather than the exception.













