Wednesday, August 8, 2012

Open-source movements butt heads over logo


Open Source Initiative and Open Source Hardware Association trying to bridge differences over similar-looking logos



A gear logo proposed to represent and easily identify open-source hardware has caught the eyes of the The Open Source Initiative, which believes the logo infringes its trademark.



The gear logo is backed by the Open Source Hardware Association (OSHWA), which was formally established earlier this year to promote hardware innovation and unite the fragmented community of hackers and do-it-yourselfers. The gear mark is now being increasingly used on boards and circuits to indicate that the hardware is open-source and designs can be openly shared and modified.

OSI has now informed OSHWA, which is acting on behalf of the open-source hardware community, that the logo infringes on its trademark. The issue at stake is a keyhole at the bottom of the open-source hardware logo, which resembles a keyhole at the bottom of the OSI logo. The gear logo was created as part of the contest hosted by the group that founded OSHWA, and the mark was released by its designer under a Creative Commons license, opening it up for the community to use on hardware.

More than a year on, OSHWA is still in talks with OSI and both believe a resolution is near. The issue has sparked a debate on OSHWA's website, with some community members accusing OSI of policing and asking the open-source hardware organization to steer clear of OSI's licensing terms. OSI has established logo usage and trademark guidelines on its website.

OSHWA is also engaging the community on whether it should facilitate creation of a new logo or license the gear logo as a derivative work from OSI. OSHWA could theoretically argue OSI's claims in court, but it would be a waste of resources and create a wedge between open-source organizations, whose main objective is not to fight but to cooperate, wrote OSHWA president Alicia Gibb in the blog entry.

OSHWA follows the open-source ethos of working together to tweak, update and share physical hardware designs with the goal to improve products. The fledgling organization is still trying to sort out legal and licensing issues, and observers said this could be a litmus test for OSHWA's viability and the gear mark's use for hardware certification.

The gear logo has gained in popularity, and OSHWA director Nathan Seidle would love to see it stick around.

"We want to see the gear logo stamped onto bicycle parts, on the back of a wrist watch, on the bottom of a chair," said Seidle, who is also CEO of Colorado-based SparkFun Electronics, in an e-mail.

OSI, which is more grounded in software, tends to take a conservative approach to trademarks and legal discussions, which makes communication difficult, Seidle said. But OSHWA does not want trademark or legal battles with anyone, Seidle said.

W&L's R.E. Scholars Design Software for Surveillance Drones


In a war zone, an abandoned building may be filled with hidden hazards. Bombs. Booby traps. Snipers. Thanks to software designed by Washington and Lee computer science professor Simon Levy and his summer research students, American soldiers may soon be detecting these dangers using miniature surveillance drones.

Levy and his students — junior Suraj Bajracharya and sophomore Bipeen Acharya, both from Nepal, and junior Olivier Mehame of Rwanda — are working with Advanced Aerials, a Navy contractor, to develop the software, which will be embedded on a wrist-mounted controller. Their program would allow soldiers to tap out simple commands on the controller’s touchscreen.

“Imagine a scenario where they’re trying to figure out what’s in a particular building, and they don’t want to run in there. There may be explosive ordnance…or they may be under attack,” explained Levy. “So the idea is, you can take this [drone] out of a pack and toss it in the building and have it flying around looking for things, with cameras on it.” The cameras would record a live feed of the building’s interior.
Levy and Advanced Aerials, a VTOL UAV rapid prototyping company north of Charlottesville, will demo the software for the Navy this fall. The project offers Levy’s students a unique research opportunity because they are building a commercially viable product. “There’s actually a customer who wants this technology,” said Levy.

The students, all Robert E. Lee scholars, spent the first part of the summer coding commands for the drone. Their goal? To keep the coding as clean and simple as possible. They also wanted to create a visually appealing touchscreen.

Levy’s students started coding as soon as the project began. This would not have been possible a few years ago, said Levy. Until recently, the only small computing devices available were micro-controllers. These special-purpose computers have their own language and limitations, and the students would have needed time to learn their computer’s particular platform.

Programming today is much simpler. “You can get an entire computer that’s already good to go, with programming on board. The students don’t have to learn much beyond what they’ve already learned in their computer science courses,” said Levy.

Technology is also more affordable than it was in the past. “We’re currently working with what’s called commercial, off-the-shelf technology,” said Levy. “Most of this stuff costs between $20 and $200. It’s very inexpensive technology. You can buy it at Amazon or some supplier online. I’m just using, basically, little $20 webcams for this.”

According to Levy, the drones and controllers to be used in the demo are supposed to be easily portable and disposable. Part of the challenge for the students was to keep the coding clean and efficient. Levy reviewed their work daily to correct mistakes. “We would be doing it the long way, and he would come in and tell us to use a function,” said Acharya. These functions, or shortcuts, removed repetitive codes and kept the program lean.

