I’ve been working at uSwitch for about two months now and for the majority of that time have been working on an A/B test we were running to try and make it easier for users to go through the energy comparison process.
Conway's law suggests that designs are constrained by organizational communication structures. I've seen that law manifest itself over and over again and I'd assert that it is impossible to develop a cohesive software platform unless the proper collaborative dynamics exist.
Managing delivery risk is one of the key risks with pursuing systematic reuse. How can your teams mitigate that risk yet make progress on the reuse front?
So what does DevOps mean exactly? What is the Ops in DevOps? Operations can mean a lot of things and even different things to different people.
Pipelines let you chain together multiple commands to manipulate data flows. Pipes are not only useful as a data filtering mechanism, but when combined with tools such as cut, awk and sed can also be used for projections and transformations.
There are a lot of very good conversations going on about the challenges with cloud computing. Storage is just beginning to mature in the cloud and there are many interesting issues around privacy, SOX, and PCI compliance.
Recently I helped a co-worker with getting Rails, Nginx, and Unicorn up and running in a Linux VM, using Capistrano to deploy the Rails application from the development box.
In the current age of software development the phrase "technical debt" has become part of the common vocabulary.
This definitely applies to Puppet code, you have Puppet classes to encapsulate functionality, and modules that group classes together for reuse and redistribution.
In Continuous Delivery, each build is potentially shippable. This implies a lot of things.
A few libraries need to be installed prior to the installation of Git...
After considering different alternatives, we eventually settled on using the ratio (today’s count + 1) / (yesterday’s count + 1). This solves the zero denominator problem without unduly skewing the ratio.
Let's assume you have just bought the memorable domain name idrinkink.org and you want to host your lovely web app on that old server in the shed.
Imagine that you’re a Hadoop administrator, and to make things interesting you’re managing a multi-tenant Hadoop cluster where data scientists, developers and QA are pounding your cluster.
There is a real convergence occurring, one that sees a new breed of organization, a changing environment within which those organizations operate, and a new type of demand upon those within the organization tasked with delivering the business needs.
When we want to understand some lovely, Java code, we read it. Sometimes, however, a slightly higher perspective helps to show us the patterns that reading alone may hide.
Are you interested in introducing BDD to your team? Don’t try and do it like this under these circumstances. Learn from my failure.
As part of my role at a new company I’ve been asked to provide feedback about structuring Dev & Ops as well as what sorts of things work and don’t.
The essence of software engineering, in my opinion, can be captured in two words: managing complexity.
Test Driven Development, Behaviour Driven Development, Extreme Programming and many other new-age hippie methodologies have spread through the dev world like wildfire. I believe there's room for one more.
On Friday Nathan and I were setting up a new virtual machine and we needed a firewall rule to be created to allow us to connect to another machine which had some JAR files we wanted to download.
At deployment time, we’re worried about a new set of dependencies. That web application probably depends on other components in order to function properly.
Everything in getting my personal site setup went fairly smoothly, including updating my registrar’s DNS records to point my domain name at my hosting provider.
I make a lot of jokes at work about code review karma. Here's the idea: each time a person volunteers to review others' code, that person build their code review karma.
As IT systems become an important competitive element in many industries, technology assets are influencing more and more parts of any organization.