Writing unit tests for multi-threaded is not simple and could even be impossible for some scenarios – how could you test that an asynchronous method was not called?
Urbancode’s DevOps toolchain begins with a developer committing code to a source repository. Commit comments can be added so that uBuild will associate the code change to a bug report (Bugzilla, JIRA, Rally, TFS, TeamForge) or a feature story (Rally, PivotalTracker, VersionOne, Rational Team Concert).
A couple of days ago I was playing with some code to scrape data from a web page and I wanted to skip a row in a table if the row didn’t contain any text.
I know what you're thinking, “It’s just logging!” This small, yet common part of our applications, provides developers, QA and troubleshooters with information to help in determining code execution sequences, inspecting data values and trouble spots within our applications.
Investing into code improvement is a dual edged sword: on the one hand you know that if you don’t improve your code you’ll get slower over time. On the other hand improving your code does not deliver tangible value to your users. So how do you know whether you’re on track?
This talk from Sam Eaton deals with the nightmare scenario of adopting DevOps in an environment where you're working with many, many different platforms/sites.
Deploying software can be a complex endeavor. We often think of it as “getting the software to the right boxes.” But grabbing the bits and moving them out to the right place on the target servers is one of the easier and least error-prone parts.
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.
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.
I spoke with with Sacha Chua last week. We talked about entrepreneurship, Emacs, having eclectic interests, delegation, and more.
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.
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.
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.