Scott Hanselman’s 2009 Tool List

Excellent round up of utilities, web sites and more for developers and power users. Only thing he missed is TSE 🙂


SQL Server: Drop All Tables

Fast way to drop all tables in a database: SELECT name INTO #tables from sys.objects where type = ‘U’while (SELECT count(1) FROM #tables) > 0begindeclare @sql varchar(max)declare @tbl varchar(255)SELECT top 1 @tbl = name FROM #tablesSET @sql = ‘drop table [‘ + @tbl + ‘]’exec(@sql)DELETE FROM #tables where name = @tblendDROP TABLE #tables; This is…


Rails Searchable API Doc

Nicely formatted API docs for Rails, available for both online use and downloadable for local searches(!). Formatting’s much better than other sites I’ve found, and the local search smokes ri. NOTE: You need to customize the contents if you want Rails and Ruby APIs. I’m using the Rails 2.3.4 + Ruby 1.8 + Nokogiri 1.3.3…


Why is rake test:all so slow?

Found test_benchmark, a true gem (pardon the pun) of a Rails plugin. Times each test case, then reports the top 10 slowest, or all if you ask e.g. rake test:all BENCHMARK=full You can also disable it by default if you add ENV[‘BENCHMARK’] ||= ‘none’ config/environments/test.rb, as per this post. Very nice. One problem: init.rb tests for…



A new Rails plugin for authentication. We’re currently using restful-authentication (with several surgical changes), but if I was starting today I’ve give authlogic a close look.


Rails 2.3.3 is out

Here. The JSON improvements sound nice. Of course, it’s Rails – what’s this release break? Sigh. Something to keep an eye on, but I’m not keen on being an early guinea pig.


I !(heart) Rails

Ruby on Rails does some nifty things, trying to lull you into a false sense of submission – and then it springs this on you. For those unfamiliar with the glory and the horror that is RoR, let me enlighten you… Rails can parse incoming XML and hand it to you as a Hash. Makes…



This Ruby gem lets you run tests in parallel using multiple processes. Unfortunately, it doesn’t work on Windows – it requires ‘fork()’ (which isn’t implemented on Windows). Sigh. And me with this beefy quad core desktop.