My title here at Wilcox Development Solutions is Owner, Chief Engineer and Master Toolsmith. The last part is because I love making tools that make other people faster.
In every project we have the project itself, but I also encourage you to create a tools folder in your project, to keep items that might not add business value, but add programmer value.
- On a Rails project I have a tools folder that contains a precommit hook for failing a commit if there are debugger statements left in
- On a wxWidgets project I’ve put “package up and release this app” tools here. (Actually, we had three folders: tools, tools-osx, and tools-generic, as this was a cross-platform app)
- On a larger project, where we were building a product line, I had scripts to build certain apps, or every app. This was especially helpful as individual apps in the project transitioned away from CodeWarrior to Xcode
I believe having a public place for tools encourages developers to share their workflow and efficiency tools with the group, ultimately making the team more efficient as a whole.
BBEdit is a pretty awesome editor. While I’ve moved to TextMate for most of my text editing, I’ll occasionally come back to BBEdit because it has the tools I need.
In a magazine article I once compared TextMate to a M*A*S*H style surgery theatre, and BBEdit to a hospital operating room. There’s a lot of time I really need it done (M*A*S*H style), and sometimes I need other features (like a split pane editor) where I need to pull out the big guns
Today I needed to edit four 1,000 line Ruby files, so I opened them up in BBEdit and split the pane for each file. This worked awesome until I needed to do anywhere in the file
You see. the files were written in the Domain Specific Language Shoulda” — which adds essentially a new way to declare functions to Ruby. TextMate sees these shoulda function declarations and adds them to the function popup, but BBEdit doesn’t
A quick conversation with BBEdit support, and I realized I needed to find the solution myself. So I wrote a proof-of-concept Python script: BBEdit-DSL.
If you’re using Ruby on Rails with BBEdit, and specifically Shoulda, you should check it out