View Article in PDF
The term “hacker” typically conjures up images of computer-savvy villains devilishly clicking and typing their way into unsuspecting victims’ computer systems. Within the software development community, however, hacking has a more positive purpose. “To hack” is to innovate, test, and experiment with computer code to create new, purposeful software for various applications.
Livermore has taken a page from the software industry’s playbook, conducting special events during which computer scientists throughout the Laboratory have 24 hours in which to brainstorm, develop, and improve software products. This friendly competition, known as ShipIt days, provides an outlet for developers to explore different software languages and to collaborate with others in their field. “During ShipIt, employees have autonomy to work on software-related products that they find interesting without the added pressure of having to make the project succeed,” says Kyle Dickerson, a Livermore software engineer and ShipIt participant. “The opportunity to be creative with few restrictions helps boost employee morale, motivation, and ingenuity.” By providing a break from regular work activities, the events help employees reinvigorate their software-developing psyche.
ShipIt projects focus on either advancing a Laboratory mission or developing a relevant skill, and employees are free to evaluate a wide range of products that may or may not have immediate applicability to their work activities. “ShipIt events provide a venue for rapid code development,” says Katherine Lewis, a Livermore computer scientist and one of the event organizers. “They are a time for employees to indulge in inklings or interests that could potentially lead to programmatic applications.”
The ShipIt day name and format are derived from a similar program created by Atlassian, an Australian-based software development company. Two weeks before an event, organizers and participants meet to discuss the day’s schedule, suggest project ideas, form teams, and outline project goals. The actual event occurs over a 24-hour period, but teams are not required to participate the entire time. Toward the end of the day, teams present their results to fellow participants. Xinh Huynh, a former Livermore computer scientist and past event organizer, says, “It’s a little like being on ‘American Idol.’ After the final presentations, the audience votes for the best project. The judges are people we consider Computation ‘celebrities’—division leaders and other high-level managers.”
Nearly 80 Computation employees took part in the first three ShipIt days, working in their offices, conference rooms, or the High-Performance Computing Innovation Center (see S&TR, September 2012, Venturing into the Heart of High-Performance Computing Simulations), which is part of the Livermore Valley Open Campus. Events for Global Security and for Livermore Computing (LC) in the Computation Directorate were held August 24–25, 2012, with the competition beginning at noon one day and ending at noon the next. Computation’s Applications, Simulations, and Quality Division held the third event on February 28 and March 1, 2013.
Future ShipIt days will be interdepartmental, encouraging an even broader range of ideas. Outstanding projects from the first competitions include a mobile Android application for counterproliferation efforts; a portlet for viewing computer simulation results via a Web browser; and a widget for LabBook, the Laboratory’s internal social network.
Software engineers in Global Security are devising applications to navigate and analyze the massive amounts of data acquired in support of counterproliferation efforts. One such application is Element Centric (EleCent), a component in the Laboratory’s Counterproliferation Analysis and Planning System. (See S&TR, December 2011, Data for Defense: New Software Finds It Fast.) EleCent allows users to store, update, retrieve, and analyze critical data, including the location and type of hazardous materials housed at facilities worldwide. It combines an enormous database with Web-based tools for viewing results in various formats, from tabular lists to geospatial maps. A Google Earth plug-in summarizes data in a geospatial display.
Dickerson and two colleagues used ShipIt time to develop an app that displays EleCent data on an Android device, such as a tablet or phone. “The GPS component of mobile systems makes an EleCent app appealing,” says Dickerson. “It would allow users to get information specific to their exact location, such as what facilities and materials are nearby that they need to be aware of.” He adds that this type of tool has potential for defense applications and for humanitarian efforts. “Someone working in an active emergency response zone, for example, would be able to identify the locations of facilities in the area and the types of hazards they present.”
For ShipIt, team members configured their desktop computers to run Google’s software development kit for Android apps and divided project tasks among members. “Prior to the event, we were not allowed to write any code,” says Dickerson. Over the next several hours, they overcame coding, database, and interface issues to deliver a simple working prototype for their final presentation. “We created a working model that retrieves actual data and displays the results on a mobile device.”
More extensive work would be needed before the tool could be deployed for defense applications, but the EleCent mobile app prototype shows what is possible. “We’ve demonstrated that the technology fits nicely into our programmatic work,” says Dickerson. “It offers real potential for our customers.”
Project teams are much freer to experiment when they are less concerned about an idea failing. A project by Global Security software engineers Tim Bender and Josh Oakgrove demonstrates how a ShipIt team can change direction and still yield fruitful results. “We started working on a neural network framework for Java that could be used for space situational awareness,” says Bender. (See S&TR, July/August 2009, Preventing Close Encounters of the Orbiting Kind.) “The framework would help users determine the difference between the estimated and actual elliptical drift of an object around Earth.”
After finding open-source software for the application, the engineers hacked on that code for several hours until they realized they did not have enough time to produce results with their data set. At midnight, they abandoned their initial idea and started a completely different project: developing a Klout score component to LabBook. With only 12 hours remaining for ShipIt, they decided the Klout score project had a better chance of success in such a short time.
Klout scores measure user engagement and activity on social networking sites based on several factors, including number of subscribers. “We had to remap the LabBook data model to obtain metrics for our ShipIt application,” says Bender, who had worked on the social networking site when he first started at the Laboratory. The LabBook developers used multiple programming languages, such as SQL and PHP with HTML, to integrate the existing LabBook with the new model. “By the end of ShipIt, we had a full beta version of the application.” One month later, the application was added to LabBook as part of a routine upgrade, allowing users to view scores that rank their influence on the site.
Bender sees the benefits of ShipIt from both an employee standpoint and that of the institution. “These types of events engage employees and motivate them to do something they wouldn’t normally have considered, and that could potentially help Laboratory missions,” he says. The team is already looking to improve the current version of the application, for example, by providing percentile rankings among users.
Lawrence Livermore is renowned for its high-performance computing environment and is home to some of the world’s fastest supercomputers and sophisticated software that optimizes these machines. For another ShipIt event, Cyrus Harrison, Brad Whitlock, and Ming Jiang collaborated with Harinarayan Krishnan from Lawrence Berkeley National Laboratory to improve how LC customers access the results of simulations run on the Laboratory’s systems.
LC users have access to a personalized Web portal called MyLC that provides a wealth of information on their accounts, such as bank and disk usage, quotas, and active jobs on LC systems. Another application developed at Livermore is VisIt, a visualization tool for viewing and analyzing meshes produced by large-scale simulations. “VisIt is an existing software framework and is quite complex. For ShipIt, our team wanted to expand the accessibility of VisIt by attempting to expose the application in the context of a Web browser,” says Harrison.
The team developed a prototype of a MyLC portlet that helps users execute VisIt scripts and receive rendered or interactive views of data sets via a Web browser. For their final presentation, the software developers showed how simulation data rendered with VisIt could be viewed from a mobile phone. “Our proof of concept demonstrates that a VisIt Web browser tool is viable and could be made available to all LC customers,” says Harrison. A production-ready version of the tool, including quality assurance testing and debugging, would require additional time and resources outside the scope of ShipIt. However, the researchers agree that ShipIt allowed them to gain experience with a technology they had yet to work with.
Harrison adds that another benefit to ShipIt is the project management aspect. “By having to assemble teams and develop a project schedule, participants get experience in project planning and organization,” he says. The event also provides an avenue for participants to present their ideas to peers, helping employees enhance their presentation skills. Says Harrison, “From my perspective, the ShipIt experience overall is very positive. It provides a venue for employee development and allows participants to innovate to produce software products that have real applicability.”
The first three ShipIt events have been a success for both the Laboratory and its employees. “The feedback has been very positive,” says Lewis, adding that Livermore plans to host events two to four times a year. “Support and interest for the ‘hack-a-thons’ continues to grow.” By giving software developers time to engage in projects that tap their inner creativity, Lawrence Livermore is continuing its tradition of fostering innovation.
Key Words: Element Centric (EleCent), hacker, high-performance computing, Klout score, LabBook, Livermore Computing (LC), mobile app, MyLC, ShipIt day, social media, software application, VisIt.
For further information contact Katherine Lewis (925) 423-8593 (firstname.lastname@example.org).