For a long time I’ve wanted to try working with Bicycle Repair Man, the Python refactoring tool. Unfortunately, the fact that it had neither documentation nor integration with my favorite editor kept pushing it to the back burner. About a month ago I was excited to come across a post from a guy named David Coffin who had created a BRM integration script for TextMate. I hooked it up per his instructions, and with a little fiddling I got it working.
Over at Rands in Repose there’s a nice, if short, interview with Allan Oddgaard, creator of my favorite text editor TextMate. For me the core of TextMate’s power comes from its bundle and scope systems. Allan has a little bit to say about that in the segment of the interview about sources of inspiration: A big non-editor inspiration was CSS selectors which is what I recreated as scope selectors. The first time I read the CSS specification I was pretty excited to try out the concept.
After seeing a similar offering from the Web 2.0 pastebin Attachr I couldn’t resist. So here’s a simple TextMate command that submits selected text to paste.e-scribe.com, opening the new URL in your default web browser. Bonus features: the filename is used as the title, and the language syntax is guessed from the file extension. This is a very crude little script, but too much fun not to share. Download paste.tmCommand.zip and double-click the resulting .
Joel Spolsky (who started his career at Microsoft as a manager on the Excel team) has been writing some recent longer blog posts on a MacBook Pro in TextMate using Markdown. He describes the process in a recent entry. He calls it a “surprisingly good experience.” He goes on to gripe about anti-aliasing quality (FWIW, that’s explained here), and beachballing from dropped wifi connections (which I’ve never experienced, maybe it’s an early Intel thing?
A new “bleeding edge” version of TextMate appeared this evening, featuring extensive improvements to the bundle infrastructure. (If you’re not sure what this means, read my earlier post on how bundles are the heart of TextMate’s stupendousness.) Allan Oddgaard has put a lot of thought into the balance between distributed bundles and user customizations, and has developed some really elegant solutions that allow you to benefit from improvements in the bundles (some of which move at a rapid clip thanks to motivated community developers) while retaining your specific customizations.
Here’s a very cool little open source module for Cocoa application developers: Sparkle by Andy Matuschak. It allows applications to detect, download, and install new versions automatically. It apparently can be added to a project without any glue code at all. It supports Appcast feeds. It’s got handy features like Skip This Version and Remind Me Later. It can work with .dmg files or .zip archives. During my brief stint with Cocoa programming I really wanted something like this.
Extending my Reverse game coding spree, I decided to make a version in Logo. Of course, in order to really effectively program in Logo, I had to make a TextMate bundle for it. It’s nice when minor obsessions come together like that. (By the way, if you’re ever in a position where you’re trying to look up information on Logo on the web, be warned that it can be damned hard thanks to the conscientiously inserted alt text on five bazillion company logos!