Until I started working on the uSwitch energy website around 8 months ago I had not really done any support of a production system so I learnt some interesting lessons in my time there.
So, you applied for your dream developer job, got an interview and thought it went well, but all you have to show for your effort is a rejection letter? Here are a few reasons why...
To demonstrate some of Scertify's features we performed such refactoring on a sub-project of Alfresco community edition, an open-source enterprise content management system. Doing so, we were able to suppress 25% of technical debt (11 days).
Working in an office surrounded by other developers -- each of us trying to solve the same problem independently -- feels like madness, so what stops us working together?
There are certain key interception points during the development process that can greatly increase the likelihood of systematic reuse.
I got my first Succinctly book back in May 2012 only a couple of months after grabbing the initial release of Metro Studio. It was truly amazing that such a resource was being given out for free -- they weren’t the longest books but they told you exactly what you needed to know to get the job done.
This article focuses on the limitations which automated software testing encounters and solutions to these limitations.
All seasoned developers have run into the infamous question "Is this a bug or a feature?" These "beatures" fall into a gray area and come from a variety of sources, including customers, sales people, developers, QA analysts, or anyone with a bit of tinkering knowledge.
When designing applications for Continuous Delivery, our goal is to grow an architecture that minimises batch size and facilitates a low cycle time. However, architectural decisions are often local optimisations that value efficiency over effectiveness...
What to do if an integration build fails? By failing I mean either there is a compilation error or an automated test fails. The general rule in most of the teams that I worked with is that this situation should be treated with the highest priority...
You’ve invested tons of effort, time, care and thought into your new software product. You live and breathe, sleep and wake up with it. You’ve been so thoughtful and caring about your future users, and you’ve performed to the best of your ability to make it the best software product in the world.
For episode 23, we sit down with programming veteran and Ruby expert Sandi Metz to discuss her new book: Practical Object-Oriented Design in Ruby! But we don’t just talk about design patterns...
Local web development on a Ubuntu Linux powered computer needs a LAMP stack installation. That is, the Apache web server, PHP for coding, and the MySQL database. Here is a method for setting it all up for the latest version of Ubuntu Linux.
I’m currently working on a Symfony2 based project. For deployments to various environments we use Capifony, a collection of Capistrano recipes for Symfony applications.
Today I decided to figure out how to make Python log to a file and the console simultaneously. Most of the time, I just want to log to a file, but occasionally I want to be able to see stuff on the console too to help with debugging.
Following on from yesterday’s post (using travis-ci for github projects), I thought I’d use a Chrome plugin to monitor their status. The one I chose was buildreactor (itself hosted on github).
For all Ruby applications you can use the rspec gem. The gem is a collection of 3 other gems...
While reading through some of the neo4j code a few weeks ago I realised that I didn’t have a very good understanding about the mechanics behind network ports/sockets so I thought I’d try to learn more.
As adoption rises, there will be varying perceptions about DevOps. This post clears some common DevOps myths.
If you read Kent Beck's book on TDD, he sets forth the idea that developers should work from a little scratchpad of tasks. I like this idea a lot.
If you end up working with bash a lot you might find yourself doing this quite a bit, since it can save a lot of time. Let's take a pretty typical task, stripping the domain off of an email address.
...with ‘git branch –set-upstream’. A few days ago I wrote a blog post describing how I wanted to squash a series of commits into one bigger one before making a pull request and in the comments Rob Hunter showed me an even easier way to do so.
Dan Kimmel of Delphix shares a thoughtful presentation on building a monitoring framework with DTrace and MongoDB.
My colleague Michael has been doing some work to make it easier for people to import data into neo4j and his latest attempt is neo4j-shell-tools which adds some additional commands to the neo4j-shell.
Because I use sublime text 3 as my code editor I used to just store all my code snippets as a snippet in sublime. This was fine if I was always working on one computer but what if you code on multiple computers?