Edit this page and list your Perl related projects!

LLDougMilesLL is apparently starting a company.

LLKurtVonTiehlLL is possibly hosting a GURPS campaign. GURPS is a set of rules for role playing adventures in any world or your own custom fantasy-scifi world. Steve Jackson Games, ISBN 1556343574. Kurt is also helping with meetings. See LLPerlMongersIdeasLL.

LLWilliamLindleyLL is working on LLAutoSiteLL, a program that generates finished websites given a collection of pages, infering the structure from the "rel" attribute of "a" tags. LLAutoSiteLL works but is under constant revision - of course.

LLScottWaltersLL sometimes has people over to play Steve Jackson Game's "Hacker", ISBN 155634564X. "Over" means Fountain Hills. Also working on several ongoing presentation series for PM: details on LLPerlMongersIdeasLL. Working on http://wiki.slowass.net/?TinyWiki (this Wiki forum software) and Gnumb, a GNU servent designed to be configurable or run as an indexing server. I'm also working on several CPAN modules which are linked off of http://www.cpan.org/modules/by-authors/id/S/SW/SWALTERS/ . LLImplicitThisLL.pm gives you $this without having to manually read it and makes instance variables look like regular variables - no funky hash dereference syntax. interface.pm does simple abstract interface checking. I'm also working on a publisherless book, which is on the http://wiki.slowass.net Wiki.

LLAndrewJohnsonLL is working, as ever, on web-based database applications in Perl, both for himself and the $DayJob. More info as it becomes available on http://www.transformedplanet.com

Other LLPerlMongersLL are working on other things, and when I find out what they are, I'll nark on 'em.

p.s. :-) it works!



Job/Position: Phoenix.pm Ex-Head Honcho,
Webmaster/Programmer at Bowne of Phoenix
Perl Experience: 7 years
Perl Strengths: Death Rays
Hobbies/Interests: Classified.



About Me: Perlish guerilla tactics as needed.
Perl Experience: 5+ years of Perl
Perl Strengths: core functionality and most modules


Ideas for Future Meetings

Presentations are always welcome. They can run from 2 minutes to 2 hours.

Edit this list to add your meeting ideas and meeting fragment ideas. Some of these things are the basis for an entire meeting, some fun components of some or every meeting.

PerlCalendar for more information on meeting format, topics, locations, times, and how to get announcements.


But I think you would be really good doing something like taking a random question from perl monks and answering it interactively with the group (q__ via IRC)

LScottWaltersL has a Bards Tale-esque 3D maze renderer implemented as a fairly simple recursive algorithm.

LScottWaltersL wants to get a Perl 5 Porter down to give a presentation on on... Perl 5 Portering... such as, how to get started... portering.

LScottWaltersL saw some mind-blowing, just-released Perl 6 stuff at YAPC where Perl 5 runs Perl 6 programs by punting to Pugs where Pugs compiles the code, translates it to Perl 5 on the fly, and then Perl 5 takes over again. Holy shit, batman...

LScottWaltersL needs to do his TransientBaby talk -- things have progressed in these 6 long years and he's ready for a CPAN release >=)

LScottWaltersL can present the Illuminati card game server, based on the Continuity module, which makes implementing multiplayer games infinitely easier by virtue of all users running out of the same persistant process, complete with datastructure sharing and even event queues that hold up execution contexts until variables are written to. The root lexical context contains all shared game data, and a lexical context is created for each user. Continuity automatically maps each incoming request to the correct per-user lexical context, and resumes its execution, providing it with the fresh input data. Various server-push techniques can be used to keep the various players privvy to the latest game state. One technique is JavaScript that does an AJAX-ish request in a loop, firing off the next as soon as the current one completes, combined with the server delaying answers to the queries until something in the game has changed or a certain amount of time passes. Something similar can be done with a plain old HTML frame and a meta http-equiv refresh directive.

Symposium: Mail a topic to the list - templating, database UI, etc - and ask that anyone who has done that before prepair a brief (10m) presentation on how *they* solve the problem. Kurt, in a previous email, suggest several topics like this that each programmer does their own way - it would just be a matter of picking between them. How one person does something has limited merit, but a smorgasbord of solutions has far more. Next time after this meeting, a series of 2, 3, 4, or 5 10m "how I solve this" presentations and took the rest of the time with social/contest, we should do okey. "Something that everyone rolls their own of" discussions: Kurt said, "Sounds good; another might be file-transfer/file-synchronisation scripts. If I had a dollar for every file-transfer script I've hacked together, I'd... well, I'd have well over $15 ;)"

Coincide meeting with Slashdot meetup, Java users group, PHP UG, Linux UG, etc. Essentially, socialize ourselves with other programming language user groups and free software user groups in town. It has been suggested that this be done as bonus or alternate meetings in addition to our current schedule, beyond the two meetings a month we're sustaining now.

