“If you enjoy a challenge, competition, spending time with your NonStop community members, beer, pizza, chip and dip, AND taking home cash prizes, sign up now!”
Since the word ‘Hackathon’ has ‘Hack’ as a root, some attendees immediately wondered if we were encouraging people to break into a NonStop Server. Instead, the word comes from “hack” and “marathon,” where “hack” is used in the sense of exploratory programming. Dating well before the origins of computing all the way back to the 1200s, where it meant “cut with heavy blows in an irregular or random fashion,” not to its scarier meaning as a reference to computer security. In the spirit of the 1960s at MIT and at TBC, the word is intended to encourage a design-sprint that creates a functioning product by the end of the event. (If you want to know more, here is Wikipedia’s take on it.
No hackathon would be complete without a fair number of technical challenges. It was entirely appropriate that everyone pulled together in a spirit of cooperation to overcome the first obstacles. In the end, with a smoothness that embodied the spirit of the hack, the event was considered a success. The official goal was to build a web server that answers HTTP requests with a web page or REST API response, while being unique, inventive, and open. We hoped to demonstrate how easy it is to port an app over to the NonStop for its benefits (fault tolerance, scalability, etc.).
The teams were:
-
- Team ‘Mega,’ with Meg Watson and Leon ArensTeam Mega was able to quickly (in about 10 minutes) build and launch a Java + Spring Boot web server on the NonStop. When the client connected, the server sent back an HTML page with some JavaScript code that would do an AJAX request to another, third-party RESTful API that returns Chuck Norris jokes. This team won the “Best Hack” category.
- Team ‘NoName,’ with Jonathon Ziegler and Vuk PetrovicFrom Vuk Petrovic: Our team struggled to get up and running between getting on the proper Wi-Fi, the download and installation of the correct VPN software, connecting to the NonStop, etc. At one point, Jonathan’s computer hit the (Microsoft) “Blue Screen of Death” and then failed to start. We basically just gave up on Jonathan’s PC at that point. (It eventually made a comeback.)
I found myself in a pickle at this point:
-
- I could not use Python to create the web server, since I could not install anything with Pip on this NonStop. (I could not install the Python web server package.)
- We could not find a simple, dependency-free C/C++ web server library that we could port to the NonStop, build, and run within three hours.
- We could not download, install, configure, and run Eclipse for Java, Spring, and the Spring Boot framework all within three hours, AND have enough time to re-learn Java, learn Spring Boot from scratch, and know enough to build a server that does anything useful.
Eventually, I asked Rob Lesan how he got his Python Server to work, and he taught me that nifty single-line command that requires no additional installation or setup. Our idea was to use the SimpleHTTPServer to serve a simple HTML page that world run some additional JavaScript to make an AJAX request back to our server for a particular file and display it. The file would be generated by a Korn Shell script that Jonathan was writing that would continuously poll for a list of Guardian processes running via gtacl at some configured interval. Essentially, we were going to make a quick, and simple, and automatically refreshing web page to display a list of NonStop processes.
We had almost finished, when I ran into an issue where my SimpleHTTPServer command started hanging badly, making my terminal unresponsive. We could not debug that in time, and the Hackathon ended. We won the “Best Teamwork” category.
-
- Team ‘Can’t-tell-ya,’ with Rob Lesan and Anthony Duffus
Team Can’t-tell-ya applied a time-honored hacking tradition of doing as little as possible to the greatest effect, with a single-line Python app to run a web server that served up a JavaScript site that allowed the user to play the video game ‘Pong,’ the command was:
This command tells Python to run a module named SimpleHTTPServer, which comes pre-installed with Python. The 80 tells the HTTP server to listen on port 80 (the web port). This server will recursively serve files/pages requested by browsers from the current directory and below. Finally, this team found some JavaScript source code online for a game of Pong and pasted it into an index.html file. This team won the “Cleanest Code” category.
We recruited a duo of seasoned NonStop architects, (Randall Becker and Bill Honaker), to mentor and judge the competition, and ultimately choose the winners. Each team left with a cash prize, and all of the participants received amazing commemorative Hackathon t-shirts!
The NonStop Under 40 SIG, which conceived and hosted the Hackathon, considered the event a great success, and is already planning an improved event at next year’s TBC. Please send us your suggestions and ideas for 2020!
Be the first to comment