Richard Clayton

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

Passing State via Routes

AngularJS - Communicating Between Controllers - Part 3

In the previous two articles, we discussed passing state using scope variables and Angular's PubSub mechanism.

Another, often overlooked mechanism, is the URL.

I'm going to assume you already understand the concept of URL routing in an client side application. If you don't, I suggest you do some precursor research on the web . . .

Read More

July 02, 2014