Photo credits: Yaniv Golan
Thought of the day
Every system that fails has a reason for failure and a path to success. One will never find the second unless one respects the first.
Maxwell's parody of Robert Burns
Gin a body meet a body Flyin' thro the air, Gin a body hit a body, Will it fly? And where? Ilka impact has its measure Ne'er a' ane hae I Yet a' the lads they measure me, Or, at least, they try. Gin a body meet a body Altogether free, How they travel afterwards We do not always see. Ilka problem has its method By analytics high; For me, I ken na ane o' them, But what the waur am I? -- James Maxwell
Awesome, interesting and/or useful threads
Here are some threads I've really enjoyed..
- Recommended Reading, started by Limbic~Region
- Things are not what they seem like, started by Abigail - clever and well written. Fun way to learn perlish punctish.
- Shift, Pop, Unshift, and Push with impunity, started by lhoward - on the efficiency of Perl list operators.
- Flipin good, or a total flop? by GrandFather - on the nuances of (2..5), (2...5), (/start/../end/), @foo[2..5], and $foo[2..5]
- Burned by precedence rules, started by vrk - various styles and perspectives on how to code easy-to-read logical expressions
- Avoiding silly programming mistakes, started by missingthepoint - I make loads of these. Lots of good advice, but the best? get some sleep.
- Stupid mistakes I repeatedly make, started by brian d foy - bloopers made by even the best.
- Things I Don't Use in Perl, started by Ovid - Things you can do in Perl, but probably shouldn't.
- Secret code generator, started by xiaoyafeng - a battle between Perl and Python, OO and functional programming,... and two great coders - all because of a password generator.
- Path to mastery, started by tilly - reflections on learning, teaching, and the balance between elegance and clarity in code.
- Small Perl quests for a beginner, started by masze77 - great list of resources for finding programming practice problems, some Perl specific, some not.
- blandness is the problem, not plagarism, started by doom in response to blazer - on how XP does and does not motivate people
- Number of monks by level - bar chart showing number of total users by level, number of users logged in over the last 24 hours, by level
- How (Not) To Ask A Question, started by jeffa - lots of tips on how to ask a good question
- CPAN Author Struggle: Am I a jerk? (unter-jerk), started by cmv - when a patch submitter and module author disagree, when is it time to let go?
- Re: I want more monkquips, by BrowserUk - food for thought when you've seen the same question for the 15th time this week
- An encouraging word - nice little story on days when you are feeling stupid.
- Should a Socratic Dialogue be attempted? - on the merits of coaching vs. giving answers.
- Re: Real Life Perl Exercises by planetscape - compilation of links to discussions on programming exercises for learning Perl.
Perl Monks How-tos
- What shortcuts can I use for linking to other information? - includes information on how to use shortcuts to load nodes with custom attributes
And some off-site links that have given me food for thought...
- Interview with Damien Conway - reflections on the limits of methodology.
- FMTYEWTK About Mass Edits In Perl - how to use Perl as a souped-up sed
- The Free On-line Dictionary of Computing
- Character encodings in Perl - one of the clearest articles I've seen on the topic
- perlrequick - quick and fairly complete run through of regex syntax.
Things that matter to me...various insights from life and work
- A good question opens more doors than a good answer.
- What I like most about working with others is what they teach me not to assume.
- Reflections on beginnings
- Don't forget how hard it was to learn what you now take for granted. adapted from BrowserUk
- An amazing story and video Susan Boyle - plain looking unknown 47 year old singer who is going viral on YouTube and elsewhere after her Brit's Got Talent audition. And some thought-provoking commentary in Huffington Post by Letty Cottin Pogrebin (founder of Ms Magazine) and Steve Young
- print "hello, world..."; is syntactically correct, but doesn't do what I want. Namely be a CD inventory database.
attributed to jcwren in the CB on 8-July-2002, on the user page of John M. Dlugosz
- Life begins where the wild things are.
The Wisdom of Perl Monks
- in a regex $ (without m modifier) matches end-of-string but also before a newline, but only if it comes just before the end of the string. This is intended as a convenience so that you don't have to chomp lines just to apply regexes - see Re: When exactly do Perl regex's require a full match on a string?. Thanks, jethro!.
Note: it does not actually match the newline, just the position before it.
- the syntax while($somevar = <...>) and while($somevar = readline(...)) is special. It automatically gets wrapped with defined(...), e.g. while(defined($somevar = readline(...))). - see Re^2: "defined" in while loop Edit | Delete | Quote | Reply | Private Reply. Thanks, ikegami!.
But note: This applies only to that particular incantation - if you wrap the call to readline(...) in a subroutine and use that instead, e.g. while($line=wrapped_readline(...)) the special behavior goes away.
- to count the number of hash keys in constant time: scalar keys %somearray. Thanks, BrowserUk.
- to reset each in constant time: scalar keys %somearray. Thanks, grandfather.