Blog

Mocha v2 release

Expanded notes on this major version bump of the Ruby library for mocking & stubbing

How to backup Google Drive to S3 using the AWS CDK

An AWS CDK project to schedule the backup of a shared folder in Google Drive to Amazon S3 using a scheduled Fargate task on Amazon ECS to run `rclone sync`

Youtube video of my 3D maze game for the ZX Spectrum

James O'Grady plays, reviews and mods (!) a game I wrote in Z80 machine code in 1984

Using Lambda@Edge with CloudFront to configure redirect rules for domains

An AWS CDK project to create CloudFront distributions with Lambda@Edge functions to replace Apache and mod_rewrite rules

Multiple Rails development environments using nix-shell

Four Rails apps using different versions of Ruby, Rails, PostgreSQL and MySQL

Automatically sending Webmentions from a static website

Using Actionsflow to automate the sending of Webmentions using webmention.app

Generating and running a Rails app with PostgreSQL using Nix on Ubuntu

Isolating a Nix environment by running on an Ubuntu VM provisioned by Vagrant

A simple Rails development environment using nix-shell

This nix-shell environment provides a Ruby environment capable of running a Rails app without a database

Using nix to build my personal website

Modifying the existing GitHub Action workflow for building the website to use cachix/install-nix-action and nix-shell

A simple Ruby development environment using nix-shell

This nix-shell environment provides a Ruby environment capable of running middleman in order to build and serve my personal website locally

IndieWeb-ifying my personal website

Marking up relevant content with microformats and adding the ability to receive webmentions

Automatic backup of Trello boards to S3 using the AWS CDK

Replacing a cron job with a flock of AWS Lambda functions written in Ruby

Using GitHub Actions to publish a static site to GitHub Pages

Automatically build a Middleman-generated site and push it to the gh-pages branch on every push to the master branch

Organisation-specific git config

Using conditional includes in your git configuration

Git interactive rebase with the exec option

How to detect accidental reintroduction of renamed classes or variables

Site history update

The blogging hiatus ends?

Mocha Release 0.14.0

Support for MiniTest v5.0

Mocha Release 0.13.3

Various bug fixes.

Using Mocha with Rails 3 and Test::Unit

Explains more of the compatibility issues.

Using Mocha with Rails 3 and MiniTest

Explains some of the compatibility issues.

Mocha Release 0.13.2

Fixes bug in stubbing of methods re-declared with different visibility.

Mocha Release 0.13.1

Fix Mocha::ParameterMatchers#has_entry to work with an Array as the entry's value.

Mocha Release 0.13.0

Hopefully no more monkey-patching of test libraries.

Bringing order to the chaos

We've started sending out invitations for our new product, Harmonia.

Mocha Relocation

Source code, documentation and issues have moved to Go Free Range.

Mocha Releases 0.10.0 - 0.10.5

Belated update on recent releases.

Durham house for sale now via local agent

We haven't had much luck selling via our on-line agent.

Durham House For Sale

A modern three-storey townhouse in the centre of Durham with views of the Cathedral and Castle.

Mocha Release 0.9.12

With all tests passing in Ruby 1.9.2.

Mocha Release 0.9.11

Includes explicit support for MiniTest v1.5.0 to v2.0.2.

Adding a User in OSX on Command Line

OSX equivalent to the Linux useradd & groupadd commands.

Debugging Monit

Notes on debugging monit start program and stop program commands.

Mocha Release 0.9.10

Includes new unstubbing functionality.

Mocha Release 0.9.9

Includes bug fixes for Test::Unit and MiniTest integration.

Ruby Acceptance Testing

Riposte to aspects of "You're Cuking it Wrong" article by Jonas Nicklas.

Converting S5 slides to a single PDF on Mac OSX

Using a combination of webkit2png and a custom Automator workflow.

Mocha on Bacon

Eloy Duran has re-incarnated the Mocha adapter for Bacon.

Ruby scripting in the Webby "environment"

How to load Webby::Resources into memory.

