Home Contact Sitemap

Preston Lee

Founder, CEO, OpenRain.com

About

During the day I run OpenRain in Phoenix: a Ruby on Rails development shop. During the night... well... I still have to run OpenRain, but when I find time to breathe, I exhale here. If you'd like to get in touch professionally, don't hesitate to contact me via the OpenRain website.

Peace,

Preston

Rails 2.0: selenium-on-rails routes.rb fix

When I updated a few projects to Rails 2.0 last year, selenium-on-rails stopped working … some issue with routing and the lame way selenium-on-rails adds its routes. I didn’t spend the time to figure out exactly what the routing problem was, but did manage to hack a quick fix into routes.rb. This feels like the Wrong Way for an ultimate fix but it at least solves the immediate problem. Shove these rules into your routes.rb and the /selenium path should start resolving again…

Share/Save/Bookmark

Tags: , , , , , ,

. 12 Feb 08 | Uncategorized | Comments (0)

RailsConf 2008 Registration Now Open

Register here. Fresh from my inbox…

Share/Save/Bookmark

Tags: , ,

. 29 Jan 08 | Computer | Comments (0)

New OpenRain Homepage / IE Woes

We never spent a ton of time on the OpenRain homepage, so we decided to shake it up today in response to user feedback. I wanted to make our proposition clearer while keeping the existing brief one-page style, and add some awesome sauce yet stay business friendly. Check it.

As usual, a significant percentage of the development time was spent figuring out a combination of hacks to make IE6/7 render as close to “normal” as possible. Below is a screenshot of how FireFox, Safari and IE6 (from left to right) lay out the floating divs and images after a couple hours of IE-specific work. Three stupidity points are awarded to IE for the following reasons..

  1. The scrolling film strip at the top is completely disabled for IE because IE6 insists on reloading a CSS background-image if you change its background-position programmatically in JavaScript.
  2. IE also has issues determining float positioning, so the sticky note has a few IE-specific lines to keep it from shooting through the top of the body.
  3. Transparent PNGs have never worked correctly in IE6, and the hack to “fix” the issue severely distorts affected images.

ie.png

Share/Save/Bookmark

Tags: , , , ,

. 07 Jan 08 | Computer | Comments (0)

Rails 2.0: Gmail SMTP With ActionMailer

Marc just checked in a nifty little Rails 2.0 plugin to the OpenRain public subversion repository which encapsulates the voodoo required to use a Gmail SMTP server with an otherwise ordinary ActionMailer configuration. Gmail requires TLS security, which is why this is useful. Grab the plugin for your Gmail-mooching Rails 2.0 site, here.

Note: I previously wrote about how to do this for Rails 1.2.x here.

Update (2008.06.25): Broken download link fixed!

 

Share/Save/Bookmark

Tags: , , , , , , ,

. 05 Jan 08 | Computer | Comments (7)

Ruby Troubleshooting: Hpricot On OS X Leopard

If you upgraded to Leopard, you may be getting this nasty error when trying to install Hpricot, which is required by other popular gems such as mechanize..

preston$ sudo gem install mechanize
Password: ********

Bulk updating Gem source index for: http://gems.rubyforge.org
Install required dependency hpricot? [Yn]
Select which gem to install for your platform (i686-darwin8.10.3)
1. hpricot 0.6 (mswin32)
2. hpricot 0.6 (jruby)
3. hpricot 0.6 (ruby)
4. hpricot 0.5 (ruby)
5. hpricot 0.5 (mswin32)
6. Skip this gem
7. Cancel installation
> 3
Building native extensions. This could take a while…
ERROR: While executing gem … (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

ruby extconf.rb install mechanize
checking for main() in -lc… no
creating Makefile

make
gcc -I. -I. -I/opt/local/lib/ruby/1.8/i686-darwin8.10.3 -I. -I/opt/local/include -fno-common -O2 -fno-common -pipe -fno-common -c hpricot_scan.c
cc -dynamic -bundle -undefined suppress -flat_namespace -L/opt/local/lib -L”/opt/local/lib” -o hpricot_scan.bundle hpricot_scan.o -lruby -lpthread -ldl -lobjc
/usr/bin/ld: /usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libpthread.dylib unknown flags (type) of section 6 (__TEXT,__dof_plockstat) in load command 0
/usr/bin/ld: /usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libdl.dylib unknown flags (type) of section 6 (__TEXT,__dof_plockstat) in load command 0
/usr/bin/ld: /usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libobjc.dylib load command 9 unknown cmd field
/usr/bin/ld: /usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libSystem.dylib unknown flags (type) of section 6 (__TEXT,__dof_plockstat) in load command 0
/usr/bin/ld: /usr/lib/libSystem.B.dylib unknown flags (type) of section 6 (__TEXT,__dof_plockstat) in load command 0
collect2: ld returned 1 exit status
make: *** [hpricot_scan.bundle] Error 1

Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/hpricot-0.6 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan/gem_make.out

The issue is that Xcode 3 must be upgraded as well; Hpricot’s native components cannot be built with the older Tiger development tools on Leopard. After installing Xcode 3 from either your Leopard DVD or Apple Developer Connection, run the install again…

preston$ sudo gem install mechanize

Install required dependency hpricot? [Yn] Y
Select which gem to install for your platform (i686-darwin8.10.3)
1. hpricot 0.6 (mswin32)
2. hpricot 0.6 (jruby)
3. hpricot 0.6 (ruby)
4. hpricot 0.5 (ruby)
5. hpricot 0.5 (mswin32)
6. Skip this gem
7. Cancel installation
> 3
Building native extensions. This could take a while…
Successfully installed mechanize-0.6.11
Successfully installed hpricot-0.6
Installing ri documentation for mechanize-0.6.11…
Installing ri documentation for hpricot-0.6…
Installing RDoc documentation for mechanize-0.6.11…
Installing RDoc documentation for hpricot-0.6…

Success!

Share/Save/Bookmark

Tags: , , , ,

. 03 Jan 08 | Computer | Comment (1)