I've just been learning perl and becoming acquainted with perlmonks within the past month or so, and I have a comment or suggestion or whatever you'd like to call it from a newbie's point of view. How would you experienced guys suggest someone get involved in the community or on some project? I've seen questions like this before where the answer was "Look on sourceforge for perl projects", but I'm going to have to disagree. As someone who is still trying to get his mind over things like regex's, not to mention any kind of complicated data structure, most projects of any merit are still well over my head. Sometimes I even feel like this site is over my head. That's not to say I don't enjoy it here, because I do, or I can't get my questions answered, because I have (and promptly!), but I don't really know how to get involved in a lot of the discussion or post anything but relatively simple questions because I am so new to the community. So, how would you all suggest a newbie get involved? Or, how did some of you who seem to know almost all the answers get involved when you were first starting?

Replies are listed 'Best First'.
Re (tilly) 1: Newbie Involvement
by tilly (Archbishop) on Nov 28, 2000 at 08:15 UTC
    Documentation and testing.

    Really.

    Try to read documentation and test various modules on CPAN. In the process of reading the documentation, note anything you had trouble understanding. Then come to places like here, and clear that up if need be. Then contact the module author with clarifications that you feel would be good. Actual patches are good. (Speling eerors R ez tu fax.)

    In the process you will probably learn enough to take the next step.

    Oh, and trying to answer questions somewhere like here (and sitting back and considering the corrections you will get!) will probably help as well...

Re: Newbie Involvement
by extremely (Priest) on Nov 28, 2000 at 08:08 UTC
    I recommend you start out trying to do something really monumental that interests you. After a few days of tinkering with it post your first draft here and 5 or 6 people will immediately tell you who has already done it better but would like some help. =) =) =)

    More seriously, find a project that interests you and then try and find a module that does what you want. If so tear it apart and learn. If you can do it better or want it to do something differently, offer to work with the other author or send em patches or write your own module. I don't think you can just leap in and start whacking code on a site. Find something that you want to do and then look for others doing something similar.

    If you already have a specific set of topics in mind, ask here. The monks are pretty hooked up with what others are working on.

    --
    $you = new YOU;
    honk() if $you->love(perl)

(kudra: coding projects are only one way of being involved) Re: Newbie Involvement
by kudra (Vicar) on Nov 28, 2000 at 17:28 UTC
    A lot of the answers have focused on how to get involved in coding projects and I think if your goal is to improve your coding projects are a good place to start.

    But there's another side to the 'community' aspect of Perl, and it sounded to me like you were looking for ways to be involved in that, not just in projects.

    If there's a local Perl Monger's group, you could attend some meetings, and you'll probably find stuff that needs doing that requires enthusiasm, not expert programming skills. For example, at Amsterdam.pm we have projects that involve translation, writing, HTML, organization, etc. None of these will improve your Perl skills, but if you are skilled in one of these areas, your local Perl Mongers can probably put them to use in a way that will benefit the Perl community.

    Or, if you want to learn some code in the process and help Perl Monks specifically, you could consider a fairly unknown or undocumented module and try to learn as much about it as possible by reading the code and testing it. When you see something in the code you're unfamiliar with, take time to explore the concept. Then you can write a tutorial or documentation to share the knowledge with other people.

Re: Newbie Involvement
by jepri (Parson) on Nov 28, 2000 at 08:46 UTC
    There are some ideas you might want to check out in this thread: What was your first program?

    In your post you seem to keep switching between your natural desire to work on projects of merit and your desire to learn the basics. You can do both at the same time, but basically you just have to program something every day. It's kind of like working out at the gym everyday, but for your mind.

    Most people seem to have started by programming a tank game *grin*. Many seemed to have hacked up current games or programs, or attempted math challenges. I remember when I started I wanted to write the most excellent program that everyone would use. I still wouldn't mind doing that *grin*. But I developed my skills writing a whole bunch of little programs - usually reimplementing something someone else did. Scrolling text marquees, text editors, text adventure games and then onto little graphical games.

    As to getting involved... no program's going to be useful unless it fulfils a need. If you wanted to help the open source movement and get experience you could start by reimplementing some simple commercial utilities. If you wrote a utility to convert MSWORD files to Latex or SGML I'd download it and use it heavily. That would certainly develope your perl skills too.

    If you don't want to start anything yourself then you can (yes I know you don't want to, but what are your other options) check sourceforge for a stalled perl project. One such is Internet Imperialists which would possibly be very popular if someone added a few more features. At least, every time someone mentions SRE on ./ every one posts "I'd love to play a game like that".

    ____________________
    Jeremy
    I didn't believe in evil until I dated it.

