The Relentless Optimism of Software Tooling

At work I've recently had to build and release an Android app many times over, each time with slight bug fixes and updates, for a client to test. I'm hoping to incorporate Fastlane and/or a CI tool to automate this soon, but in the meantime I'm burdened with the…

What Erlang Taught Me About Distributed Systems

Learning Erlang, and the OTP framework in particular, has given me a better understanding of distributed systems and their fundamental building blocks. Before this, my experience with distributed systems was solely in the realm of Kubernetes, which we use at work for deploying scalable, distributed web services. I was introduced…

DataTables for React: APIs in Phoenix and Rails

A while ago I published redux-remote-datatable. It's a React and Redux-based table for serverside-processed data, and it looks like this: At the request of a GitHub user, I added an example implementation of the API written in Ruby on Rails. You can find that here. This is the server I…

Bringing DataTables to React-Redux

One of my most frequently-used open-source tools is datatables.net, a jquery-based interactive table with dynamic sorting and searching. I sought to bring the simplicity of that project's serverside API to React, using Redux to handle state changes. The result is redux-remote-datatable. I limited the scope solely to server-processed data…

State of the 10x Programmer in 2018

tl;dr: A 10x programmer does not necessarily know one language/framework ten times as well. More likely she uses 10 programming tools just as well as others who master only one. Look up programmer on Indeed and you'll immediately see how fragmented CS jobs are. It's the nature of…

A NetHack4-Server Docker Image

If you've ever played NetHack, the beloved roguelike, then you'll be very familiar with the above image. It's the first message you receive when beginning a game and, due to the permadeath nature of roguelikes, you're likely to begin several games in a single session of nethack. Out of the…

Introducing ZID - Zero Inventory Delete

ZID is my first foray into Shopify app development. I used the official Shopify Rails engine to get up and running quickly. After toying with a few ideas, I settled on making an app to find and delete products with 0 inventory. The use case is for vendors with large…

Introducing React Rails Auth

I chose to learn React due to both the hype and the fact that we had begun to code React Native at work. It's been a mostly positive experience with some exceptions here and there. I still don't see much of a point in it in small to midsize projects,…

Introducing Nginx Proxy Zero

Recently, I've been drawing a lot of inspiration from nginx-proxy. To summarize, nginx-proxy combines docker event-based nginx config generation with automatic nginx reloading. This allows you to define a VIRTUAL_HOST env variable on any container and have it added to the reverse proxy configuration in real time with no…