Power of the metrics: Don’t use average to forecast deadlines

Almost all project stakeholders are used to ask for deadlines when the subject is software development. Every time I face this type of question I usually answer something like this: — “Well, the only thing I know is that uncertainty is one of the few certainties about software development, so let’s look at the team’s … »

Writing Acceptance tests in Phoenix

Acceptance testing seems to be in its first steps in the Elixir ecosystem, but there are already some cool libs that can help us out to do it. I’m going to show you how we did it with Hound. In this blog post, we’ll write a few acceptance tests for an expenses report listing page, … »

How to do remote meetings effectively

Several teams, different locations. As technology evolves, this scenario gets more and more common. When you need to set up a meeting between distributed teams, it usually leads to frustration. Noise, poor sound quality, interruptions and lack of focus tend to erode communication and make things chaotic. As a consultancy, we have learned a lot … »

Improve remember me cookie expiration in Devise (CVE-2015-8314)

A security bug (CVE-2015-8314) has been reported in Devise’s remember me system. Devise implements the “Remember me” functionality by using cookies. While this functionality works across multiple devices, Devise ended-up generating the same cookie for all devices. Consequently, if a malicious user was able to steal a remember me cookie, the cookie could be used … »

O aprendizado a partir de indicadores ágeis

Desenvolver software é algo que traz naturalmente uma carga de incerteza, afinal de contas, envolve uma mistura de desafios técnicos e dúvidas de negócio. Independente do processo ou framework adotado pelo time (ex. Scrum, Kanban, Cascata, etc.); clientes, usuários e stakeholders demandarão uma resposta quando o assunto diz respeito ao prazo de entrega do produto … »

Comparing Elixir and Erlang variables

Sometimes Erlang programmers are worried “Elixir variables may be the source of hidden bugs”. This article discusses those concerns and shows how variables in Erlang can produce related “hidden bugs”, some of those eliminated by Elixir. Before we start, a short disclaimer: Elixir does not have mutable variables, it has rebinding. Mutability is often associated … »