I should be back from the Middle East before May, and barring another war or nasty situation, I have six months of civilian life to cram in a year of work. Being away, however, has given me a chance to reflect on what I have been doing.
What do I choose to do? Usually I have a To-Do list, but I have renamed it a Not-To-Do list. I put my ideas on the Not-To-Do list so I can focus on a few things rather than on every idea I happen to have. So what survived?
The Perl Review, my online magazine for Perl, wants to be ink-on-paper. That is not very digital, but it is the first thing everyone asks for. I have been thinking about that a lot over here, but I need to get back to the States to work on it. There are all sorts of things I would like to do with it, but I am not going to make any promises right now. The big vision right now is a magazine created completely from open source software with lots of automation and in a variety of formats (HTML, PDF, print). This magazine will promote Perl as the robust, designable, testable, and useful language I beleive it to be by sponsoring and publishing long-life articles on best practices, success stories, and the like. I also want TPR to be about people’s personal experience with Perl, and record that information so people who come to the magazine years from now still find it relevant.
Instead of working on a lot of new things, I want to improve on a lot of old things this year. I want to make a lot of my Perl stuff better, stronger, faster, but I need to create the technology to do that.
I want to refine a lot of the testing work I have done for Perl module distributions. I wrote a lot of Test::* modules and explored several ways of doing things. Since I have been gone Andy Lester took my good ideas and improved on them and let me know about my bad ideas. It is all evolution, and eventually I want people to be able to easily test Perl software and for users to realize that just about everything is tested thoroughly. This, I hope, can dispel any rumors about the robustness of Perl scripts in general, or at least create a recognized social class of coders whom the public trusts because of their fanatical testing. Randal Schwartz and I already travel the world teaching people how to become test fanatics.
I started working on a Perl package browser because I like Squeak Smalltalk’s class and method browsers so much. With a little more work and maybe some help from other Perl people, it can actually be useful. I have a version that works for me and a pretty good idea what I want it to do, so I need to sit back and think about the experience then start all over. I want to easily connect Perl package information (not just the docs) so I can jump around and between multiple source trees with ease. Think hyperlinks, but for source code. This is a tall order, but maybe I will at least hit the haystack.
Before I left for the Middle East, someone took my utility for releasing Perl scripts to SourceForge and CPAN and created a module, Module::Release out of it. Other people can change bits and peices of it to suit their needs. I would like to make that even more useful. I wrote the script to automate all of the mundane parts of my software release cycle, to automatically test a lot of things to limit the number of bugs that got into my software distributions, and to not have to interact with web sites.
I have also been toying with the idea of compiling an audio history of Perl—something in the style of This American Life. I have been doing that sort of thing while I am here, so maybe I will just take my tape recorder and microphone with me to Portland for the next Perl Conference.
I should really stop now, although I could go on with things I want to accomplish this year. Everything else goes on the Not-To-Do list, and maybe it will stay there, and maybe it will not.
What are you going to do?