Elegant and Powerful

Built on the Erlang VM, I am captivated by this language.

Red4 Store Part 5: Fun With Phoenix, OTP, and Agents
March 16 2016

Before I get to the meat of this post, the code for what I've written so far is up here. The main bits are in /apps/peach.

Red:4 Store Part 4: The First Problem - Atoms
February 20 2016

I was asked a great question on Slack the other day - I wish I could remember the person's name (sorry!) but I can't find it ... anyway they asked me (paraphrased):

Red:4 Store Part 3 - Saving Session Data
February 17 2016

Let's implement an intelligent shopping cart - something that tracks what the customer is doing, how they came to our store, etc. I tend to think of these things in terms of a "Session" - a shopping process where a customer selects things, puts them back, and eventually (hopefully) buys something. If I do things correctly (to me, at least), I should end up with tight little functions an exactly 0 if statements.

Red:4 Store Part 2: Wrapping Our Heads Around Processes
February 11 2016

When you build applications in the Erlang world you create discrete processes that interact. In theory this is pretty straightforward - until you actually try to do it. Microservices fans out there know the value (and the pain) of managing a fleet of services; there are benefits to it, definitely, and also problems.

Let's Build Something With Elixir and Phoenix
February 10 2016

As CTO I get to call the shots here at Red:4 but I do have to answer to the CEO and others. It's easy to arm-wave, to go on and on about Elixir and functional languages - but at the end of the day it's what you do, not what you say that counts.

Learn Elixir The Fun Way
January 04 2016

About 3 years ago I had an idea for creating a different kind of tutorial. Something that would combine the problem-solving of a video game, the immersion of a sci-fi story and the joy of learning something new. A tutorial you wanted to finish in the same way you want to finish a good book or fun video game.

Thinking About Function Signatures in Elixir
October 07 2015

One of the things I've had to adjust to is how I want to structure function calls in Elixir. This is forced upon you by Pattern Matching and is a Very Good Thing. Deciding on these patterns early on can really be helpful.

How To Learn a New Programming Language While Maintaining Your Day Job
October 06 2015

I don't typically write "lifehack" posts, but this question has come up repeatedly over the last few weeks:

Recursion, Not Recursion
September 09 2015

Had a great comment from my last post (about using Recursion):

Using Recursion In Elixir To Break Your OO Brain
September 04 2015

I have to start out each post this way: I have no idea what I'm doing, but dammit am I having fun. In the fist few posts I ham-handedly threw some code against the wall to see what would ... stick? Anyway It worked, but I realized (as I did with Ruby, wonderfully) that there just has to be a better way.

Using Elixir's Pattern Matching And Case Statement To Handle Errors
September 04 2015

I don't really know what I'm doing. I'm trying to learn Elixir and I'm having so much fun doing it that I thought I would share what I'm learning. So ... here goes. The code for the stuff I'm writing is up at Github - feel free to drop over.

Hello Elixir. Wow.
September 03 2015

I don't know anything about elixir but I very much want to learn it. I like learning new things - I feel it's required for our industry. It's easy to feel a twinge of snark about this, I feel that too, every day. But every now and again something comes along and I just find myself getting pulled right in.