Partially leaving Perl to change the world with Kaggle
As some of you may be aware, the last few months have seen a dramatic change to my life.
Since I've been largely incommunicado over this period and have only just started to get in control of these changes, I thought I should take the time to explain my new situation and the impact on my Perl projects.
Firstly, my employment situation has changed dramatically.
For the last 3-4 years I've been at Corporate Express Australia (now Staples Australia) working full time on a large 250k line Perl code base for their main sales channel, and I'd like to take a moment to thank them for their support of Open Source Perl over that time.
The position provided me with the opportunity to legitimately hack on some very significant Perl modules on work time, most notably the complete rewrite of the Perl Aspect Oriented Programming framework, creation of my POE::Declare concept for complex POE applications, project managing DBD::SQLite and Strawberry Perl, fixing parsing bugs in PPI and funding a series of performance and memory leak fixes for the crucially important sapnwrfc Perl interface to SAP.
Using Padre (and being annoyed at it) every day at work also provided the incentive for a ton of the work on the IDE and support modules like ORLite, ORLite::Migrate and Params::Util, and there's no question it would not be as mature as it is today without their support.
In March I left Corporate Express and moved to Kaggle, in the process moving countries from Sydney, Australia to San Francisco, California.
Kaggle is playing a pivotal role in the current Data Science revolution, and in my opinion is one of the most interesting and amazing places in the world to be working right now.
It's the kind of place where it feels like you are changing the world about once a month, and was an opportunity too good to pass up.
Unfortunately, there is a major downside for my Perl work.
Software development at Kaggle is largely based on a pure Microsoft stack, and the job involve no Perl development for the foreseeable future, with the exception of some occasional community outreach work to help improve Perl's machine learning modules.
This will undoubtedly have some impact on my Perl projects, and most notably on my ability to contribute large amounts of time on major improvements to Padre. When it comes to working with Microsoft languages it is simply impossible for Padre to compete with Visual Studio.
Padre should not be too badly impacted by this change in the short term, as I was able to focus a large amount of time on getting the core features polished and making it suitable as an every day editor.
But major features such as server integration, config sync and collaborative editing will take a big hit and may take a lot longer to complete.
Most of my CPAN modules are in a much better situation however, so it's not all doom and gloom.
The majority of my modules are either relatively mature, or I have managed to bring in other people to assist and migrated to more of a project and release manager role.
In particular, Strawberry Perl and DBD::SQLite both have excellent developers working on them and I can comfortably manage my roles in both without any particular trouble (although I apologize for any delays over the last 3 or 4 months as I've moved country).
Strawberry Perl in particular may actually make some big improvements shortly, as the 5th generation dist toolkit (thanks to KMX) and the maturity of Padre mean that the time is ripe for Chocolate Perl aka Strawberry Perl Professional aka Strawberry + Padre.
But that is a discussion for another time.
I also hope you'll forgive me if my blog posts now move a little away from Perl at times (I promise any non-Perl posts will be interesting, and won't be about C# or Python programming or something folks here would find annoying).