Powered by lightning fast internet, lasagne and tons of Club Mate, our 5th Hackday was a success!
So, here we are with our own review about a day full of projects, sun - and caffeine.
This year’s Hackday took place at Colonia Nova, a proper Berlin-style venue in the famous Neukölln district.
Let’s be honest, the huge and sunny rooftop terrace on the 5th floor made our day even better. It was great to enjoy the sunshine while hacking with our colleagues - because yes, we set up the wifi there too!
If you started your Android development around the time instrumentation tests were the only tests supported out of the box, you probably remember how tedious it was to test drive an app. In fact, writing tests, whether before or after the implementation was written, was so complicated and frustrating that some of us chose to avoid them entirely.
Well times have changed and what we now have at our disposal is enough to not only write a reasonable amount of tests but also to develop our apps and libraries driven by tests. In this article I’ll share how I do TDD in Android. I won’t dive deep into the concept of TDD, I’ll simply explain the approach I use and how it has greatly improved my development. I’ll approach this with a concrete example.
Want to simplify your infrastructure and reduce your operations overhead?
Consider using AWS Lambda, and let Travis help you with the deployment.
If you don’t know AWS Lambda, here’s how Amazon describes it:
AWS Lambda is a compute service that runs your code in response
to events and automatically manages the underlying compute
resources for you.
Put simply, you write the code and AWS runs it for you. The “runs it for you” part can be
either event-driven, scheduled, or via a manual trigger.
If you’re on the move to a more decoupled service architecture like we are, this can be a big help.
If you’ve kept yourself up to date with the latest in Retrofit you’ve soon came to the question “Should I or shouldn’t I update to Retrofit 2?”. At Babbel we’ve already answered the question, we updated our new Android app to use Retrofit 2.
Although still in a beta stage, Retrofit 2 already offers a lot. However, there are some crucial changes. Perhaps one of the changes
that affected us the most was the removal of
RetrofitError. There are more than one reason why this class was removed,
but we weren’t ready to give up on it so fast. As an intermediate step we needed to port its behavior to Retrofit 2 while using
The new Retrofit design helps you define call adapters that can help you customize how you handle errors in your calls.
Twice a year we break out of our everyday routine and meet somewhere in Berlin to form ad hoc teams working on our own project ideas and hacks. Some of them eventually become actual Babbel projects.
As the Babbel family is growing pretty fast lately – and so is the list of the Hackday attendants – the venue research can get really hard; this time we had an exciting option, though…our future office!
A completely empty 5–storey building close to Alexanderplatz just for us and during the Halloween weekend. Creepy!? Scary!? Exciting!
We took over its big empty open space and we brought tables, chairs, sofas, bin bags, lights, super Wifi, coffee, snacks, Club Mates, beers…and last but not least, 110 Babbel – Hackers; 110 people from Product, Engineering, Data Analytics, Marketing, Customer Support, Design, Didactics, Internal Communication worked from 10 am to 19.30 pm on 26 different projects.
In September 2015, we started taking the Rails upgrade of our monolith seriously. We were running Rails 3.2 up to that point, and with Rails 5 on its way, we ran into the risk of using an unmaintained version of the web framework. This was not an option. Hence, the upgrade to a current Rails 4 version was inevitable.
Various data storages have seen increased growth over the last few years. There are now so many of them that it becomes overwhelming to choose the right tool for the job. Among all of the Big Data ready replacements for traditional relational databases (think Cassandra or HBase), there are also a few tools that try to solve a slightly different problem: to provide a centralized log of data, that is both writable by multiple producers and easily readable by multiple consumers.