July 1, 2010

I love building tools. I love making hard or tedious things easy. I could build tools all day.

A big company like IBM is perfect for this. Not only is there a lot of infrastructure I can build on top of, but there’s also a large internal market for tools. For example, the community newsletter tool I built for myself turned out to be great for many people too.

New tools that increase productivity free up more time to invest in increasing productivity. Tools that push the envelope of what can easily be done let people imagine what else can easily be done. It’s a virtuous cycle that I’ve loved working with since my first experience of working on Emacs Planner.

Open source and collaboration play a role here, too. Other people’s contributions – a web design, an idea, a Lotus Notes plugin – add so much value and inspire me to build even better tools. When I build tools, I link to where people can get the source code. This means that people don’t have to start from scratch, and they can learn from source code in the field. It’s good stuff. For example, an IBMer in Massachusetts added my bulk tagging code to his Lotus Connections inviter tool after reading the source.

PHP: Make a symbolic link with a .phps ending. (Ex: ln –s index.php index.phps). PHP will display the .phps file as source code. Add a link to it.

For the Java-based tools I’ve been building lately, I link to the project in our internal open source repository.

Tools, collaboration, lots of people who want or need similar things, and infrastructure for sharing… Awesome.