DevOps Zone is brought to you in partnership with:
  • submit to reddit
Paul Hammant01/21/14
0 replies

Google's vs Facebook's Trunk-Based Development

I’ve been pushing this branching model for something like 14 years now. It’s nice to see Facebook say a little more about their Trunk Based Development. Of course they’re not doing it because they read anything I wrote, as the practice isn’t mine, it’s been hanging around in the industry for many years, but always as bridesmaid so to speak.

Chase Seibert01/21/14
0 replies

Python Script to Delete Merged Git Branches

If you’re like me, you may have 30 branches at any given time. This can make viewing all the branches unwieldy. Once I week or so, I would go on a branch deletion spree by manually copying and pasting multiple branch names into a git branch -D statement.

Ariya Hidayat01/20/14
0 replies

A Maturity Model for Build Automation

How does your engineering organization build and deliver products to its customers? Similar to the well-known capability maturity model, the maturity level of a build automation system falls into one of the following: chaotic, repeatable, defined, managed, or optimized. Let’s take a look at the differences in these levels.

Slobodan Pavkov01/17/14
0 replies

Introducing the Unit Testing Context Pattern

Another pattern? Well yes. I write unit and integration tests almost every day and along the way I learned all kinds of different tricks and gotchas on how to be more productive and how to write less fragile tests. But one of the patterns that emerged I never saw in the code of other people so I decided to share it here since I find it very useful. I call it Testing ContextPattern and – unlike it’s name – its very simple.

Zac Gery01/16/14
0 replies

The Road to Missed Deadlines is Paved with Good Intentions

People at their core are loving, nurturing beings. They want to help others and make them feel wanted. In the world of business, keeping these needs in perspective can be challenging.

Robert Greathouse01/16/14
1 replies

Legacy is a Four-Letter Word

The term “legacy” has mixed meanings in software development and I am personally trying to remove it from my vocabulary. It often has a bad connotation. Many developers use it to describe code that they did not write and do not like.

Tom O'connor01/15/14
0 replies

Finally, a place for IT "shopping" questions.

One thing that's not allowed anywhere (seemingly) on the StackExchange network is the so-called Shopping Question. I was talking about this in ServerFault Chat recently, and I thought it was about time to have a go at a spin-off site, just for shopping questions. Here it is: TechShoppingAndInfo

Alan Hohn01/15/14
0 replies

Concurrent Random in Java SE 7

I was reading through Oracle’s release notes on Java SE 7 and noticed that they include a new facility for concurrent random numbers.

Bozhidar Bozhanov01/14/14
0 replies

I Don't Like Scala

Yes, it is my opinion, and yes, it might seem like a hate-post. But I’ll try to address the issues I have with Scala and its surroundings.

Edmund Kirwan01/14/14
0 replies

Coupling and Cohesion: Failed Concepts.

Loose coupling and high cohesion. Taken individually, both concepts appear sound; taken together, however, they confess worrying inconsistency

Jim Bird01/13/14
0 replies

Developers working in Production. Of course! Maybe, sometimes. What, are you nuts?

One of the basic ideas in DevOps is that developers and operations should share responsibility for designing systems, for implementing them and keeping them running. If you ask whether developers should have access to production you’ll find that people fall into one of 3 camps: (1) Of course! (2) Maybe, sometimes (3) What, are you nuts?

Barton George01/13/14
0 replies

DevOps Days NYC: When DevOps Goes Wrong

In this presentation, which is embedded below, Mike talks about a devops project he was on in Australia. He and his team were brought in to a large trading firm to implement continuous delivery and integration, they got the code right but made a few critical mistakes. Listen to Mike as he tells his cautionary tale.

Tomasz Nurkiewicz01/10/14
0 replies

Three Flavours of Request-Response Pattern in Akka

Imagine a simple Akka actor system consisting of two parties: MonitoringActor and NetworkActor.

Dustin Marx01/10/14
0 replies

Evolving Gradle Build from Ant Build: Importing Ant Build File

Fortunately for those migrating Ant builds to Gradle builds, Gradle provides particularly convenient mechanisms to facilitate this migration.

Paul Hammant01/09/14
0 replies

Git's Lightweight Merging

One of Git’s selling points, some years ago, was that it has lightweight branching compared tools that came before it. Anyway, it’s Git’s merges that are the truly lightweight thing in my opinion. This article tries to show how that is.

Sebastian Laskawiec01/09/14
3 replies

JBoss 5 to 7 in 11 steps

It has been a while since we've migrated from JBoss AS 5 to 7. This article describes problems we have found during the migration process as well as benefits we gained from it.

Paul Hammant01/08/14
0 replies

Googlers Subset their Trunk

Jason Leyba spoke at QCon in San Francisco at the end of last year, and Jez Humble snapped a pic of a pertinent slide (I’ve straightened it out a little). Sounds a bit unmanageable right? Not to them, there’s method in the madness, and it’s all optimized for maximum developer throughput while incorporating code reviews, code reuse, and quickest possible CI.

Raymond Camden01/07/14
0 replies

Dev Tools Tip: Preserving Network Logs on Leaving a Page

Imagine you have some code that is being fired right before, or during, a click that leads you to another page. If you use the console than you are in luck. Both Chrome and Firefox have options to preserve the console on navigation. In case you've never seen it, here is the option in Chrome. You find this by opening the Dev Tools and clicking the gear icon in the lower right hand corner.

Mats Lindh01/07/14
0 replies

Apache 2.4 Failing to Recognize Virtual Hosts

After upgrading from Apache 2.2 to 2.4 in a Windows development environment, all my virtualhosts stopped working. I could add syntax errors to the files which would make Apache refuse to start up, or get notices about invalid document roots, but the virtual host server names just wouldn’t catch on.

Pascal Alma01/06/14
0 replies

Automated Deployment with Mule Management Console and Maven

In my opinion a deployment of any application should be as automated as possible to avoid errors due to manual mistakes. This is no different with a Mule ESB application. This instrument makes the governance of the deployment of your Mule applications into different environments easier and therefore the whole deployment cycle less error-prone.

Jeremy Stanton01/02/14
5 replies

QA is Dead. Long live QA!

I was recently asked for advice on how to go from two week sprints to one. The conversation was one I've had several times. Client: "We are a scrum shop that has two week sprints. We'd like to release faster. Any suggestions?"

Daniel Bryant01/01/14
0 replies

Issues when coding node.js usig IntelliJ IDEA “Unresolved function or method”

I’m currently having a lot of fun experimenting with node.js using IntelliJ IDEA. I installed the node.js plugin, and although this added options to create a new ‘Boilerplate’ or ‘Express’ project, the rest of the node.js integration wasn’t quite so obvious…

Rob Galanakis12/31/13
3 replies

TDD via Tic-Tac-Toe

I’ve tried out lots of different subject matter for teaching TDD, but my favorite has been Tic-Tac-Toe (or whatever your regional variation of it is). It has these benefits:

Gareth Rushgrove12/30/13
0 replies

Making the Web Secure, One Unit Test at a Time

Writing automated tests for your code is one of those things that, once you have gotten into it, you never want to see code without tests ever again. Why write pages and pages of documentation about how something should work when you can write tests to show exactly how something does work?

Dustin Marx12/29/13
0 replies

Gradle Command-Line Conveniences

In my post A First Look at Building Java with Gradle, I briefly mentioned using Gradle's "gradle tasks" command to see the available tasks for a particular Gradle build.