Like many organizations around the world, LLNL is adjusting to a mostly remote workforce during the COVID-19 pandemic. The Computing Directorate has adapted quickly to this new situation, and seasonal hackathons have continued on schedule. The spring 2020 event, held at the end of April, was Computing’s first virtual hackathon.
On August 6–7, the summer hackathon—Computing’s 25th overall—saw more than 60 attendees collaborate over video chat and Mattermost or Slack instant messaging before teams delivered presentations via WebEx. The event was sponsored by Livermore Computing (LC) and the Center for Applied Scientific Computing (CASC) and organized by David Beckingsale, Mike Gilbert, and Stephen Herbein.
CASC director Jeff Hittinger kicked off the 24-hour hacking period by noting that Computing’s management team considers hackathons to be vital opportunities. “You can use this time in many ways,” he said. “You can work on projects, or with people, that you don’t ordinarily work with. The hackathon is fertile ground for technical ideas.”
Digital Identity Data
Eric Schmar, a full-stack developer in the Information Technology Solutions division, works on the Department of Energy’s (DOE’s) OneID enterprise identity and access management technology. “My team hosts many web services in Microsoft Azure, so I figured the hackathon was a good time to poke around,” he explained.
Schmar decided to explore Azure’s machine learning (ML) services with the idea that an ML model could be trained to match online identities of DOE employees at multiple laboratories. In true hackathon spirit, he tried different approaches before settling on a “distance metric” that clusters an identity’s attributes to determine how close or far away other identities are—in other words, how likely different identities are to match.
“It’s important to clearly state the problem you want an ML model to solve,” advised Schmar, who has attended several hackathons. “ML is very dependent on the quality of data.” For example, he trained the model on 18,000 identities but discovered that the dataset did not contain enough mismatched identities. Even so, Schmar considers his hackathon project a success because it allowed him to expand his experience with ML and Azure.
Diving into a New Language
Lisa Hughey is among the Lab employees who onboarded remotely this summer, and this event was her first hackathon. “I didn’t know what to expect, so I used it as an opportunity to dive into a new language that I can apply to my work,” she said. In the Applications, Simulations, and Quality division, Hughey collects, structures, and formats data from chemistry experiments for a database system with advanced searching capabilities.
Hughey’s goal was to use XQuery to query documents in a MarkLogic database. She explained, “XQuery is similar in structure to SQL [Structured Query Language], and both are database query languages. I have worked with SQL before, so XQuery was not too difficult for me to pick up.” Still, Hughey found she needed to learn more about the syntax and expressions of the XPath language, which is used by XQuery.
During the 24-hour period, Hughey set up an application server in MarkLogic, created a sample database, and conducted queries for different parameters. A week later, she found a use for XQuery in her chemistry database project. “Making that transition was really satisfying,” she said.
“The virtual experience gave me the solitude to focus, but also the motivation to keep plugging away because I wanted to share what I had learned afterwards,” Hughey stated. She hopes to collaborate with other developers at the next hackathon.
Hackathon organizers typically see the largest turnouts in the summer, thanks to the presence of student interns. This year, all Lab internships—including Computing’s 180 interns—are being conducted remotely, and many students took part in the hackathon.
One team tackled the timely challenge of remote collaboration by simulating a meeting room. Interns Nancy Huang, Urmi Lalchandani, Jacob Ridgwell, and Yann Sartori wanted to create an app in which users appeared as icons, “walked” around a virtual room to interact with other users, and joined “booths” to attend a presentation or present their own research. Example scenarios for the app are employee social events and student poster sessions.
“Users could start and end conversations organically and meet new people individually, as opposed to doing so in huge meetings or timed breakout sessions,” explained Huang, who attended her first hackathon. The resulting demo showed users joining WebEx calls with other users based on proximity. The functionality included a login page, name labels on users’ icons, and call initiation.
Huang noted that each team member brought complementary skills to the project, stating, “I originally developed the idea and organized the project, but it wouldn’t have been possible without my teammates.” Ridgwell’s prior experience with MongoDB enabled storage of the user’s information at login. Lalchandani implemented the login page and user icon labels. Sartori had previous experience with drawing graphics on an HTML canvas, which led to the button users clicked to join WebEx calls with nearby users.
The team used Slack to communicate and engaged in pair programming to build their app’s features. Huang said, “Being an intern shaped my perspective of the hackathon because I wanted to do something fun and completely different than the Lab project I worked on day to day. I think it really showed because the end product had a playful vibe, and it was almost like a game for socializing virtually.”
Pros and Cons
Event organizers agreed that in-person hackathons are ideal for maximum collaboration, but the virtual effort was worth any compromises. “A silver lining was that it was easier for people to attend the presentations,” said Gilbert, an LC systems engineer. Eight-time attendee and LC computer scientist Herbein added, “WebEx worked well for presentations but not so well for actual hacking time. There isn’t much opportunity for teams to come together until the end. We hope to find a better way for attendees to connect during the next hackathon.”
Beckingsale, a CASC computer scientist who also co-organized Computing’s recent Developer Day event, stated, “The Lab is a big place with many people and many projects. Events like these are important avenues for gaining new skills, learning new things, and making connections that don’t always happen in other places.
The fall hackathon will be held in late October or early November. Read more about the Lab’s efforts to research and respond to COVID-19.