How to quit the Elixir shell (IEx)?

Okay, you’ve been delving into Elixir. That’s good! 🙂 Of course the first question that pops up in your head is not about immutability, concurrency nor functional programming. It is How can I quit the Elixir shell? Today this question will be answered. Ctrl-C When you start your iex sessions, you are greeted with: Interactive … »

Experimenting with explicit contracts with Ruby

A few months back, José Valim started a conversation on overusing mocks and coupling between components. That made me interested on revisiting how I design my code and it has changed my approach to testing a bit in one of our current Ruby projects. A Tale of Two Adapters Back in November, I worked on … »

Ecto 2.0.0-beta.0 is out!

Hello everyone, We are really glad to announce that Ecto 2.0.0-beta.0 has been released. The upcoming Ecto version packs many goodies: We have migrated to DBConnection, which considerably improves the performance of how Ecto manages connections to the database as a whole. Improved pool management, faster encoding/decoding, support for prepared queries and more The effective … »

Why we love metrics? Throughput and Burnup charts

Since I started working on software development, I have been dealing with two important, but not always convergent aspects: product scope and delivery flow. The process of aligning the expectations of product increment and team throughput is usually arduous, but when this happens, it improves the chances of project success. I will present here how … »

How to setup CI to run Phoenix projects

Writing tests is an important step in software development and everyone knows the benefits. In our last post, we took a look on how to write acceptance tests in Phoenix and today we will see how to configure CI to run the tests. Install Erlang and Elixir We use Jenkins to run ours builds and … »

Why we love metrics? Learning with Lead time

Every time I think about indicators and metrics I remember a phrase from H. James Harrington that says: “Measurement is the first step that leads to control and eventually to improvement. If you can’t measure something, you can’t understand it. If you can’t get it, you can’t control it. If you can’t control it, you … »