Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

ziggy (25)

ziggy
  (email not shown publicly)
AOL IM: ziggyatpanix (Add Buddy, Send Message)

Journal of ziggy (25)

Thursday June 19, 2003
10:06 PM

Rites of Passage

[ #12962 ]
Every 26.4 days, someone laments in public that there are just too damn many templating modules on CPAN. (The frequency may have increased since the last time I made up^W^Wcalculated that statistic a few years ago.)

This week at YAPC, Damian demonstrated a quick hack he cooked up called makeslides. What does it do? Pretty much the same thing every one else's makeslides program does: convert a text file into a presentation of some sort: HTML, Keynote, PowerPoint, Magicpoint, TeX, PDF or otherwise.

Why is it that there are some areas in Perl where everyone cooks up their own solution, or hacks their own customizations onto someone else's highly customized (but unextensible) solution? It's almost as if you can't call yourself a Perl programmer until you've written either (a) a templating system or (b) a slide generator at some point in your Perl programming career.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Or more than one of both.

    Don't forget an email-address parser.

  • Hey, I accidentally hand-rolled a templating system back during my CGI 231 class! YAY!

    Now I just need to write a slideshow-er...

    --

    ------------------------------
    You are what you think.
  • That's why I wrote my own web server [wgz.org].

  • Don't forget the DBI abstraction layer :-)
    • Yeah, I've noticed this one too. I can understand having a Class to create the DBI handle (no need to remember pwords, usernames, etc), but it seems that everywhere I've worked people want to replace DBI's methods with their own (which simply wrap the basic ones). DBI has everything I've ever wanted to do with a database, and then some. Using DBI makes it easier for new people to come in and know exactly what's going on, without having to understand someone else's idea of what database access *should* be.
      • After you've written your 39823th slight variation on the basic SELECT, INSERT and UPDATE statements, it gets a little tiresome.
    • There can be good reasons for it.

      The wrapper that I continually reuse, implements a keyword lookup into a Class::Phrasebook XML file. This has meant I have been able to move from MySQL to MS SQL Server 7, by only changing the XML file. Plus my wrapper creates the DBI object for you, but only if you require it. I have seen several implementations of CGI scripts that create a connection, even when the request never uses it.

      Although Class::DBI may be growing in popularity it doesn't suit all purposes, and

  • "Hey, I could retrieve cartoons from websites with this LWP thingie!" (as discussed on perlmonks a while back)
    • Did that. :) And Randall did it a long time ago in one of his columns, but back then it was retrieving Dilbert from usenet, I think.

      --
      J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
  • How often have you writen a "hello world" program? Why, everyone and their dog has written one, why write another? The simple answer is that you needed to start somewhere to learn how to program in a certain language. Sometimes you can learn that by doing the little things, like another makeslides script, you find bigger and better things out there that really do fit your requirements, when at first you didn't think they did.

    Others do it simply because their idea of the concept can be quite limited and th

  • So I'd written up a big detailed hypothesis about why database object abstraction layers (Class::DBI, Tangram, Alzabo... stuff on top of DBI) keep getting reimplemented because they share a lot of the same attributes and I know something of the POOP (Perl Object-Oriented Persistence) world, being guilty of reinventing that wheel myself with some success. Unfortunately, in a fit of false laziness, I wrote that on my Win98 machine (its only for games, I swear) and it crashed after writing it.

    Reason #19388

  • Mine was something that went through directories by calling readdir() recursively. (Never mind that there's a core Perl module that can do this for you.)
    --

    -- 
    Esli epei eto cumprenan, shris soa Sfaha.
    Aettot ibrec epesecoth, spakhea scrifeteis.