More contests: Most people show up without laptops, but I like the idea of little code challenges in general. The ICFP was lots of fun this year - write a client to control a robot that shuttle packages around and push other robots into the water. Its a bit much for an hour or two assignment, but avoiding rote chores like fetching web pages is good sense. Perhaps breaking people up into teams and taking along a few extra laptops. Perhaps follow the Iron Chef - "todays theme ingredient will be global substitutions with the execute flag!". Solutions need not be done using Perl - the Perl community has just as much to learn from solutions in other languages as ones done in Perl. Whether the assignments are to write programes designed to compete based on usefulness or obscurity, live people writing code on the stop is exciting =) Kurt: "*grin* I like the Iron Chef idea.. "Next challenge, Sienna Camel says you must code using only characters found in hex!" (0-9 & A-F) Besides, some of these could very well be a 'write it at home' kind of thing, and people can team up if they like or go it alone."

Sienna Camel: Specific version of coding contests: like Iron Chef: program with some theme - lack of paranthesis, do something that a module normally does, demonstrate the best use of a module, and anything else we can think of. Anything with a theme that is judged subjectively.

Peer help hour: code reviers, bug workarounds, debugging, brain storming, resource location, and so forth will be provided at no charge as part of the standard meeting format, even when PM joins other user groups. Just bring your question or listing and mention to Doug or whomever else has hair in strange places and it'll be scheduled in.

Bring-in-a-module: assign everyone to show up with a CPAN module that may or may be known to the group but B found interesting for whatever reason. It could be something that everyone seems to know about but you that you wish you knew about earlier, or it could be something in Acme::, or it could be some interseting module floating around elsewhere. Useful, silly, mind bending or just plain cool, everything goes. You don't have to actually bring the module in, just briefly describe what it does, why you like it, and what it's called.

LDougMilesL suggested http://search.cpan.org/src/AUTRIJUS/Games-AIBots-0.03/doc/aibots.html which sounds awefully cool to me. I'll have to play with this to see what it has in store for us. See Games::AIBots - LScottWaltersL

LScottWaltersL promised a 3rd part of the FuzzyLogic series, this time an expert system.

LScottWaltersL has some interesting Segway-like control code in C. The theory is really nifty. Could be a presentation basis.

Coro - LScottWaltersL did a Coro presentation. Coroutines are essentially cooperative threads. Compared to an event driven system, you don't have to return out to yield the CPU, so programs have normal structure, with while loops and subroutines rather than a series of tiny subroutines. Perl 6 will feature coroutines in core, and Perl 5 has an excellent CPAN module adding them. Coro is easier to use, safer, easier to grasp, and far more stable than threads on Perl 5. (The Web scraping presentation used Coro, but there's another Coro presentation in the works that uses it for network servers in replacement of POE. Maybe he'll get lazy and just use the fingerd and Perl-shell examples from Perl 6 Now.)

http://perldesignpatterns.com/?GodObject - LScottWaltersL wants to do a presentation on code refactoring. The GodObject discussion is a good introduction to useful OO programming for an OO novice. People experienced with objects in Perl who have never worked on a large program will take their knowledge to, er, the next level.

Perl 6 101. 'nuff said. - LScottWaltersL (This presentation was done as a series, but the series will probably be re-run.)

LScottWaltersL wants to show how to make an upload progress bar in Perl. Done.

LScottWaltersL wants to show off his stealth-DNS idea -- to avoid bandwidth associated with repeatedly denying RBL'd spammers, check for RBL *before* returning the authoratative DNS information for your mail server -- don't even give them your IP address!

LScottWaltersL wants to do a presentation on his Perl6::Contexts module. The presentation will introduce the new reference, number, string, and object contexts in Perl 6, and how they make Perl much clearer, more powerful, more expressive, and generally saner, and how much of this is now available in Perl 5 thanks to this module. Done.

LScottWaltersL wants to talk about the process of writing a technical book, and his particular adventure in doing so. Okay, Scott has since forgotten all of his good stories.

LScottWaltersL would like another stab at his presentation on constraint systems, a topic from Structure And Interpretation of Computer Programs.

LScottWaltersL could do a redux of his TinyWiki presentation.

Someone did a Perl Best Practises (Book) presentation.

Brock did his ICFP presentation.

Intro to OO has been requested. LScottWaltersL is willing to do the presentation -- unless someone intercepts! --- Brock wants to do an Intro-to-Modular Perl Programming, as a ramp-up to OO. Done.

LScottWaltersL: Oh, if anyone is interested, I now have an IRC<->MUD proxy that pretends to be an IRC server so people can MUD from IRC clients. It's up on and off as I work on it, but http://weehours.net to create a character, then /server weehours.net to connect. Could do a presentation on that, too.

LScottWaltersL: And if people wait a while, I'll have an alternative front-end to Perl, so you can run Logo in Perl along side your Perl 5 code and using Perl 5 modules.

BrockWilcox: AJAX! Cooperation with javascript in various ways to make rich web applications. Could go in several different directions. Done, at least once.

LScottWaltersL: Visualizing large object oriented Perl codebases using GraphViz, the PostScript poster utility, aspect/wrapped functions, a laser printer, and scotch tape.



