Mike Perham

On Ruby, software and the Internet

Entries Tagged as 'Software'

MySQL InnoDB Clustered Indexes and Rails

August 19th, 2008 · No Comments

Joe has written an excellent post about one of the more arcane scalability changes you can make to your ActiveRecord schema.  In essence, the performance problem is this: mysql tries to write rows in order of the primary key index and ActiveRecord creates an artificial PK called ID.  So if I write rows #19 and [...]

[Read more →]

Tags: Software

Explaining REST to Damien Katz

August 17th, 2008 · 2 Comments

This is an excellent summary of REST, why SOAP services should be considered broken and why your services should be RESTful.  One overlooked benefit of REST: interacting with the HTTP ecosystem correctly.  You might not be using a caching proxy on the server-side but if your clients want to use a caching proxy, making your [...]

[Read more →]

Tags: Software

Tough Lessons in Software

August 7th, 2008 · No Comments

I was reading through some interview questions the other day and one of them was “What was the toughest lesson you’ve learned in your job?” The answer came immediately: the hardest problems in your job are human problems and cannot be solved with software. As a software engineer facing a problem, I immediately consider if [...]

[Read more →]

Tags: Software

Google Analytics

July 24th, 2008 · No Comments

Google Analytics gives you some interesting data about your visitors.  Did you know I’ve never had anyone visit my site from North or South Dakota, Wyoming or Montana, but I have had 4 visits from Kansas? Hello Kansas!

[Read more →]

Tags: Software

Web 2.0 and Databases

July 15th, 2008 · No Comments

Below is an interesting series of interviews by Tim O’Reilly on large web sites and their database usage.  Every single organization was sharding their data.  Note the series is over two years old and some advice is plainly wrong these days; note that Craigslist’s advice to use MyISAM “because it works” is no longer relevant.  [...]

[Read more →]

Tags: Software

Introducing DataFabric

July 9th, 2008 · No Comments

I just published a new Ruby Gem which encapsulates the database sharding library we’ve been using in production with our FiveRuns Manage service.  I’m pretty proud of this release – it wasn’t easy code to write or test and I learned a LOT about ActiveRecord while writing it.  If you need sharding and you need [...]

[Read more →]

Tags: Software

Using third-party services

June 24th, 2008 · No Comments

One interesting tidbit I’ve learned by building tracknowledge, my race track database and instrumenting it with FiveRuns’s Manage service is the ridiculous amount of time required for calling third-party services. If you look at a sample track page, Donington Park, there’s three services being called: Youtube and Flickr are called server-side and Google Maps is [...]

[Read more →]

Tags: Software

Finally! A Modern Development Tool

June 23rd, 2008 · No Comments

I didn’t write TuneUp (Brian, Bruce and Matt McCray did) but it’s a great tool and it’s nice to see compliments like this in the blogosphere. Thanks Mr. metajack! Finally! A Modern Development Tool « metajack

[Read more →]

Tags: Software

Lesson of the Day: Question Everything

June 16th, 2008 · No Comments

Just when you think you are doing well, someone comes along and points out how dumb you are. I was discussing my need to patch ActiveRecord with Bruce today and mentioned how I would patch the Ruby files in the activerecord-2.0.2 gem on staging, test everything and then patch the same files on production. Bruce [...]

[Read more →]

Tags: Software

Speaking at Lone Star Ruby Conf 2008

June 9th, 2008 · 1 Comment

Looks like my talk “How NOT to Build a Service” has been accepted by the LSRC organizers. I really enjoyed the conference last year and it’s an honor to be chosen as one of the speakers this year. The great thing about the LSRC is proximity: it’s two miles from my house. If anyone needs [...]

[Read more →]

Tags: Software