Jul 5, 2018Image serving with Content Addressable Storage, S3, and ImgIxMarketplacer and its websites served user-provided web-optimised images from the same webserver as its actual application, and stored both the original image and the web-optimised versions on disk. Each image’s filename was stored in a column on the related model, and uploads were handled with the Ruby gem carrierwave. Marketplacer’s…AWS3 min readAWS3 min read
Jul 5, 2018Structured Logging for Rails using ELKThis post describes the structured logging setup used at Marketplacer to publish information about each request to our Rails application to our ELK stack. Our primary goal for our ELK platform was forensics & long term usage analysis of back-office functionality. For example, we wanted to know: has this route…Elasticsearch7 min readElasticsearch7 min read
Apr 16, 2018The Four Pillars of MotivationAs a developer, designer or other direct contributor to the product creation process, there’s a single principle that drives morale, productivity and motivation: I feel that I am effectively working on something I find interesting and meaningful in a safe environment. If these conditions are not at least mostly satisfied…Management4 min readManagement4 min read
Mar 14, 2018How long are you spending in Capybara?Our full-system integration tests take too long to run: between five and eight minutes in a highly optimised CI environment, and over an hour if run on a developer’s laptop. One of the ways we’re trying to manage this is by logging which tests take the longest and then printing…Ruby3 min readRuby3 min read
Aug 25, 2017Four Tools That Let Me Love JavascriptI’ve traditionally thought of myself as a backend developer: my career, before management, was in Java, C, Perl, Python and Ruby. …Java Script3 min readJava Script3 min read