wlindley (at) wlindley.com
Job/Position: Chief Cook and Bottle Washer, wlindley.com, l.l.c. http://www.wlindley.com
Perl Experience: 5 years
Favorite Bands: Mannheim Steamroller http://www.amgram.com
Gordon Lightfoot http://gordonlightfoot.com
Great Big Sea http://www.greatbigsea.com
Wholesum http://www.wholesumcrew.com


Ask L


  • http://www.illogics.org - resume
  • http://www.slowass.net - personal site
  • http://wiki.slowass.net/?ScottWalters

    Each of these pages has a number of perl projects and resources.


    Perl Experience: Strong Perl job interviewing skill, questionable on Perl skills
    Perl Strengths: Strengths: Leeching knowledge from PM chapter members, reading entire Perl
    books without buying them.

    Several projects of mine are listed on LPerlProjectsL.

    I'm working on some ongoing LPerlMongersL lectures and some non-recurring ones. On-going topics: OO, Security, Graphics. Graphics, I've done X11::Protocol and a Perl spirograph, shared memory with Mmap() to implement mutli-user Conway's game of life on the web. Next I'd like to do something with GL, but I'll have to learn GL first!

    Non-recurring lectures, I have a Fuzzy Logic module. This could evolve into a recurring thing. I have a substring indexing module that makes database searching much quicker as opposed to using % wildcards which would result in a linear pass through the entire table.

    I want to do some contest thingies, both there at PM and as homework assignments, similar to CoreWars. Details on CoreWars page.

    Working on LPerlMongersIdeasL with LDougMilesL and LKurtVonTiehlL.


    One of L
    ScottWaltersL packages. Download off of http://wiki.slowass.net/?ScottWalters . From the POD:

    =head1 NAME

    this.pm - Syntactical Sugar for OO Methods

    =head1 SYNOPSIS

      use this;
      sub new {
        my $type = shift;
        my %args = @_;
        # must be blessed hash object
        bless { 
          foo => $args{'foo'},
          bar => $args{'bar'},
        }, $type;
      sub my_accessor {
        # $this is read for us. $bar is aliased to $this->{'bar'}, similiar for $foo
      sub anotheraccessor {
        # this will die if called from something not derived from our package    $foo++;
    =head1 ABSTRACT

    Methods in OO Perl receive "$this" without having to read it. Instance field variables are accessable by name instead of having to dereference the hash ref. Privicy is enforced for methods starting with an understore.

    =head1 DESCRIPTION

    This emulates other OO languages, such as Java and C++, where the compiler implicitly and invisibly passes "this" as the first argument of each method call. While Perl passes this argument invisibly, you must manually write code to read it. Java and C++ also discover, at compile time, rather a variable is an instance variable or a static variable, without you needing to distinguish them using special syntax. We remove the extra syntax, but this is learned at run time, not compile time. Unlike Alias.pm, this code is likely to have a noticable impact on performance of code that uses OO accessors heavily.

    this.pm places a thin wrapper is placed around methods in your object. *this{SCALAR} is a reference to a lexical we've shifted off the argument list. Aliases are created for each key in %$this to itself value in the same way.

    While this module works fine for me, your milage may very: it has not been extensively tested.

    This module was originally named "ImplicitThis.pm".

    Similar to Alias.pm. However, we're pure Perl, and no additional syntax is introduced.
    Blah blah blah.

    =head2 EXPORT


    =head1 BUGS

    Does anyone know how to hand the CPU back after we finish loading, but take it again when whomever used us finishes loading? Doesn't work with strict on without doing "use vars" on each field member. Bumme r.

    Not sure which version of perl is the minimum required.

    May confuse highly introspective perl, like anything Damian Conway might write.

    Does not work correctly when instance variables are tied: the alias doesn't curr ently take on the tiedness. In some cases, tie $alias, ref $this->{$alias} would do th e trick. This would fail on limited resources and when tie requires arguments.

    =head1 SEE ALSO

    Just a cheep knock-off of Alias.pm by Gurusamy Sarathy.

    For more examples and documentation, as well as forums, Perl Design Patterns, se e: http://www.slowass.net/wiki/Just a cheep knock-off of Alias.pm by Gurusamy Sarathy.

    For more examples and documentation, as well as forums, Perl Design Patterns, se e: http://www.slowass.net/wiki/

    =head1 AUTHOR

    Scott Walters "Root of all Evil" Escott@slowass.netE SWALTERS on CPAN


    Copyright 2002 by Scott Walters

    This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Should you, through neglect or fault, speak the same phrase concurrently with another party, you realize that use of this software requires compliances with the rules governing the game of " jinx".


    AndrewJohnsonL is a meglomaniac Perl programmer who knows he could take over the world if he could just get that first $1mil funding. Or the first $1000. Or an amazing or completely original idea. Regardless, if you're a glutton for punishment, you should go to http://www.transformedplanet.com



    A Perl monger is one who trades or collects, uh, Perl, presuambly meaning Perl knowledge, or atleast Perl lore.