1. KISSmetrics

    We’ve been using Google Analytics to analyse traffic to Citrulu so far, but adding custom events to track significant things (e.g. when a user first creates a real test file) is a massive faff. We’re currently working on integrating KISSmetrics via its JavaScript API and it looks pretty shiny so far: everything is centered around the user, and […]

  2. Introducing Whippet

    For a while, we’ve been working on a stand-alone web server for doing WordPress development. We started working on it for a few reasons: With all those in mind, we started writing some software to wrap around PHP 5.4’s built-in webserver. It accepts requests, figures out where they should go, and hooks into the WordPress […]

  3. Extending your testing strategy beyond go-live

    In a recent post on his software testing blog, Eric Jacobsen talks about responding to bugs which ‘escape’ into production: The point of Citrulu is to enable you to go one better: by allowing you to monitor your website in a test-driven way (rather than simply looking for exceptions or timeouts), it blurs the distinction between […]

  4. RSpec FAIL – Testing Rails ‘destroy’

    I’m writing some specs for Citrulu and was scratching my head about this one for a while: When writing specs for Controllers, some http methods accept a hash as an input: it “assigns the requested test_file as @test_file” do controller.stub(:check_ownership!) get :edit, {:id => @test_file.to_param} assigns(:test_file).should eq(@test_file) end However with delete, this doesn’t work – the following […]

  5. Caching with Varnish on Heroku (Rails)

    I had some trouble with a personal Rails project – trying to get it to use Varnish caching. I’ve collected my learnings on my personal blog.

  6. Permanent fix for Rails’ wretched deprecation warning

    Developing rails apps under Ubuntu means that we get a lot of these warnings: DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead. (called from at /usr/lib/ruby/vendor_ruby/activerecord.rb:2) Recently, we added a cron job to an app which meant that we were getting emailed this error every hour, […]