Call for collaboration: mini-article series on object systems and Dist::Zilla plugins

Aside from the mini-article series on option parsing modules that I have recently completed, there are two more series I currently have in mind: one on object systems (Moose, Mouse, Moo, Mo, Object::Tiny, Class::Accessor, and so on) and another on Dist::Zilla plugins. However, as I don't feel familiar with many of the modules or plugins, I think it would be nice if more people could write the articles.

The format of the series is 24-25 (mini-)articles, each comprised of minimum 250-300 words, 3-5 paragraphs. This is equivalent to the amount of text of a typical essay one is expected to write in a TOEFL test in 20-30 minutes time. So it should relatively easy to write even for non-native English speakers. I personally find that writing a blog post in 30-60 minutes time is ideal: it can be done in one sitting and does not take too much time to interrupt your daily work. It can even be done during a break. There is no maximum length limit.

Each article should discuss or review a single module. Ideally the author of the article is not the author or (co-)maintainer of the reviewed module. The article should first describe the module (its brief history, popularity, position in the CPAN river) then proceed to discussion on the user interface and design of the module and finally close with the author's overall view on the module (whether the module is well designed, whether the module is useful to her, whether the module is worth using compared to other modules).

If you are interested in collaborating, please contact me at perlancar gmail. I expect the series on object systems to be posted on Feb 1st, 2017 and the series on dzil plugins on Apr 1st.


12 thoughts on “Call for collaboration: mini-article series on object systems and Dist::Zilla plugins

      • I have not updated the list since the date in the header, 2012-11-16. Frankly, even compiling the list exhausted me.
        As for favourites, yes indeed – Moo. I use it everywhere now and just ignore the alternatives, meaning I have other things to do. See e.g.
        As for articles, I’m reluctant to spend the time since I assume each person is committed to their choice, otherwise (seriously) why haven’t they switched, e.g. to Moo, already? There have been various such articles over the year, usually cast as comparisons all in one article, but the typical response is ‘I use X because …’, which tells me something I suppose, but I’m not intending to change, and the authors’ of such replies clearly aren’t, either.
        The other thing which would be good to see in your series, is in each article a link to the previous, not just to the first.


        • First of all, not everyone who will read the article will have already made a decision on what object system to use. Second, even if they have and the articles won’t change their mind, it’s okay because the goal of an article or an argument is not always persuasion 🙂 Third, true, previous module comparsion articles have been written. But new modules are written everyday and older modules get updated. I personally find it rather exciting looking for new and interesting module, it’s like unboxing a wrapped toy. It could turn out to be a hidden gem or an utter crap, but nevertheless 🙂


  1. A few weeks ago I actually have written an article on Object::Tiny and another on Class::Struct. And I have these modules in my draft of the line up (which I expect to change radically later):

    day 0: prologue
    day 1: Object::Tiny
    day 2: Class::Struct
    day 3: Class::Tiny
    day 4: Class::Accessor & Class::XSAccessor
    day 5: Class::Accessor::Array & Class::XSAccessor::Array
    day 6: Object::Simple
    day 7: Class::Tiny::Antlers
    day 8: Simple::Accessor
    day 9: Role::Tiny
    day 10: Evo::Class
    day 11: Class::Std
    day 12: Class::Accessor::Tiny
    day 13: Class::Accessor::Lvalue
    day 14: Class::Base
    day 15: Class::Builder
    day 16: Class::Declare
    day 17: Class::Easy
    day 18: Mojo::Base & Mojo::Base::XS
    day 19: Mo
    day 20: Moo
    day 21: Moos
    day 22: Moose
    day 23: Mouse
    day 24: Moops
    day 25: epilogue


      • Thanks, added to the list. I also added Dios (this one is based on Object::InsideOut), as well as alternate implementations of inside-out objects like Hash::Util::FieldHash (core and the base for MooseX::InsideOut and MooX::InsideOut), Class::InsideOut and OO::InsideOut. In particular I’m interested in how Object::InsideOut compares to Hash::Util::FieldHash.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s