Ruby wrapper for the Delicious v2 API using the OAuth gem

Demonstrates how to bookmark a page from a Ruby script.

Ruby and Cocoa talk at Ruby Manor

Links to my slides and code.

ActiveRecord Model Class Name Clash

Validation weirdness with a class called Sync.

Mocha NoMethodError / Load order since version 0.9.6

Mocha Release 0.9.8

Mocha Test Spies

My thoughts on Joe Ferris' fork of Mocha.

Mocha Release 0.9.7

Mocha Release 0.9.6

National Express East Coast Ticket Options

Prices and restrictions for train journeys between Durham and London.

National Hack the Government Day

Paul Battley & I attempt to make the website for the Office for National Statistics more useful.

Uninstalling gems from .gem directory

Mocha Configuration

Mocha Internals under Scrutiny

Test::Unit and MiniTest with different Ruby versions

Mocha Release 0.9.5

Climbing Back onto the Java Horse

Permutations, Combinations & Probability (Part 2)

Mocha Release 0.9.4

Mocha Release 0.9.3

Permutations, Combinations & Probability

Mocha Release 0.9.2

More Remote Pair Programming

Mocha Release 0.9.1

My Third Reevoo Birthday

Identify the Problem before the Solution

Rising Damp

Vim Learning Curve

Optional Parameters in Mocha

Mocha 0.9 Released

Mocha Mailing List Move

Nasty Ruby Bug Affecting Test::Unit

Prefer Commit Notes over Comments

Java Rehabilitation Clinic

Remote Pair Programming

End of the Road?

Mocking in Java using Mocha

More GNER/NXEC Advance Single tickets shenanigans

Mock Object Injection

Changing GNER Advance Single tickets (reply)

Implementation Patterns

Twice round the world by train for Reevoo

Changing GNER Advance Single tickets

Trac Secret

Testing tidbits

Taking a Tumble

Why Array#length is better than Array#size

Mock Commands, Stub Queries

Mock Objects in Ruby

LRUG Mocking Talk

Mocha 0.5 released

Prefer Tests Over Comments

Honourable Mention for Mocha

Escape from the Enterprise - London Rails Jobs

Preview of Latest Mocha Changes

CruiseControl.rb for Mocha

RSpec/Mocha compatibility

Two Brits die ski-touring in Hardangervidda

Maverick

GNER train - Power down, but Wifi up

Inside-Out Code

Mocha 0.4 released

Finding the Cheapest Train Fare

RSpec adding to the confusion?

Tell Don't Ask

Stub Queries and Expect Commands

Fixtures, mock objects or in-memory ActiveRecord objects?

Rails Console Shortcuts

GNER surrender

Rails Plugin Versioning

Mocha Podcast

Mocha Adoption

The Ignominy of having the Wrong Train Ticket

Mocha Cheatsheet

Keep Mocha in your Rails Toolbox

Hellish XML

Developer Tests and Double-entry Book-keeping

About Mock Objects

Rails acceptance testing with Selenium RC

Ruby stubbing techniques

Mocha in Java using bytecode manipulation

Google Test Automation & RailsConf Europe

The Difference between Mocks and Stubs

My Reevoo Birthday

ThoughtWorks team uses Mocha

Ruby on Rails uses Mocha to test frameworks

New Mocha Docs

Mocha Quickstart

Injecting mocks (the Mocha way)

Mocks on Rails

Mocha 0.3 released with Rails plugin

Lunch stop on a Norwegian ski tour

Blizzard: Race to the Pole

Fed up with Rails fixtures? (part two)

Mocha 0.2 released

GMail Notifier - starred messages

Fed up with Rails fixtures? (part one)

Dot-com survivor

A Plethora of Train Tickets

AutoMocha example

Stubba example

Mocha example

Mocking and class interception

Mocking and stubbing in Ruby

Catch 22 - ADSL house move

Rails fixtures - help or hindrance

Gadget Reviews

Big Refactoring

Unit tests - Can 100% coverage be a bad thing?