Programming Predictions for the Next Decade

A shot in the dark at what will be true about programming by 2030. Tags: programming
May 30, 2020

List of Good Golang Articles

A list of good articles, books, views, and blog posts about Go. Tags: golang
May 17, 2020

CSS For Range Highlighting

Highlighting elements using CSS only. Tags: design | workspace | css
Apr 15, 2020

Programming Language Accessibility Test

When trying out a programming language, it should be easy to find the features, try it out, install it, write a program, and do several common things. I made a test for programming languages - similar to The Joel Test - that measures accessibility. Tags: programming
Sep 7, 2019

Workspace: Spreadsheet Grid Design

Improving spreadsheet grid design by thinking of the grid as an item inside of a container, instead of a container with items. Tags: design | workspace | css | js
Aug 10, 2019

Review of Spreadsheet User Interfaces

You can find these images with a quick image search, but I wanted examples of each on one place so I can see the general UI patterns. What are the common elements that a user would see when using them? What do they have in common beyond the grid? Tags: spreadsheet | design
Aug 6, 2019

Spreadsheet Reading List

A list of stuff about spreadsheets. Tags: spreadsheet | lists
Aug 6, 2019

Metrics First When Writing Go Services

Classifying failure cases up front in metrics will help you quickly write clean code. This isn't Test Driven Development so much as it is Failure Driven Development. Tags: golang
Apr 20, 2018

Build Your Own Redux for React

I wrote this with the idea that it's easier in the long run to use the patterns that Redux represents, rather than using the packages that implement it. I now realize that I was pretty wrong on this one, but what sort of person would I be if I removed this post and pretended that it never happened? Here's to writing more blog posts that could be just as wrong! Tags: react | javascript
Apr 17, 2018

Acoustic Fingerprinting Television

Let's jump to the good stuff: How hard is it to create a program that can acoustic fingerprint a television show? Can we identify the playback position of a video based on audio tracks? For this blog post I'll use The Drew Carey Show, because it's the only show of which I have multiple seasons. Tags: python | data-science
Feb 6, 2018

Cloud Architecture with Packer, Terraform, Nomad, and Consul

When thinking about cloud providers, containers, and cloud architecture it's easy to want to find a silver bullet. But if you step back from the problem, you can use a set of OSS tools, services, and frameworks to make your services more manageable, and make changing and comparing providers easier. Tags: architecture
Jan 1, 2018

1.0.1 Release of js-spreadsheet

Added 121 formulas, and fixed a few bugs, made Cells easier to handle, added support for scientific notation, clarified license, cleaned up parser a bit, added support for comma separated lists and much more. Tags: spreadsheet | js | projects
Dec 3, 2017

Cluster membership with the SWIM protocol and the memberlist library

Toy example of cluster membership with SWIM. Written in Golang. Tags: golang | architecture
Oct 24, 2017

Building a Spreadsheet with Formulas in Javascript

The first crack at trying to write a spreadsheet engine in typescript & javascript. Parser and grammars were mostly written by hand or converted from other OSS, which made this a lot of fun to write, but probably filled with all sorts of errors. Tags: spreadsheet | js | projects
Apr 26, 2017

A Guesser's Guide to Google Spreadsheets

Stumbling through types, formulas, and errors in Google Sheets. I wrote this long before I had a firm grasp of spreadsheets, and their inner-workings, so this might best be described as my interior monologue when trying to figure out how and why spreadsheets sometimes do weird and interesting things. Tags: spreadsheets
Apr 4, 2017

Procedural Terrain Generation

Using procedural algorithms to generate terrain maps. Tags: 3d | javascript | game | projects
Nov 30, 2016

Introduction to GRPC and Protocol Buffers in Go

Protocol Buffers + gRPC in Go. Tags: golang | grpc | protobuf
Nov 26, 2016

From IDE to Binary: Developing in Golang in InteliJ

Getting the plug-in right, and living in the IDE. This was written before Goland came out, but here for posterity. Tags: golang | ide
Nov 5, 2016

Captain's Log: a timestamped note taking app

An electron app that uses a command-line like log to keep track of what you're doing and working on, saving it to a YAML file. I used this for a while at work to track some trial-and-error performance tuning of Java apps. Not being able to go back and change your text frees you from the desire to make each sentence perfect. Tags: projects
Sep 26, 2015

Hexcraft: a Minecraft-like hexagonal tile editor

Hexagonal tiles that you can edit like a voxel-explorer game. Tags: projects | game | 3d | javascript
Mar 6, 2014

Live special effects for theatre performance with the Kinect

Shakespeare's Hamlet opens with a scene of two sentries discovering the Ghost of King Hamlet. More often than not, the part of the ghost is played by an actor in white makeup walking on stage to deliver his lines. I approached this project with the idea that through live motion capture and replay, theatre visual effects can serve to strengthen a performance, and breath new life to dead characters, even the ghosts. Tags: 3d | kinect | projects
Dec 6, 2013

That's all for now. If you'd like to hear from me when I write something new, you can sign up for my email list here. -->