Site Archive (Complete)
EDITOR'S EYE

The World of Software Development.

by Jon Erickson

April 2007


April 30, 2007

Public and/or Private: It's Still Research to Me


There's nothing new about public-private partnerships that involve public or private universities, and public or private businesses. What's interesting about them is that some of the projects are, well, interesting.

Take the project that the University of Manchester and Rolls-Royce recently unveiled. They're building a £1 million facility to boost the development of ultra-compact and intelligent electrical networks for use in a range of devices, including Uninhabited Autonomous Vehicles (UAVs). Police and fire services are becoming increasingly interested in uninhabited air vehicles for surveillance purposes. They could save the emergency services valuable time and money and also allow access to situations too dangerous for manned craft.

According to Stephen Long, facility project manager at Rolls-Royce: "In the future we will see a rapid growth in the use of uninhabited land, sea and air vehicles for military, civil and public use. The electrical systems requirements for these platforms are particularly demanding because they need to be compact, flexible and intelligent" and will hopefully replace the pneumatic and mechanical systems used today.

Then there is MIT's new $3.5 million W. M. Keck Foundation Center for Extreme Quantum Information Theory (xQIT), funded by $1.63 million from the Keck Foundation and other sponsors. The new center enables a major push by MIT researchers to determine the ultimate capabilities of quantum information systems. Establishing these theoretical capabilities would be a step towards being able to exploit quantum effects for novel applications, including computers, communication networks, and global positioning systems. MIT's research team will pursue theoretical problems in three key areas: adiabatic quantum computing, quantum channel capacity and quantum sensing and control.

Said MIT's Vice President for Research Claude R. Canizares, "One of the most exciting things about the Keck Foundation's support for the new center is that it creates a locus of interdepartmental and interdisciplinary common purpose among MIT's researchers in quantum information theory. Our individual, world-leading efforts in quantum information science can now be integrated in a way that will improve the chances of success in the three important research areas of xQIT."

Even the U.S. Army is in the funding game, with its $105 million, five-year grant to a multi-institution consortium led by Stanford University to build a new home for the Army High-Performance Computing Research Center, the details of which Deirdre Blake described in this recent podcast. The facility will enable advanced simulations to develop new materials for military vehicles and equipment, improve wireless battlefield communication, advance detection of biological or chemical attacks and stimulate innovations in supercomputing itself.

"Modeling and simulation today play an equal role to theory and physical experimentation in discovery-driven engineering research," says Charbel Farhat, a professor of mechanical engineering and expert on supercomputer simulation who is also a member of the Stanford School of Engineering's Institute for Computational and Mathematical Engineering. "Using the most advanced high-performance computing resources, a research center of this magnitude has great potential for innovating technology and reducing design-cycle time."

Posted by Jon Erickson at 10:35 AM  Permalink |


April 27, 2007

Sun Labs Opens Its Doors


Ever wonder what goes on behind closed doors? Well I do (and I admit to being nosey), which is why I like it when companies like Sun Microsystems hosts events such as its annual Open House for Sun Labs, its applied research facility.

Among the projects on display at the this year's Open House are:

  • Project Fortress, a new programming language invented at Sun Labs specifically for high productivity computing (HPC) applications.
  • Project Sedna, multi-terabit data center interconnect based on proximity communication (chip-to-chip data transfer without wires).
  • Project Darkstar, a Java technology-based game server technology that helps solve many of the distributed computing problems associated with modern online gaming.
  • MPK 20, Sun's Virtual Workspace, powered by Project Darkstar. This "serious game" is the basis for research into collaborative work environments.
  • Search Inside the Music, an advanced search capabilities for music that give users a more holistic sense of their collections, enables users to visually see their music collection in 3-D, and to search by the aural properties of the songs.
  • Project Sun SPOT, an experimental platform for developing wireless sensor, robotics and swarm intelligence applications entirely in Java; Sun SPOT Developer Kit.

"The mission of Sun Labs is to look beyond the horizon to identify and solve the hardest technical problems businesses and governments may face. We identify these challenges by working closely with customers and engineers from within Sun's business units to gauge customer needs, and then collaborating on solutions," said Bob Sproull, director of Sun Labs and a Sun Fellow. "By focusing specifically on customer problems ranging from extending the lifespan of Moore's Law to applying next-generation security to mobile devices, Sun Labs has delivered measurable and results-oriented innovation throughout its history."


Posted by Jon Erickson at 11:12 AM  Permalink |


