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