Blog
-
January 29, 2010 @ 7:47am
Early Returns for Clarity's Sake
I don't like to nitpick about programming style, but there is one thing that always bugs me. I frequently come across functions structured as follows:
function foo() { if (a) { // do stuff } else { return false; } }I always wonder why the programmer didn't use an early return:
function foo() { if (!a) return false; // do stuff }Continued...
-
October 28, 2009 @ 5:41pm
Analogy for Net Neutrality
ISPs are like UPS or Fedex to the web. They deliver packets from sender to receiver. With net neutrality, they must place equal priority on each delivery and deliver the packets untampered. Without, they may open, inspect, modify, delay, or even halt packets of their choice.
-
May 25, 2009 @ 10:13am
Using a Float Column in a Where Clause
I spent about 12 hours today trying to figure out why one of my
validates_uniqueness_ofconstraints was not working. Here's why:mysql> create table some_table (some_float_column float); Query OK, 0 rows affected (0.01 sec) mysql> insert into some_table (some_float_column) values (8.4537); Query OK, 1 row affected (0.00 sec) mysql> select * from some_table where some_float_column = 8.4537; Empty set (0.01 sec)Notice how I'd just inserted a row with that value yet the row was not returned. All I had to do was change the float column to a decimal column.
-
March 22, 2009 @ 6:22pm
Auto-Start Juggernaut with Cucumber
If you use Juggernaut and Cucumber, many of your features can fail unless you have a Juggernaut server running. You can add the following to your features/support/env.rb to automatically start and stop Juggernaut when you run your features:
juggernaut = fork { exec 'juggernaut -c config/juggernaut.yml' } at_exit { exec 'kill', juggernaut.to_s }