About Peter Hollows

I’ve been working with Rails for close to five years, for the last three I’ve been freelancing.

I have experience with many different setups and problems I’ve solved ranged from scaling and architecture to UI, GIS and video. I’m passionate about this work and am involved with many social code projects.

What do I want? To make as big a dent as possible, to build work-of-art state-of-art web-based engines for people with good ideas.

I maintain a personal blog at peterhollows.com.

Current Standing

I scored in the top 3% in the oDesk Rails test and in the top 20% of providers in the Elance Rails test. You can view my oDesk profile here.

Availability

I’m currently in Christchurch, New Zealand, (GMT+12) and is available to work in New Zealand or Australia.

Current Research & Writing

  • Recommendation systems and other social math
  • Data mining and decision software
  • iPhone GIS development
  • Open source projects at GitHub

Skills

I’m quite familiar with Rails and the Rails framework internals. I’ve authored plugins and work generatively where it saves time. I maintain a Rails template repository that I fork from for new projects to get a head start and have recently become familiar with Rails middleware techniques and micro-frameworks. I love handling information in Ruby and enjoy creating bindings to online services. Some of the services I’ve integrated Ruby apps with are:

  • Google Maps
  • Flickr
  • AdBrite, AdSense and the Clickbank referrals API
  • Payment gateways
  • Social networks
  • FLV media services
  • Mobile SMS & MMS

Approach

I’m used to thinking development tasks through properly and have a selective focus for relevance. I’m no stranger to the scientific approach and enjoy problem-solving through the use of experiments and testing. I can break out the geometry (I wrote my first 3D projects before OpenGL) or mathematics and am becoming increasingly obsessed with web intelligence and what can be done with extrapolation and inferrence.

Preference

I often work with the following technologies. I remain open-minded as the best solution can often change in weeks but these are my favorites.

Aspect Library
model testing RSpec
geocoding Geokit (with modifications)
geolocation PostGIS
search Sphinx & ThinkingSphinx (or SphinxThinks)
queuing AMQP, RabbitMQ
smtp GMail/other with stunnel or ssmtp
sms my Clickatell Ruby API
auth Authlogic or my auth middleware
rbac my auth middleware
css reset Blueprint CSS
javascript non-obtrusive jQuery
AJAX request format json
web tier Apache/Nginx w. Passenger
database MySQL, PostgreSQL
server distro Gentoo
local distro OS X Leopard
editor TextMate, vim
control Git, Nub
deployment Capistrano (an my recipes)
tracking Pivotal Tracker
team management Scrum
team comms iChat video, IRC, phone
reporting Phonecalls, pretty PDFs, Basecamp
monitoring God

Some of my blog posts

Long Running Data Migrations in Rails

a post by Peter Hollows about rails, useful gems, and database fu.

Projects almost never start with an empty database. There are many takes on how this initial data, or data processing tasks, should live in your application. This approach keeps data out of your migrations and remains flexible enough to run with all the methods available to a standard migration, plus some extras. Initial application data, a...

Easy RSS in Rails 2

a post by Peter Hollows about RSS and rails.

A simple approach to generating RSS feeds in Ruby on Rails. Our approach keeps your code DRY and uses a RESTful approach for minimum efforts. As a bonus, the W3C RSS validator has no complaints with the result. If you're wanting more than...

Formatting currency in Javascript

a post by Peter Hollows about javascript.

I’ve been hunting for something like Rails’ number_to_currency for Javascript that’d give me a delimited output with precision in cents. Most of what I found didn't...

Scraping the New Zealand Whitepages with Ruby

a post by Peter Hollows about web scraping and useful gems.

In New Zealand, telcos don’t expose their directories sensibly to the public, so if your script needs to look up numbers for a given name there is no RESTful API. Instead, these companies provide us the data in a challenging HTML format; this is because they are nice and want to give us a fun scripting project. Web-scraping means parsing ...