The team’s software is highly adaptable and can be embedded in a variety of small, open-source computing devices that operate on a Linux platform, from BeagleBoard to Raspberry Pi to Gumstix. “The code we write for one of the devices can work on any of the other devices,” said Bajracharya. They decided not to design an iPhone-ready program because the Apple device requires a specialized code not easily adaptable to other platforms.

A prototype drone was unavailable in June, so the team tested commands on a server that acted as a substitute for the actual robot. Levy will test the software on a drone later this summer. In September, Levy and the head of Advanced Aerials, Bert Wagmer, will demo the device for the Navy. “If that works out, we’ll have a bigger product due a year out from that,” said Levy.

The students agreed that they learned a lot about programming. “It made me get more interested in programming because I hadn’t worked with designing things graphically as an interface,” said Mahame. He also enjoyed “doing the coding to connect to the graphical user interface and making it more dynamic. I think this project was really cool.”

Gaining hands-on experience with a high-level commercial project was another benefit for his research assistants, said Levy.  “You can come to a place like W&L and get some really interesting projects under your belt very quickly,” said Levy. “This industry is really cooking. I know they won’t have any trouble finding a job or going to grad school.”

Explore the Power of Data-Centric and Data-Driven Android Applications with Android Database


Packt is pleased to announce Android Database Programming, a book that strives to weave together the exciting worlds of mobile programming and data management with both conceptual and practical code-filled examples.



Android is a mobile operating system based upon a modified version of the Linux kernel. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android. The Android operating system software stack consists of Java applications running on a Java based object oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation.

Android Database Programming is a book meant to prepare its readers for this new world we live in. It's a book that not only strives to teach its readers all the different data storage methods available, but which also strives to illuminate the strengths and weaknesses of each method – placing a greater emphasis on conceptual thinking.

By the end of this book, readers will be able to craft an efficient, well-designed, and well thought out data-centric application

This book is ideal for readers with a wide range of technical backgrounds, ranging from those with a limited Android programming background but who may be well-versed in database designs, to those who are experienced in Android programming but who may need to brush up on database schemas and database queries. The book is out now and available from Packt in print and popular eBook formats. To read more, please visit the Packt website.

Tuesday, August 7, 2012

Chinese Researchers Program Tesla GPUs with OpenACC


NVIDIA today announced that the OpenACC programming standard has enabled Chinese researchers to dramatically accelerate the DNADist genomics application,1 which is used in the early stages of development of treatments for genetic conditions, such as Down syndrome, hemophilia, cystic fibrosis, and sickle-cell disease.



Using the CAPS enterprise OpenACC compiler, Shanghai Jia Tong University researchers accelerated the DNADist application by 16 times on an NVIDIA® Tesla® GPU-based system by adding just four simple hints -- known as "directives" -- to the application code.

DNADist, a distance-matrix application for studying the genetic relationships between various species over evolutionary history, enables researchers to extract information from sequenced DNA data by reading nucleotide sequences, which may potentially lead to a greater understanding of the causes of and treatments for pervasive genetic diseases. Accelerating the DNADist application allows researchers to study a significantly larger range of input data and obtain actionable information earlier in the disease treatment research process.

A programming standard for parallel computing using directives, OpenACC is designed to enable millions of researchers around the world to easily take advantage of the transformative power of GPU computing. It provides the easiest way for users, with or without extensive parallel programming expertise, to accelerate their research in a matter of hours using familiar programming models.

Roche Impressed with OpenACC, Power of GPU Acceleration
By quickly delivering game-changing application acceleration with minimal effort, OpenACC provides world-leading pharmaceutical companies like Roche with the ability to research, identify and develop more effective drugs faster and more cost-effectively.

"I am astonished at how quickly and easily OpenACC unlocked the power of GPU acceleration for DNADist, which is one of our most critical applications," said Steve Pan, project director, Roche Pharma Global Informatics. "The potential impact of GPUs is priceless because getting our products to market faster, even one day earlier, will save more lives."

"Extracting meaningful information from the vast collection of available DNA sequencing data requires ever-increasing amounts of computational power," said Sumit Gupta, senior director of the Tesla business at NVIDIA. "OpenACC enables researchers to quickly and easily leverage the enormous performance of GPU accelerators to analyze mountains of genomics data. This dramatically reduces the time to study biological systems, and potentially leads to the development of more effective next-generation medicines."

A large and growing number of researchers and engineers are using OpenACC-supported compilers and hybrid CPU/GPU computing systems to accelerate all types of applications, including CAD/CAM, image processing, materials science, molecular dynamics, quantum chemistry, and many other applications. In many cases, users are reporting that they have achieved as much as 5-10X or faster levels of acceleration in as little as a few hours of work.