April 26, 2007

PlayStation Meets Mainframe (In Second Life?)


Well, it isn't exactly PlayStation 3 meets the mainframe -- but it's close. The deal is that IBM has announced a project that integrates the Cell processor (developed by IBM, Sony, and Toshiba and used used in the PlayStation 3 game console) with the IBM mainframe.

To what end? According to IBM it is for the purpose of creating a hybrid that is blazingly fast and powerful, with security features designed to handle a new generation of "virtual world" applications (can you say "Second Life"?), such as the 3D Internet.

The project capitalizes on the mainframe's ability to accelerate work via "specialty processors," as well as its networking architecture, which makes possible the ultra-fast communication required to create virtual worlds with large numbers of simultaneous users sharing a single environment. IBM is launching the project in cooperation with with Hoplon Infotainment, a Brazilian online game company whose software is a key component of testing the capabilities of the new environment.

"As online environments increasingly incorporate aspects of virtual reality -- including 3D graphics and lifelike, real-time interaction among many simultaneous users -- companies of all types will need a computing platform that can handle a broad spectrum of demanding performance and security requirements," said Jim Stallings, general manager, IBM System z. "To serve this market, the Cell/B.E. processor is the perfect complement to the mainframe, the only server designed to handle millions of simultaneous users."

What IBM and Hoplon are planning on is an environment that can seamlessly run demanding simulations -- such as massive online virtual reality environments; 3D applications for mapping, enterprise resource planning and customer relationship management; 3D virtual stores and meeting rooms; collaboration environments; and new types of data repositories. To achieve this goal, the workload will be parceled out between the mainframe and the Cell processor. The Cell will handle the complex simulation associated with operating in virtual worlds; for example, a ball thrown in a virtual reality world must obey the laws of gravity.

To make it all happen, Hoplon's software is being ported to the Cell to handle message passing and physics simulation. The companies have already created a programming model and messaging architecture that separates the application running on the system. For its part, the mainframe will run Hoplon's middleware for virtual worlds, called bitVerse, currently under development using WebSphere XD as the underlying runtime environment, along with DB2.

In addition, the mainframe will run the administrative tasks for middleware and applications. It will also handle logistics (billing, and the like), and connectivity to third parties as well as to multiple clients, which might include PCs, game systems, mobile phones, music players, TVs, and other devices.

