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?
The application I’m working on now uses Spring both by parsing for XML Spring configuration files in pre-determined locations and by scanning annotations-based autowiring.
As development progresses we inevitably run into functionality gaps that are either deemed as enhancements.
The list of reasons why developers "toss stuff over the wall" is too large to tackle individually, but there are a few classics. "Tossing stuff over the wall" boils down to respect. Time is precious and when a QA analyst feels that his/her time was wasted, respect towards developers can be diminished.
A great number of people in the software field appear to think the primary benefit of unit tests is test coverage. But code coverage is not the point of unit tests. Code coverage is a side affect.
I wanted to launch a small web application in stealth mode. I also wanted it to run completely on GitHub, using GitHub Pages. Here's how.