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:
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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:
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