Alex is a Principal Software Engineer at Babbel, involved across various teams and their projects for over 5 years. He has come out victorious at Berlin Hack and Tell twice, securing wins in November 2022 and September 2023. Today, he’s excited to dive into his most recent triumph with Roll and Rock.
How long have you been working at Babbel?
This year in July I celebrated my fifth anniversary at Babbel.
Which programming languages are you using at Babbel?
What inspired you to participate in the Berlin Hack and Tell?
That’s an interesting question! Before answering it, let me explain what Hack and Tell is.
Berlin Hack and Tell is a monthly event where eight people show their hacks. Each has five minutes to present a project and then five more minutes to answer questions from the audience. In the end, everyone votes, and the author of the best hack receives the Berlin Hack and Tell trophy.
Terms “hack” and “hacker” in this case have absolutely nothing to do with breaking into someone’s computer or something like that. RFC 1392 gives a proper definition of a hacker: a person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular. In other words, hackers are curious people who love to understand how things work and love to create. It goes even beyond computers and software.
Back to the original question! I try to join every Hack and Tell meetup because of the atmosphere created by the people who organize and attend it. It’s the community spirit and incredible creativity you see in each project. Therefore, it’s an honor for me to have a chance to show my projects from time to time.
Could you describe the project you presented at the Hack and Tell? What problem does it address, and what was your motivation behind choosing this project?
It’s called Roll and Rock. It’s a tool for everyone who would like to create a software project but has temporary issues with creativity. Let me give an example.
Imagine you have time on a weekend and want to work on something to practice your engineering skills but have no idea what to do. That is where Roll and Rock could help.
Roll and Rock is a set of three dice:
- the D6 dice give a general direction. For example, a game or a mobile app
- the D8 sets a programming language, like Ruby, Swift, or exotic Nim
- the D10 dice introduce an additional constraint to the project. For example, the final product needs to teach something to kids or make noises
Roll the dice and let it sparkle the creativity fire in your head.
It’s a fun project and should be treated this way. But it has the potential to give someone a hint about something serious and totally useful.
What technologies or programming languages did you use to develop your project? Were there any tools or libraries that played a crucial role in your success?
Roll and Rock is a tin box containing three dice and a manual printed on a piece of paper. It doesn’t require the internet or any other connection. Everything is in that little box.
Can you share any interesting or unexpected challenges you encountered while working on your project? How did you overcome them?
Although the project appears simple, the challenges are hidden behind that simplicity.
It was necessary to ask myself many questions and look for answers that keep Roll and Rock simple to use and understand.
How many dice to use? What programming languages to pick, so they are interesting to try and possibly valuable to learn? How to keep additional constraints (the third dice) engaging with any danger of over-complication? Just to name a few.
All these challenges made Roll and Rock interesting for me. The journey from the idea to the final little box on my desk felt amazing.
What were the most exciting or innovative aspects of your project? Is there a specific feature or functionality that you’re particularly proud of?
If you pay attention to the dice, you notice they don’t have regular numbers on them. These little dots represent bits. Numbers on the sides of each dice are binary numbers.
Another “feature” is the manual. It’s formatted as the output of the man(1) command.
Are you planning to continue working on your project now after Hack and Tell? If so, what are your next steps?
I have some ideas to improve the list of options. For example, some people noticed that Kotlin is missing as a programming language option.
Hack and Tell events often focus on creativity and innovation. Can you share any advice for aspiring engineers looking to participate?
Stop thinking you have nothing to show. Every hack has some story behind it, and that makes it already interesting.