Dashing Dashboard and Showing Off Those Project Metrics

When managers are deciding how to allocate funds and resources on a project, their first request is usually for metrics. With so much data floating around, the message may end up lost, or worse, misinterpreted. Tools such as SonarQube and Jenkins do display such information, but in a way that is often too detailed or […]

Read more
Get those Maven Warnings out of here

  [WARNING] Some problems were encountered while building the effective model for GoodPom:GoodPom:jar:1.0-SNAPSHOT [WARNING] ‘build.plugins.plugin.version’ for org.codehaus.mojo:build-helper-maven-plugin is missing. @ line 19, column 15 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. I have been working with a client that has a complex maven project. […]

Read more
Automate Answering Why the Build Failed

Supporting a large development team with hundreds of jobs executing a day, you should expect that some of those are going to fail. It could be the build failed because a test did not pass, something went wrong during a deployment, network issues, you name it!  Being able to quickly understand why a build failed […]

Read more
Why You Should be using Parallel Builds

No one likes their software build to take forever.  If you are not using binary dependency between your multiple projects as projects grow in size the more time to build and test is going to be needed.  Luckily Gradle has a feature to help with this dilemma. By building multi-project projects using parallel task execution the […]

Read more
Self-contained Puppet Modules in Git

I started playing with Puppet recently in an effort to write some “self contained” installation scripts that didn’t require a lot of infrastructure to support them. I ended up developing a pattern of code that allowed me to bundle the entire set of scripts, properties, and even protected encryption keys into a single Git repository. […]

Read more
#FACEPALM: In Defense of Defense in Depth

I’ve been working in cyber security for nearly a decade.  While I have heard all kinds of justifications for bogus ideas, today I heard a very old argument that had, in my belief, all but been removed from the understanding of even the most non-technical of industry professionals. In response to a recent article in which […]

Read more
Using Genymotion to Simulate a Moving Device

Introduction For my mobile testing, I’ve been using emulators more and more, as their capabilities improve, and my testing moves beyond the features that simulators can provide (see several of my old posts on using browsers for simulation). I have spent a lot of time with Genymotion, as it provides a lot of excellent features, […]

Read more
Bootstrapping a SonarQube + MySQL server with Puppet

I recently went through an effort to launch a SonarQube server in our AWS development environment. I know I’m going to have to re-launch more of these in the future, so I took a little time and puppet-ized the installation. In my case, the basic environment is RedHat Enterprise Linux 6.5 (RHEL). Assumptions before you […]

Read more
knife zero

Dear Loyal Readers, If you ever wish you could bootstrap a machine with chef-zero, but remotely, then knife-zero plugin is for you (aka: “do you ever wish Chef were more like Ansible?”). Last week, I was trying to combine multiple knife commands: “-z” for using chef zero, and “bootstrap” for making a remote computer install chef-client first.  But, […]

Read more
X