Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^5: New Section: Obfu Art Gallery? (change)

by demerphq (Chancellor)
on Apr 23, 2004 at 12:55 UTC ( #347602=note: print w/ replies, xml ) Need Help??


in reply to Re^4: New Section: Obfu Art Gallery? (change)
in thread New Section: Obfu Art Gallery?

We've been trying for years to get PM development improved and moving along. We've made a lot of improvements and we've also taken a lot of steps that didn't do much good (at least not yet). So every once in a while we get a flurry of changes. The backlog of things that really should be done is huge.

I think this is somewhat of a vicious cycle. Unless there are Gods that have the time and the inclination to actively shepherd pmdev I think its inevitable that new code comes in flurrys and that we will end up with a backlog. Developing to unstated guidelines (code quality expectations), with minimal (constructive) feedback is as you know extremely difficult and can be quite frustrating for the people involved. If you post a patch and then never hear anything, or observe that of the posted patches only a small number have had any form of feedback you quickly become disenchanted with the process and eventually give up. As for debating code in pmdev why bother if the perception is that the odds are such that regardless of the debate the code won't get applied anyway?

Of all the things that have been done to pmdev the only one that I think will have any real effect and alas also one I've not seen yet attempted is the addition of a god that dedicates themselve solely to dev related issues. Such a god should not participate in other godly duties, and should step down when/if they can no longer dedicate the required time.

My position on all this is well known to you, and im not replying to rehash the CB chat we had recently. I recognize that the gods have lives too, and cannot currently respond to patches as they might wish. However I think its important to realize that this situation is fixable by finding the right person or people to manage pmdev who do have the time and inclination.

Anyway. Ill keep posting patches regardless I suppose. At the very least nobody on the site can tell me to post a patch when i bitch about stuff. :-)


---
demerphq

    First they ignore you, then they laugh at you, then they fight you, then you win.
    -- Gandhi