Re: Newbie Involvement
by repson (Chaplain) on Nov 28, 2000 at 07:47 UTC
    Maybe perlmonks could have a projects section. This is something I would personally be interested in as well.

    This could consist of ideas for things to make with Perl for monks of all levels. Maybe with seperate sections for different levels of people ie Perl users, adepts etc.

    People could add items crafted to teach people about aspects and modules of Perl in ways that Tutorials can't manage. These might be based on projects people here have done for work or just ideas for filling up a bored weekend/holiday while attaining enlightenment.

    Then when people have had there go at doing the project they could be provided with links to other people's solutions to similar problems.

    Or maybe i'm just rambling pointlessly.

      PM has had multiple types of Quests in the past. I think that many of us have also focused on isolating activities that higher ranked members of the monastery could participate in while leaving the lower ranks out. In a similar vein, having a "Project Quest" open to only acolytes and lower would be a chance to let these folks shine. Of course the higher ups would participate by "judging" by way of votes. This would also be useful in that it allows the lower monks a chance to possibly find a friend and mentor. Thoughts?

      ALL HAIL BRAK!!!

      That sounds like a great idea.

      Tutorials are great and all, but I don't think anything is a substitute for coding and/or seeing others' (well-commented?) code.

Re: Newbie Involvement
by zigster (Hermit) on Nov 28, 2000 at 15:06 UTC
    I think your original advice was probably sound, the difficulty is taking the first step. The problem is everything is hard until you know it, then all of a sudden it is all very simple and obvious. The trick is realising this. In my experience of OS projects they are crying out for people to do 'stuff' as long as those people are committed. Exactly what you can do will depend upon the project, to start with documentation (tiss dull but it gets your head into the project) is a good way to go.

    I would suggest taking a big jump find a project on source forge that interests you and joining their mailing list, offer your services and see what happens.. you may surprise yourself. You have nothing to lose, if you are honest about your experience then no-one can as more.
    -- Zigster
      To the extent that the problem that everything is hard until you know it, I'm going to disagree. Hard is the wrong adjective to use, and albeit a semantic disagreement, it is an important semantic choice. Perhaps, it is the most important choice, but that is for pundits to ultimately decide.

      I think the real issue, and one which I am working on daily, is that the solution is dull until you know the language, then all of the sudden it is very vibrant and creative.

      I think that what causes us to think something is very "hard" is that we equate simple with dull. I'm not talking about using the advanced features of the language to do something simply. I'm talking about using simple, almost elementary, commands to achieve the task. This is dull. But we know we can achieve it this way. We also know that this code does not impress many people.

      So, the suggestions that you pore over as much code as you can and tear into documentation like it's a big juicy steak are the best ones out there to teach you those vibrant solutions and perhaps even why it is the best solution.

      ALL HAIL BRAK!!!

Re: Newbie Involvement
by curtisb (Monk) on Nov 28, 2000 at 22:06 UTC
    One way to get involved is in the CB. Don't be afraid to speak your mind. Everyone is here to help each other learn from each other.
    The idea about a projects area is good. Then all perlmonks can post diffrent types of projects. If someone needs an idea of how to do something, they might be able to find it in the project section. So I agree with have a project area.
    Above all, be mindful of what you post.
    curtisb - "Use the Force, Luke!"