The 24-hour period provides a great boost to productivity and creativity.
Josh Senecal
Groups of developers work on projects at the spring hackathon

Developers Explore New Territory at Spring Hackathon

Thursday, May 18, 2017

Computation’s 2017 hackathon series opened on April 27–28 with the spring event at Lawrence Livermore’s High Performance Computing Innovation Center. Thanks to a longstanding tradition of three hackathons scheduled each calendar year, the 24-hour event has become popular among many areas of the Laboratory. This spring, more than 80 participants signed up to tackle pet projects, new technologies, or tasks they find difficult to fit into daily workloads.

Working in groups or individually, many hackers used the time to explore—to become better acquainted with a tool or library, improve skills with it, or learn more about what it can do. Other hackers chose to continue previous hackathon projects. “At the hackathon, you can work on an idea that you haven’t had a chance to pursue,” notes repeat participant and first-time co-organizer Josh Senecal. “It’s an occasion to take ownership of your skills and actively seek opportunities to improve or expand them.” The event concluded with presentations describing the problem each team aimed to address, how they approached it, what they learned, and what they intend to do next.

Shiv Sundram, Yuriy Ayzman, and Rob Blake sought to automate a labeling process for cardiac tissue. As Blake discovered in a previous job, cardiac magnetic resonance imaging (MRI) results must be reviewed manually by health care personnel to identify heart tissue within each image “slice”—a costly, time-consuming process. The team used two open-source libraries, Keras and TensorFlow, to enable machine learning using MRI data from a York University image database. According to Sundram, the team’s interdisciplinary backgrounds helped them divide up the tasks of a difficult project. He explains, “Our challenges included preprocessing the cardiac image data to be amenable to neural network training, and then designing and optimizing our neural network architectures.” Ayzman elaborates, “To structure the data, we had to determine how to align the three-dimensional feature set to a common grid while overcoming the limited sample size through data transformation.” The trio—all of whom plan to attend future hackathons—will build on their hackathon progress with more robust machine-learning algorithms and using a larger data set.

Figure 1. (clockwise from top left) Julia Ramirez, Anh Quach, and Clinton Cohagan focus on their hackathon projects. (Photo by Randy Wong.)

As part of her work with the Laboratory’s Environmental Restoration Department (ERD), Devon Bates helps hydrogeology professionals manage groundwater well data. During the hackathon, she created a visualization tool that fills the gaps left by existing tools. For instance, a hydrogeologist looking for specific information about a well’s lithology, depth, sand pack, hydrostatic unit depth, and well screen identification is often confronted with spreadsheets of numbers lacking context. Bates used D3.js, a JavaScript library, to create visualizations of the well records, which are pulled in from a RESTful endpoint. The result displays the cross-section of a well extending underground, labeled with data points from the database, and the interactive proof-of-concept tool allows the user to quickly assess wells. “D3.js is really powerful visualization tool, but the learning curve is steep,” notes Bates. “Re-familiarizing myself with the basics took some time. It’s nice to be able to explore a new idea outside of my everyday work, and it usually means I can bring some new experience or insight back into whatever I’m working on.”

Senecal juggled event coordination duties with a solo project, in which he taught himself version 3.1 of the programming language Swift. Among the features he explored within the object-oriented language were computed properties of classes, tuples (groups of values or objects), and the use of optionals (a type of variable that allows the variable to have a value, or none at all). “The 24-hour period provides a great boost to productivity and creativity,” explains Senecal. “Just interrupting my routine is refreshing, but setting aside my regular tasks and working on something that interests me is very intellectually stimulating, and that spills back into my regular work.” He plans to carry this effort into subsequent hackathons with an eye toward leveraging Swift’s MacOS and mobile capabilities for National Ignition Facility Computing systems.

Figure 2. Chunhua (Leo) Liao and Adam Moody work side by side to develop a near-natural language framework that transforms speech into command code. (Photo by Randy Wong.)

The breadth of the spring hackathon’s projects mirrors the diversity of Computation’s expertise across the Laboratory, and participants readily acknowledge the benefits of these recurring, collaborative events. Sundram credits the hackathon’s format with helping his team focus. “We were surprised by how much we achieved in the short time span,” he says. “In just 24 hours, we learned and leveraged domain-specific knowledge about cardiac imaging, familiarized ourselves with a deep-learning software stack, and utilized it to train and optimize our models.” Blake also appreciated his team’s productivity. “Within 24 hours and off-the-shelf software, we were achieving results that were within the neighborhood of algorithms that have years of published literature and thousands of person-years of development,” he explains.

A key draw for hackathon participants is the event’s emphasis on communication. Describing his team, Ayzman states, “We kept the lines of communication open, routinely checking if the team was moving in the agreed-upon direction. This allowed roadblocks to be addressed in a timely manner and kept everyone on target.” Even participants working alone found ways to collaborate, as when Bates discovered that ERD colleague and fellow hacker Rachael Lemos was using a RESTful endpoint for another project. Bates says, “I realized I could use that endpoint to get all the data I needed, which will make it much easier to turn a prototype into a functional tool for our users. It was helpful to have others from the ERD team in the same room, even if we were working on different things.”

Each hackathon is hosted by a different Computation team, and organizers often volunteer their services more than once. Carolyn Albiston, Lisa Pombo, Dianne Calloway, Linda Becker, and Jill Souza joined Senecal for this season’s duties with valuable input and assistance from Ian Lee, Greg Lee, Esteban Pauli, and Kasie Passama. Senecal says, “Organizing the event gave me another opportunity to contribute to Computation’s culture. I look forward to being involved in future hackathons, both as a participant and as a contributor.” The next hackathon is scheduled for July 13–14.

Figure 3. Walt Nissen rode his unicycle to the hackathon. (Photo by Randy Wong.)