DevOps Zone is brought to you in partnership with:
  • submit to reddit
Joe Stein12/12/13
6002 views
0 replies

Using Vagrant to Get Up and Running with Apache Kafka

If you haven’t used Vagrant before then hopefully this will not only help you get up and running with Apache Kafka but also get introduced to Vagrant. Vagrant helps to create and configure lightweight, reproducible, and portable development environments.

Bilgin Ibryam12/11/13
4236 views
0 replies

Building Distributed Workflow Applications on Amazon with Camel

Amazon Web Services offer various tools for building distributed and scalable workflow applications. One approach for building such an application is to use topics and queues for connecting the distinct steps in the workflow process.

Jenny Yang12/11/13
3597 views
0 replies

Can you spot the configuration difference?

One of our Dev (DevOps?) guys came across this inconsistency that broke a server. We got discussing various little slip of the pinky errors that can completely break a server.

Trevor Parsons12/11/13
2848 views
0 replies

In Defense of the Agent

While some providers tout the evils of running agents on your system and can oft be heard shouting, “no agents here!!!”, we prefer to keep an open mind. That being said, like most things in life, agents have their pros and cons.

Johannes Brodwall12/10/13
21881 views
23 replies

Why I Stopped Using Spring

I was one of the earliest adopter of Spring in Norway. We developed a large system where we eventually had to start thinking about things like different mechanisms for reuse of XML configuration.

Lorna Mitchell12/10/13
4387 views
0 replies

Open a GitHub Pull Request with Hub

GitHub publishes a command line tool called hub, which is a more convenient way than the website for doing a few specific tasks and in particular I've been using it more and more for opening pull requests. The basic workflow is to create a branch, add your changes, and then push it to GitHub

Jakub Holý12/10/13
4876 views
1 replies

Code Is Cheap, It’s Knowledge Discovery That Costs

If we knew exactly what code needs to be written, what needs to be done and how it can be done, we would need very little time to write it. It is the discovery of the knowledge what to build and how to build it that takes all the time.

Troy Miles12/10/13
4901 views
0 replies

Why Hackathons?

As a corporate developer I rarely get time to have fun. Hackathons bring the fun back into development.

Henrik Warne12/09/13
5620 views
4 replies

TDD, Unit Tests and the Passage of Time

Many programmers have a hard time writing good unit-tests for code that involves time. For example, how do you test time-outs, or periodic clean-up jobs? If you structure the code the right way, much of the complexity disappears. Here is an example of a technique that lets you test time-related code with ease.

Gerard Davison12/09/13
3566 views
0 replies

Lambda, Will it Serialize?

So I have been pondering an enhancement required on the Tyrus project that would allow a user to broadcast to a subset of client connected to a URL across a cluster of machines.

Oliver Hookins12/07/13
6942 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
3770 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
1301 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
15968 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
4614 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
2281 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
3407 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
1691 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
3154 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
14219 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
3362 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
5840 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
5921 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
1712 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
1053 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: