awochna

Blog

Recent Posts

Elixir Math Tips

The following post was inspired by the tricks I learned about performing math operations in Elixir while working through the Elixir Exercisms. I feel like I learned a lot about the nuances of the language while working through the exercises and I highly recommend it!

Elixir State Management: Agent or GenServer?

I love Elixir and it’s functional style. That’s probably not much of a secret to you at this point, but one of the questions I often get is about transitioning to a functional style from an object oriented one. Luckily, I have some really good experience with this, coming from Ruby, where everything is an object. More to the point, the question really comes down to managing some sort of state in a software system beyond simple data structures being passed around, a replacement for the objects they previously used. Elixir processes can manage state in the same way that long-lived objects do in a Ruby or Javascript application and we have two OTP abstractions that make this sort of thing easy: Agent and GenServer. Agent is built on top of GenServer so let’s start exploring there.

Breaking Down the Breaker

I recently built and released a new project in my new favorite programming language: Elixir. The project is an HTTP request circuit breaker, simply named Breaker because I own an extremely creative automatic name generator.

Programmer Values

I primarily focus on code as a communication tool between programmers, even when I’m just writing code that will only be read by my future self. It’s a set of machine instructions secondary to that.

Speaking at the IT Summit

Recently, I spoke at the University of Arizona’s IT Summit about Elixir and Phoenix and what makes them special.