CPAN Day - 317 Uploads and 21 Guns
Sometime in May 2014, ETHER mentioned on IRC that she would soon be passing me up on this leader board. I was number 20 and she wasn't far behind. I guess I took that as a challenge, because this past weekend on CPAN day, I moved into the #6 spot. This post explains how.
I've created a couple CPAN packagers over the years, like Module::Install, and Module::Package, but earlier this year I decided to give up on those and just use Dist::Zilla, so I moved most of my active stuff to that. In the past year, as an Acmeist, I started doing a lot of real programming in Bash, and recently I made a Bash-heavy wrapper around Dist-Zilla called Zilla-Dist.
I've moved about 80 (half) of my CPAN dists to Zilla-Dist. ZD is all about hyper automation and generating everything (including my dist.ini file) from data. It allows me to move really fast and not be afraid to release code. I often just change a line of code, and type `make release`. ZD tests it, commits it and (assuming all good) releases it. I end up releasing about 5-40 times a day!
For CPAN Day I decided to see how many releases I could do in a day. I asked NEILB what the record was and he said 150. I realized that he meant 150 worldwide and asked about the personal record. He did his NEILB math and figured out that one guy had done 42 (and that ETHER and INGY were tied for 2nd place at 41)!
On CPAN Day 2014, I uploaded 317 distributions. NEILB had asked me earlier in the week to do a 21 gun salute, meaning that I do 21 releases on CPAN Day. I set up ZD to upload 21 releases in the first minute of CPAN Day. After that I used my
zild-massive-attack script, which looks through all my ZD-enabled repos for some particular issue I want to address, en masse. ZDMA puts me in a Bash shell for that repo and I do the fix and release it. All very Henry Ford automation style.
Last week I made a list of little things to Massive Attack, so I could see how much I could do. I aimed for 500 releases, but fell short. I only slept 4 hours and spent all my waking hours releasing dists. I even set up timed releases for every 1/2 hour while I slept.
All this was just good fun. I don't equate myself with the likes of MIYAGAWA just for passing him on the leaderboard. However, I now have no fear of doing 50 releases a day.