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.
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.
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:
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).
Despite its extensive documentation, getting GeoDjango installed and configured can be a pain. Here are my notes for future reference:
A structural peek under the bonnet of a great piece of software.
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.
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.
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.
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 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?
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.
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.
If you are a JSF user you owe it to yourself to know about JSFCentral. Run by key JSF advocate, consultant and JSF in Action author Kito Mann, it's an excellent resource for everything JSF.
While the awesome Apache Camel team is busy fixing the handling of the multiple parameters in the query, here’s a workaround
Thanks to the very kind folk at Packt Pub, we have a surprise competition for you at Devoxx and also out there online, who perhaps could not make it to Antwerp this year.
Using Packer to create CentOS and Ubuntu boxes is not difficult. If you want to follow along, I have prepared a Git repository ariya/packer-vagrant-linux which contains all the necessary bits to create CentOS 5.4 and/or Ubuntu 12.04 LTS 64-bit boxes.
For a new project, without an allocated budget, I was asked to provide some simple Virt. capability, to hold them over until they get budget approval, and can buy their own hardware.
Rather than re-inventing the wheel, and to help provide perspective, we are now working with the folks from Docker. They will be giving us their feedback, helping with integration and creating a Go profile.
By now, most developers are familiar with the various debugging tools in their local development environment, but as they step towards cloud deployments, how can they achieve the same? Is remote debugging even possible in the cloud? Well of course it is.
A little bit late but finally the video from my session at ApacheCon Portland is available. That was the first version of the talk that I just gave at Agile testing Days which unfortunately was not recorded.
A few weeks ago a project of mine suddenly went offline. Fixing old code is always a humbling experience. Your own code, though … that’s humbling.
We’ve implemented some extensions to Git and Gerrit that check to make sure that commit records are structured as required, and reject those commits that are malformed.
I think that part of what makes someone a good developer is the ability to go through a codebase and figure out what is going on.
What is this “DevOps” thing that everyone from computer engineers to business leaders and recruiters are so enamored with? Is it a job title? A set of technical skills? A cultural shift? Or something else completely?