Archive

Check out all blog posts in my blog archive

Kotlin-like copy methods in Swift
Creating copies of objects with small modifications is easy in other languages like Kotlin; however, it requires some boilerplate in Swift. But that can change. Read More ›

Property-based Testing in Swift - Generators
Did you know you can write hundreds of tests with very little effort? If you are as lazy as I am, keep reading to learn how! Read More ›

Property-based Testing in Swift - Using SwiftCheck
Did you know you can write hundreds of tests with very little effort? If you are as lazy as I am, keep reading to learn how! Read More ›

Property-based Testing in Swift - Introduction
Did you know you can write hundreds of tests with very little effort? If you are as lazy as I am, keep reading to learn how! Read More ›

Learning Swift by Example
Would you like to see how you can build a Swift tutorial, written in Swift, readable as natural language, and executable as a suite of tests? You are in the right place! Read More ›

Mr. Robot
Mr. Robot is a new TV series in USA Network about hacktivism. This is a spolier-free opinion post, so feel confident to read it and, of course, give the series a try if you like it! Read More ›

War against Boilerplate | Code Completions
Writing code in Java for Android has sometimes a lot of boilerplate code associated. In this series of posts I will present some features in the IDE or the language that we can use to reduce writing such boilerplate. Read More ›

Book Review Your Code as a Crime Scene
Achieving perfection in code is nearly impossible. That's why we have refactoring; to help us improve our code when we determine something *smells bad* in our design. But sometimes things might not be obvious. For those cases, **Your Code as a Crime Scene** is a great book to provide you with tools to find places in your code where something is screaming for a refactoring. Read More ›

HOW TO - Create your custom Achievements list and Leaderboards with Google Play Games in Android
Google Play Games is a good library to include gamification elements into your app, such as Achievements and Leaderboards. In this tutorial, I will show how to implement your custom visualization for Achievements and Leaderboards. Read More ›

Book Review Apprenticeship Patterns
Either if you are a newbie in the software industry or you already have several years of experience developing software, Apprenticeship Patterns is a good book to reflect about several habits that you acquire along the road and to focus on becoming a better software engineer. Read it and start your journey to become a master software craftsman. Read More ›

Hooli vs Pied Piper, or the Responsibility in Making Decisions
The hilarious TV show Sillicon Valley is teaching us some valuable lessons about managing software development teams and making decisions Read More ›

The important role of Psychology in Software Engineering
Anyone who had been involved in a software development project may have notice that psychology plays an important role in the performance of this discipline, e.g. from team management to requirements elicitation. However, our field can receive even more benefits from this science. Read More ›

Something smells bad in the DNIe sample Android app (Part 2)
A sample Android app has been published by the Spanish Homeland Ministry and the National Police to explain how to interact with the new version of the DNIe 3.0 (the Spanish ID card). However, the published code is not what we can consider "best practices" in software development. Read More ›

Something smells bad in the DNIe sample Android app (Part 1)
A sample Android app has been published by the Spanish Homeland Ministry and the National Police to explain how to interact with the new version of the DNIe 3.0 (the Spanish ID card). However, the published code is not what we can consider "best practices" in software development. Read More ›

Useful Mac OS X Apps for developers
A nice set of apps for Mac OS X, specially oriented to developers Read More ›

Starting a new adventure › Hello World!
Welcome to the very first post in this blog about software development. Read More ›