# MetaInspector

John Bachir's Code Blog
October 09, 2014

MetaInspector is a handy gem which makes it easy to get information about a webpage such as…

So let's say that you have a field in your app's user profiles for "personal . . .

# Monitoring connection quality of Amtrak wifi vs. phone tethering

John Bachir's Code Blog
July 17, 2014

Kudos to Amtrak for having free Wi-Fi. But the network quality is dependent on a mobile data connection, which varies throughout the trip. Meanwhile, I also have tethering on my phone.

One might guess that the connection quality would be pretty much identical between the two, since they both rely on similar or the same networks over . . .

# DHH Sounds Out of Touch

John Bachir's Code Blog
May 01, 2014

I just read Uncle Bob's Test Induced Design Damage?.

I keep fearing the day when Rails messes up and becomes too complicated or poorly maintained or something else, but that hasn't happened. It’s really an impressive solid project that solves common problems and steadily integrates popular solutions to new problems with each . . .

# Never use ActiveRecord persistence methods in Rails controllers

### And never, ever use ActiveRecord filters.

John Bachir's Code Blog
April 19, 2014

Rails controllers are a mess.

An ongoing discussion in the Rails community is how, when, and if to test controllers (and how impossible is is to write tests for controllers that are both thorough and not completely isomorphic with implementation).

There are many dimensions to this problem, and it touches a lot of the . . .

# What I would like in Ruby 3

John Bachir's Code Blog
January 01, 2014

Ruby development is hurtling along these days. In 2012 1.9 finally became the norm, and in 2013 we got both 2.0 and 2.1. All of these versions brought small but steady feature improvements.

Here are some thoughts on how I would like the language to change, possibly appropriate for Ruby 3 or Ruby 4.

# Sandi Metz's Rules

John Bachir's Code Blog
November 24, 2013

In episode 87 of the fantastic Ruby Rogues podcast, Sandi Metz shares these programming rules:

• Your class can be no longer than 100 lines of code.
• Your methods can be no longer than four, maybe five lines of code.
• You can pass no more than four parameters and you can’t just make it one big hash.
• Your Rails . . .

# The classic behavior mocking dilemma

John Bachir's Code Blog
November 24, 2013

We would like our tests to not inappropriately cross over layers of the system (such as accessing the database), and we would like our tests to not be dependent on implementation. Unfortunately, these two concerns are often at odds with one another.

Let's say you are testing this method:

class Foo
def bar
Bar.find( . . .