The Perl Geek Code
Modifiers
- @
- $
- >
- ()
- For this variable, said trait is not very rigid, may change with
time or with individual interaction. For example, Geeks who do a
lot of CGI for their job but really don't like it might choose to
list themselves as : C++@ (actually C++@$, see below)
- Indicates that this particular category is done for a living.
For example, o+++$ indicates that the person won the OPC and
gets paid for their obfuscations. If you are a professional
Perl programmer just add this to the first field (P) and to the
main areas you work in, like CGI, Sysadmin...
- for 'wannabe' ratings. Indicating that while the geek is currently
at one rating, they are striving to reach another. For example,
c+++>++++ indicates a core developer who volunteers to be a
pumpkin (not that this likely to happen...).
- for indicating "cross-overs" or ranges. Geeks who go from C+ to
C--- depending on the situation (i.e. mostly "C+") could use C+(---). @ is different from ()
in that () has finite limits within the category, while @ ranges all over
Generic
P Perl Programmer Stage |
|
See Seven Stages of a Perl Programmer for the detailed explanations of what the various levels. |
|
P* | Wizard |
P++++ | Guru |
P+++ | Hacker |
P++ | Adept |
P+ | User |
P | Initiate |
P- | Novice |
Perl Development
c Core Hacker |
|
c* | I am Larry Wall |
c+++ | I am or I have been a pumpkin |
c+++ | I am a core developer |
c++ | At least 3 of my patches made it into Perl |
c+ | I once had a patch |
c | I post on p5p |
c- | I read p5p |
c-- | I don't read p5p |
c--- | I sure don't want to mess with Perl development |
c! | I refuse to participate anymore in the mess that p5p has become |
c? | What is p5p? |
P6 Perl 6 |
|
P6* | I am a Language Designer for Perl 6 |
P6++++ | I attended the Meeting where Perl 6 was decided |
P6+++ | I am a Perl 6 Working Group Chair |
P6++ | I wrote at least one Perl 6 RFC |
P6+ | I submitted at least one refused RFC for Perl 6 |
P6 | I subscribed to at least one of the Perl 6 mailing lists |
P6- | I am not really interested in Perl 6, I'll deal with it when I see it |
P6-- | I still use Perl 4 here, limme alone! |
P6--- | I don't _want_ a Perl 6 |
P6! | Isn't Perl 6 called Python? |
P6? | Perl 6? There is going to be a Perl 6? Cool! |
Perl Skills
R Regular Expressions |
|
R++++ | I am Ilya or Jeff Friedl |
R+++ | I use ??{}, and ? |
R++ | I use ///e and I know the difference between //m and //s |
R+ | I understand "Death to DotStar" and when I have to use \1 instead of $1 |
R | I use regular expressions quite often but I am always a little uncomfortable with them |
R- | why can't you do tr/&/&/ ? |
R-- | regular expressions is a fancy name for line noise |
R! | I don't need no stinkin' regular expression, all of my data is XML |
R? | Regular Expressions? What the Heck is a Regular Expression? |
M Modules |
|
M++++ | I am Damian Conway |
M+++ | Some of my modules are part of the core distribution |
M++ | I have one or more module on CPAN |
M+ | I write my own modules and use them as much as I can |
M | I use modules from CPAN |
M- | I only use modules from the core distribution |
M-- | I don't like modules and I don't use them |
M! | I only write one-liners anyway |
M? | Modules? |
O Objects |
|
O++++ | I am Damian Conway |
O+++ | I have written a large application with OOP |
O++ | I have written an OOP module and know what @ISA is for |
O+ | I have written an OOP module, but never used inheritence |
O | I have used other people's OO modules |
O- | I've heard of OOP and would like to learn it someday |
O-- | I've heard of OOP and think its a joke |
O--- | I've never heard of OOP or don't understand OOP |
O! | I am Tom Christiansen |
O? | What? You mean Perl can be OO? |
MA Map |
|
MA++++ | I am Erudil or Randal Schwartz, I (ab)use map |
MA+++ | I use map as often as I can, including in void context, on purpose, and I know who will flame me for that |
MA++ | I use map quite often and I understand the Schwartzian transform |
MA+ | I often try to use map, but as soon as I have a problem in the code I replace it with a foreach |
MA | I know the difference between map and grep... in theory |
MA- | I read the description of map a while ago and my head still hurts! |
MA-- | Is map one of those obscure functions no one actually uses? |
MA! | Sure I can use a map, it's just that I can't seem to be able to fold it back |
E Eval |
|
E++++ | I am Erudil, 'nuff said |
E+++ | I use eval in AUTOLOAD methods to generate methods dynamically |
E++ | I use eval to generate subroutines dynamically |
E+ | I use eval and @! to catch exception |
E | I use eval every now and then |
E- | I know the difference between eval "string" and eval { block } |
E-- | I know that eval "string" and eval { block } are different and I avoid both |
E--- | eval is insecure, I don't use it |
E! | My company's coding standards don't allow me to use eval |
PU Pack/Unpack |
|
PU++++ | I use pack and unpack to speedup my sort routines |
PU+++ | A good JAPH (like mine) _must_ use pack |
PU++ | I use pack and unpack enough so that I never have to look at the doc |
PU+ | I use pack and unpack, of course! |
PU | I use pack and unpack, I just need to read the doc carefully each time I do |
PU- | I try to avoid pack and unpack, I don't feel real confident with them |
PU-- | pack and unpack? I thought they were deprecated! |
PU! | I pack and unpack my suitcase |
BD Bondage & Discipline |
|
BD* | I use Python for all serious code |
BD+++ | I use Class::Contract |
BD++ | I use pseudo-hashes to avoid auto-vivification |
BD+ | I refuse to use AUTOLOAD |
BD | I use -w and strict for anything but one-liners |
BD- | I use strict but warnings are a pain |
BD-- | strict? -w? Yeah right! |
BD! | I only write one-liners anyway |
C CGI |
|
C* | I gave up on CGI.pm a long time ago and use Apache::Request nowadays |
C++++ | I am Lincol Stein |
C+++ | I write (good) books about CGI and Perl |
C++ | I use CGI.pm, the Template Toolkit and HTML::Parser |
C+ | I use CGI.pm and the taint mode |
C | I use CGI.pm but I am not that sure my scripts are secure |
C- | CGI is best done with print and parsing CGI queries by hand |
C-- | I try to avoid doing CGI at all costs |
C--- | What's that CGI thingie anyway? |
C! | My company won't do CGI, it is not secure |
D DBI |
|
D++++ | I am Tim Bunce |
D+++ | I have written a DBD |
D++ | I have used DBI with at least 2 DBD's in the same program |
D+ | I have used DBI with at least 2 DBD's |
D | I use DBI always with the same data base |
D- | DBI? The mySQL/Oracle modules work fine for me thank you |
D-- | Why should I use DBI, flat files work fine for me |
D! | I don't need no stinkin' data base! |
S Sysadmin |
|
S* | I am Evi Nemeth, I don't need perl. *nix does what I want. period |
S++++ | I am David Blank-Edelman, I can use perl to do anything the system can do |
S+++ | I wrote the perl that automates all our system tasks |
S++ | I wrote some perl to check the logs and quotas and other daily maintenance |
S+ | I fixed the previous perl code after upgrading perl to 5.6, but didn't understand everything there |
S | I use perl to do daily maintenance |
S- | I know where the logs are, why do i need perl? |
S-- | I think i installed that, don't remember why... |
S--- | I'm sorry, where's the `on' button? |
X XML |
|
X++++ | I am Matt Sergeant or Clark Cooper |
X+++ | I have writen at least one of the CPAN XML modules |
X++ | I can tell how XML::DOM differs from XML::Twig and I use both |
X+ | I use XML::Simple or XML::PYX |
X | XML... that's on my TODO list |
X- | Yeah I know, XML is great, but why is it such a pain to use? |
X-- | I HATE XML, it is a creation of the evil empire to destroy us all, I am Jon Barger |
X! | We don't need no stinkin' XML, we got Data::Dumper! |
X? | I have lived in a cave for the last 3 years, what is XML? |
Community
WP Perlmonk |
|
WP++++ | I am Tim Vroom or merlyn |
WP+++ | I am a Saint |
WP++ | I am an Abbot or above |
WP+ | I have my picture on my homenode |
WP | I Can't vote yet, but I will soon |
WP- | I am not interested in Perl Monks |
WP-- | I am Princepawn |
WP! | Perl Monks promotes idolatry and adoring a false god. Down with Perl Monks! |
WP? | What is PerlMonks? |
MO Perl Monger |
|
MO++++ | I am brian d foy |
MO+++ | I founded and/or head a Perl Monger group or I am David H. Addler |
MO++ | I participate in at least 2 Perl Monger groups |
MO+ | I go to Perl Monger reunions |
MO | I am subscribed to a Perl Monger mailing list but I don't go to meetings |
MO--- | Me hangin' out with geeks? I don't need no stinkin' Perl Mongers |
MO! | There is no Perl Mongers group in my area |
MO? | What is a Perl Monger? |
PP #perl |
|
PP++++ | I am a #perl op |
PP+++ | I am a #perl regular |
PP++ | I answer questions (correctly) on #perl |
PP+ | I post questions on #perl |
PP | I occasionally visit #perl |
PP- | I have been berated on #perl |
PP-- | I am banned from #perl |
PP! | I don't use IRC |
PP? | What is IRC? |
n Usenet |
|
n++++ | I am a moderator of c.l.p.moderated |
n+++ | Not only do I post on all 3 c.l.p.m groups, I also monitor c.l.python! |
n++ | I read and post on all 3 c.l.p.m groups |
n+ | I read regularly c.l.p.m groups |
n | I read occasionally c.l.p.m groups |
n- | I rarely read c.l.p.m groups |
n! | I have given up on usenet in general and the c.l.p.m groups, they're useless |
n? | What is usenet? |
CO Conferences |
|
CO++++ | I am Nat Torkington, Kevin Lenzo, Leon Brocard or Damian Conway |
CO+++ | I have won a prize at TPC or YAPC (but I am NOT Damian Conway) |
CO++ | I have given tutorials at TPC or YAPC |
CO+ | I have given talks at TPC or YAPC |
CO | I have attended at least 3 TPC or YAPC |
CO- | I have attended at least once TPC or YAPC |
CO-- | I have never attended TPC or YAPC, my company won't let me go |
CO! | I have never attended TPC or YAPC, and I have no desire to ever do so |
CO? | TPC, YAPC what's that? |
Typically Perl
PO Perl Poetry |
|
PO* | Some features of Perl were designed so I could write Perl Poetry |
PO++++ | I wrote Coy or I am Kevin Meltzer |
PO+++ | I have been a judge in a Perl Poetry (or Haiku) contest |
PO++ | I have won a Perl Poetry (or Haiku) contest |
PO+ | I have participated in a Perl Poetry or Perl Haiku contest |
PO | I have posted Perl Poetry on PerlMonks, c.l.p.m or on my website |
PO- | I don't write Perl Poetry but I like reading it or I use Coy.pm occasionnally |
PO-- | Some people have _way_ too much time on their hands |
PO! | Do I look like I would enjoy poetry? |
o JAPH/Obfuscation |
|
o++++ | I am Randal Schwartz, I won the OPC, I am BooK, Abigail or Erudil |
o+++ | I participated in the OPC, I posted obfuscations on PerlMonks that have over 20 in rep |
o++ | I use a JAPH |
o+ | I wrote a JAPH but it is so pathetic I never use it |
o | Obfuscation is cool, I'm just not good at it |
o- | Obfuscation gives Perl a bad rep |
o! | I HATE obfuscation |
o? | What is a JAPH? |
G Goof |
|
G* | I am Larry Wall |
G++++ | I am Damian Conway, Michael Schwern or I have a Camel tatoo somewhere on my body |
G+++ | I won a White Camel Award |
G++ | I write programs that are valid in at least 2 languages including Perl |
G+ | I play Perl golf regularly |
G | Perl is fun, I try not use the most exotic features though, someone will have to maintain my code some day |
G- | I _never_ use $_ |
G-- | My Perl code looks just like C, I stay away from constructs that can't be found in other languages |
G! | I use Perl strictly for work, it's just another language |
A Abuse/Glue |
|
A++++ | Don't call my Perl OS a POS |
A+++ | I'm writing device drivers in Perl |
A++ | I'm writing a virtual machine in Perl (POE, Object Server, Turing-capable interpreter) |
A+ | I'm working on Inline.pm |
A | I've written code that someone compiled to bytecode |
A- | Writing portable code is hard enough |
A-- | You guys scare me |
A--- | I'm still trying to figure out anonymous functions |
A! | I read part of Slash code and switched to Python |
Environment
OL Other Languages |
|||||||||||||||||||
Sub Categories
|
|||||||||||||||||||
OL* | I am the creator of the language | ||||||||||||||||||
OL+++ | I _LOVE_ this language, way more than Perl | ||||||||||||||||||
OL++ | I use this language quite often and I like it as much as I like Perl | ||||||||||||||||||
OL+ | I use this language every now and then, it's OK but Perl still rules | ||||||||||||||||||
OL- | I have to use this language, it does not mean that I like it | ||||||||||||||||||
OL-- | I try to avoid using this language as much as I can | ||||||||||||||||||
OL--- | I _HATE_ this language, I will never use it | ||||||||||||||||||
OL! | I only use Perl anyway |
Ee Emacs |
|
Ee+++ | Emacs is my login shell!! M-x doctor is my psychologist! I use emacs to control my TV and toaster oven! |
Ee++ | I know and use elisp regularly! |
Ee+ | Emacs is great! I read my mail and news with it! |
Ee | Yeah, I know what emacs is, and use it as my regular editor. |
Ee- | Emacs is too big and bloated for my tastes |
Ee-- | Emacs is just a fancy word processor |
Ee--- | Emacs sucks! vi forever!!! |
Ee---- | Emacs sucks! pico forever!!! |
Ee! | Emacs sucks! |
Ee? | What is Emacs? |
Ev Vi |
|
Ev* | I am Bram Moolenaar |
Ev+++ | I write patches from time to time |
Ev++ | I write my own scripts to change behavior |
Ev+ | I can open multiple files and use shell escapes effectively |
Ev | I know how to do complex find/replaces (even using % instead of 1,$) |
Ev- | I can open a file and save and quit |
Ev-- | How do I start inputing text? |
Ev--- | How is vi visual? |
Ev---- | vi sucks, emacs forever!!! |
Ev! | vi sucks |
Ev? | vi? |
Eo Other Editor |
|||||||||
Sub Categories
|
|||||||||
Eo++++ | I wrote this editor | ||||||||
Eo+++ | I only use this editor to edit my Perl code | ||||||||
Eo++ | this editor is my favorite editor | ||||||||
Eo+ | I am happy to use this editor when I work on a machine that has it | ||||||||
Eo | I use this editor when I really have to | ||||||||
Eo- | this editor is a piece of crap and I try real hard to avoid using it | ||||||||
Eo! | I refuse to use this editor |
Operating System
u UNIX |
|||||||||||
Sub Categories
|
|||||||||||
u* | I am the author of the OS | ||||||||||
u+++ | I use this OS all the time, I know it inside out | ||||||||||
u++ | this OS is my main OS and my favorite | ||||||||||
u+ | I use this OS amongst others | ||||||||||
u | I use this OS amongst others | ||||||||||
u- | I have to use this OS but I don't really like it | ||||||||||
u! | Why would I care about this OS? |
w Windows |
|
w* | I am Bill Gates or Gurusami Sarathy |
w+++ | I work for Activestate |
w++ | I only use Windows, Windows Rul3z |
w+ | I mostly use Windows, I like it |
w | Windows, Unix, whatever, I write portable Perl anyway |
w- | I'd like to avoid Windows but I have to work with it sometimes |
w-- | It's such a shame I still need to boot Windows for games |
w--- | Windows? I read Slahsdot, 'nuff said |
w! | I might have to peel carrots all day but at least I don't have to do no Windows |
m MacIntosh |
|
m* | I am Steve Wozniack, Mathias Neubacher or Chris Nandor |
m+++ | I use MacPerl all the time, I love droplets! |
m++ | I use MacPerl quite often |
m+ | I have installed MacPerl but I use it mostly to check that my code is really portable |
m | I have installed MacPerl but I don't use it much |
m- | I installed MacPerl but could never make much sense of it |
m! | Gimme back my command line! |
os Other OS |
|||||
Sub Categories
|
|||||
os++++ | I wrote this OS! | ||||
os+++ | I wrote the Perl port for this OS! | ||||
os++ | this OS rules! | ||||
os+ | I quite like this OS | ||||
os | I occasionnaly use this OS | ||||
os- | I try to avoid using this OS, frankly it sucks! | ||||
os! | I HATE this OS! It sucks so bad! |