DrDobbs Portal Blog /blog/portal/ 2008-08-21T11:40:02-05:00 Turning PCs into Digital Radio Transmitters: It's All in the Software /blog/portal/archives/2008/08/turning_pcs_int.html
Although it was one of those "gee whiz, I wish I'd thought of that" moments for me, congratulations are nonetheless in order to Aaditeshwar Seth who's been awarded $200,000 for spearheading a project for creating software that lets computers become digital radio transmitters.

The project, called Gram-Vaani (meaning "voice-of-the-village"), is an initiative to connect rural radio stations to the Internet by using new software and computer-based FM transmitters. It will significantly cut the cost of setting up radio stations in India--from an estimated $50,000 to $2,500. The project will start by helping non-profits in India establish radio stations.

There are three key components to Gram-Vaani's technology:

  • Radio equipment. Gram-Vaani is developing an extremely low-cost PC-based FM transmitter that will let radio station operators record programs and schedule transmissions. The equipment will consume low-power and be capable of running off solar panels even during power outages in the radio stations.
  • Internet connectivity. Rural areas generally lack good and cheap Internet connectivity. The Tetherless Computing Research Group at the University of Waterloo has developed the KioskNet system to enable low-cost and high-bandwidth Internet connectivity in remote rural areas. They will use the KioskNet system to connect community radio stations with the Internet.
  • Information portal. Gram-Vaani is developing an information portal to let governments, news agencies, and community radio stations interact with each other.

The $200,000 award comes into play because Seth is one of this year's winners of the Knight News Challenge, which gives awards for innovative ideas using digital experiments to transform community life.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-21T11:40:02-05:00
Multi-core Goes to the Movies, or Who Brought the Popcorn? /blog/portal/archives/2008/08/multicore_goes.html
The boss wanted me to report on the goings on at the Intel Developer Forum. I wanted to take the afternoon off and go to a movie. By the end of the day, however, we were both happy (as happy as the boss can be anyway). How did this happen? Knowing it couldn't possibly take 3,000 developers across the street to the Loews Metreon theatre, Intel brought the theatre to the developers.

Guest hosting the event was Jeffrey Katzenberg, CEO and Director of DreamWorks Animation, the movie studio that produced Shrek, Chicken Run, and Madagascar, among other feature-length animated films. What brought Katzenberg to a technology conference was nothing less than what he called the "biggest innovation in movies in 70 years"--multi-core processors and parallelization. Recall that Intel and DreamWorks announced a relationship in July, whereby Intel provides DreamWorks with advanced multi-core processors and tools not available to the rest of us, while DreamWorks is converting its tools and infrastructure for 3D film creation to Intel-based systems. Rolled up together, all of this is referred to as InTru 3D.

Katzenberg noted that sound was the first major innovation to film making, followed by color, both of which delivered a better film experience for viewers. InTru 3D, however, is something different altogether, offering viewers an immersive experience.

DreamWorks is so serious about InTru 3D technology that in 2009, every DreamWorks movie will be 3D enabled. But "this isn't your father's 3D" Katzenberg said. Forget about those cardboard "glasses" with the red and blue lens. Intel passed to everyone polarized glasses. And what did we see?

Katzenberg first showed a "3D retrofitted" clip from Kung Fu Panda, a movie not originally designed for 3D. When the rocks started rolling down the mountain, I flinched. But things got really interesting when Katzenberg debuted a clip from the yet-to-be released (due out March 2009) movie Monster vs. Aliens. I was sitting in the back of the hall, and can't imagine how those folks in the front row could stand it. It was really good.

As for the boss, well, you should have seen the look on his face when I submitted my expense report for soda and popcorn.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-21T10:25:43-05:00
Better Networks, or Does "XL" Stand for "Excellent" Routing? /blog/portal/archives/2008/08/better_network.html
One of these days we'll figure it out. In the meantime, engineers keep trying to come up with the most efficient answer to the age-old question "what's the best way to get from here to there?" From network topology to gas-guzzling delivery vans, finding the solution is more important than ever before.

The most recent proposed solution to the problem is XL (short for "Approximate Link state"), a link-state routing algorithm developed by computer scientists at the University of California, San Diego that addresses the computer network part of the equation. XL increases network routing efficiency by suppressing updates from parts of the system--updates that force connected networks to continuously recalculate the paths they use in the great matrix of the Internet.

