Well, 2005 is now over for me, as I plan to mostly avoid computers for the rest of the year to spend time with family. So it's time again to look back at the last few years, and forwards to 2006.
2005 was the year of PPI for me, and a chance to finally kill off "Only Perl can parse perl".
With thanks to TPF funding, 2 very financially difficult months were survived getting PPI into a usable condition, and following the 1.000 release I've been trying to show people what could be done with it.
The end of the year has seen a (so far unnanounced) second Perl Foundation grant for PPI, and what will also represent the culmination of my Perl parsing work.
In short, I'm going to be creating a proof of concept refactoring Perl editor. It may not look like you expect. In fact, the intent of the grant is more about making PPI and related infrastructure suitably mature for multiple people to add support to various editors. The Perl::Editor module is in fact intended to allow you to write a plugin for one editor, and have it work in multiple editors.
The first parts of this grant are done. PPI::Cache now speeds up parsing, and recently PPI got support for random line noise, so it should be able to hand any weird situation that comes up in an editor. The proof-of-concept will be based on Proton CE, a pure-perl Scintilla/Wx-based text editor. It still has some raw edges, but I'm helping with the CPANification of it, and you should see the first CPAN-based release some time soon.
However, completion of the editor will see the end of PPI as my main focus. I plan to move generally into maintenance and community-support mode, and while I'll be around, it will be time for others to take the lead in creating systems like Perl::Critic and Devel::ebug that take PPI and push it further. Writing text editors just doesn't interest me enough to work on one long term...
So where to for 2006. As well as my company work, I plan to split my open source work in three directions. I seem to have a knack for wild schemes, and World Domination gets addictive fast. :)
Firstly, I'll be leading the OpenOpenOffice project, to add OpenDocument support to Microsoft Office(tm). I came up with the original concept, but since most of the code will now end up being in Java and C# I am planning on sticking to project management, recruitment and promotion.
Expect a big announcement on our progress January 10th, once the media gets back to work. (It appears full read-write support for Word/Writer, Excel/Calc and Powerpoint/Impress was as easy as I expected)
For people who couldn't care less about Microsoft Office, what might interest you more is that the same functionality needed for O3 also points us in the direction of a universal business documentat translator. A sort of foo2bar for all OpenDocument-family files.
So watch out for Renee Baeker's planned O3::Client (linked for future readers) module in the new year.
Secondly, some time in January I hope to unveil PITA, the Perl Image Testing Architecture.
This is intended in part as a successor to CPAN Testers, and as the next logical step beyond Test::More for single tests, Test::Builder for test scripts, and Test::Harness for distribution-level collections of test.
PITA will hopefully push testing to the next level, to test any distribution on every platform and every perl version, on demand and even for non-CPAN packages.
It's my main focus for 2006, and it's going to seriously kick ass.
And thirdly, 2006 is the year I plan to finally start my engagement with the Perl 6 community. I not very big on languages, but now they are starting to get closer to caring about things like 6PAN and so it's time I get involved.
As a starting point I invited Audrey (autrijus) Tang to stay with me for a few days while she was in Australia, and we thrashed out a few things.
There was the general chit-chat about my concerns on some critical problems I saw with Perl 6. In particular with coercion, which I'm happy to say were due to a lack of understand on my part (due to a lack of approachability on their part). A casual comment on the tarmac bus out to the plane home also means that now Perl 6 is now no longer going to need globals at all. That sounds scary, but it isn't. Although I still have syntax-complexity issues, I'm MUCH more comfortable with the direction of Perl 6 than I was. The lamdacamels are doing some amazing work and I'm looking forward to the day I can say Perl 6 is faster than C :)
But WRT my stuff, it looks like PPI will be sucked into the pugs project. Audrey apparently has plans about making a Perl 5 front-end using PPI as a tokenizer. Scary scary stuff. The same changes on my part needed for this (line-noise compatibility) also make the Perl Editor stuff much much better.
And the second big change is that PITA will be multi-lingual from the beginning. Yes, PITA will support Perl 6, and possibly Python and other languages as well. So not only can you test any package on any platform or perl version, but you can test packages in other languages too. Eep!
It's put the PITA announcement back by a month or two, but I'll be finishing up the first component (the XML reporting language) over the holidays, and from there PITA can really start to kick off. Audrey has plans to make various things spit out the XML reports as an alternative to sending emails to the CPAN testers mailing list. And from there things get shiny very quickly.
And finally for 2006, I plan to move out from my home town, back to the bright lights of Sydney. Sydney has beaten out Melbourne primarily because Sydney is one flight to everywhere, and there isn't a direct Melbourne to Lismore flight, so it would be harder to get back here to talk to Lismore clients.
It's looking like one hell of a busy year...
But Merry (?:Christmas|...) to you all, and remember to stay away from computers during family times. I mean it! Some of your REALLY REALLY need the reminder :)