Andy Herbert released a bitchin’ (did I just date myself?) little bundle for TextMate, which takes any shell script you whip up in TextMate and turns it into a Dashboard widget. Click the widget, run the script. Easy as can be.
Widgets can show their output (it opens it up in Console.app) and can also accept dragged items (and pass them as a variable to the script).
Awesome tool for making something clickable out of a shell script. Perfect for the weird little utilities you need to run now and again. (Like my script to reload a crapped out Cisco VPN kernel extension when I forget to disconnect before sleeping my Mac.)