I am slowly returning to playing with Perl and have wondered how people stay motivated if Perl isn't their job?
Perl for me is like a second language. If you don't use it; you start to loose it.
My job really doens't require a great deal of Perl. Probably could use it here and there
So what do people do? Do you simply pick something like DBI or ojects and see what you can do? Do you simply pick up a book and dive through it? Do you take examples from here and try them out?
I guess I have a slight case of burnout and looking for some ideas I haven't considered.
I only have this issue with one language: C -- which I rarely use, don't much like using, don't much like, but still want to remain somewhat familiar with. I've remained familiar with it by habiting Freenode ##C , which conveniently has some regulars who I like talking to about non-C subjects in between C questions. On a C question, I answer or otherwise help the questioner (... ask a better question) until someone more knowledgeable notices.
For Perl, Freenode #Perl seems like it would offer similar opportunities. You can also answer questions here, of course :-)
From time to time in the (somewhat distant) past people have asked me if they should learn Pascal or C. My answer was generally "If you will be using it at least once a week learn C, otherwise learn Pascal". My justification was that C (and more so C++) was a more useful language, but the operators and quirks were harder to remember, whereas Pascal could be picked up more quickly and understood in large part without even knowing the language.
These days naturally I'd recommend Perl - so long as you have access to PerlMonks. :)
Youre not seriously suggesting that Perl is less quirky than C, are you? :-)
Makeshifts last the longest.
Perl has DWIM, what more could you need?
A reminder of what it is that you meant, when you next look at the code six months from now. DWIM is great, but it needs to be taken advantage of with great restraint.
Makeshifts last the longest.
If one is not using a language, either on the job or for personal things, then I'm not sure why one would need to stay motivated at all. I also don't think you loose what you learned about the language - you may become rusty and not up-to-date on the latest stuff, but I suspect you could easily pickup some code and still understand it.
I think that if you like a language and it interests you, you'll have whatever motivation is needed to keep your fingers in it, whether by writing personal stuff or hanging out in places like PerlMonks. And, if you don't really like or enjoy the language, what's the reason for wanting to stay motivated about it?
Scott
Well; loose it was the wrong choice of words. Rusty is a better description and that is what I have become.
I guess I am looking for ideas as I have not coded for awhile. Hanging here is a good idea. ;)This is a difficult question. For one thing, what purpose would it serve to motivate yourself to use a language you don't need for work? If you don't already find yourself motivated to play with it, then it's just not fun for you right now.
One suggestion for getting interested might be to try to find some program that the world seems to be missing, that you feel you could write in Perl. The idea is to have fun - so plowing through a book probably won't do it. It seems more fun to just go ahead and try stuff, and use the books for guidance when you get stuck. But everyone has a different style of doing things...
Hmmm. You know I have been wondering if there was a way to list out and disconnect shares that a user has mounted. Servers change and users seem to not want to drop the old ones. ;)
However, you are right. I am a still motivated if I am hanging out here again.
Guess I needed a polite boot to the behind!
I'm also someone not hired to do Perl. But I love the language.
In times of no Perl at work, I have kept up my interest by getting involved with open source projects outside of work. I have 10 modules on CPAN, and I am one of the main developers of OpenGuides. Ymmv - your employment contract and/or your countries laws may get in the way.
I also hang out on IRC (ivorw) on #perl and #london.pm, and attend meetings of London Perl Mongers. I can recommend Perl monger social meetings as a good place to bounce ideas, listen to ideas, and get remotivated about Perl.
--
Oh Lord, wont you burn me a Knoppix CD ?
My friends all rate Windows, I must disagree.
Your powers of persuasion will set them all free,
So oh Lord, wont you burn me a Knoppix CD ?
(Missquoting Janis Joplin)
So what do people do? Do you simply pick something like DBI or ojects and see what you can do? Do you simply pick up a book and dive through it? Do you take examples from here and try them out?
I'd say you need to find a project. That could be something just for you -- e.g. I've written my own photo-album cgi and my own RSS aggregator script.
Or it could be a community project. This is good if you know that you're the kind of person that needs a community of programmers to help keep you motivated. Pick some Perl-related project and devote a few hours a week to it. If you want to be bleeding edge, hack on Pugs. Or maybe organize a Phalanx project. Or focus on a community project like PPI.
Or find a product that's cool and runs/runs-on Perl and hack it. For example, the Squeezebox server is written in Perl and you can use Perl to customize it, write plugins, and so on for a very cool piece of hardware.
The point is that Perl is just a tool -- so if you want play with that really cool, well-balanced, TIMTOWTDI hammer, just start looking for some nails in your life that look interesting!
As a backup plan -- visit here often. Reading and solving other people's problems is a great way of staying connected to the language if you can't manage anything else.
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
The project approach might be the way to go for me as the job can only go so far. I had scripts that handled the Sendmail managment but now we changed over to an appliance and it was decided to abandon the scripts for the built in gui. A s mentioned there is only so much.
Pugs looks interesting I will probably lurk around that for awhile The same for PPI. The link for Squeezebox doesn't work.
Thanks!
I am kept motivated by helping other people further thier education into perl. If not through this site, then poeple asking random questions. Even if I don't know the answer, I know where to look and can often have a snippet of code or answer wipped up with in just a few minutes.
#!C:/Perl/bin/perl.exe -w
# Program.. : Iterate.pl: iterate over dir.tree and prefix files with dir-name.
# Function. : Recurse from current dir; Prefix each "WrappedXml.{0,9}\.xml"
# file with immediate subdir and copy this file to current/. dir.
# Usage.... : Call Iterate.pl in the root of the dir tree to scan.
# Ref...... : HOP Ch.4: Iterators
# History.. : 040306 - Allan Dystrup, Ver.0, AND/KMD EDPI
# ===========================================================
use strict;
use warnings;
use File::Copy;
### -------------------------- Util -----------------------
sub Iterator (&) { return $_[0] }
sub NEXTVAL { $_[0]->() }
### -------------------------- Iterator -------------------
sub interesting_files {
my $is_interesting = shift;
my @queue = @_;
return Iterator {
while (@queue) {
my $file = shift @queue;
if (-d $file) {
opendir my $dh, $file or next;
my @newfiles = grep {$_ ne "." && $_ ne ".."} readdir $dh;
push @queue, map "$file/$_", @newfiles;
}
return $file if $is_interesting->($file);
}
return;
};
}
### -------------------------- FileMask -------------------
sub is_WrappedXml {
my $file = shift;
return 1 if $file =~ /WrappedXml.{0,9}\.xml/i;
return;
}
### -------------------------- MAIN -----------------------
my $WrappedXml_file = interesting_files(\&is_WrappedXml, '.');
print "Copying xml instances :\n";
while (defined(my $file = NEXTVAL($WrappedXml_file))) {
my $newfile = $file;
$newfile =~ s#/(WrappedXml.{0,9}.xml)#\-$1#i; # subst / -> -
$newfile =~ s#.*/(.*)#$1#; # zap base dir
print "\t$file\n\tCopy -> .\\$newfile\n";
copy("$file", ".\\$newfile") or die "Error copy: $!";
}
I had some health issues taking up my interest, but they are fixed and I'm starting to look again seriously about now.
Mostly a love of the language; it works so well, despite the insanity. It is both funny and fun. (Does that word game work in English?)
Reading and going to conferences was another thing that helped.
Actually, I got the organization of YAPC::EU::2005 while I was working there :-)
I guess the trick is enjoying what you do... I mean, not your job, enjoying what you're doing and where you're going with Perl :-)
My advice? If you don't have one, get a PAUSE account and start uploading :-) Also, get a user at use.perl.org and start posting there :-) Try new things! :-)
For me that's an easy question to answer. It is the same way I stay motivated to mess about in C, Java, HTML, JavaScript, C++ and assembler. Sometimes all at once in a single day.
For instance: one of my pastimes is hacking around with microcontrollers. Mostly Z80s, Basic Stamps, PICs of various types, and the 8051 family. To that end I am messing around with writing a plugin for Eclipse to provide IDE services for SDCC just because I can. If I like my end product (if there is ever an end product) I may even make a http://www.sourceforge.net project out of it and let other folks join me in my fun.
I also have a very active imagination and for that reason can always think up a new project to work on and therefore I'm never bored. Some of my projects (a lot of my projects) are totally impractical and a complete waste of time. At least on the surface. If you can learn something while tinkering around, even better.
One of my long-term projects is to build my own brewery. That one project has spawned off dozens of sub-projects for all kinds of gadgets incorporating mechanical skills, electronics skills, woodworking skills (I suck at that) and most importantly my programming skills.
It's easy for me to stay motivated.
General IT git. e-mail, network, windows, unix, anti-virus/spam/spyware, and heading back into security.
I pick a problem that requires an overwhelming amount of drudge work to get done and solve it with Perl. Paying bills is one - there are modules you can use on CPAN to interface with your bank. Munging pictures is another. Unfortunately, I have not had much luck with getting my Laundry.pm module to pass the test suite yet, so I still have to do laundry by hand...
Hmmm another PM idea. I started toying with something to monitor and cleanup dead user mounts on the windows boxes. servers change and people for whatever reason keep dead mounts around.
Hmmm laundry.pm? ;) I wonder if somebody attempted a girlfriend.pm? :p
perlmonks.org content © perlmonks.org and ady, Aristotle, artist, ayrnieu, BerntB, blue_cowdawg, cog, GrandFather, helphand, Marza, mikeock, redhotpenguin, rinceWind, spiritway, wazzuteke, xdg, zentara
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03