Saturday, August 4, 2012

VirtualBox 4.2.0 Beta 1


VirtualBox is a general-purpose full virtualizer for x86 hardware. Targeted at server, desktop and embedded use, it is now the only professional-quality virtualization solution that is also Open Source Software.



Some of the features of VirtualBox are:

Modularity. VirtualBox has an extremely modular design with well-defined internal programming interfaces and a client/server design. This makes it easy to control it from several interfaces at once: for example, you can start a virtual machine in a typical virtual machine GUI and then control that machine from the command line, or possibly remotely. VirtualBox also comes with a full Software Development Kit: even though it is Open Source Software, you don't have to hack the source to write a new interface for VirtualBox.

Virtual machine descriptions in XML. The configuration settings of virtual machines are stored entirely in XML and are independent of the local machines. Virtual machine definitions can therefore easily be ported to other computers.

New Language For Image Processing is Halide


Halide is a new open source language designed specifically for image processing and computational photography. It not only makes it easy to implement photo algorithms, it also makes them run fast by semi-automatic parallelization.



Algorithms that work with images are ideal for parallel implementation because they usually work with small isolated blocks of data that means the task can be parallelized without worry about interactions. The only problem is that even converting something that is ripe for parallelization from serial code to something that runs on today's confusing architecture of CPU cores and GPUs is difficult.

Halide is a new functional programming language from MIT, (with help from Stanford and Adobe) that allows you to specify image processing algorithms, mostly block convolution methods, more easily and without having to worry about how the algorithm is implemented. A second section of the program then provides a general description of how the algorithm should be parallelized. It not only describes how the algorithm should be split up among computational elements but how to organize the data to keep the processing pipelines running at maximum efficiency by avoiding restarts.

The easiest way to understand the general idea is to see a simple example (taken from the paper):
Func halide_blur(Func in) f
 Func tmp, blurred;
  Var x, y, xi, yi;
  // The algorithm
  tmp(x, y) = (in(x-1, y) +
          in(x, y) + in(x+1, y))/3;
  blurred(x, y) = (tmp(x, y-1) +
          tmp(x, y) + tmp(x, y+1))/3;
  // The schedule
  blurred.tile(x, y, xi, yi, 256, 32)
        .vectorize(xi, 8).parallel(y);
  tmp.chunk(x).vectorize(x, 8);
 return blurred;
}

The first part of the program defines a simple 3x3 blur filter split into a blur horizontal followed by a blur vertical step. The last part of the program, the schedule specifies how the algorithm can be treated in a parallel implementation. The Schuyler is machine specific and has to be changed to get the best performance out of a particular processor pipeline.

Wednesday, August 1, 2012

Chaos Monkey released by Netflix


Chaos Monkey, the first member of Netflix's "Simian Army", has been released as open source code. The software runs on the Amazon Web Services (AWS) cloud platform and can be used for stress testing cloud deployments. Chaos Monkey will randomly disable virtual machines in Auto Scaling Groups (ASG) and give the support engineers a chance to test contingency plans for outages under realistic circumstances. This gives administrators a chance to learn from the problems encountered. Chaos Monkey's schedule can be configured, but by default it runs during work hours to give the engineers a chance to be notified and react quickly.



According to Netflix, the idea behind Chaos Monkey is to make sure engineers and administrators are prepared for problems and can solve them efficiently when they occur. In its announcement, the company summarises the reasons for deploying the software as follows: "Failures happen and they inevitably happen when least desired or expected. If your application can't tolerate an instance failure would you rather find out by being paged at 3am or when you're in the office and have had your morning coffee?"

Netflix has been using this kind of approach for a while and says that over the last year, Chaos Monkey has disabled over 65,000 virtual machine instances in its network. In many cases, AWS handles these outages seamlessly and nobody notices a problem but the approach has also led to bugs and problems being discovered which could then be eliminated.

To make the approach less painful, Chaos Monkey has several configuration options. It can be used in both opt-in and opt-out mode; this is configured for each application the service is run on. This allows organisations to test the software without putting their whole infrastructure at risk. Administrators can also tune the probability with which Chaos Monkey terminates instances. Probability settings range from 100% (one instance a day) to 20% (one instance per week on average).

The source code for Chaos Monkey is available from GitHub under the Apache 2.0 Licence. More information on the software is available from its documentation wiki, which is also hosted on GitHub.
Netflix is planning to release more members of its Simian Army in the future. The next candidate will most likely be Janitor Monkey, a program that helps clean up unneeded assets from AWS environments and thus save running costs.