i've been writing webapps and glue code for ... a while now, and i'm at a point where it all feels like the same problems over and over again -- where i use the same solutions to solve them. while that can be a good thing, it's gotten rather boring ... i want to be learning; i don't want to just be a code monkey.

i'm sure others have hit this wall. the advice of "develop a pet project" is all fine and good, but ... i'd want to start trying out new modules, want to be using something new in the hopes of growing as a programmer.

the other 'issue' with just developing a pet project ... everything i can think of is YAWA ( Yet Another Web App ), so i'm not all that convinced i wouldn't just fall into the same old routines.

since many here are looking to learn, not just to 'make a living' or whatever, what kinds of things have you done to get out of the rut?

Replies are listed 'Best First'.
Re: feeling rather stagnant ...
by BrowserUk (Patriarch) on Jan 19, 2005 at 17:46 UTC

    Have a crack at every question that comes by in this place--before you look at other peoples answers. Then when your bored with problem, or run out of time, compare where you were going (or got) with what others did. And if you think what you have is a reasonable and a sufficiently different answer to those already posted--post it.

    There are such a variety of problems here that it takes you into all manner of interesting areas and modules. Eventually one or two of the problems, or types of problem, will become interesting enough for you to pursue it purely for your own sake.


    Examine what is said, not who speaks.
    Silence betokens consent.
    Love the truth but pardon error.
      i realize there are tons of problems, and with Perl, tons of ways to solve them. i *should* just hang out here more ... instead of hopping on when i'm stuck and/or 'bored' ( i.e. procrastinating ).

        Take a look at Generic RPN Translator available?, it's the most intersting problem today. What you would do with it when you've done--if you get that far--isn't really a concern. You'll learn something from the attempt anyway, and some of it will prove useful down the line.


        Examine what is said, not who speaks.
        Silence betokens consent.
        Love the truth but pardon error.
Re: feeling rather stagnant ...
by dragonchild (Archbishop) on Jan 19, 2005 at 17:53 UTC
    Go check out the Phalanx-100. Or, you can always /msg me - I can use help in a lot of my projects.

    Being right, does not endow the right to be rude; politeness costs nothing.
    Being unknowing, is not the same as being stupid.
    Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
    Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

      trying to write more tests for things has been high up on my list right now. i keep running into what feels like the same wall with code here @ work -- too dependent on Javascript for me to write a good test suite of the front-end code ... i've been playing with Test::WWW::Mechanize recently, and it's good stuff ... but the bugs i set out to test ... couldn't be replicated because of the d*@#ed Javascript.

      so, the Phalanx-100 might be something i can jump into, depending on the time commitment, and how much 'learning time' i can con the bossman into. ;-)

        Check out the Web Application Testing In Ruby project. Learning a little Ruby has drastically improved my OO understanding, I'm doing effective test automation of an all-Javascript-in-frames UI, and I *still* need Perl to glue the whole thing together.
        FYI - I'd look at JSUnit, if you want. :-)

        Being right, does not endow the right to be rude; politeness costs nothing.
        Being unknowing, is not the same as being stupid.
        Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
        Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

Re: feeling rather stagnant ...
by fergal (Chaplain) on Jan 19, 2005 at 20:52 UTC
    You're a programmer, you write code to eliminate repetitive tasks. If one of those tasks is writing code then you may well be able to write something to do it for you. Have a look at some of the method maker classes on cpan, figure out how they work and see if you can apply it so that the glue code writes itself.

    For example if your glue code is just delegating method calls to some other object you could transform

    package Foo; sub method1 { my $self = shift; my $object = $self->{object}; $object->method1(@_); } sub method2 { my $self = shift; my $object = $self->{object}; $object->method2(@_); } sub method3 { my $self = shift; my $object = $self->{otherobject}; $object->method3(@_); }
    into
    package Foo; use My::Delegator qw( method1 => "object", method2 => "object" method3 => "otherobject" );

    There are lots of other repetitive coding tasks that can be automated once you know how Perl deals with methods, code references and all that.

    One thing is that Perl isn't perfectly suited to automated coding, something like lisp is and you can essentially produce what seems like magical result with lisp macros. So maybe your particular form of repetitive coding is not easily eliminated with Perl.

Re: feeling rather stagnant ...
by redlemon (Hermit) on Jan 19, 2005 at 20:10 UTC

    I go and learn a new programming language. I Checked out ruby, python, haskell, lisp, prolog, even visual basic in the last years. Oh and there's lot of fun to be had with esoteric languages

    While I always come back to perl, I've most of the time learned something valuable, even if it's just why I like expressing myself in perl.

      i thought about that as well ... it never hurts to add another tool to the toolbox.

      i should brush up on my *shudder* Java .....

Re: feeling rather stagnant ...
by perrin (Chancellor) on Jan 20, 2005 at 04:55 UTC
    Over the course of your time with perl, you've probably thought of things that your favorite modules could be better. Maybe you even had to work around issues in some of them. How about spending some time trying to improve them? Working on other people's code always teaches you things.
Re: feeling rather stagnant ...
by dimar (Curate) on Jan 20, 2005 at 02:34 UTC
Re: feeling rather stagnant ...
by zentara (Cardinal) on Jan 20, 2005 at 11:54 UTC
    Start writing the book.."Mastering Gtk2-Perl"...they really need some easy to read docs. Graphics programming is a good "rut eliminator". :-)

    I'm not really a human, but I play one on earth. flash japh