Refactoring is a way to improve code quality over time using incremental set of improvements – the idea is to increase the ability to make changes safer and faster and is not meant to deliver new functionality per se.
The slides from our latest webcast are up on Slideshare. We took a look at applying some of the principals from Lean to building and delivering software.
In part 7 of our "20+ Days of Server Virtualization”, Keith Mayer gives us some powerful PowerShell commands to turn on the iSCSI initiator, connect, and use iSCSI storage from our Hyper-V host.
The Filesystem Symfony Component provides an abstraction layer over the plethora of primitive functions that let PHP interact with files and directories. In this issue of The Wheel series, we will explore a little its API and evaluate its advantages and issues.
Picture your code. Picture all those functions on which there are no source-code dependencies. That might sound odd: if there are no source-code dependencies on a function then what is its purpose?
I recently came across an interesting post written by Randy Luecke titled ‘I’m done with the web‘ in which he expresses his surprise that people often aren’t willing to take the time out to learn something new.
The latest release of SmartSVN, the cross-platform graphical client for Apache Subversion, features plenty of improvements you will find useful. In this post, we take a closer look at some of the functionality we’ve added to SmartSVN 7.5.4.
This is the work of many people I work with as well as further afield. It’s intended to be a good starting place to find information about building high quality digital services.
Most popular tools for deployment automation are written in Python and Ruby. How about Java? Why not use it? Actually, I'm using it, replacing a lot of tasks usually employing shell scripts with code in Java. It works great, thanks to small missing piece - remote execution of Java code using SSH infrastructure.
Getting a good SMTP server for your small business web application is difficult. You usually rely on the your local VPS server provider having some kind of SMTP server in local network.
I spoke with with Sacha Chua last week. We talked about entrepreneurship, Emacs, having eclectic interests, delegation, and more.
Last week Jason and I with (a lot of) help from Tim have been working on moving several of our applications from Passenger to Unicorn and decided that the easiest way to do this was to create a new set of nodes with this setup.
No time for that, I’m seriously late. I was leaving the office just as someone said “James, before you go…” and that was the end of any hopes I had of getting here on time.
When you’re committing changes to Apache Subversion’s central repository, you may occasionally encounter a conflict which will cause your commit to fail.
So I’m sure we’ve all had to contemplate this at some point in our development lifetime – when is it appropriate to grant developers and architects the key to the domain?
For the last few days Jason and I have been porting a few of our applications across to a new puppet setup and one thing we needed to do was check that messages were passing through beanstalkd correctly.
Google Glass is coming this year, a wearable display that can keep you connected at all the times and supply information and instructions when you need them. And it can record video or take pictures of whatever you see, when you want it to.
I’m continuing the migration of all my projects to run on Github. Eventually all public areas of my site will run as static, published Github pages and supporting back-end repositories. Last night I migrated API aggregation, Backend as a Service, Reciprocity and Real-Time providers using a version of my Hacker Storytelling format.
magine a piece of software which can be run out of the box without needing any instance- specific information – without any configuration.
This Google Hangout session discusses using Salt Stack in the cloud.
Former ThoughtWorker Steve Moyer has written two blog entries on an aspect of an Agile mission we did a few years ago. He was the pivotal designer/implementer of the work.
Backporting is a process to get new package releases to run on non-latest Linux distribution versions. A very common backporting use case is to enable the latest version of application or software library on a server running the older version of the operating system.
Assumptions + important edge cases. That’s it. That’s all I consider when I’m testing my code. But knowing that you aren’t satisfied with such a trivial explanation, I’ll explain.
We’re proud to announce the rename Drools Planner to OptaPlanner starting with version 6.0.0.Beta1. We’re also happy to unveil its new website: www.optaplanner.org.
One of the reasons you’re going to choose a Trunk Based Development (TBD) model, is because you’re doing concurrent development of consecutive releases.