by Stephen Ball

About me

Hi! Stephen Ball here.

Want to find me online?

I’ve been programming since was a a kiddo copying BASIC out of magazines into our Atari 800. Since those formative years of syntax I’ve worked professionally with perl, PHP, python, Django, Ruby, Rails, Elixir, NodeJS, TypeScript, and Go. In roughly that order. I’ve also written more BASH than any one human probably should. Even production level BASH scripts that execute on production machines around the world.

In hobby languages I’ve written Clojure, Lua, Rust, and much else.

If I had complete freedom?

Elixir is my favorite language. That said:

I’d choose Elixir for any project that needs to start an application and do work for an indefinite period of time.

I’d choose Go for any project that needs to deliver a command line tool that starts, works, and exits when the job is done. For example command line tools such as rsync, ssh, or stat. The overwrought syntax of Go is well offset by its ability to easily generate binaries for many operating systems and CPU architectures from one machine.

I’d choose Elixir Livebook if I want to explore some data or API interaction.

I’d choose BASH if I want a command line utility that glues other command line tools together.

My command line shell is zsh. I use oh-my-zsh and chorn’s async prompt.

This blog is served by which is really very nice.