471 karma · joined February 4, 2009
Honestly, I wish there were more people doing posts about recreational programming topics. WhyTheLuckyStiff was one of the last great recreational Rubyists. I miss that kind of no-holds-barred exploration.
You can see my problem, hopefully. Ambiguity in language has been the downfall of more than one well-intentioned presenter!
It is also particularly interesting to me as a way to explore the features and syntax of a programming language. Maze algorithms are handy (and entertaining), but any algorithm would do. The idea is to implement the algorithm in the language of your choice (preferably one you are are not experienced in) and see how the language lends itself to the implementation.
Naturally, not everyone will share either of these interests with me. But I'm okay with that. :)
I'm running a Mac Pro with 8 cores, so there is a fair bit of parallelization I can do locally too. Unfortunately, the tests all depend on the database, and while I can certainly use tools like deep-test to spin up separate DB's for each worker, I've found that doing so adds a full 60 seconds to the test run. I fear that until we eliminate the database from (most of) our tests, super-fast runs will continue to elude us.
CI and distributed tests are good things, no question, but I'm still looking for ways to make it possible to run my tests locally in TDD-fashion. I'm far from out of ideas, it's just a matter of making time to experiment.
I actually used a website for handling feature requests and patches (lighthouseapp.com), and it worked great. But even the best tested patch for a known bug still needs review. It needs to be applied and tested locally. It needs an update to the ChangeLog. And eventually it needs to be bundled and released, each new release requiring (at minimum) some release notes and a blog post announcing it.
It was a bunch of little things that got more and more annoying. I would have loved to distribute the load across more devs, but aside from a few who would review patches on specific topics (Scott Chacon, for instance, helped with git issues), it was all me, all the time.
However, ultimately, if every project said "no" to every feature the developer did not personally need, there really wouldn't be very many widely-adopted projects. They key is balancing patches that you don't personally need against your vision for the product: and I did have a vision for Capistrano. It just wasn't really clearly defined, especially early on, which is why I regret some of those patches.
It was definitely a learning experience all around.
As for the "Hey, anyone interested" blog post: I've tried that before, on other projects. People don't respond to those. No one volunteers to be hit on the head with hammer repeatedly for no other compensation than a few slaps on the back. You have to really, really, REALLY want to do it, and a blog post is a bad way to ask for passion. Passion is discovered when you realize you need something, and it's not there (or not ENOUGH there). By dropping out, I've created an environment where people have to really examine their use of Capistrano and decide how passionate they are about it. Passionate enough to pick up where I left off? We'll see.
My decision was the right one. I stand by it. There has already been a post on the mailing list by a couple of programmers who have the credentials and the passion, and are willing to carry the torch. Maybe they would have responded to a blog post. Maybe not. But they've responded now, and now the community can either support them, or look elsewhere. My official sanction has nothing to do with it.
I am sorry you (and a handful of others) are frustrated. I wish it hadn't come to this. But honestly, it's not my problem anymore. (And my! How wonderful to be able to say that!)
Even if no one steps forward, would that be so bad? Capistrano works perfectly well for the vast majority of folks. It's not like I'm leaving behind a legacy of mostly-broken software. :)
I've never made any promises about the project. I never claimed that I would be around for ever. I never said I would ignore questions, either -- just that I would ignore emails sent directly to me. But I'm going to remain on the mailing list, and will remain about as responsive there as I have (and I'm, by far, the most frequest poster there).
Also, modules aren't monkey-patching. :)
http://en.wikipedia.org/wiki/Monkey_patch
Lastly, the modules referred to in the article were added statically, not dynamically. We don't use a lot of dynamic module inclusion (though we do it some).