Ethics and bias in artificial intelligence development

In early November, the National Transportation Safety Board (NTSB) released its preliminary report on the fatal March 2018 collision between an Uber self-driving car and a pedestrian. The report reveals that the car’s self-driving technology suffered from numerous literal and figurative blind spots — among them, the inability to reliably identify a pedestrian outside a […]

Test, Never Trust: Dealing with external services when using Elixir and Phoenix

In his short story Thin Cities 3, author Italo Calvino describes a city reduced to its plumbing — a network of pipes, stripped of the streets, walls, and floors that would ordinarily conceal them. I like to picture this “thin city” when I’m testing software; diving beneath the superficial layers to probe the essential connections […]

Fostering early collaboration between development and design

User-friendly software doesn’t happen by accident — the best products are designed intentionally, thoughtfully, and thoroughly before implementation begins. However, that doesn’t mean that developers shouldn’t play a role in the early stages of a project. In this post, I’ll talk about why you should bring your developers into design discussions and reviews, and recap […]

Streamlining mobile development with CI and CD

Continuous integration (CI)  and continuous delivery (CD) have significantly improved both my productivity as a developer and my team’s ability to execute smoothly and efficiently on a variety of projects. In this post, I’ll explain how CI and CD work, talk a bit about the benefits of these practices, and walk through an example that […]

Close Bitnami banner
Bitnami