Richard Clayton

Software Estimation is a Losing Game

Should we even bother?

This is an argument, and like all arguments, it's supports a specific position. I don't try to defend software estimation; I leave it to my colleagues to present that case. I write about this issue because I believe the software community needs to have an internal debate about whether software estimation in its current form is . . .

Read More

August 19, 2014

Software Engineering is not a Job.

It's a Profession.

Warning - this is a rant about those 10-20% of software professionals that give the rest of our community a bad name.

One of my biggest annoyances in technical management is the 9-to-5 Software Engineer. A 9-to-5 Software Engineer (or developer) is someone who views their position simply as a way to pay bills. For them, there's little to . . .

Read More

July 28, 2014

Revel, GORP, and MySQL

Building a classic 3-tier web application controller in Golang.

This is a compilation of things I've had to piece together from blog posts, example projects, and experimentation. I hope it saves you a bunch of time.


Build a simple Revel controller that performs CRUD operations against a MySQL database.


  • Use RESTful Paths.
  • Use JSON request bodies and responses.
  • Use Revel Validation.

. . .

Read More

July 18, 2014

Quick MySQL Box Using Vagrant and Ansible

Update July 19, 2014:

The default MySQL Server package in the CentOS repo is ridiculously old (5.1 - MyIASM is the default storage engine). If you need the newest version of MySQL, there is an RPM for the Oracle YUM Repo which will provide you the latest packages. I can't provide you that here because you have to accept Oracles Terms of . . .

Read More

July 17, 2014

Failing at Microservices.

Please avoid our mistakes!

Microservices are the new fad in software architecture, and while I think they are generally the correct philosophy to take with service design and composition, the pattern can certainly lead you quickly into trouble. If you don't know what Microservices are, I recommend reading the article written by Jame Lewis and Martin Fowler on the . . .

Read More

July 15, 2014

Deploying Triggers in MarkLogic Roxy

Let me save you three hours of annoyance.

Over the last two weeks, I've been building a RESTful backend in MarkLogic (ML) using the Roxy framework. If you're unfamiliar with MarkLogic, it's a pretty excellent XML database, search engine, and application host (where the app is written in xQuery). That's an extraordinary complement because I generally prefer JSON or . . .

Read More

July 10, 2014

Passing State via Services

AngularJS - Communicating Between Controllers - Part 4

This is the 4th and final discussion of Communicating Between Controllers in AngularJS. In the previous three posts, I discussed using nested state, PubSub, and the router as mediums for passing state between controllers. In this post, I will discuss perhaps the most obvious (but least thought of in Angular); using an independent service . . .

Read More

July 04, 2014