The traditional approach, says computer scientist Stefan Savage "is to tell everyone; flood the topology change throughout the network and have each node recompute its table of best routes--but that requirement to universally communicate, and to act on each change, is a big problem."

The approach that Savage, Kirill Levchenko, Geoffrey Voelker, and Ramamohan Paturi, took was to reduce the "communication overhead" of route computation--by an order of magnitude.

"Being able to adapt to hardware failures is one of the fundamental characteristics of the Internet," Levchenko said. "Our routing algorithm reduces the overhead of route recomputation after a network change, making it possible to support larger networks. The benefits are especially significant when networks are made up of low-power devices of slow links."

But the real technical innovation of their work, adds Voelker, "is in how information about changes in the network is propagated. The XL routing algorithm propagates only some updates, reducing the number of updates sent through the network."

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-18T14:48:21-05:00
Olympics: Who Won What When? /blog/portal/archives/2008/08/olympics_who_wo.html
It's taken a few days, but I admit it--I'm hooked on the Summer Olympics. That said, I am having trouble wrapping my head around Synchronized Diving, Rhythmic Gymnastics, Team Handball, and Greco-Roman wrestling, but then I'm all over Table Tennis, Track and Field, and Swimming. Factoid I found amazing: U.S. swimmer Michael Phelps consumes nearly 12,000 calories of food a day! For breakfast alone, he eats three fried-egg sandwiches, a bowl of grits, three slices of French toast, and three chocolate-chip pancakes just to get warmed up. Why, if I ate like that, I'd be as roly-poly as the ball in Beach Volleyball.

