For novel ideas about building embedded systems (both hardware and firmware), join the 30,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

Jason Long is donating three copies of his brand new book Embedded in Embedded for this month's giveaway. Here's a short review. Enter the contest here.

By Jack Ganssle

PC Programming

Published 3/20/2006

When the Danish newspaper Jyllands-Posten ran those cartoons that so enraged so many my take was that, while they surely had the rights to publish such material, it was in bad taste. When the French then republished the caricatures, I felt they were purposely trying to offend a huge block of people. Sure, the right of free speech is an essential liberty. But that right doesn't mean we must say every offensive thought that comes into our heads. The reaction in the Middle East was even more objectionable, and to me, appalling and inexplicable.

When someone tailgates, most of us, because we're grownups, repress the urge to respond with the single-fingered response. The Wall Street Journal could run porn, but chooses not to. CBS could run naked breasts during the Superbowl but. well, hmmm.

In real life we do filter our speech in the interest of building a tolerant society. That's an essential component of maturity. The screaming two year old demands the supermarket candy bar at full volume. Adults only voice a quiet wish.

This can go too far. This morning I read (http://www.nytimes.com/2006/03/20/technology/20amazon.html)
that a member of the Religious Coalition for Reproductive Choice, a pro-abortion group, complained that searches using the word "abortion" on Amazon returned, among other things, suggestions for books advocating adoption. I respect that the person was able to exercise his or her right of free speech to complain.

But Amazon responded. They've changed the search algorithm, for this particular query, to display a page full of anti- and pro-abortion books, with no suggestions that don't contain the word used in the search.

In the law, a corporation is a person and largely has the rights of any person. Amazon surely has the right to have their search engine return any old result they'd like. Type in "abortion" and pop out "adoption," "pro-life," or "tomato." It's up to them.

But the implications for Internet commerce in general are chilling. Consider the code: there's some sort of database whose output goes into a bit of software the figures what other people were looking for when they ran the same search. Finally, now, there's the Politically Correct Filter, a new module that insures no one is offended by the results.

Who writes that code? Where do the algorithms come from? The PC landscape changes constantly; half a century ago divorce was forbidden, in 1959 few dreamed a Catholic could be president, and twenty years ago South Park would have been banished. Some poor programmer at Amazon must be tasked with the frustrating task of conforming to the latest social norm. Talk about working with unstable requirements!

Ironically, the software filter is in response to someone using the world-wide-web, the one information resource that connects everyone to every idea. The easily-offended should stick to narrow publications that represent their views, not a media in which one mistyped letter can vector you from a site promoting a particular political viewpoint to raw uncensored porn.

Instead of a PC Filter which will never satisfy everyone, Amazon should add a preference setting that displays no search results: "Click here if your sensibilities are so easily bruised that you can't ignore our suggestions, which are simply responses automatically selected from a vast dataset by imperfect software which neither knows nor cares about your particular viewpoint."

What do you think? Should database searches be restricted by matters of political correctness? If so. how?

Do you need to eliminate bugs in your firmware? Shorten schedules? My one-day Better Firmware Faster seminar will teach your team how to operate at a world-class level, producing code with far fewer bugs in less time. It's fast-paced, fun, and covers the unique issues faced by embedded developers. Here's information about how this class, taught at your facility, will measurably improve your team's effectiveness.