The Ketogenic Diet has been nothing short of life changing for me. I've recently completed 6 months on it and thought this was a great time to pause, reflect and share my progress. I've recently gone through a long term relationship break up which served as a trigger for me to start it. Big events like that have the power of forcing you to rethink your entire life and allow you to change what you’re not happy with.
In January 2019 (2 weeks from now) I’d be completing 4 years at Airbnb. This makes for a good milestone to look back and reflect on what I learned during that time, what went well, what didn’t go so well and some takeaways.
I’ve recently taken on the challenge of porting a Go implementation of a NES emulator to Android. Thanks to the awesome work done by Michael Fogleman, understanding and navigating the Go code was fairly easy even for me, who was a complete Go newbie. Let me also make it clear that porting an existing implementation is infinitely easier than writing it from scratch (and thus easier for emulation newbies like myself), which would be a huge undertaking.
At Airbnb, shipping a high quality product is of utmost importance. To accomplish this goal, we use automated testing to catch bugs before they reach our users. In this post, we’ll describe how we use a particular type of automated tests, UI tests, to ensure the quality of our Android application and will announce the open source launch of OkReplay.
Our choice for Android UI tests is Espresso, which is arguably the best, most popular and recommended library for writing integration tests. However, the extra confidence provided by a solid test suite can be quickly affected by flaky tests creeping…
I've been planning to write this article for a while, but time is really short recently, especially with yesterday's Airbnb Trips launch, where the vast majority of the screens are using React Native. It was very exciting and challenging to accomplish that. Here, I'd like to talk about some of the pain points we stumbled on and how to fix them.
React Native is a really exciting technology and probably completely different from anything you've seen before. It's not a "hybrid" mobile framework like PhoneGap, Titanium or Cordova. Instead it is a really clever mix of the productivity of React…
A couple months ago I decided to (once again) jump into the web development bandwagon, motivated by curiosity and "nerdiness". I've been neck deep on Android only for quite a while now, so it was about time for me to learn something different. Cycle.js caught my attention as a "functional and reactive framework for the web", and my recent growing interest into Reactive Programming, more specifically, RxJava, made me want to try it.
I've been a long time fan of functional programming. It always fascinated me how you could compose complex operations out of simpler constructs, while at the same…
Charles Proxy is a great tool that helps you debug network traffic by sniffing your requests. One super useful feature is that it allows you to also monitor SSL traffic by generating self signed certificates and acting as Man in the Middle. For iOS and Android devices, that doesnt work well and you have to install its certificate instead. This is a known workaround and has helped us many times in the past in order to debug API requests, for example.
Another security best practice that has become more popular in the recent years is using Certificate Pinning, which helps…
This is the second part of a series of posts. You can find the part one here.
So this time we're gonna start to write the Android application code for our game. You'll need to download Android Studio in order to get started.
The Android Studio IDE is based on IntelliJ, which is a very good and well known Java IDE created by JetBrains. Google "forked" it to add more functionality specific to Android development, but the majority of the standard IntelliJ functionality also applies to Android Studio.
TL;DR: This is a series of posts where I'll walk you through the process of how I created an Android application from scratch. Both the app and backend source codes are on Github, as well as the data.
As an adult, I've never been a big video game player. I completely lost interest at some point and only recently bought a PS4 started playing again. My go-to game is usually FIFA, since I'm a huge soccer fan and enjoy playing quick matches with low commitment, instead of having to spend hours playing through a campaign. …
Brazilian, Gaúcho and Software Engineer at Stripe