Hacking Endeavours – A Tale About Having Fun
Some time ago, I was talking to a colleague of mine at a company event. While we were there talking, one of us popped the following question:
What’s the latest totally crazy thing that you hacked together in your spare time, which was a totally whacked thing to do as a professional developer, where normally all your alarm bells and whistles would be going of the chart, but totally carried you away at that exact moment and had boatloads of fun doing?
We exchanged several (war) stories. In the end, the conclusion of this conversation was how much fun we had doing these crazy things and how much we learned.
I want to share one of my stories. It’s not as crazy as creating your own database on top of Git, or creating your own operating system using just regular expressions. But still, it’s one of my numerous conquests.
A couple of years ago I created a website for my son’s soccer team. One of my weekly routines is publishing all the games that need to be played by all the teams of the soccer club. These games are all published at the beginning of the season on the website of the Belgian soccer league. During the season, the soccer league regularly posts new updates on their website without mentioning exactly what they changed. In order to save some work, I wanted to create a small tool just for me that I could run on weekly basis to retrieve all the data that I wanted, format it into HTML and automatically post on the website. I noticed that the website of the soccer league was using a Java applet that captured all the input and showed the games accordingly for a single team. So on one evening, I hacked together a small node.js script that would drive this Java applet (using request) and scrape the data that I needed (using cheerio), then output the data in HTML and automatically upload the HTML file to the new website using the Git command-line.
I had so much fun doing this. I was taking every shortcut I could make in order to get what I wanted. No unit tests, no code analysis, no design, no nothing. Just code. I started using this tool week after week, expecting it to stop working any time soon because some developer would make changes to the Java applet or something. The funny thing is that I’ve been using this tool for almost three years now without ever breaking down on me. I still didn’t polish it, or made it more “professional”. Heck, I still need to change it every week just to fill in the dates.
While I would highly protest doing something like this on the job, I recommend doing this kind of stuff all the time during your spare time. We should consider learning a new programming language, some new technology or a new tool as a free pass for doing crazy things with it. We should allow ourselves some time besides work to hack on as many things as possible, without commitment, deadlines or other hassles. Just releasing our brains into the wild and who knows with what we might end up with.
What’s the latest and greatest that you hacked together?