Part of the fun in watching the Olympics, of course, is keeping track of the medals. Who won what. (Hey, there are lots of medals Michael Phelps hasn't won.) Which is why I really appreciate the folks at ComponentOne sharing this really cool OlympicTracker application that tracks up-to-date medal tallies country-by-country, alone with other viewing options.

OlympicTracker was built with C# and XAML and uses the several ComponentOne controls that come with ComponentOne Studio for Silverlight, part of ComponentOne Studio Enterprise:

  • C1Chart. The Chart control for Silverlight supports more than 20 types of charts. OlympicTracker uses the stacked chart type, which is great for showing lots of data in a small space.
  • C1Maps. The Maps control for Silverlight is built on top of Microsoft's DeepZoom technology, and you can fill the map with images from any source (Live, Google, Yahoo, and more). You can add any rich Silverlight element on any given geo-position. It also supports virtualization, which lets you add different elements at different positions and the elements will only be loaded as needed. You can plot a large amount of data on the map without problems.
  • C1DataGrid. The Grid control for Silverlight is for showcasing summarized data in a highly organized grid with visually appealing custom images. The vertical scrollbar lets users quickly scroll through the data.
  • C1RadialGauge. The Beijing clock uses the RadialGauge control.

The OlympicTracker uses ItemTemplate and data binding for all the controls (labels in the C1Chart, items in the C1Map, cells in the C1DataGrid) to populate from the data source. This sample meshes two web services--one to get Olympic data and the other to get the geographic location of each country--into a web service. The Silverlight application calls these web services and uses LinQ to populate the controls.

Like I said, a lot of fun and pretty cool. Check it out here. A gold medal to the team at ComponentOne. Okay, need to run. There's a riveting Synchronized Swimming match coming up that I don't want to miss.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-15T12:51:28-05:00
Hair Today, Godel Tomorrow /blog/portal/archives/2008/08/hair_today_gode.html
Congratulations to Daniel Spielman, a professor of applied mathematics and computer science at Yale University, and Shang-Hua Teng, a professor of computer science at Boston University. Spielman and Teng are this year's recipients of the Godel Prize for developing a technique known as Smoothed Analysis, which helps predict the success of problem-solving with real data and computers.

According to the Algorithms and Computing Theory Sig (SIGACT) of the ACM and the European Association for Theoretical Computer Science (EATCS), the rigorous mathematical analysis exhibited by Spielman and Teng provided a leap forward for predicting the performance of optimization tools for real data. Understanding the mathematical structure of these problems is necessary for the design of efficient protocols and software.

The good news is that the award includes a $5000 honorarium; the bad news is that they had to go to Reykjavik, Iceland to pick up the prize. Okay, I apologize for the cheap shot. I've been to Reykjavik and I really like it there. It has an outstanding university system and the water is always hot--and hot water is something I tend to get into far too often.

Computer scientists at the University of California, San Diego have taken applied mathematics a step further, coming up with a new method for accurately capturing the shape and appearance of a person's hairstyle--yes, hairstyle--for use in animated films and video games. What Matthias Zwicker and his team did was use 16 cameras, 150 light sources, and three projectors arranged in a dome setup to capture 2,500 real-world images of hairstyles of real people. With all this data, the computer scientists determined the physical position and orientation of all visible strands of hair. The algorithms then generate complex hair models, producing on the order of 100,000 hair strands.

After that, Zwicker et al. found a new way to precisely simulate how light would reflect off each strand of hair. By determining the orientations of individual hairs, he can realistically estimate how the hairstyle will shine no matter what angle the light is coming from.

The new computational approach, which they describe in their paper Hair Photobooth: Geometric and Photometric Acquisition of Real Hairstyles can be used for much more than generating images of a hairstyle based on what the style looks like from other angles. One possible extension is making an animated character's hair realistically blow in the wind thanks to the "hidden geometry" of hair.

Can't wait to tell the boys down at the Grand Barbershop about this one.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-13T17:56:07-05:00
What Comes First: The Carbon Footprint or Uncle Ben's Beer? /blog/portal/archives/2008/08/taking_care_of_1.html
Recall that last week I proposed a toast to "Lawyers, Programmers, and Common Sense." Well, I'm happy to report that it didn't turn out to be an empty toast. To recap: Dan Servos, a student at Lakehead University in Canada and participant in this year's Google Summer of Code, had received a threatening letter from a lawyer representing LanSchool, a company that produces software for classroom management. At issue was an Internet posting Dan had made that exploited a security hole-- since fixed--in an old version of LanSchool's software. Representing the side of common sense, I suggested that Dan and LanSchool's top programmer get together at the corner bar and hash this out over a bottle or two of Uncle Ben's Beer. As it turns out, Dana Doggett, LanSchool's top programmer, wanted this amicably resolved as much as Dan. So the two reasonable programmers sat down terminal-to-terminal and worked things out. Congratulations folks. Common sense prevails. I'm glad to have played a small part in this, but now I have a bigger problem. Where in the heck do you get Uncle Ben's Beer these days?

But that's not the only problem I have right now, and I'm hoping you can help me once again. Recall this time that last spring we hosted a trivia challenge called "Developer Bowl" at the SD West 2008 Conference. Further recall that I asked you for help in compiling challenging questions that I could use as host of the event. You came through like champs, just like I knew you would. So here's the deal today: The "Developer Bowl" was so popular that we're going to take it on the road, starting with the SD Best Practices Conference in Boston in October. And since I'll be on the road most of the entire month of October leading up to the Developer Bowl East (more on that later), I'm hoping you can again submit questions and answers. If you submitted Q&As previously, I still have them, so I'd ask that you send in different questions. I will be using the questions I didn't use before. And finally, I do give credit where credit is due, so your name will be called out loud and clear to your peers in the audience. Thanks in advance for your help; please send your Q&As to jerickson@ddj.com

Finally, I ran across this interesting--and free--little application that I'm itching to try out. Computers are running all day long (and most of the night) at my house. I've never tallied up what this adds to my utility bill, but it has to add something--not counting what it does to my carbon footprint. According to Verdiem, the world's more than 1 billion PCs energy consumption correlates to an average of 1,000 lbs of carbon dioxide and worldwide can consume about 506 billion kWh per year--the equivalent of 70 million cars on the road. Which is why the company has released Edison, a free energy monitoring application for Windows that lets you actively control your PC's energy consumption. This sounds like a neat little program and the price is right. And with all the money I save, I can afford more Uncle Ben's Beer, assuming I can find it anymore.

Finally, want to be on the cover of Dr. Dobb's Journal? Here's your chance. Send me a ZIP file (jerickson@ddj.com) with a 300 DPI photo of yourself, along with your answers to these questions: (1) Where do you work? (2) What's your job there? (3) What do you like about your job? (4) What do you find challenging about your job? (5) What have you found that makes your job easier? (6) What's your hobby? It's more fun than being on the cover of Rolling Stone.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-12T11:44:26-05:00
The Old "You Have to Know When to Hold 'Em" Algorithm /blog/portal/archives/2008/08/the_old_you_hav.html
When it comes to computer poker, the University of Alberta (drum roll please...my alma mater) has year-in and year-out held the winning hand in man vs. machine poker contests. After all, the UofA is the home of the Computer Poker Research Group and a famous set of poker-playing programs collectively called Polaris 2.0. Most recently, Polaris defeated a team of human competitors in a series of duplicate limit hold'em matches at the Rio All-Suite Casino Hotel in Las Vegas during the Gaming Life Expo at the World Series of Poker.

But when the chips are on the table, it's no surprise that other schools want to get into the game, ostensibly to examine the challenges of probabilities and decision-making in the face of uncertainty. One recent contestant bellying up to the table is Ian Fellows, a researcher and statistician in the University of California at San Diego's Department of Psychiatry. Fellows entered his program Fell Omen 2 in the AAAI's 2008 Computer Poker Competition, where it placed second in a three-way tie. Fell Omen 2 classifies different types of flops (e.g., all suits match, or two suits match and cards are high) and plays differently depending on the board. Fellows has released the program, including the strategy files, as open source under GPL 2, and they can be downloaded here.

"Unlike chess, poker is a game of chance," says Fellows. "Players don't know what cards they will be dealt, or what cards will be dealt to the board. While techniques for dealing with chance have been well established in the context of other games such as backgammon, what sets poker apart is that it is a game of imperfect information." In poker, each player knows only their own cards, and the common board cards. This private information breaks the usual methods (known as "game tree search") used to solve chess and backgammon challenges using computer systems.

"My hope is that people will find these programs useful in improving their poker skills, and their understanding of game theory," says Fellows. You bet. And just maybe taking home a chip or two at the end of the day.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-07T16:56:17-05:00
Here's to Lawyers, Programmers, and Common Sense /blog/portal/archives/2008/08/heres_to_lawyer.html
What do you do--or what should you do--when you run across a bug in a commercial software package? Well, what I usually do is report the problem to the vendor. In most cases, the software developer appreciates feedback for the free "testing" and sends back a "thank you." And at times I've told other users about the problem, and suggested (or asked for) a workaround. All in all, a civilized way to do business.

That's more or less what Dan Servos--a Lakehead University student, co-founder of compsci.ca (a student-run online community for kids interested in computer science), and participant in this year's Google Summer of Code (his project is developing a grade report plug-in for the Moodle open-source classroom management project--did. By "classroom management" I don't mean smacking grimey hands with a ruler. Instead, classroom management means networked computers that let teachers control and manage multiple student computers for everything from giving quizzes to instant messaging. As a former teacher, I can tell you that this stuff is pretty cool and very useful.

In his examination of state-of-the-art classroom management software, Dan ran across LanSchool, a nice system with lots of features that let teachers think they're in charge. But software being software, Dan stumbled on what he considered a security flaw involving insecure communication channels in the then-current LanSchool 6.x--and he wrote a program that exploited the flaw. He then notified the vendor, suggested a fix, and posted a description of the exploit, along with a caution that he did not condone its use.

Fast forwarding to today, LanSchool is up to Version 7.1 and the company claims the flaw was fixed years ago. From the company's viewpoint, Dan's posting of his review of Version 6.x is old news and not conducive to selling product. Which is why LanSchool's lawyers recently sent Dan a cease-and-desist letter, asking him to stop using their logo and to take down the old program that exploits the old bug.

I've read the letter and it is heavy-handed and threatening, something lawyers probably learn in the first year of law school. Stuff like "... you agree to destroy under oath all copies, whether in print or electronic, of your 'LanSchooled' software in your possession or control as well as those copies distributed to any other third party..." The lawyers also demand that Dan respond by August 12.

Wondering what the heck is going on, I called LanSchool and was told by that LanSchool isn't litigious--"we don't want to sue anyone." All the company wants is for Dan not to use their logo and take down the old program, or at least tell what they see as the whole story on his website. The company claims it has sent e-mail to Dan to talk this out, but they've yet to hear back. Dan says he hasn't heard from LanSchool.

Here's what I'd like to see: LanSchool get rid of the lawyers, keep management at home, and fly LanSchool's top programmer to Toronto to sit down with Dan at a local bar. I'd be willing to pay for all the Uncle Ben's beer it takes to hash this out. Programmer to programmer.

***News Flash!!!*** I heard from Dana Doggett, the programmer who wrote LanSchool and who acknowledges that several years ago Dan discovered that LanSchool communication between Teacher.exe and Student.exe were sent "in the clear." While Dana initially hesitated in changing the base protocols because of backwards compatibility, he saw Dan's point and at the next major release encrypted the data stream. This was done two years ago. Since Dana was never able to contact Dan, he finally contacted a lawyer, acknowledging that the letter the lawyer sent was "a bit harsh." He went on to say that "I have NO INTEREST in suing anybody. I just want to keep developing the LanSchool software. I’ve been working on this app ever since DOS 2.0 days," adding that "I’m better at low-level code than at public relations."

So where do things stand? Dana gave me his personal mobile phone number, and asked that I pass it on to Dan. Dan has given Dana his personal e-mail address. As for me, I'm hoping they hook up, boot the lawyers out the door, and resolve this issue. And that Uncle Ben's beer? I'll make a toast to two good programmers and common sense.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-07T15:25:04-05:00
Lawyers vs. Programmers, or the Next Round's On Me /blog/portal/archives/2008/08/lawyers_vs_prog.html
What do you do--or what should you do--when you run across a bug in a commercial software package? Well, what I usually do is report the problem back to the vendor. In most cases, the software developer appreciates feedback for the free "testing" and usually sends back a nice "thank you." And at times I've told other users about the problem, and suggested (or asked for) a workaround. All in all, a civilized way to do business, or so you'd think.

Or so Dan Servos would like to have thought, too. Dan is a Lakehead University student and co-founder of compsci.ca, a student-run online community for kids interested in computer science. Additionally, Dan is a participant in this year's Google Summer of Code where his project is developing a grade report plug-in for an open-source classroom management project called Moodle. By "classroom management" I don't mean a robot that goes around smacking grimey little hands with a ruler. Instead, classroom management these days means using networked computer systems that let teachers control and manage multiple students' computers for everything from giving quizzes to instant messaging with individual students. Speaking as a former teacher, I can tell you that this stuff is pretty cool and very useful--which is likely why Dan got involved with it in the first place.

In his examination of state-of-the-art classroom management software, Dan ended up looking at LanSchool, a nice system with lots of features that let teachers think they're in charge. But software being software, Dan wrote a program that exploited what he considered a security flaw involving insecure communication channels in the then-current LanSchool 6.x software. And he did what most people would consider to be the right thing--he notified the vendor and suggested a fix. He then posted a description of the exploit, along with a caution that he did not support, condone, or recommend the use of it.

Fast forwarding to today, LanSchool is now up to Version 7.1 and the company claims the flaw was fixed long ago. But from the company's viewpoint, Dan's two-year-old posting of his review of Version 6.x is old news and not helping sales. Which is why LanSchool recently sent Dan a cease-and-desist letter, asking him to stop using their logo and to take down the program that exploits the old bug.

I've read the letter and it is heavy-handed and threatening, something lawyers probably learn in the first year of law school. Stuff like "... you agree to destroy under oath all copies, whether in print or electronic, of your 'LanSchooled' software in your possession or control as well as those copies distributed to any other third party..." The lawyers also demand that Dan respond by August 12.

Wondering what the heck is going on, I called LanSchool and was told by the spokesperson that LanSchool isn't litigious--"we don't want to sue anyone." All the company wants is for Dan not to use their logo and take down the old program, or at least tell what they see as the whole story on his website. The company claims it has sent e-mail to Dan to talk this out, but they've yet to hear back.

Here's what I'd like to see: LanSchool get rid of the lawyers, keep management at home, fly LanSchool's two top programmers to Toronto, and sit down with Dan at local bar. I'd be willing to pay for the Uncle Ben's beer so that they could hash this out before I ran out of money. Programmer to programmer.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-06T17:59:31-05:00
Larrabee Meets Michael Abrash /blog/portal/archives/2008/08/larrabee_meets.html
The last time I had anything to do with Michael Abrash, I ended up in trouble. Through no fault of Michael's, of course. You see, he and I were just trying to do something nice that upset the boss, which is okay now that I think about it. Here's the story:

Michael, you may recall, was a long-time columnist and writer for Dr. Dobb's. His articles on graphics and optimization--articles like Quake's Game Engine: The Big Picture and Inside Xbox Graphics, not to mention his long running "Graphics Programming" and "Rambling In Real-Time" columns in Dr. Dobb's Journal--are classics to this day. And then there was his unraveling of Mode X, an undocumented graphics mode for the IBM PC, and his presentation of the X-Sharp 3D animation library. What was great about Michael's articles was that they were deep, entertaining, cutting edge, and important. The same can be said of his books, such as The Zen and Art of Code Optimization and Graphics Programming Black Book.

So the idea Michael and I cooked up was to give away Graphics Programming Black Book on one of Dr. Dobb's websites, specifically www.byte.com--one of several sites on the same web server. We knew the Black Book would be a popular download, but we didn't know how popular. Let's just say that it was popular enough to bring down the websites of all those other businesses, meaning that those business managers were calling the boss demanding, if not my scalp, at least my moustache. And, of course, the boss called me in the middle of the night to share the love.

As long as I've known him, Michael has always popped up in the oddest places. Id Software, Microsoft, New Hampshire. The last I heard he was up to his usual tricks at Rad Game Tools building cool tools like Pixomatic.

Which surprised me to see his name pop up in relation to Intel's announcement about Larrabee, a many-core x86 architecture processor that will initially target discrete graphics applications, support DirectX and OpenGL, and run existing games and programs. Additionally, a range of highly parallel applications will benefit from Larrabee's native C/C++ programming model.

The Larrabee architecture has a pipeline derived from the dual-issue Pentium, which supports a wide vector processing unit (VPU), multi-threading, 64-bit extensions, and sophisticated pre-fetching. The Larrabee native programming model supports a variety of highly parallel applications, including those that use irregular data structures. This enables development of graphics APIs, rapid innovation of new graphics algorithms, and true general-purpose computation on the graphics processor with established development tools. The Larrabee architecture uses a 1024 bits-wide, bi-directional ring network (512 bits in each direction) to let agents communicate with each other in a low latency manner resulting in super fast communication between cores.

So what does this have to do with Michael Abrash? As it turns out, a paper entitled Larrabee: A Many-Core x86 Architecture for Visual Computing has a long list of authors, including one "Abrash, M.". Let me say this about Larrabee: If Michael Abrash had anything to do with facilitating software development for the platform, we're all winners. I really believe that.

As for Michael's Graphics Programming Black Book, it's still available for download at www.byte.com/abrash/ (at least until I finish moving it over to www.ddj.com). As for Larrabee, here's hoping that Michael will write a Dr. Dobb's article (or two) about it.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-08-04T16:47:54-05:00
Viterbi Algorithm Going Quantum /blog/portal/archives/2008/07/viterbi_algorit.html
If you made or received a clear-signal call on a cell phone recently, you can say "thanks" to Andrew Viterbi, the engineer who 41-years ago devised the now famous Viterbi Algorithm as an error-correction scheme for noisy digital communication links.

But now a pair of researchers at the University of Southern California are taking the algorithm a step further. Mark Wilde and Todd Brun see a future for the algorithm in terms of quantum communication. Here's how they explain it:

Alice is trying to send a quantum message to Bob using a stream of pairs of "entangled" photons. (Entangled photons, they say, "obey the strange principles of quantum physics, whereby disturbing the state of one will instantly disturb the other, no matter how much distance there is in between them.") Alice then encodes each quantum bit of the message with the help of an "ebit" (an "entangled qubit"). She sends her part of the encoded quantum message over a noisy quantum communication channel, which can introduce errors. Bob receives what Alice sent and combines her transmitted qubits with his half of the ebits. He measures all of the qubits, processes the results of the measurements, performs recovery operations, and finally decodes them, receiving the message qubits Alice sent. Bob then has the transmitted error-free quantum information. How does Bob know that the message he now has was transmitted correctly? According to Wilde and Brun, Bob watches what comes out of his measurement process, testing them against statistical probabilities, using standard Viterbi tools. The result is that Bob can reliably spot errors, and knows which message qubits are bogus before he opens the message.

All of this is made much more clear in Quantum Coding with Entanglement, Wilde's Ph.D. thesis.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-07-31T15:14:01-05:00
Let's See, Is It Every M/W/F, or Is It M/W/THUR? /blog/portal/archives/2008/07/lets_see_is_it.html
For some reason, I thought that I had today off. But then Della, bless her heart, reminded me that this newsletter goes out every Monday, Wednesday, and Friday and that the boss says that "days off" and "Erickson" are like oil and that other stuff that doesn't mix. I forget what. Luckily I had a topic in mind, but then the phone beeped and it was the boss wondering why I'd forgotten to call as scheduled. Truth be told, I forgot where I left my phone, and only the boss's incessant beeping led me to the stack of papers with the phone underneath. Alas, by the time I got off the phone, I'd disremembered what I was going to write about.

Which is why I'm volunteering right now to be a beta tester for Pensieve, software from IBM Research that uses associative recall to help forgetful people be less forgetful. More specifically, Pensieve, which is short for (...ah, I forget), uses images, sounds, and text recorded on mobile devices to help recall names, faces, conversations and the like. Associative recall makes connections between pieces of related data, thanks to technology that understands the context in which data is captured, then connects various data, and then uses this knowledge to help bring the correct information to me when I need it.

"This is like having a personal assistant for your memory," said Yaakov Navon, who does something for IBM, but I don't remember what. "Our daily routines are overflowing with situations where we gain new information through meetings, advertisements, conferences, events, surfing the web, or even window shopping. Instead of going home and using a general web search to find that information, Pensieve helps the brain recall those everyday things you might normally forget."

Pensieve blends image processing, GPS information, smart clustering, optical character recognition, speech recognition, and information retrieval to index and tag information, then uses mobile technology to match-up memory cues with information management applications like address books and calendars. Once these are updated, Pensieve enables memory recall triggered by time, location, and the like. For example, if you have a picture of somone and then another picture of their business card, Pensieve associates the two pieces of data because they were taken at the same time and location.

Let's see. Was that oil and vinegar, or oil and water? I hope the boss remembers.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-07-29T16:59:06-05:00
School Daze, or Mastering an MTID /blog/portal/archives/2008/07/school_daze_or.html
In general, I've always felt comfortable around universities. I live a few blocks from one, I've attended schools in the U.S. and elsewhere, and I've taken everything from graduate-level classes (like those did me any good) to online community college courses. Goodness, the coffee shop I hang out at is even populated by students, or at least people who are occasionally students. But I have to admit I was flummoxed by the announcement from Carnegie Mellon University (a school I greatly admire) that it will be offering a master's degree in "Tangible Interaction Design." I didn't know what the heck they were talking about.

As it turns out, the Master of Tangible Interaction Design (MTID) program is a graduate-level degree (offered by the School of Architecture) that focuses on the design of computational embedded objects and how they work in various spaces.

The MTID is a "studio-centered program" (not sure what that means, but I'm too lazy to look it up) with courses in electronics, programming, and the arts. The first semester's "Small Things" studio focuses on embedding computational behavior into objects, furniture, and clothing. The second "Big Things" studio tackles interactive space on the scale of rooms, buildings, neighborhoods, and cities.

An MTID degree is related to CMU's robotics, software, and human-computer interaction programs, and aimed at attracting computer scientists and engineers wanting to master creative skills, and artists, musicians, designers, and architects seeking technical abilities to implement ideas. The scope of study includes everything from digital fabrication, analog/digital electronics, to media, materials, and computer programming.

At times like this, it seems you need a college degree just to know what the college degree is all about.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-07-28T10:38:07-05:00
Programming in Little b Might Be a Big Deal /blog/portal/archives/2008/07/whats_the_big_d.html
What's the big deal about little b? Well, little b is an open source programming language for building mathematical models of complex biological systems that can "think" like cells, thereby simulating the dynamics of biological phenomenon. In other words, says Jeremy Gunawardena, its co-creator and director of the Virtual Cell Program in Harvard Medical School's department of systems biology, little b decribes biology in the same way a biologist would.

Little b is based on Common LISP and contains mechanisms for rule-based reasoning, symbolic mathematics, and object-oriented definitions. The environment, which is both interactive and compilable, is currently available for Windows, with Linux and Mac OS X under development. You can download the source code here.

According to Aneil Mallavarapu, a cell biologist, computer scientist, and co-creator of little b, what's key is being able to implement software concepts like modularity and abstraction in the biological realm. To do this, Mallavarapu turned to LISP. From Gunawardena's perspective, "LISP isn't like typical programs, it's more like a conversation. When we input data into Little b, Little b responds to it and reasons over the data."

For example, Gunawardena's lab works on kinases, a kind of protein that transfers phosphate chemicals to other proteins to regulate their activity. While this property is common to all kinases, there is variety in how particular kinases carry this out. Little b, however, understands this basic property of kinases, this abstraction. On a larger scale, the researchers also used the program to query the development of fruit-fly embryos. Consequently, they discovered levels of complexity in these embryonic structures that previous research had missed.

According to Gunarwardena, the next step is to create an easy-to-use interface. "Think of web page development," he explains, "lots of people are creating web pages with little or no knowledge of HTML. They use simple interfaces like Dreamweaver. Once we've developed the equivalent, scientists will be able to use our system without having to learn little b."

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-07-24T12:07:58-05:00
Software Design Does Matter, At Least When It Comes to Security /blog/portal/archives/2008/07/software_design.html
Who says software design doesn't matter? Not me, and not you either, at least if you happen to have your loot stashed in one of the banks included in a study headed up by University of Michigan professor Atul Prakash. What Prakash, Laura Falk, and Kevin Borders found was that more than 75 percent of the 200-plus bank websites surveyed had at least one design flaw that could make your account vulnerable to intruders or identity thieves.

The design flaws that Prakash and team uncovered aren't bugs that can be fixed with simple patches because they're tied to the overall architecture and design of the sites. Things like placing log-in boxes and contact information on insecure web pages as well as failing to keep users on the site they initially visited. These flaws leave security holes that intruders can use to gain access to private information and accounts.

According to a report in the Washington Post, an FDIC Technology Incident Report identifies more than 500 cases of computer intrusion, with an average loss per incident of $30,000. That adds up to a nearly $16-million loss in the second quarter of 2007. Computer intrusions increased by 150 percent between the first quarter of 2007 and the second. In 80 percent of the cases, the source of the intrusion is unknown but it occurred during online banking, the report states.

The design flaws Prakash and his team looked for are:

  • Placing secure login boxes on insecure pages. This lets intruders reroute data entered in the boxes or create a spoof copy of the page to grab information. With wireless, intruders can conduct this man-in-the-middle attack without changing the bank URL. To address this, banks should use the standard Secure Socket Layer (SSL) protocol on pages that ask for sensitive information, says Prakash.
  • Putting contact information and security advice on insecure pages. With this flaw, attackers could change an address or phone number and set up their own call center to gather private data from customers who need help. This problem could be solved via SSL protocol.
  • Having a breach in the chain of trust. When banks redirect customers to a site outside the bank's domain without warning, they fail to maintain a context for good security decisions, Prakash says. Banks should warn users they'll be moving off the bank's site to a trusted new site. Or the bank could house all of its pages on the same server.
  • Allowing inadequate user IDs and passwords. Researchers looked for sites that use social security numbers or e-mail addresses as user IDs. 28 percent of sites surveyed had one of these flaws.
  • E-mailing security-sensitive information insecurely. E-mail is not secure, yet banks often offer to e-mail passwords or statements.

All of this would be troublesome if I actually had any money to put in a bank in the first place. Oh well, one of these days.

-- Jonathan Erickson
jerickson@ddj.com

]]>
Newsletter Ednote jerickso 2008-07-23T11:45:09-05:00