Aug 11, 2015

Paperclip file upload with AWS-SDK Version 2 and FakeS3

Trying to get Paperclip 4, AWS-SDK Version 2 and FakeS3 to work together is a nightmare. Here's a complete breakdown of the magic spell you need to get it working.

Jun 23, 2015

Lessons from Both Sides of an Interview Desk

This post is a textual representation of a talk I gave at the Ruby Ireland meetup in Dublin on the 23rd of June 2015. Show notes can be found on Github. The slides are available on SpeakerDeck.

May 11, 2015

Paris Marathon Trip Report

My Paris Marathon journey started with a casual suggestion from a friend almost a year ago. He'd been running pretty consistently for a while and decided to see who he could convince to run a marathon with him. Since I'd already run the Dublin Marathon in 2013 I was an obvious target. Fast-forward a couple of remarkably convincing WhatsApp conversations and somehow 5 of our closest friends have agreed to run.

Oct 1, 2014

You Have No Idea Who your Target Customer Is

How to tell if you're making the mistake of not knowing who your target customer is.

Mar 25, 2014

Everything I Learned Launching an Email Course in One Day

Determined to get on the email marketing bandwagon but lacking in experience or time, I decided I was going to create and launch my first email course in one day. This is what I learned while accomplishing that goal.

Oct 31, 2013

How Groove's Email Copy Makes Their Posts Go Viral

How Groove (a SaaS customer support company) write emotional email copy which engages their subscribers and drives them to share their blog posts.

Oct 26, 2013

4 Tips For Accurate Funnel Analysis

When integrating a funnel metrics service, it is actually relatively easy to make mistakes which could render your whole analysis invalid. Often without anyone suspecting that anything is wrong. Here's 4 tips to make your funnel integration smooth and accurate.

Oct 24, 2013

A/B Testing with Split in Ruby on Rails

Split is a great library and a joy to use. There are a couple of small things you can do to keep your controllers clean and your users happy. Here's three things I found made Split even easier to use for A/B testing.

Oct 6, 2013

SQL for Cohort Analysis: Joining with Payments

Part 2 of a series which walks through all the SQL commands you need to perform a valuable cohort analysis of your users. This part teaches you the SQL you need to merge data from the payments table with the activation date of the user who made each payment.

Oct 2, 2013

Google Probably Thinks Your Blog is About Disqus

I got a shock when I used Google Webmaster Tools to check which keywords Google thought were the most significant on this blog. Google thought that I was primarily writing about the commenting plugin Disqus. Luckily, I was able to diagnose and fix the situation.

Sep 25, 2013

SQL for Cohort Analysis: Activation Dates

Part 1 of a series which walks through all the SQL commands you need to perform a valuable cohort analysis of your users. Once you've read this, you easily be able to extract a nicely formatted activation date for each user in your database.

Sep 25, 2013

Why the new Gmail DOES NOT SUCK

People don't seem to like the new Gmail interface. I, on the other hand, love it. Here are the reasons why I think the new Gmail is awesome and productive.

Sep 13, 2013

Track Signup in Rails with Google Analytics

A comprehensive and easy to follow walkthrough showing how to track Google Analytics events in Ruby.

Aug 7, 2013

Why Namedar (one of my startups) Failed

It has come time to retire a "startup" I built in 2012. This is a breakdown of the business model problems which meant that the idea was never going to work.

Jul 25, 2013

Tracking blog readers who convert to Twitter followers

How you can accurately track the number of blog readers who convert to Twitter followers and use this data to run AB tests to get more followers.

Jul 4, 2013

Tracking funnel conversion with pageviews

Re-rendering tracking code snippets in forms which contain errors can throw your conversion rate and funnel analytics out of line. Luckily, there's a simple solution!

Mar 26, 2013

I'm terrified of failure. Success too.

An honest look into my procrastination habits and how they are rooted in my fears of success and failure.

Feb 8, 2013

Sounds great, let me know when you launch

How to avoid mistaking people who are just trying to be nice for enthusiastic potential customers when doing customer development.

Jan 28, 2013

Optimizing your customer development cold calls

By using a carefully constructed opener you can easily increase your conversion rate and the amount of information you can glean from potential customers when cold calling. Here I outline my strategy for opening customer development cold calls and go through an specific example from a startup idea I'm working on.

Jan 11, 2013

Shift your personal perspective to reap productivity gains

How a small shift in the way we think about our personality traits can make us more productive. You can do things which you don't feel naturally comfortable with. It just costs you more energy.

Dec 31, 2012

2013 Goals and Aspirations

A new year always feels like a fresh start. I'm laying out some goals for 2013 and doing a little bit of 2012 review.

Dec 30, 2012

Assess your market reach before starting a startup

By first thinking about the markets you have access to, you give yourself the best chance of solving a real problem and reaching your customers.

Aug 21, 2012

Mechanics should make videos

How mechanics could increase public trust and help their customers understand the work they do by borrowing a technique that dentists use.

Jul 28, 2012

Stripping commas from integer input in Rails

Stripping commas from a numerical input before saving it to the database might sound like a simple enough task. I found surprisingly little direction on it around the web however. This post is a run-down of how I accomplished the task in Rails using a virtual attribute.

Jul 28, 2012

Setting up production log alerts

It can often be very useful to get email alerts when certain events occur in your production system. In this post I quickly run through how to use normal application logging in combination with a log monitoring service to get timely warning emails whenever arbitrary pre-specified events happen in our production systems.

Jun 13, 2012

Customer development? Just call in.

While doing customer development for a recent startup idea, I decided to try cold walk-ins rather than over the phone discussions. This ended up with some very interesting results.

Jun 2, 2012

3 Tips for Beginner Running Motivation

Over the last few weeks, I believe I have found a new love in regular jogging. Here I talk about three things which I believe have helped turn around my attitude

Nov 14, 2011

Updating vim bundles. A bash command.

I decided that it would be a good idea to update some of the plugins I use. So, I changed into the first plugin's directory and ran `git pull` to get the latest changes. Sure enough, some code came down the wire and updated my local plugin. Happy with that, I went back up a directory, `cd` into the next plugin and repeated the process. Right there, I realised that there has to be a better way.

Sep 25, 2011

VIM: Defining custom labels like 'TODO'

A tutorial showing how you can use VIM's built in colour highlighting to define your own custom TODO labels.

Sep 25, 2011

Joel Spolsky can fanfare launch... should you?

Should you launch or should you release a minimum viable product as early as you can.

Sep 11, 2011

Positioning. Customer driven marketing

What startups can learn from a 20 year old marketing book

Sep 9, 2011

How to manage permalinks in Jekyll

How to use Jekyll's front-matter to set permalinks on a post-by-post basis

Aug 30, 2011

Property search websites are doing it wrong

Rental property listings sites are treating the search for a place to live as an activity with only one decision maker. In reality, most people have family or friends who they need to work with in order to come to a decision about where to live. Listings sites should redesign their user interaction in order to provide support for groups of people working together.

Aug 29, 2011

How to test the Ruby Geocoder gem

Testing the Ruby Geocoder gem

Aug 26, 2011

Some New Features in Factory Girl 2

Version 2.0.1 of Factory Girl was released back in July of this year (2012). Here I quickly run through some of the cool things you can do with FG2 that you couldn't do before.

Aug 23, 2011

Idea to paying customers in 29 days?

How I'm trying to build my web startup using lean principles.