Blog

  • 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…

  • 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…

  • 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…

  • 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…

  • 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.

  • 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,…