Lambda Calculus for mortal developers

Lambda Calculus for mortal developers Lambda Calculus sounds like an arcane term that only functional programming wizards can understand. Nothing could be further from the truth. We use Lambda Calculus everyday when we program. It is the most reducible form of all Functional Programming languages; the primitive building block of Functional Programming. The atoms of Lambda Calculus Lambda Calculus is based on three basic building blocks: expressions, variables and functions, which are combined to form other expressions. ...

November 9, 2017 · 7 min · srodrigo

Setting up Scala on Android

Scala can be used to build Android applications, as an alternative to Java or Kotlin. Unlike them, setting up an Android project in Scala with SBT is not straightforward, and can give us some headaches to get it right. To show how this can be done, we are going to create new project template using the Android SDK Plugin for SBT. Required tools In order to develop Android apps in Scala, you need a minimum set of tools: Homebrew and Android SDK. ...

October 18, 2016 · 5 min · srodrigo

The Rush Age

We live in the rush age. We are literally overwhelmed by the amount of things we have to do, both at work and outside it. We leave work and have a bunch of emails, Facebook notifications, tweets, text messages (among others), waiting for response. Even worse, we are in bed keeping an eye open looking at our mobile phone in case we get a new notification. This is ridiculous. As software developers, the same thing happens at work. The feeling is that we need to be more and more productive. We have access to a **huge** amount of information and tools in order to achieve this (Google, Stack Overflow, that new library that claims to simplify your life 1% better than the one your are currently using, etc.). But the feeling I get is that all of this is turning us into consuming machines. We consume information, process it and pack it again as soon as possible. Our output? Mostly code. And how does this work? Let’s see an example: ...

July 11, 2016 · 4 min · srodrigo

Was it worth writing automated tests?

This post is not about testing techniques. There is plenty of information about this topic out there, and I feel that repeating the same things would be redundant. If you want to learn how to write automated tests properly, go and read Uncle Bob, Martin Fowler, Kent Beck, Sandro Mancuso and some others. They’ve been testing for decades and share their knowledge in books, videos and articles. Go and read/watch them! ...

December 21, 2015 · 11 min · srodrigo

MVVM with Data Binding on Android

Now that Google has -finally- started working on a Data Binding engine, it’s time for me to start changing the way I use the Presentation Model pattern. Why use Presentation Model? It’s been talked a lot about this pattern, so I’m not going to re-explain the wheel. You can find useful references here, here, here and here. Very briefly, the main motivations to use this pattern are: Moves the presentation logic into specific components. This is specially important on Android, where views (Activities and Fragments, in our case) can get quite large. Improves testability and reusability, as controllers (Presenters or ViewModels) can be written in pure Java. Decouples the model from the view, so our business logic is completely independent. Why Model View ViewModel? I have been using MVP (and therefore Presenters) for about a year. It’s been great, as my code became more testable, and my activities/fragments got smaller. You can have a look at this gist by Christian Panadero to get an idea about how I and others use the Presentation Model with Passive View. But I still find that there is one more step forward: the MVVM pattern. ...

June 13, 2015 · 6 min · srodrigo

Hi everyone

This is the first post of my blog. I’m a software developer from Valencia (Spain). I almost like all kinds of programming, specially videogames/mobile programming. I’m currently focused on Android. I hope you will enjoy my posts!

June 12, 2015 · 1 min · srodrigo