Swagger-first API design

I’ve been working for the past few months on building Game On! a microservices-based application that is intended to show both what a microservices architecture looks like, and to make it easy for people to play with such a system without having to start from the ground up themselves.

We started with a best-guess set of services, and over time, it became pretty apparent that our first pass at a map building service (the Concierge) was both misleading in purpose and insufficient in function. It did serve its purpose, filling in for service discovery in a way, but we were growing beyond what the service could do.


posted Jan 27, 2016
tags: , , , ,

Shell prompt crazy for Git Submodules

I’ve run a somewhat odd little script to generate my command prompt for years now, sets some colors, adds some indicators of what kind of shell I’m in (sudo or tmux/screen or ssh or.. ).

Given I now have to work with git and submodules, I’ve revised that to include information provided about git generated by this script: https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh

The difference is worth it, in understanding at a glance what is going on without typing git status or variant every two seconds. ;)

I’ve also been using some very useful aliases to make working with submodules sane, as documented here: Game On! Getting Started / Prerequisites / Git

posted Dec 16, 2015
tags: , , ,

Trying to tell the human story...

Writing is always hard. Writing technical stuff is hard. Writing technical stuff that doesn’t sound like it is a regurgitated text book… sigh

I’ve been leading a team working on or with Microservices at IBM (lots of people everywhere are doing things with microservices, this should come as no surprise). We’ve been specifically looking at how to modernize an existing Java EE application. There are articles about this, but they are all formal, and (to me) preachy.

We’re doing the experiment live, so to speak. Taking the crufty Plants By WebSphere application and pulling it apart bit by bit. Our aim is to make sure you have a functional application at all times, and to frankly just share our thoughts as we try it. Let us know what you think.

Blog posts (there will be more):

Articles (longer lived, some procedure):

posted Dec 08, 2015

Which gradle...

I am lazy. My fingers have habits that are sometimes hard to change.

I’ve learned to type gradle, like all the time. Now I need to use gradlew, and for some reason this is difficult.

So I wrote a script, that I’ve now aliased (whichGradle is now obviously on my path):
alias gradle=‘whichGradle’

which just does this:

if [ -x $PWD/gradlew ]; then
  echo Using $PWD/gradlew
  $PWD/gradlew $@
  echo Using `which gradle`
  gradle $@

posted Dec 05, 2015
tags: ,

Docker script for AnyConnect on OSX

I am queen of laziness, and I have to use AnyConnect, and that screws with Docker, and then I have to go looking to remember the magic incantation to get things right…

Who has time for that?

I made a script that wraps the whole thing up and reminds me what I should do when it doesn’t work.

Instead of:

> docker-machine env default

I do this instead, and the script does the rest:
> . dockerEnv


posted Aug 25, 2015
tags: , , , , ,