January 25, 2011

Does your project have a tools directory?

Filed under: General Information,Meta — Ryan Wilcox @ 1:33 pm

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.

Some examples:

  • 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.

January 11, 2011

Announcing: BBEdit-DSL (A Proof of concept script)

Filed under: Uncategorized — Ryan Wilcox @ 7:24 pm

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