Blog

Putting our heads together.

Front-end

03/08/2018

Async actions handling with redux-thunk

Using redux-thunk to work with asynchronicity

Working with async actions in Redux can be troublesome, there are many actions and reducers that fire up incorrectly, so here is a short and concise tutorial to start working with redux-thunk and handling async actions in Redux, complete with code samples and repository that you can use as boilerplate for your projects

News

03/05/2018

First Ruby Open-meetup of 2018

A totally new meetup format with lightning talks and open discussions is coming!

Join us for the first 2018 open meetup of the Ruby Community in La Plata. We have deliberately not defined an agenda to give everyone the possibility to ask questions, share experiences or just listen to what is going on in the Ruby world. Here is all the practical info to join us on March 9, 2018 in NaNLABS office.

Mobile

02/05/2018

A clean approach to deferred authentication in Android

Test driving authentication flow in a public-to-read / private-to-write application.

It is common for an app to need users to be authenticated to generate content. But from a user perspective, sign-up as the first screen feels kind of forceful. Why not let the users in, and only ask them to login for advanced interaction? Let’s test-drive this solution.

Mobile

01/31/2018

Android Dependency Injection – Why we moved from Dagger 2 to Koin?

An example using the new DI mechanism with Kotlin and the Android Architecture Components

Koin is a new option to consider to manage dependency injections when working with the Android Architecture Components and Kotlin. It provides much more clarity than Dagger 2 and is simple to implement. Here is an example of how to use it, compared to other more complex options.

Methodologies

11/27/2017

Defining quality in software development

The importance of setting the bar right to meet expectations

Just like high jumpers, software developers need to clearly set their goals in order to meet their objectives and speak of quality.

Methodologies

11/27/2017

The quality pyramid in software development

Relying on everyday processes to reach high standards

We can think of our overall quality as the result of the functional, structural and process aspects of quality. Only by satisfying the lower levels of our pyramid will we be able to reach the uppermost level without sweat blood and tears.

Methodologies

11/27/2017

Code Quality I: Good Practices

Clean code and other healthy programming habits

It is within ourselves to take action and turn our everyday activities into an upward-spiralling workflow. We might feel it takes longer in the short term, but it saves lots of time and headaches in the long run.

Methodologies

11/27/2017

Code Quality II: Metrics

Key indicators to measure the health state of your codebase

No metrics are unquestionable. Nonetheless, keeping an eye on churn, as well as cyclomatic and cognitive complexity is a good habit to help write and maintain a clean codebase