Comment on Re^5: New Section: Obfu Art Gallery? (change)
Download Code
Re^6: New Section: Obfu Art Gallery? (change)
by tye (Cardinal) on Apr 23, 2004 at 16:26 UTC

    Thanks for the feedback. I'll just throw this response out rather bluntly. I appreciate your motivation and I'd like to point out that I'm not upset by your arguments. If I say something strongly below, it isn't out of frustration or hurt feelings, it is trying to make a point several ways in hopes of getting the point across without spending even more time composing.

    Of all the things that have been done to pmdev the only one that I think will have any real effect and alas also one I've not seen yet attempted is the addition of a god that dedicates themselve solely to dev related issues.

    Actually, I've done that, hmmm, 3(?) times so far. Plus I've tried to do it several more times than that.

    One of the things that made a real difference was providing more ways for pmdev to test their own code. You probably noticed part of the improvement, but I don't think you noticed a big part of the difference. A bunch of your patches that got applied would still not be applied right now if that hadn't happened.

    [They] should step down when/if they can no longer dedicate the required time.

    By that same argument, since pmdev has no purpose but to propose patches, shouldn't members resign if they haven't proposed a patch recently? (: Actually, I feel the same way. I'd prefer that members of all of the privileged groups resign if they notice that they no longer perform the duties (for a lot of reasons). But that has rarely happened and the times I've hinted at "cleaning up" any memberships, the resistance was pretty clear, understandably. I'm not sure what major benefit there would be to such a policy on member behavior, though.

    Such a god should not participate in other godly duties

    I really don't see "other godly duties" as being a distraction preventing development work. There just aren't very many other godly duties. I certainly don't do much that is "godly" other than occasional flurries of development. For example, I've got my third copy of the same "/msg" suggesting a new poll because I haven't done a thing with the first two copies of it in the past week(s). The other day, I saw one of those rare "godly" things that I felt should be done. I searched out Petruchio for feedback and we parted with him apologizing for not helping out much and my response was "none of us help out much", because I don't help out "much" either lately. Of course, I haven't actually done that "godly" thing it yet.

    Developing to unstated guidelines (code quality expectations), with minimal (constructive) feedback

    Yep, that's one of my frustrations with pmdev, they hardly ever comment on each other's code quality, design quality, or provide constructive criticism (it usually boils down to one person saying "looks good to me" -- something that I nearly ignore since it doesn't convince me that real consideration was put into it). Oh, you were trying to criticize gods there, weren't you? If only gods do this kind of stuff, then I don't think there will ever be much use for pmdev, we'll just have to keep adding people to gods if we want them to write code (and that won't scale). Sure, gods have some powers so "their votes matter more" (if you will), but if pmdev is going to work, it needs to contain members that think about broader design goals, code quality issues, etc.

    Only gods can apply patches. This means that it is important that pmdev try to have an ownership attitude and do as much of everything else as possible. And we could try to keep adding gods until we get an active group of gods doing development (we had that for a short time, and restoring that was my goal years ago) but that will (again) be a short-lived improvement unless pmdev takes off during that little window of opportunity.

    And they need to listen to the feedback that they do get. One of your more recent patchings got comments from me and one member of pmdev. We both said that we didn't see the point...

    I completely see your points about needing more from gods. I used to feel guilty about not giving more. But when I started getting "grief", that pretty quickly ended that. I've never complained about any one volunteer not doing something fast enough. "I don't ask for schedules from volunteers. It doesn't do any good and it annoys the volunteers." I get rather annoyed when I see people asking Larry "when will Perl 6 be done". Duh. It depends. Do people really think there is a reasonable answer to that question?

    The solution to pmdev is for pmdev to take ownership of every development challenge related to PerlMonks and demote the gods to mere automatons who simply apply the patches that the pmdev community has designed, considered, discussed, written, tested, and agreed to.

    However I think its important to realize that this situation is fixable by finding the right person or people to manage pmdev who do have the time and inclination.

    And I nominate you. Go forth and shepard pmdev. I'm glad you're still fighting. Get an actual group in pmdev working together so patches have a consensus behind them so I or other gods can just apply the things instead of having to find an hour or more of time to concentrate on whether the design fits in, will have bad effects in the long run, etc.

    Maybe other gods feel comfortable applying patches without going through those steps. If they do, they mostly aren't. :) When I've tried applying patches without going through those steps, I've usually regretted it and usually ended up spending more time in the end as a result. So I usually don't apply patches lightly.

    It's been over a month since I've spent any time on PM development. I hope to get my development platform fixed again soon, but I'm not holding my breath. I also have several other things that, frankly, are more important and that have also been sitting too long in the to-do bin.

    Thanks again.

    - tye        

      Thanks for the feedback. I'll just throw this response out rather bluntly.

      The other day when I got all stressed out about this in the CB was the last day ill take this pmdev lark seriously enough to get offended by what is or isn't going on. :-) So no worries, I hope likewise.

      Actually, I've done that, hmmm, 3(?) times so far. Plus I've tried to do it several more times than that.

      I cant really respond to that. All I can say is Ive not seen any god take an active hands on approach to pmdev since ive been a member. As you said, we get flurries of activity when the stars align and a god thinks a patch is interesting and a pmdever has a patch to hand. There certainly hasn't been any sustained working of the group that I can observe.

      One of the things that made a real difference was providing more ways for pmdev to test their own code. You probably noticed part of the improvement, but I don't think you noticed a big part of the difference. A bunch of your patches that got applied would still not be applied right now if that hadn't happened.

      This is all true. You should also observe that as those patches were applied new patches were forthcoming. :-) I dont think people will commit any kind of sustained effort without continuing feedback, which why the pattern in pmdev has been as it has. Think of Linux or Perl development, there are a core of people who are commiting patches all the time.

      By that same argument, since pmdev has no purpose but to propose patches, shouldn't members resign if they haven't proposed a patch recently? (:

      Er, I think I should clarify that I meant the patch pumpking role. Not the god role. Presumably if your trusted to be a god then that is sufficient. Im thinking like some of the recent developments in perl porters, where Hugo had to for his own reasons pass on some of his duties. He didnt lose any powers or anything, he just made sure that somebody else was taking care of business as it were.

      Yep, that's one of my frustrations with pmdev, they hardly ever comment on each other's code quality, design quality, or provide constructive criticism

      I think people would be far happier to do so if the pattern showed that their efforts would result in applied code. But I also agree with your point here. People need to be more critical of each others work.

      Oh, you were trying to criticize gods there, weren't you? If only gods do this kind of stuff, then I don't think there will ever be much use for pmdev, we'll just have to keep adding people to gods if we want them to write code (and that won't scale).

      I was criticizing both groups and the overall system or lack of one. With respect to the gods (ie you pretty much) there is no clear DONT/DO statement. When I code I have to make certain decisions. Without general policy to follow I just have to go with my gut and hope that whatever tack ive chosen isnt going to be vetoed by the gods. When ive had issues like this ive sometimes /msgd you (or theorbtwo), but more often than not ive just muddled on, and dealt with rewriting certain things when I found out afterwards you didnt approve. As pmdev well, people should be more proactive about commenting on and patching each others patches.

      We both said that we didn't see the point...

      Well gee. I posted three sets of patches there. One that refactors some duplicate code as well as adds a somewhat wanted feature (folding Re:'s). Another that does something that people have asked for a number of times (full control of arbitrary html in the personal nodelet, as well as PM style linking), and one for myself that I personally wanted (designed to meet a fairly specific set of constraints determined by you). The "constructive criticism" was restricted to two people saying they dont see the point of the one I made for me. (A way to customize the links in the titlebar, similar to the personal nodelet but with special features specially associated with the titlebar.) Not only that, but all three were as tested on the test server as well as they could be. One comment I recieved said "it seemed too complicated at first glance" (referring to the title bar one) without I think considering why it was that way. The nodelet patch was far simpler because it could be. Anyway, im going to repost a simpler version of it later, in the hopes that eventually I'll be able to do what I want to.

      I don't really think "I dont see the point" is the greatest criticism. If a contribution does harm, or will materially affect the sites stability or whatever, then fine reject it on those grounds. But just because one doesnt see a need for the feature for oneself doesnt mean that others might not appreciate it. For instance in a lot of ways Id prefer to be able to customize the titlebar than do a personal nodelet. But I posted patches for both. :-)

      I've never complained about any one volunteer not doing something fast enough. "I don't ask for schedules from volunteers. It doesn't do any good and it annoys the volunteers."

      I accept this on one level for sure. But on another I think I should point out that I'm not asking for something that I wouldn't do myself. Although I can perfectly see myself being in a position where I had to state that I could no longer do so because of other responsibilities.

      The solution to pmdev is for pmdev to take ownership of every development challenge related to PerlMonks and demote the gods to mere automatons who simply apply the patches that the pmdev community has designed, considered, discussed, written, tested, and agreed to.

      IMO the solution to that is for pmdevers to post their patches in PMD. The general public can consider the code as a whole, as well as what it is meant for. The comments from the general populace would encourage pmdev to come to a consensus.

      And I nominate you. Go forth and shepard pmdev. I'm glad you're still fighting.

      Thank you. Ill try. Hopefully my choice of signature proves to be prophetic... :-)

      However this also means that the discussion and consensus must be followed up by action or itll never work. It also shouldnt need that many people to be involved. If a few participants agree and there are no outright objections then that should be sufficient. Otherwise itll never work. I think for instance that a clear idea of what constitutes a quorum is needed.

      so I or other gods can just apply the things instead of having to find an hour or more of time to concentrate on whether the design fits in, will have bad effects in the long run, etc

      These are the kind of policy guidelines that we need to know about. As for "does the design fit" well, that will come down to a mixture of things that can either be determined by policy, or are probably more aesthetic judgment calls than anything else and as such should IMO be debated in a wider context. Beyond that all we can say is that our stuff is tested on the test server and doesn't throw errors.

      I've usually regretted it and usually ended up spending more time in the end as a result.

      Well, one thing that would be cool is some way for you as a god to ensure that the equivelent patches as were here were also applied and current on the test server and didnt prove problematic. Its something I could work on if it seems like a step in the right direction.

      Anyway tye I'll keep contributing (by for instance paying for the test server enviornment with corion) as I can and as I enjoy doing so. Id like to take an active role in improving the site and adding features to it because I enjoy doing it, I learn from it, and I like that people enjoy the result. As you said in the CB one time (more or less) "I do it because its fun". If and when I feel that its not worth the effort I'll stop. Given that this is a site of developers I think we should be able to put together an active dev group. But ultimately that requires people willing to apply the patches.

      Cheers.


      ---
      demerphq

        First they ignore you, then they laugh at you, then they fight you, then you win.
        -- Gandhi


        He didnt lose any powers or anything, he just made sure that somebody else was taking care of business as it were.

        I was never assigned to be pumpking. I was assumed to be pumpking because I tried to apply patches, IMHO. And when I saw that not enough attention was given to the patches, I tried to get others to "take care of business" (and tried to take care of it myself). We can't just assign someone to be 'pumpking' without adding them to gods, because the ability to apply patches makes it trivial to become a god or to just do anything a god can do and even do it in ways that would be quite hard to notice and impossible to track.

        And I don't think it will work to say to someone "here is your throne, but you are only supposed to use it to change the lightbulbs that are too high to reach without the throne" (if you'll excuse the over-the-top analogy). But there's no way to change PerlMonks light bulbs without having a throne to stand on. I'd encourage you to produce a PerlMonks ladder except that I don't think such is reasonably possible.

        But ultimately that requires people willing to apply the patches.

        I'm willing to apply patches. I've applied patches. I will continue to apply patches. It's often going to take a long time for me to apply a patch if I haven't already seen it picked apart and put back together by others. I've only seen that done to a very limited degree so far.

        And you'll get more feedback from me if pmdev starts giving more feedback. It takes more time if I have to bootstrap the discussion and I worry that some counter arguments then don't get made since "the gods have already spoken".

        So you want a chicken and I want a nest of eggs. Which comes first? You have no power to create chickens, so start trying to make eggs. I'll keep working on chickens and eggs as I can.

        I continue to try to find the time, motivation, inspiration to direct pmdev more. When I get such, I offer direction to pmdev. Asking for more isn't likely to improve things much because the reason I'm not doing more isn't due to lack of desire to do so (not that you should stop asking, just don't use "I asked and didn't get" as an excuse for giving up).

        The only thing that gods have to do is apply the patches (because noone else can, not because that can't refuse to, obviously). If you've got the time, motivation, inspiration, then find the people to provide everything else. If you want someone added to pmdev, then nominate them. Someone asking me to put them in pmdev usually requires me to make a difficult decision. Someone already doing good work in pmdev asking for someone else to be added with a good reason makes the decision easy.

        Yes, I know that being in pmdev is hell frustrating. The reason I'm not doing much to fix that is not because I don't appreciate the problem and how silence makes it more frustrating.

        In hind sight, I think part of the reason I haven't steered pmdev more is that much of the time it looked to me like I'd have to do it with the driver's-side door open pushing it. When I see it rolling somewhere, I'm more likely to jump in and steer for a bit.

        Finally, a bit of a side point that I don't want to make a big deal out of but that gets back to this point.

        I don't really think "I dont see the point" is the greatest criticism. If a contribution does harm, or will materially affect the sites stability or whatever, then fine reject it on those grounds. But just because one doesnt see a need for the feature for oneself doesnt mean that others might not appreciate it.

        Who rejected anything? Just because you want something and have yet to find anyone else who expresses a desire for it doesn't make it a priority for me to put at the top of my list. ;) I haven't even looked at that patch... yet. I think both theorbtwo and I liked the idea of just a text box for HTML to be used as an alternate top menu and similar for the personal nodelet. The devil is in the details, of course.

        I wasn't trying to say that you ignored the feedback. I was more noting that I didn't think you gave much weight to the feedback that you did get compared to your demands here for more feedback. It seems to me that you mostly only gave weight to your perception of the patch being rejected.

        But, as I said, I don't want to make a big deal out of this. It was more an observation than a criticism.

        But, in future, one way to get more attention to a patch from me is to have multiple people involved in the design and work on the design to the point that there is a consensus. I'm not saying that will be easy. Posting to the pmdev wiki has a chance of just producing silence in response or non-criticism ("sounds good") or not-that-useful criticism ("what's the point?"). Posting to Perl Monks Discussions, IMHO (both from posting and seeing others post), often doesn't result in great feedback for this type of thing (for example, you often get a lot of dissimilar brainstorms for alternatives that don't fit together).

        But I'm a lot more inclined to steer when I see more than one person behind the vehicle pushing.

        Part of the problem of getting good feedback is that even most members of pmdev don't have a good appreciation for many of the design considerations of PerlMonks. I certainly didn't when I started. Did some chicken shepard me into my current understand? No.

        Would it be nice to have better documentation of technical details, coding standards, design guidelines, gotchas, etc.? Of course! Write some! I'd like to write some, but I can assure you it very little of that will manage to get to the top of my to-do list before you're tired of being in pmdev. We've already got some of this. I think the official pmdev to-do list has been touched just once in the last year.

        Thanks again. It's nice to see you "pushing this car around" (posting these nodes), but these replies have taken too much time so I'm checking out from steering (replying) to concentrate on my day job for a while. (:

        - tye        

      I'd prefer that members of all of the privileged groups resign if they notice that they no longer perform the duties (for a lot of reasons).

      tye,
      You have said this before and I totally agree. I should have done this the first time I saw you say that. I have sent a /msg to the gods explaining that I simply do not have the time to be an effective member of pmdev and that y'all can feel free to remove me from the group.

      I am not ready to give up on SiteDocClan. I will try to be a more effective member of that group. If I can not, then I will step down from that position as well.

      My pmdev membership has allowed me to quickly document some things that would have taken feedback from others had I not been a member but as long as SiteDocClan still has some pmdev members, we should be fine.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://347602]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (9)
As of 2014-11-26 18:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (172 votes), past polls