Ernie Miller

No, I don't work in NYC, DC, or the valley, and I'm cool with that.

RSS Feed

Archives for Blog

Prevent GoogleBot Overload with Default Nofollow

2 Comments

Here’s a quick tip to exert greater control over which parts of your site a search engine should crawl: modify your link_to helper to make links rel="nofollow" by default. It’s easy:
Read the rest of this post

Filed under Blog
Sep 26, 2011

Valium 0.4.0 released, now with 100% more English

0 Comments

Just a quick update about Valium 0.4.0. In 0.3.0, I enabled support for extracting attribute values from associations (a la User.posts[:id]). That was awesome, but as it turns out, not too compatible with 3.0.x associations.
Read the rest of this post

Filed under Blog
Sep 9, 2011

Rails 3.1 and the future of MetaWhere and MetaSearch

3 Comments

Rails 3.1.0 has dropped, and hours later I received my first “report” that MetaWhere doesn’t work with Rails 3.1. For those of you who read this blog or follow me on Twitter, this should come as no surprise. Still, I wanted to make a quick announcement here, if only to have a place to link people to when they inquire.
Read the rest of this post

Filed under Blog
Aug 31, 2011

Slow MySQL query? I’ll give you a hint.

2 Comments

I have a confession to make: I’ve placed too much trust in MySQL’s query planner. By the phrase, “too much trust,” I mean to say, “any trust, at all, ever.”
Read the rest of this post

Filed under Blog
Aug 30, 2011

The Cure for ActiveRecord Instantiation Anxiety: Valium

14 Comments

No, not the drug — the Ruby gem! Have you ever written code like this?

Model.where(:attribute => 'value').map(&:id).each do |model_id|
  # ...
end

I’m guessing you have, even if only as you were just getting started learning Rails/Ruby. It’s a bad idea.

Read the rest of this post

Filed under Blog
Aug 24, 2011

Benchmarking Ruby’s Enumerable

3 Comments

Lately, I’ve been spending some time filtering data sets in Ruby. A common pattern when filtering data on multiple criteria involves short-circuiting processing at the first match or non-match, depending on whether conditions are being evaluated in an any/or or all/and context, respectively. As a result, I thought I’d run a few quick benchmarks on several implementations of this pattern. The results surprised me, so I thought I would share them here. Read the rest of this post

Filed under Blog
Jul 16, 2011

Thoughts on the Facebook “Event”

0 Comments

By my use of sarcastic quotes in the title, I suppose you can surmise that my general opinion is that the Facebook “Something Awesome” event, wasn’t. Group text chat, a new design, and Skype integration? Seriously?
Read the rest of this post

Filed under Blog
Jul 6, 2011

What’s new with Squeel?

0 Comments

Why, I’m glad you asked! It’s been a while since I’ve made any updates about Squeel — since before RailsConf, actually! A lot’s been added since then.
Read the rest of this post

Filed under Blog
Jul 3, 2011

“WTH is happening to Rails?” I’ll tell you.

29 Comments

I just read the blog post that got some traction on HN last night, entitled “What the hell is happening to rails?” It goes on to list a litany of complaints against changes in Rails 3.x, ranging from the default commenting of the catch-all route to, yes, of course, CoffeeScript. They all end up sounding a lot like “I don’t like change,” an argument we’ve all heard before. The difference is that Steve Coast, the post’s author, casts himself in the role of a crusader for the newbies. He says that he, personally, “gets” why these changes were made, but that the most recent versions of Rails are actually harder to learn than the older ones were. The post highlighted two things, to me:

  1. Some people still miss the point of Ruby on Rails, even after all these years.
  2. There’s a difference between “easy to learn” and “easy to use,” and when these competing goals butt heads, the latter should always win out.

Read the rest of this post

Filed under Blog
Jun 14, 2011

Scaling Web Applications: My “3 Questions” Philosophy

2 Comments

As I see it, any reasonable plan for scaling web applications is going to address 3 questions:

  1. How can we accomplish more work?
  2. How can we give the appearance of accomplishing more work?
  3. How can we avoid doing work that doesn’t matter?

So, how do we address these questions? Well, first, we remember that to the end user, the perception that the application is functioning correctly and with reasonable speed is of topmost importance. Everything else lines up behind these two considerations. Since perception is reality, we quickly discover that we can cheat, and the challenge comes in determining where, when, and how to do so.
Read the rest of this post

Filed under Blog
Jun 2, 2011

About

I'm Ernie Miller. But then, you probably knew that by looking at the page title, or the URL. I'm a Ruby programmer in Louisville, Kentucky. This blog used to be called "metautonomo.us", which I thought was kind of clever, but nobody, including me, could type it. Lesson learned.