Friday’s Software Enlightenment #4 – Rumble Edition

Friday, August 28th, 2009

The 2009 Rails Rumble was a huge event! The results are simply stunning with great apps like Lowdown and hi.im. It really is amazing what can be built in 48 hours. If you get a chance, please head over, register and vote on the Rails Rumble Site

So without further ado, here’s some tools I found immensely useful in the creation of my rumble app. I’d really like to write a full post mortem, but in the spirit of Friday’s short list of links, here goes:

  • SearchLogic – excellent derived named scopes and search form capabilities.
  • AuthLogic – my favorite authentication system out their for Rails today.
  • Formtastic – a great utility for generating forms quickly.
  • Inherited_Resources – Jose has done an awesome job with this helper that handles your typical (and not so typical) RESTful controller actions
  • Stringex – useful for permalinking
  • under_construction – a handy javascript utility I’ve written to quickly note what design elements need to be implemented from a development standpoint.
  • serverjuice – Great for getting an Ubuntu VM up and running quickly
  • SpreadHead – although it required some adjustments in the way it handles routes, I really think this is a great way to get a quick CMS integrated with your site. It’s definitely useful to have some editable pieces of your application when there’s a code freeze in 48 hours. I currently use it for CMS partials (a way to have editable content inside a page), but I do not for individual pages themselves. There’s an issue in the gem version where the routes are added to the top of priority instead of the bottom. I’m hoping to help with a fix for this
  • tab_menu – I always seem to need tabs or a nice menu system, so I use this code pretty frequently
  • ThemeRoller – easily roll JQuery UI styling.

The combination of formtastic, searchlogic, and inherited_resources has really changed the way I code. I think a post on the power of these tools in combination with chronic

Some of these tools and more are available in the Enlightened Template I maintain on Github. There were some updates after the rumble. I hope you find it useful!

Making Agile Work For Design at Refresh Boston, MA

Friday, May 1st, 2009

Jon Follett and I led a discussion on how designers can integrate with Agile development teams at a recent Refresh Boston event.

I’ve really come to enjoy and look forward to Refresh Boston events. The Microsoft NERD Center is a killer venue, and Patrick Haney (notasausage) does a great job in getting a diverse crowd and stellar speakers.

Of course, Jon did a tremendous job with designing the slides for the presentation

If you attended the talk, please rate and comment on us over at SpeakerRate. We definitely want to continue the learning and discussion around this topic.

Take the Survey for People Who Make Websites

Tuesday, July 29th, 2008

Take A List Apart’s annual survey. I’m a huge fan, and the results are usually compelling!

A List Apart Survey

Bad Design: Catch All Exceptions

Saturday, April 19th, 2008

I might be getting a little geeky on everyone here, but I have to share something very important to programmers. I recently noticed this in a recent Rails project I was working on (method names changed to protect the guilty)

def do_something_really_important
  #lots of complicated implementation

  rescue ApplicationError
end

Why is this some of the worst code I’ve ever seen? If something unintended goes wrong the developers would be none the wiser. Nor the potential user for that matter. If this is a crucial method this really could have disastrous effects.

Defensive design is great when it comes to exception handling, but make sure you are handle for specific exceptions intentionally. Also if you’re catching an exception, actually do something! Email an admin, log the error – create some way for the developers to get insight on what is happening. In other words, if you’re expecting a “File Not Found Error”, do this instead:

def do_something_really_important
  #lots of complicated implementation

  rescue FileNotFoundError
    #actually do something useful
end

It’s not rocket science – it is good design. Good design is what separates architects from hackers.

PeepCode: The Best $150 a Rails Developer Can Spend

Saturday, April 12th, 2008

Most Rails developers know of PeepCode but I know only a few that have actually purchased a screencast from them. I’m really happy that they’ve reintroduced their year subscription. There’s no excuse now – go and buy this! After watching two or three I can say it’s already paid for itself.

Interestingly, I’m enjoying the pdf’s just as much as the screencasts. Keep it up PeepCode!

If you’re a cheapskate, start out over at RailsCasts – but if you like them, help Ryan out and buy some PeepCode material.