A couple of things immediately come to mind:

  • Multicore. The Cell processor is a powerful multicore device. As I've said before, if you're not up to speed on multicore development issues, you need to be.
  • Second Life. IBM's announcement didn't specifically say "Second Life" but it sure said "virtual environments" a lot and Second Life is the leader of the pack in that regard. (And if you want to find out more about Second Life, be sure to check out Dr. Dobb's Life2.0 Summit this weekend.) IBM Rational Software has launched in Second Life its Codestation, a resource for software developers.
  • Second Life Open Source Server. It starts to get really interesting when you think about SL server software running on all these mainframes. With SL's plans to open source the server software, this becomes more of a reality.

Posted by Jon Erickson at 08:42 AM  Permalink |


April 25, 2007

StreamIt and Multicore Programming


Say you're a university student (which many of you are) and say you've decided to sign up for a research program (hey, it looks good on your resume). Would you be more likely to opt for something along the lines of "Programming the PlayStation 3 Cell Processor" or "Compiler for Multicore Architectures"? Decisions, decisions, decisions. Sigh.

In truth, it probably doesn't matter which one you sign up for because I'd bet there's a lot of overlap between these two projects, at least at MIT. Both offered through the MIT Computer Science and Artificial Intelligence Lab. Both focus on software development for multicore processors (something every programmer ought to be up to speed on these days) and both focus on the Cell processor.

Additionally, both research projects are also based on StreamIt, a programming language and compilation infrastructure specifically engineered for streaming systems like those found in multicore environments. StreamIt is designed to facilitate the programming of large streaming applications, as well as their efficient and effective mapping to a wide variety of target architectures multicore architectures and clusters. (Also see Algorithmic Trading and Stream Processing.)

Currently in version 2.1.1, the StreamIt compiler is freely available (including benchmarks). You can also register to download the full source package which includes all of the StreamIt sources, or the full binary package which does not contain any sources, but includes a Java jar file of the full compiler. Also available is an Eclipse Plugin .


Posted by Jon Erickson at 09:38 AM  Permalink |


April 24, 2007

Grand Challenges Lead to Grand Prizes


On the heels of my post about challenges, grand challenges, and the difference between the two, I've learned that Intel has announced the winners of its "Processor Challenge." I don't know about it being the challenge being "grand" but the prize sure was -- $1 million.

The official name of the competition was the "Intel Core Processor Challenge," and its goal was to spur innovation in stylish and high-performing PC designs based on the Intel Viiv processor technology. TriGem Computer walked away with the cash for creating in the judge's view the best mix of style, acoustics, functionality, and features for digital home entertainment with the its home theater "Black Crystal" design. Mesiro garnered the first runner-up prizefor its "Asono Merium" system.

Intel's Viiv processor technology is powered by the high performance and energy efficiency of the Intel Core 2 Duo processor. According to Intel, the dual-core Duo processor makes it possible for designers and engineers to reshape how consumer PCs look, sound, and respond to people's entertainment needs. A recent Intel study found that 73 percent of U.S. adult computer users want to buy technology products that reflect their personal style.

The next Intel Core Processor Challenge is already underway, with the winner to be announced at the Intel Developer Forum scheduled for September 2008 in San Francisco. No news on the grand prize yet.

Posted by Jon Erickson at 10:16 AM  Permalink |


April 23, 2007

Grand Or Not, It Still Sounds Like a Challenge To Me


While I'm not quite sure what differentiates a "challenge" from a "grand challenge", I have to admit that a "grand" challenge does sound more exciting than your run-of-the-mill everyday "challenge."

Of course, the first grand challenge that comes to mind is the DARPA Grand Challenge that pits autonomous ground vehicles against each other. This year's DARPA Grand Challenge will consist of simulated military supply missions in a mock urban area. However, that won't be happening November 3, 2007, with the location to be announced on August 10, 2007.

But DARPA doesn't have a monopoly on grand challenges. Lawrence Livermore National Lab, for instance, has its own "Grand Challenge" in which it provides scientific computing facilities for researchers. In the current challenge -- oops, make that "grand challenge" -- the Lab has allocated 83.7 million CPU hours to 17 research projects ranging from astrophysics, chemistry, materials, and biosciences to earthquake and climate simulation on Lab supercomputers.

Grand Challenge recipients have been allocated time on Atlas, a 44-teraFLOP machine, and Thunder, a 22-teraFLOP machine. Atlas is built around 9, 216 AMD dual-core CPUs (that's 1,152 nodes with 8 processors/node), 16 GB memory/node, 18,432 GB of total RAM, Infiniband interconnect, the Lustre parallel file system, and all running on Linux.

Thunder, on the other hand, is built around 4,096 Intel Itanium2 CPUs (1,024 nodes with 4 processors/node), 8 GB memory/node, 8,192 GB of total RAM, Quadrics switch interconnect, the Lustre parallel file system, and running on Linux.

Research projects were selected by the Lab’s Deputy Director for Science and Technology, the Laboratory Strategic Program Board, and the Laboratory Science and Technology Office. To be considered, proposals had to "address a grand-challenge-scale, mission-related problem that promises unprecedented discoveries in a particular scientific and/or engineering field of research, and if successful, will result in high-level recognition by the scientific community at large."

Over the last 10 years, high-performance computing resources dedicated to unclassified institutional research have increased more than a thousand fold, from 72 giga (72,000 million) FLOPS in 1997 to 81 teraFLOPS today.

"High performance computing is today an integral part of the scientific process and can serve to advance science in areas of vital interest to the country and the global community, including energy, bioscience and medicine, and climate change," said Dona Crawford, associate director for Computation at the Lab. "The new high performance computing resources we have put in place for unclassified research leverage the supercomputing expertise and infrastructure we have in place for stockpile stewardship. The Atlas Grand Challenge projects will in turn benefit our national security missions."

Posted by Jon Erickson at 09:21 AM  Permalink |


April 19, 2007

Developer Contest: Cell Phones and Other Mobile Devices


Have a little time on your hands, want to write software for mobile phones, maybe pick up some coffee money, and have some fun in the process? If so, Trolltech's Qtopia Greenphone Developer Challenge might be right up your alley.

The Qtopia Greenphone is the Linux-based hardware component of the Greenphone SDK. The SDK is an environment for developing and modifying application software for Qtopia Phone Edition.

The Qtopia Greenphone Developer Challenge is a global contest to spark the innovative development of Linux-based mobile phone applications. You can create your applications using either the community or commercial version of Qtopia Phone Edition.

The Developer Challenge is a two-phase competition. In Phase One, entries are accepted in these categories:

  • Best Original Application
  • Best Improvement of an Existing Qtopia Phone Edition Application
  • Best End to End Service
  • Best User Interface Experience
  • Best in the Impossible to Classify Category

Entries will be judged on a set of weighted criteria including functionality, ease of use without written documentation, performance and efficiency, and originality. 25 entries will be chosen as Phase One winners.

Winning entrants from Phase One can move into Phase Two where the categories are:

  • Best Open Source
  • Best Commercial Application.

Judging in Phase Two is similar to Phase One however entries must be shown on a Qtopia Greenphone. Two entries will be chosen as the final Developer Challenge winners.

So what can you win? 25 Phase One winners will receive a Qtopia Greenphone, a requirement for entry into Phase Two of the contest. The final two Developer Challenge winners will each receive $5000, a Qtopia Phone Edition Professional license, and airfare with conference registration to either the Munich or California location of Trolltech Developer Days 2007, Trolltech’s annual developer conference. (Here's a hint: Don't let them stick in economy class.)

Just as a reminder, Trolltech's family of software development tools includes Qt, for cross-platform software development, and Qtopia, an application platform for creating Linux-based devices.

Good luck. If you'd like to write an article about your project, let me know -- it would be fun to publish your paper in Dr. Dobb's.

Posted by Jon Erickson at 02:32 PM  Permalink |


April 18, 2007

Color Bar Codes: More Than Just a Pretty Face


Okay, multi-color bar codes snuck up on me. But not the folks at Microsoft Research. That's why they're enjoying the palatial environs of a major research lab and I'm not.

But when you stop and think about, multi-color bar codes make a lot of sense. Colors let you pack a lot more information into a small space than does the ubiquitous black-and-white bar codes we've become accustomed to.

"The capability of these new bar codes to store more data in a smaller space should provide a rich resource for the industry and consumers alike," said Gavin Jancke, director of engineering for Microsoft Research and inventor of the format. "The new code offers several advantages over existing black-and-white bar codes most people are accustomed to seeing on product packages, enabling new consumer experiences, more visual appeal where aesthetics are important and the ability to incorporate advanced security features."

The high capacity color barcode (HCCB) technology that Jancke came up with was devised to assist publishers and consumers in finding out more about commercial audiovisual works, such as motion pictures, video games, broadcasts, digital video recordings and other media. For audiovisual publishers, identification and tracking technologies will provide detailed data for royalty payments, anti-counterfeiting efforts, market analysis, and the like. For consumers, scanning multi-color bar codes with webcams or cell phones that have color cameras, will return information such as product versioning, ratings identification, parental control, product availability, special releases, contests, pricing and promotions.

The International Standard Audiovisual Number International Agency (ISAN-IA), which coordinates a globally recognized identification system for audiovisual works, has licensed the bar code technology from Microsoft and will make it available to other organizations, starting with DVD media, later this year. Software from Microsoft and ISAN-IA will interpret the bar codes and be integrated with Web services to enable these interactions

HCCB is expected to become more widespread as cell-phone lens quality advances. For existing cell phones to read black-and-white bar codes, the code must be larger than 1.5x1.5 inches in size, which may be impractical in small spaces or where visual appeal is important. Eventually, consumers should be able to scan the new, smaller bar codes directly from television, phone, or PC screens; movie posters; DVD and CD jewel cases; magazine ads; billboards; and a host of other platforms to retrieve additional information. New security features can also be incorporated into Microsoft’s multicolor bar code. DatatraceDNA plans to provide technology for anti-counterfeiting security protection features through nanotechnology that is embedded within the material and ink of the Microsoft bar code and product packaging.

Posted by Jon Erickson at 05:11 AM  Permalink |


April 16, 2007

What Can You Do with 11,000 Multi-Core Processors?


"Petaflops" sounds like a name you'd give a puppy. In fact, petaflops are a thousand trillion floating-point operations per second. Sorry, I don't even know how to express that numerically.

But for me, what's more interesting than a string of zeros that stretch from here to the back forty is how you generate a petaflop. For the answer to this condundrum, look no further than the folks at the Oak Ridge National Lab which recently doubled the performance of its "Jaguar"computer to119 teraflops of peak performance (119 trillion mathematical calculations per second), making it, ORNL claims, the most powerful open scientific computing system in the world.

At the core (no pun intended) of the system are (get this) 11,708 dual-core AMD Opteron processors, 46 terabytes of memory, and 750 terabytes of disk storage. Moreover, by late 2007 as dual-core processors will be replaced with AMD quad-core processors. The memory will be doubled and the operating system will migrate to a version of Linux on the computer nodes.

In what I would categorize as an understatement, project director Buddy Bland said "We are excited about the performance." He went on to say that "AORSA, a major fusion code, achieved sustained performance of 38 teraflops on the first ever run on the system, which is the fastest ever for this application. We expect the code to achieve in excess of 60 teraflops sustained performance."

Posted by Jon Erickson at 08:30 AM  Permalink |


April 13, 2007

Testing Software, Coffee, Whatever...


Finally, here's a job I'm qualified for -- testing coffee. Actually, you'd think that the issues involved in testing, say, coffee ought to apply to software or other testable things.

No, I didn't come up with this idea. That honor belongs to Dr. Laura Brandan Briones, a researcher at the University of Twente in The Netherlands.

What Brandan Briones has done in her research, which was undertaken as part of the NWO project Systematic Testing of Realtime Embedded Software Systems (STRESS), is develop metrics for establishing the reliability of tests. She does so by determining which part of the system has been tested: the degree of coverage. An equally large problem during the testing of software is the gigantic number of scenarios that a system offers. This is more than the number of elementary particles in the universe. It is therefore impossible to test all of these. The degree of coverage is a measure of the reliability of the system. For instance, if you have a coffee machine with tea and coffee and you test all of the possible options that supply coffee then you have a degree of coverage of 50 percent.

According to Brandan Briones, the old method for determining this degree of coverage assumed all possible processes in a system to make, for example, a cup of black coffee. However the system can deliver the same cup of coffee in various ways. Using the method of Brandan Briones all of the different ways are assigned the same value. Therefore the degree of coverage no longer varies.

The method Brandan Briones has developed also takes into account the severity of possible errors. This is a major advantage for companies that want to make a risk estimate. Taking into account the importance of the errors provides a more accurate and realistic measure of reliability.

Okay, if "reliability" translates to a rich cup of mocha java everytime, that's fine with me.

Posted by Jon Erickson at 12:45 PM  Permalink |


April 12, 2007

The Physics of Superheros and Comic Books


These academics. They just have to ruin everything. Even superheros aren't safe from their wanting us to learn something.

Take University of Minnesota physics professor James Kakalios, for instance. He just can't let us get by with a few hours of escapism and amusement. Nooo, he has to make it "educational" by providing technical explanations and pointing out scientific bloopers in superhero comic books.

For instance, as Kakalios recently pointed out in his lecture "The Uncanny Physics of Superhero Comic Books" that was part of the MIT Physics Colloquium Series, when the Green Goblin kidnapped Spiderman's girlfriend, Gwen Stacey, and pushed her from the George Washington Bridge to her death, was it the fall that killed her or Spidey's attempt to save her by catching her in webbing mid-fall, causing her neck to snap? In fact, this was a question Kakalios posed to his students in an introductory physics exam. The answer? According to Kakalios, if Gwen has a mass of 50 kilograms, fell 300 feet, and acquires a velocity of 95 mph, there would be 10g of force on her body, which she could potentially survive. But stopping short against all that force in half a second would break her neck. In other words, when she hit the web, the impact on her body would have been 10 to 20 times the force of gravity. "That proved -- mathematically at least -- that Gwen Stacey died of a neck snap when Spider-Man caught her in his webbing," he says.

Then there's Kakalios trying to force-feed Newton's laws when calculating the force needed to leap over tall buildings in a single bound. Superman would need 140 mph of liftoff velocity and his legs would have to exert 6000 pounds of force.

But Kakalios just can't stop at teaching classes and giving lectures. He also found it necessary to write a book The Physics of Superheroes, launch a web site, and teach a class entitled The Physics of Everyday Heroes.

Give us a break. All I can say is that I wish Kakalios had been teaching when I was in university. I would have loved to taken a couple of his classes, and possibly enjoyed comic books even more than I do anyway -- and better understanding the world around us. When it comes to teaching physics, Kakalios is a superhero in my book.

Posted by Jon Erickson at 09:30 AM  Permalink |


April 10, 2007

ACM Collegiate Programming Contest Wrap-Up


A slightly belated congratulations to the winning teams at the 31st ACM International Collegiate Programming Contest, held a couple of weeks ago in Tokyo, Japan. The competition pitted 88 teams against each other in the final round. Earlier rounds of the competition featured more than 6,000 teams representing 1,765 universities from 82 countries.


The winners were from the Warsaw University (Poland), Tsinghua University (China), St. Petersburg University of IT, Mechanics and Optics (Russia), Massachusetts Institute of Technology (U.S.), and Novosibirsk State University (Russia).

The team from Warsaw University included Filip Wolski, Marcin Pilipczuk, and Marek Cygan, and was coached by Jan Madey. The MIT team, consisting of Brian Jacokes, Hubert Hwang, and Eric Price, placed fourth among the 88 teams from all over the world that qualified for the ACM-ICPC world finals, which are sponsored by IBM.

ACM President Stuart Feldman pointed to the superior problem-solving abilities demonstrated throughout the competition from teams across the globe. "The competition at the ACM ICPC World Finals is incredible. The contestants must attack a wide variety of problems, and the top 15 teams are all performing at a level that exceeds what it took to win the contest only 10 years ago," he said.

Posted by Jon Erickson at 11:26 AM  Permalink |


April 09, 2007

The Viterbi Algorithm


It isn't every day that a school is named after an algorithm. Okay, that's probably not exactly the case with the University of Southern California's Viterbi School of Engineering. But there is the Viterbi algorithm and there is the Viterbi School of Engineering. And, for that matter, there is the Viterbi Lecture series, which takes place at the Viterbi School of Engineering. So what came first -- the chicken or the Viterbi?

Not being one to normally josh about serious things such as algorithms and engineering schools, I can probably get by with a humor this time around. Why? Because Robert McEliece, a world-renowned information theorist and professor at Caltech, got away with a bit of levity of his own at the recent fifth annual Viterbi Lecture. When kicking off his lecture, McEliece turned to the following limrick penned by USC Professor Solomon Golomb and author of the book Shift Register Sequences:

A message of content and clarity Has gotten to be quite a rarity To avoid the terror Of serious error Use bits of appropriate parity

Okay, the joke (such as it is) is that the Viterbi algorithm is an error-correction scheme for noisy digital communication links. It is widely used these days with cell phones, satellites, deep-space communications, 802.11 wireless LANs, speech recognition, keyword spotting, computational linguistics, and and the like. In a nutshell, Viterbi is an algorithm to compute the optimal (most likely) state sequence in a hidden Markov model given a sequence of observed outputs. I'll leave it at that, since there are lots of sources -- including this one -- that explain the algorithm in detail. I'd probably just confuse matters matters anyway.

Finally, there's even a Perl implementation on CPAN.

Posted by Jon Erickson at 09:45 AM  Permalink |


April 07, 2007

SD Best Practices Moscow


The highlights of SD Best Practices Moscow 2007 conference involved, of course, the great speakers (and their great presentations) who participated in the recent two-day event in Russia. But the cool stuff was this:

Meeting rooms with names like "Puskin Hall," "Tolstoy Hall," and "Chekhov Hall." Of course, my short presentation was in the "Conference Hall." Go figure. Lunch? Served in "Glinka and Mussorgsky Hall"

Then there were the translators. I've never been translated before, at least not verbally. But there were these guys in a booth off the side of the stage, who were translating from English to Russian (and where appropriate Russian to English) in real time. Listening via headphones, talking into microphones, and transmitting to audience members who had on wireless headsets distributed at registration. Kind of like a mini United Nations, if you get my drift. And very impressive.

Of course, I made the mistake of talking faster than I should have because I was told we were running a little behind and didn't have that much time. But the translators seemed to keep up -- although I have no idea how they could have possibly kept up with Jim McCarthy who presented a keynote entitled "Software for Your Head: How to Create Corporate Genius" that focused on effective team building. Jeez, I had a hard time keeping up with him.

Unlike me, subsequent speakers knew what they were doing. For instance, Nizam Ishmael, an IBM e-commerce architect, gave a great overview of Eclipse, speaking at a cadence that the translators could comfortably keep up with. Other speakers from the U.S. included Bruce Eckel, who discussed design and development issues from a philosophical standpoint, and Terri Quatrani, a last-minute replacement for Scott Ambler. Terri discussed "Best Practices for Innovative Software Development."

Still, one of the best presentations was that of Bertrand Meyer's who discussed testing and the need to automate the process when and where it makes sense. (Bertrand, it should be noted, was recently acknowledged by the ACM as its recipient of this year's Software System Award.

Our most gracious host at the conference was Valentin Makarov, president of RUSOFT, an association of software development companies from Russia, Byelorussia, and Ukraine. We learned a lot at the conference, particularly how dedicated Russian software developers are to their craft, and that their skills, tools, and informational needs really aren't that much different from their peers elsewhere around the world. I can't wait until the SD Best Practices Moscow 2008 conference.


Posted by Jon Erickson at 12:35 PM  Permalink |


April 06, 2007

New Algorithms for Image Searching


In an effort to add search capabilities to actual images, rather than to text captions that describe them, engineers at the University of California, San Diego have developed the Supervised Multiclass Labeling (SML) system which calculates the probability that various objects it has been trained to recognize are present, then labels the images accordingly. After labeling, images can be retrieved via keyword searches. The SML system also splits up images based on content; for example, the system can separate a landscape photo into mountain, sky,and lake regions.

The term "supervised" refers to the fact that the users train the image labeling system to identify classes of objects, such as "tigers," "mountains" and "blossoms," by exposing the system to different pictures of tigers, mountains and blossoms. The supervised approach lets the system differentiate between similar visual concepts -- such as polar bears and grizzly bears. In contrast, "unsupervised" approaches to the same technical challenges do not permit such fine-grained distinctions. "Multiclass" means that the training process can be repeated for many visual concepts. The same system can be trained to identify lions, tigers, trees, cars, rivers, mountains, sky or any concrete object. This is in contrast to systems that can answer just one question at a time, such as "Is there a horse in this picture?" "Labeling" refers to the process of linking specific features within images directly to words that describe these features.

SML starts with the training process, which involves showing the system many different pictures of the same visual concept or "class," such as a mountain. When training the system to recognize mountains, the location of the mountains within the photos does not need to be specified. This makes it relatively easy to collect training examples. After enough different pictures that include mountains, the system can identify images in which there is a high probability that mountains are present.

During training, the system splits images into 8x8 pixel squares and extracts some information from them. The information extracted from each of these squares is called a "localized feature." Localized features for an image are collectively known as a "bag of features."

Next, the researchers pool together bag of features for a particular visual concept. This pooled information summarizes the important information about each of the individual mountains. Pooling yields a density estimate that retains the critical details of all the different mountains without having to keep track of every 8x8 pixel square from each of the mountain training images.

Once trained, the system annotates pictures it has never encountered. The visual concepts that are most likely to be in a photo are labeled as such. In, say, a tiger photo, the SML system processes the image and concludes that "cat, tiger, plants, leaf and grass" were the most likely items in the photograph.

"At annotation time, all the trained classes directly compete for the image. The image is labeled with the classes that are most likely to actually be in the image," said said Nuno Vasconcelos a professor of electrical engineering at the UCSD Jacobs School of Engineering, and senior project researcher. Others involved in the project include Gustavo Carneiro, a UCSD postdoctoral researcher now at Siemens Corporate Research, UCSD doctoral candidate Antoni Chan, and Google researcher Pedro Moreno.

The SML system can also split up a single image into its different regions, a process known as "image segmentation." When the system annotates an image, it assigns the most likely label to each group of pixels or localized feature, segmenting the image into its most likely parts as a regular part of the annotation process. "Automated segmentation is one of the really hard problems in computer vision, but we’re starting to get some interesting results," said Vasconcelos.

Posted by Jon Erickson at 12:55 PM  Permalink |


April 02, 2007

Take the Agile 2007 Survey


You're invited to take the 2nd Annual Agile Adoption Rate Survey -- and a chance to win one of Scott Ambler's recent books.

There are 22 questions in total, although depending on your answers you will only be be asked a subset of the questions, and at worst it should take about 5 minutes of your time. The goal of the survey is to determine the level of adoption of various development techniques, in particular agile ones, and their effectiveness in practice. The survey will close on April 15th 2007.

Scott will summarize the results of the survey in the August 2007 issue of Dr. Dobb's Journal. Furthermore, the full source data (except for identifying information) and a PowerPoint slide deck summarizing the results will be posted at www.ambysoft.com/surveys/ so that others can reuse the results of the survey.

For a review of last year's Survey, see Survey Says: Agile Works in Practice.


Posted by Jon Erickson at 02:34 AM  Permalink |



November 2007
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


BLOGROLL
 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies