DevOps Zone is brought to you in partnership with:
  • submit to reddit
Oliver Hookins12/07/13
7564 views
0 replies

Command-line firewall management still sucks

I’m in the process of setting up a new VPS for myself. So I have settled on UFW for the time being. Sadly, it seems to completely fail in this OpenVZ environment due to numerous modules that cannot be inserted into the running kernel. IS there anything better?

Jenny Yang12/06/13
4117 views
0 replies

Using Akka Remoting for Building a Distributed Application: Addendum

I wrote a blog titled "Why blocking is bad in Akka remoting … really bad." To my surprise people actually read my blog (crazy, I know!). One of those people was none other than Dr. Roland Kuhn, Akka Tech Lead at Typesafe. Yep, Mr. Akka himself read my blog and sent me an e-mail.

Trevor Parsons12/05/13
1570 views
0 replies

Log Management 101: Where Do Logs Come From?

If you’re a developer, this post probably isn’t for you as we don’t dig into the code level nitty gritty, but it will give you a high level overview of logs, where they come from and how they get sent to a third party service.

Sg Ganesh12/04/13
17546 views
2 replies

Productive Programming in Groovy

Are you a Java programmer having wrist pain from typing a lot? Does your mind keep swinging from loving to hating Java? Do you want to become more productive without leaving your world of Java? If so, this article is for you. Learn how you can become more productive by slowly transitioning to Groovy.

Lorna Mitchell12/04/13
5014 views
0 replies

Git Add Interactive

In common with most development projects these days, I'm using git more and more. It's interesting though that the way that I use this tool just keeps on changing and evolving even after about 4 years of regular use. Today I thought I'd share a new habit that I've developed: using git's ability to stage changes interactively.

Dalip Mahal12/04/13
2737 views
0 replies

What the Heck are Non-Functional Requirements?

Every developer needs to be aware of what those non-functional requirements are and why operations personnel and help desk personnel are customers that are just as important as the end-users.

Lukasz Szyrmer12/03/13
3830 views
0 replies

Five Metaphors Which Eliminate Legacy Code Confusion

Einstein supposedly claimed that “if he had one hour to save the world he would spend fifty-five minutes defining the problem and only five minutes finding the solution.” Legacy code requires that kind of imagination.

Antonin Januska12/03/13
2306 views
0 replies

Fixing debugger-linecache failure to install gem native extension with Ruby 1.9.3

If you’re still plagued by having to use Ruby 1.9.3 and you may be using, idk, Vagrant or any other type of testing environment, or just your own machine, you may have encountered the following error...

Brian Gracely12/03/13
3436 views
0 replies

The Cloudcast #123: Monitoring the Clouds from the Cloud

Brian talks with Mohit Lad (@mohitlad, CEO/Co-Founder of Thousand Eyes) about cloud applications, monitoring-as-a-service, the evolution of cloud tools and important considerations for developers and IT to consider when using SaaS-based management.

Johannes Brodwall12/02/13
15845 views
16 replies

Humble Architects

Humility is not a very common trait with software architects. After having worked with a few awful architects and recently with a very pleasant one, I’ve compiled a few of my experiences in the way every architect loves: As a set of rules.

Derik Whittaker12/02/13
3715 views
0 replies

Launching External Applications with Grunt.js

When I sat down to add grunt-exec to my gruntfile.js script everything worked during my test runs, but when I went to launch the real console application I quickly realized that something was not right.

Jakub Holý12/02/13
6582 views
6 replies

How I Learned to Avoid Magical Dependency Injection And Love Plain Java

A short story about the complexity of magical frameworks and dependency injection with a happy ending, featuring Resteasy, CDI, and JBoss.

Anders Abel11/29/13
6048 views
0 replies

My Worst Bug

The worst bug I’ve ever tracked down and fixed was a system freeze hidden in some 300.000 lines of code. It was only experienced when the device was left untouched for about an hour (typically a lunch break) while mounted in a grader and connected to a high precision GPS. I only had a few days to find and solve it.

Corey Goldberg11/28/13
2109 views
0 replies

deadsnakes - Using Old Versions of Python on Ubuntu

The Python packages in the official Ubuntu archives generally don't go back all that far, but people might still need to develop and test against these old Python interpreters. Felix Krull maintains a PPA (package archive) of older Python versions that are easy to install on Ubuntu.

Sasha Goldshtein11/27/13
1209 views
0 replies

Uneven Work Distribution and Oversubscription

A few days ago I was teaching our Win32 Concurrent Programming course and showed students an experiment with the std::thread class introduced in C++ 11. You can find the whole benchmark here. The heart of the code is the parallelize_count function, below:

Lukas Eder11/26/13
15382 views
0 replies

A Lesser-Known Java 8 Feature: Generalized Target-Type Inference

Going through the list of Java 8 features, Generalized Target-Type Inference struck me as a particularly interesting, lesser-known gem. It looks as though the Java language designers will ease some of the pain that we’ve been having with generics in the past (Java 5-7).

David Winterbottom11/26/13
2363 views
0 replies

How to Install PostGIS and GeoDjango on Ubuntu

Despite its extensive documentation, getting GeoDjango installed and configured can be a pain. Here are my notes for future reference:

Edmund Kirwan11/23/13
3940 views
0 replies

The Structure of FitNesse

A structural peek under the bonnet of a great piece of software.

Phil Whelan11/22/13
3212 views
0 replies

The Quest for a DevOps Culture: Communication is Key

We are constantly seeing articles about DevOps and the goal of improving communication between Dev and IT Operations. The underlying message is a good one: “let's all work together.” While everyone would like to work together, in theory, the adoption of DevOps has been slower than most would like.

Eric Minick11/21/13
6501 views
0 replies

Pros and Cons of Deployment Agents

There are two basic strategies for executing the deployment. You can either have a worker on the deployment target (an agent) or not. Both strategies have the concept of a central deployment server that acts as a controller determining when and how deployments occur.

Simon Jackson11/20/13
8150 views
0 replies

Intro to Raygun: Your Personal Exception Blaster

Exceptions are a way of life when you are building any solution, you do your very best to prevent them or handle them well should they occur, but real life (and real users) always throws a spanner in the works. Raygun is a new framework and complete reporting suite aimed at helping out in the world of error reporting.

Mark Needham11/19/13
5699 views
0 replies

Git: Viewing the Last Commit on all the Tags

A couple of days ago I was curious when different versions of Neo4j had been released and although the release notes page was helpful I thought I’d find more detailed information if I looked up the git tags.

A. Jesse Jiryu Davis11/19/13
3520 views
0 replies

Read-Your-Writes Consistency With PyMongo

A PyMongo user asked me a good question today: if you want read-your-writes consistency, is it better to do acknowledged writes with a connection pool (the default), or to do unacknowledged writes over a single socket?

Hubert Klein Ikkink11/18/13
6341 views
0 replies

Grails Goodness: Namespace Support for Controllers

In a Grails application we can organize our controllers into packages, but if we use the same name for multiple controllers, placed in different packages, then Grails cannot resolve the correct controller name.

Hubert Klein Ikkink11/18/13
4305 views
0 replies

Grails Goodness: Customize Resource Mappings

Since Grails 2.3 it is very easy to define RESTful URL mappings for a controller. We can use the resources and resource attribute and use a controller name as the value. Grails will then automatically create a couple of URL mappings.