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 [...]
Entries Tagged as 'Software'
MySQL InnoDB Clustered Indexes and Rails
August 19th, 2008 · No Comments
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 [...]
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 [...]
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!
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. [...]
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 [...]
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 [...]
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
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 [...]
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 [...]
Tags: Software