|
Select nodes of mine
Programming Meditations
- This could have DWIM better
- A brief survey of the DBI usability layer modules on the CPAN
- (RFC) PostScript::Glyph::MapToUnicode – my first (intended-to-be) CPAN module
- Nirvana through the templating yin yang (TT2 / CGI.pm)
- I wrote some clever code – can the comment "defuse" it?
- Context aware functions – best practices?
- mod_perl and shared environments don’t mix – do they?
- Command line tool coding style?
-
Mutator chaining considered harmful
For some backstory, see also multiple method calls against the same object, revisited and RFC: Class::Proxy::MethodChain, both sparked by multiple method calls against the same object (f.ex GUI programming)
Code
- Don’t Repeat Your… version number
- rename 0.3 – now with two extra cupholders The curious may also want to see the previous version: rename 0.2 – an improved version of the script which comes with Perl
- Intelligently shortcutting $_-or-params, non-destructive-or-in-place function maker
- use PerlMonksFacts;
- lspm — list names and descriptions of Perl modules in a directory The curious may also want to see the previous version: pmdesc2 – lists modules with description
- Robust parameter quoting for *nixoid shells
- New switches for perl(1)
- overkill anti-caching CGI headers
- A simple import() for those special moments Read this but don’t use it.
- The Definitive Unit Conversion Script
- mp3uncue
- Re: Combinatorics
- robustly list any Perl code’s module dependencies
- Convert relative to absolute URL given a base URL, without modules
- Serving tarball contents as part of your webspace (impractical but fun) This one even ended up as part of a <Linux Magazine column (issue Apr 2002)> by merlyn.
Art?
- A monk’s day: Perl poetry
- "YAAJAPH" =~ s/A(?=J)/AUTOLOAD/;
And some amateurish JAPH attempts:
Programmer Meditations
- Beyond Golf – reading between the tokens
- Re: What training do YOU need?
- Re: Are prototypes evil?
- (OT) Webservices – really progress?
On PerlMonks
- The meaning of life, the universe and node reputation
- Laziness, Lizards and Monks
- Perl-blue theme for this site You’re experiencing it on this page.
- On finding the Perl Wisdom
- Sites like PerlMonks
Other Nodes
Serious code
- The ubiquitous Schwartzian Transform
- "Falsify" scalar strings
- The Hashificator – converting a CSV list to a list of hashrefs
- Cookies with LWP::Simple
- Loading partial documents with LWP::UserAgent
- automatic aliasing of frequently used commands in bash
- How do I...Fool Windows into using *nix formatted shebang
Simply cool code
- Things are not what they seem like.
- lp.hpajnilap.palinjaph.pl
- I refuse to explain this
- A demanding parser
- Linear Fractal Generator
- Backtracking through the regex world
- Hacking perl
Meditations
- The path to mastery
- Random thoughts on programming
- Which non-Perl books made you a better (?:Perl )?Programmer?
- Why I like functional programming
- Are debuggers good?
- GetOpt::Long usage style
- Damian Conway’s ten rules for when to use OO
- Re: Tutorial: Introduction to Object-Oriented Programming — inside-out objects
- Class::InsideOut – yet another riff on inside out objects.
- Re: Re: Perl Style Guides for Large Projects
- How do you decide to use a module from CPAN or not?
- Accomodating templating mechanisms for maximum flexibility
- Eliminating Dynamic SQL Generation with Decision Matrices
- use CGI or die;
- Death To Dot Star!
- <A Fresh Look at Efficient Perl Sorting> Do also note Re: The High Price of Golf, and A Surprise.
- Re: Forgetting your good education
- Re^3: what to do when you screw-up? ("engineer")
- <Good Advice and Maxims for Programmers>
Tutorials
- Common Beginner Mistakes
- CGI Help Guide
- Essential CGI Security Prdactices
- Getting more out of LWP::Simple
- Debugging with Hook::WrapSub
- Tricks with DBI
- Introduction to Technical Writing/Documentation
Perl vs. foo (kinda)
- Re: Re: Perl falls victim to shifting trends(Opinions/Comments From The Other Side)
- CGI, Perl vs JSP, Java
- <Language features: PHP vs Perl (and others)>
- Perl Functionality in Java
About PerlMonks
- Virtues of Community
- Name Space
- ybiC’s home node You’ll find lots of info here.
- Homenode Surfing
- What consideration is for
- Re: Reactionary Posting
- Be responsible about the power to edit your posts
- Robomonk – An IRC to PM Bridge
- Scratch Pad Poster
- Monk Links – Copy Perlmonks-links to the clipboard in on-site-format
- PerlMonks CSS Examples
- What XML generators are currently available on PerlMonks?
PerlMonks Introspection
- The Default Node
- What shortcuts can I use for linking to other information?
- Level Stats
- Number of Monks by Level
- XP gained from getting a single node to rep of when norm is
- Our Best Users (by writeups)
- Perl Monk’s Best Users (by XP)
- Most Often Mentioned Modules
- Most Visited Nodes
- Best Nodes
- Worst Nodes
- Operating System Logs
- user image browser
- add entries to vroom’s book list
- Kathy’s Song – weird
- Cabal Matrix
- <Perl Monks Statistical Page>
Perl(Monks)? culture and humour
- <FW: Finding your flame from 1994> (Larry Wall flame)
- Perl Monks say the Darndest Things
- Life at the Monastery. Chapter 1
- Life at the Monastery Chapter 2
- Merlyn’s secret uncovered!
- NodeReaper (apologies to Ms. Shirley Bassey, and John Barry, Leslie Bricusse, & Anthony Newley)
- PM Drinking Game
- (humor) The first rule of The XP club is...
- Caffeine and its delivery to monks in need
- Re: Re: Possible first post syndrome remedy
- Re: Programming Perl as a Job: 8 hours a day is too much for me
- Dreaming in Perl
- My computer broked down after perl install
- Off topic: lightbulb joke…
- Re: How-to install POSIX.pm
- Matthew 23:24
- Re: Hide real IP
- tye’s response to Re: At my main job I mostly occupy my…
- Perl Etymology, a Recondite List
Quotes
“Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious.”
– Frederick P. Brooks, Jr., The Mythical Man-Month
“Any software problem can be solved by adding another layer of indirection.”
– Steven M. Bellovin
“Almost all programming can be viewed as an exercise in caching.”
– Terje Mathisen
“Computer science is no more about computers than astronomy is about telescopes.”
– Edsger W. Dijkstra
“People who are really serious about software should make their own hardware.”
– Alan Kay
“More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason, including blind stupidity.”
– William A. Wulf, A Case Against the GOTO
“Rules of Optimization:
Rule 1: Don’t do it.
Rule 2 (for experts only): Don’t do it yet.”
– Michael A. Jackson
“Optimizations always bust things, because all optimizations are, in the long haul, a form of cheating, and cheaters eventually get caught.”
– Larry Wall
“Rule of thumb: if you think something is clever and sophisticated, beware: it is probably self-indulgence.”
– Donald Norman
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”
– Brian W. Kernighan
“It is easier to optimize correct code than to correct optimized code.”
– Bill Harlan
“Programs must be written for people to read, and only incidentally for machines to execute.”
– Abelson, Sussman and Sussman, Structure and Interpretation of Computer Programs, in the preface to the first edition
“When the code and the comments disagree, both are probably wrong.”
– Norman Schryer
“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
– C. A. R. Hoare
“Il semble que la perfection soit atteinte non quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retrancher.”
“Perfection is apparently achieved not when nothing more can be added, but rather when nothing else can be removed.”
– Antoine de Saint-Exupéry, Terres des Hommes