Hacking Endeavours - A Tale About Having FunJanuary 29, 2015
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?
If you and your team want to learn more about how to write maintainable unit tests and get the most out of TDD practices, make sure to have look at our trainings and workshops or checkout the books section. Feel free to reach out at firstname.lastname@example.org.
Jan Van Ryswyck
Thank you for visiting my blog. I’m a professional software developer since Y2K. A blogger since Y2K+5. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Past organizer of the European Virtual ALT.NET meetings. Thinking and learning about all kinds of technologies since forever.
Watch The Videos
March 31, 2021
February 17, 2021
January 6, 2021
November 11, 2020
September 30, 2020
- Behavior-Driven Development
- Concurrent Programming
- Continuous Integration
- Core Skills
- Design Patterns
- Domain-Driven Design
- Event Sourcing
- Fluent Interfaces
- Functional Programming
- Object-Relational Mapping
- Open Source
- Software Design
- Test-Driven Development
- Visual Studio
The opinions expressed on this blog are my own personal opinions. These do NOT represent anyone else’s view on the world in any way whatsoever.
Thank you for visiting my website. I’m a professional software developer since Y2K. A blogger since Y2K+5. Author of Writing Maintainable Unit Tests. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Thinking and learning about all kinds of technologies since forever.