Run Length Encoding in Elixir
I’ve been working through the Elixir challenges on Exercism.io. Yesterday’s assignment was to implement a Run Length encoder and decoder in Elixir. Here’s my implementation.
Learn to Test
What is a skill one could learn to set themselves apart from other entry-level programmers? Testing.
Why Elixir?
I’ve been learning and using Elixir lately, and loving it. More than once, I’ve been asked some version of the question: why are you learning Elixir? What makes this language unique? I thought I’d take a moment and try to distill my rationale.
Writing Elixir Sigils
Sigils are a mechanism for working with textual representations in Elixir. If
you’ve ever made an array of Strings in Ruby with %w()
, the API is similar.
A neat feature of sigils is that we can make custom variants, or override
existing Kernel variants. The latter is generally discouraged.
How and Why to Squash Your Pull Request
Many pull requests go through a cycle: programmer opens pull request, maintainer gives feedback, programmer makes changes, repeat until ready to merge, maintainer merges. Prior to the merge, the pull request can be messy, full of reverts, fixups, and WIP commits. In the end, those commits are noise. We can tell a better story by squashing the branch.
Recreating Elixir's Enum.sum
I’m learning Elixir, and today as an exercise, I was challenged to recreate Enum.sum
using recursion. Here’s
my solution.
Server Side Sorting in Ruby
Recently a friend asked me this question about server-side sorting in Rails. Here’s the question and my answer.
Keyword, Match, and Region in VimScript
After a recent talk I gave that included VimScript, an attendee asked a
question about the differences between keyword
, match
, and region
following syn
in a Vim syntax highlighting file. Here’s my answer.
From One End to the Other in Ruby
A while back I tackled the following programming challenge:
From One End to the Other: Find the smallest possible (positive) integer that ends in a six such that if that six is removed and placed in front of the remaining digits of the number, the resulting number will be four times as large as the original.
LED Clock in Ruby
A few weeks ago I built a program to display an LED clock. Here’s the problem, and my solution.