Hackathons are an essential part of NANOG conferences. They are designed as a “fail forward” space where mistakes can be made as learning, having fun + building community is the prime objective.
And sometimes this perfect cocktail of sophisticated fun leads to solving real-world technical issues.
The work done at the NANOG 83 Hackathon improved the PeeringDB Simple Search and resolved a vital search issue. Thus, allowing PeeringDB (a freely available, user-maintained, database of networks, and a go-to location for interconnection data) to provide more relevant search results for the end-user.
The developed code during the Hackathon, officially went live early Wednesday morning (Jan. 12).
Simple search accepts any search term and tries to respond with the most relevant responses. But unlike the Advanced Search feature, it does not provide any filters. This led to searches for numbers giving way too many responses because segments of IP addresses were included. The project resolved this by applying some logic to the searches to work out if the person was searching for an AS Number (the number of a network) and just returning that, or an IP address, and then returning the relevant addresses or address block.
The three volunteer developers were Brad Schwyzer, James Lamanna, and Jeff Kala. They delivered the code that implemented the planned features and identified how to improve the documentation for the PeeringDB development environment.
NANOG had the opportunity to catch up with PeeringDB product manager Leo Vegoda to learn more.
How exactly did participating in Hackathon improve Simple Search?
We now have empirical evidence that the development environment can be used by volunteer developers - and we’ll use their feedback to improve its documentation.
Searches for small numbers now look for AS Numbers and return just the relevant `net` objects. Searches for partial IP addresses are now recognized as such and return the relevant objects from IXs.
Why is this noteworthy?
They turned this:
Not only did they deliver what was asked, but they also helped us identify a bug, which was quickly fixed. We will be integrating their contributions into our January release, so the new year will start with improvements to search, developed by volunteers.
We will be making some documentation improvements to the development environment, so developers know what to expect when first indexing the database. But our key takeaway is that volunteer developers are making PeeringDB better and more useful for our users.
While the specific project delivered a success, what is probably more significant is the combination of the proof that the new development environment can be used by any developers and that we can put together a project that can be done at a Hackathon. This means that we are now in a position to regularly involve the community in improving PeeringDB, which means we can improve the pace of development and give people in the community a greater sense of ownership
We are grateful for their kind assistance!
Check out the code here. Our next Hackathon will kick off on Feb. 4, 2022, in anticipation of NANOG 84. The theme is “Giving back to open source: issue fixes.” Register for NANOG 84 Hackathon here.