savorywatt Blog

The 6 Ws of Software Development

Every story begins with the first word. Every drawing begins with the first stroke. Every journey begins with it’s first step. Solving a problem or creating something new has a beginning, a middle and an end. I wanted to share some thoughts on what I have found to be effective to help me and the teams I have worked with...

Riding the inevitable chaos wave

Software development can be incredibly complex. The magic of delivering software at times rivals that of the magic of the underlying technology itself. At Workiva we are working to ensure that we are all able to deliver high quality software that drives value for our customers at an appropriate speed. A large part of this effort is in identifying and...

Iowa Code Camp 2016 “Correctness, Consistency, and other lies”

I had the opportunity to speak at Iowa Code camp in October. My talk was “Correctness, Consistency, and other lies”. My slides are here. It was a good experience and I enjoyed being able to speak to a small audience. There were about 15 people in the audience which gave me time to answer questions and make sure everyone understood...

A simple, nerdy and meaningful programmer’s gift for your SO

A day recently passed that my wife and I decided we would take a few moments to celebrate our many years together. As part of that I wanted to do something that had been gnawing at the back of my mind for a while. For the life of our relationship we have communicated through some form of a chatting program...

Calling Go code from Python code

Inspired by the ruby version from @jondot With the release of Go 1.5 you can now call Go as a shared library in other languages. That little tidbit escaped me the first time I went through the release notes but after having the above ruby article come through my twitter stream I decided I should see if I could quickly...

Do the simplest thing

A few months ago in a single night I sat down and tried to go from the spark of an idea into something I could release into the wild to see if anyone was even interested. It was fun to just sit down and try to ‘ship’ a dead simple idea. “Discovery requires experimentation” as they say. The idea I tried...

GopherCon 2015 CFP

So my talk was not selected for GopherCon. I’ll be turning it into a series of posts on things that were unique, discussing building an immutable log in Go, going over my distributed pong game (examining the game network programming I did and how I broke the physics calculations among servers etc.) and a bit on the Company Retrospective. Here...

Concurrent transactional behavior, thoughts on RAMP

I recently came across a blog post on distributed transactions here that was promoting a new type of isolation guarantee for transcational behavior that is designed specifically for concurrent transactions to avoid locking style behavior. The goal of this new design is to provide atomic visibility during a transaction. This behavior is of interest to me because it allows a...

Simple 2d box physics in Golang with Chipmunk

I’m currently in the middle of writing a toy game server and needed something to compute the state of some very simple objects. After searching a bit I found chipmunk which is a pure go implementation of chipmunk-physics which purports to be faster than the traditional box2d engine. The game server is an attempt by me to evaluate using something...