From jarich at perltraining.com.au Sun Jul 6 20:27:51 2008 From: jarich at perltraining.com.au (jarich at perltraining.com.au) Date: Mon, 7 Jul 2008 13:27:51 +1000 (EST) Subject: [Canberra-pm] SAGE-AU 2008's Tutorial Program Message-ID: <20080707032751.F1A2AA8C2D@teddybear.perltraining.com.au> Dear Canberra PM members, [Please forward this invitation to anyone you feel would be interested] Registration for the sixteenth annual Australian System Administrators' conference (SAGE-AU 2008) is now open. Book before Friday July 11th to receive a 15% discount. http://www.sage-au.org.au/display/conf/Registration Key information: 11th July: Early Bird Date 11th - 13th August: Training Program 14th - 15th August: Technical Program Holiday Inn Adelaide 65 Hindley Street Adelaide South Australia SAGE-AU is the System Administration industry body in Australia. It exists to support all Australian system administrators, raise awareness of the profession and provide education in technical and professional issues. Our yearly conference provides a forum for System Administrators of all platforms and levels of experience to gather together and share their experiences. Further it provides an excellent opportunity to meet and network with acknowledged experts in the field. Training programme attendance will include a tea break, lunch and printed reference material. The more training courses you attend, the cheaper each one is. For unit prices please see: http://www.sage-au.org.au/display/conf/Pricing Our tutorial program is included below: Room 1 Room 2 Monday 11th August: -------------------------------------------------------------------- Morning: Management 101: Effective Building and Using WLAN Security Communication Assessment Tools Afternoon: Management 201: Effective Hiring Great Technical People Team Management of System Administrators -------------------------------------------------------------------- Tuesday 12th August: -------------------------------------------------------------------- Morning: Time Management for System MySQL Replication & Backup Administrators Strategies Afternoon: Help! Everyone hates our Introduction to Dtrace -------------------------------------------------------------------- Wednesday 13th August: -------------------------------------------------------------------- All-day: Effective Change Manage- Efficient Administration of ment - Making System Debian-based Systems Integrity Easy -------------------------------------------------------------------- A tea break will occur roughly half way through each tutorial. For more information on what each training unit covers, please follow the links from the schedule: http://www.sage-au.org.au/display/conf/Training+Program To see the technical program please visit: http://www.sage-au.org.au/display/conf/Technical+Program You can help make this conference be the best system administrators' conference ever, just by turning up and participating. We look forward to sharing this great conference with you. Many thanks go to our Platinum Sponsors: Internode and Tas, our Gold Sponsor: Ironport our Silver Sponsor: RedHat. Jacinta Richardson SAGE-AU Program Coordinator From megamic at gmail.com Thu Jul 17 05:33:04 2008 From: megamic at gmail.com (Michael Potter) Date: Thu, 17 Jul 2008 22:33:04 +1000 Subject: [Canberra-pm] publishing code documentation Message-ID: <167f9c460807170533s4b49556bsfa0e610cea3a73c0@mail.gmail.com> Ok here is the scenario. Lots of Perl code and modules lying around, mostly well documented with POD. Also have some non-code documentation written in POD as-well (designs,tutorials etc.), also fairly randomly dispersed through same directory structure. What I would like is a way to painlessly generate HTML from all the POD lying around, and turn it into a website that has a structure which mirrors the underlying directory structure the POD was sourced from (anyone who has browsed a Linux kernel repository through a website will know what I mean). Ok sure it wouldn't be that hard to wing it ourselves, but if theres something out there to automate this task would be great...any general advice/ideas/philisophies on managing documentation would also be welcome. Cheers MP -------------- next part -------------- An HTML attachment was scrubbed... URL: From stephen at sydney.pm.org Thu Jul 17 05:56:33 2008 From: stephen at sydney.pm.org (Stephen Steneker) Date: Thu, 17 Jul 2008 22:56:33 +1000 Subject: [Canberra-pm] publishing code documentation In-Reply-To: <167f9c460807170533s4b49556bsfa0e610cea3a73c0@mail.gmail.com> References: <167f9c460807170533s4b49556bsfa0e610cea3a73c0@mail.gmail.com> Message-ID: <91B3010F-196D-4933-984C-4EEC08126CB8@sydney.pm.org> > Ok here is the scenario. Lots of Perl code and modules lying around, > mostly well documented with POD. Also have some non-code > documentation written in POD as-well (designs,tutorials etc.), also > fairly randomly dispersed through same directory structure. > > What I would like is a way to painlessly generate HTML from all the > POD lying around, and turn it into a website that has a structure > which mirrors the underlying directory structure the POD was sourced > from (anyone who has browsed a Linux kernel repository through a > website will know what I mean). > > Ok sure it wouldn't be that hard to wing it ourselves, but if theres > something out there to automate this task would be great...any > general advice/ideas/philisophies on managing documentation would > also be welcome. Hi Michael, Definitely check out Pod::ProjectDocs (and included `pod2projdocs`): http://search.cpan.org/dist/Pod-ProjectDocs/lib/Pod/ProjectDocs.pm Generates CPAN-style html and indexes for .pm and .pod files .. and makes handy use of Javascript for search and toggling source code view. You'll end up with a separate doc dir that mirrors your source code structure. Uses Template Toolkit for the templates, if you're inclined to roll your own. Cheers, Stephen From jarich at perltraining.com.au Mon Jul 21 20:09:09 2008 From: jarich at perltraining.com.au (jarich at perltraining.com.au) Date: Tue, 22 Jul 2008 13:09:09 +1000 (EST) Subject: [Canberra-pm] SAGE-AU 2008's Fabulous Keynotes Message-ID: <20080722030909.18AD3A8F92@teddybear.perltraining.com.au> Dear Canberra PM members, [Please forward this invitation to anyone you feel would be interested] This is the second last announcement about this conference. SAGE-AU is the System Administration industry body in Australia. The annual Australian System Administrators' conference (SAGE-AU) is in 3 weeks time! Book now to secure your spot! http://www.sage-au.org.au/display/conf/Registration Key information: 11th - 13th August: Training Program 14th - 15th August: Technical Program Holiday Inn Adelaide 65 Hindley Street Adelaide South Australia This year we have some fantastic keynote speakers: *Tom Limoncelli* - author of "The Practice of System and Network Administration", "Time Management for System Administrators" and "The Complete April Fools RFCs". Tom is the joint recipient of USENIX/SAGE's 2005 Outstanding Achievement Award and blogs at http://www.EverythingSysadmin.com Tom will be speaking on "System Administration and The Economics of Plenty": Over the years IT resources (disk space, CPU, bandwidth) have gone from being scarce to nearly infinitely plentiful. Why do our IT policies still reflect the days of scarcity? Seeing the world in terms of "the economics of plenty" brings about a paradigm shift that changes the way we treat our users, manage our systems, and take care of ourselves. Believing in the false world of scarcity leads to mistrust, secrecy and closed-source software. Tom will explain the economics of plenty, how much of what we believe to be scarce is actually plentiful, and how the open source movement benefits when we see the world through through the paradigm of a plentiful world. This new thinking is the philosophy behind the newly released second edition of "The Practice of System and Network Administration" (Addison-Wesley) by Limoncelli, Hogan and Chalup. *Elizabeth Zwicky* - co-author of "Building Internet Firewalls" and founding board member of BayLisa, SAGE and SAGE-AU. Elizabeth has been involved in system administration for more than 20 years in education, government, and corporate environments, has worked in three countries and two languages, and has been an author, educator, developer, manager, system designer, and consultant. Her specialities are internet security, large-scale system administration, writing, and management. Elizabeth will be speaking on "Rules of Thumb of System Administration": Every profession accumulates some condensed wisdom, whether it's in the form of Zen koans or laws of engineering. This presentation is a tour through the condensed wisdom of system administration, in the form of pithy sayings supported by educational stories (some of them, of course, stolen from other professions, including Zen koans and laws of engineering). *Simon Hackett* - founder and CEO of Internode and Agile. Simon helped put AARNet v1 together many moons ago. He likes making good and cool technical things happen in the broadband space. Simon will be speaking on the "State of the Broadband Nation": In this session, we'll take a look at the current state of play in Australian broadband, and see what is approaching on the horizon. *Paul Fenwick* - managing director of Perl Training Australia and experienced speaker at technical conferences worldwide. His interests include security, mycology, cycling, coffee, scuba diving, and lexically scoped user pragmata. Paul will be speaking on "All your brains suck - Known bugs and exploits in wetware": Humans. As a species, we suck. The only real evolutionary advantage we have is our brains, and by using them we've become the dominant species on the planet. Our brains are superbly adapted for our survival and success in the environment in which they evolved... the African savanna 200,000 years ago. Our brains are not-at-all suited for modern life, and are plagued by a raft of bugs and unwanted features that we've been unable to remove. Join us in a tour of some of the most amusing bugs and exploits wetware has to offer. To see our training program please visit: http://www.sage-au.org.au/display/conf/Training+Program To see the technical program please visit: http://www.sage-au.org.au/display/conf/Technical+Program You can help make this conference be the best system administrators' conference ever, just by turning up and participating. We look forward to sharing this great conference with you. Many thanks go to our Platinum Sponsors: Internode and Tas, our Gold Sponsor: Ironport our Silver Sponsor: RedHat. Jacinta Richardson SAGE-AU Program Coordinator From megamic at gmail.com Mon Jul 28 00:41:33 2008 From: megamic at gmail.com (Michael Potter) Date: Mon, 28 Jul 2008 17:41:33 +1000 Subject: [Canberra-pm] The Perl OO Quiz Message-ID: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> So what OO technique do you use (and why)? - Class::Std - Class::Struct - Object::InsideOut - Moose - I just do good-old Perl Cookbook style 'return bless {}, $class' - Perl does what now? - Whats OO? - Other______________ Please feel free to comment profusely...I am actually taking the response to this quite seriously...=) -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.James at csiro.au Mon Jul 28 02:00:30 2008 From: Michael.James at csiro.au (Michael James) Date: Mon, 28 Jul 2008 19:00:30 +1000 Subject: [Canberra-pm] The Perl OO Quiz In-Reply-To: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> References: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> Message-ID: <200807281900.30446.Michael.James@csiro.au> On Mon, 28 Jul 2008 05:41:33 pm Michael Potter wrote: > So what OO technique do you use (and why)? > Class::Std > Class::Struct > Object::InsideOut > Moose > I just do good-old Perl Cookbook style 'return bless {}, $class' > Perl does what now?? > Whats OO? > Other: OO is where perl code goes to die, lonely and misunderstood (at least by me). Count me as a "Perl does what now?" Long live structured code, Fortran sucks! Dropped card decks suck worse... Michael James -- Michael James michael.james at csiro.au System Administrator voice: 02 6246 5040 CSIRO Bioinformatics Facility fax: 02 6246 5166 No matter how much you pay for software, you always get less than you hoped. Unless you pay nothing, then you get more. From daniel at rimspace.net Mon Jul 28 03:24:19 2008 From: daniel at rimspace.net (Daniel Pittman) Date: Mon, 28 Jul 2008 20:24:19 +1000 Subject: [Canberra-pm] The Perl OO Quiz In-Reply-To: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> (Michael Potter's message of "Mon, 28 Jul 2008 17:41:33 +1000") References: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> Message-ID: <87vdyqpar0.fsf@rimspace.net> "Michael Potter" writes: > So what OO technique do you use (and why)? > > ? Class::Std > ? Class::Struct > ? Object::InsideOut > ? Moose > ? I just do good-old Perl Cookbook style 'return bless {}, $class' This, together with "use base 'blah'" for inheritance, because most of what I have done to date has very, very simple requirements, and the objects were mostly either for show or for exposing a functional SOAP interface. If I was building a bigger system I would likely use Moose, which has a solid foundation in OO and meta-OO design. Regards, Daniel From John.Hockaday at ga.gov.au Mon Jul 28 17:18:31 2008 From: John.Hockaday at ga.gov.au (John.Hockaday at ga.gov.au) Date: Tue, 29 Jul 2008 10:18:31 +1000 Subject: [Canberra-pm] The Perl OO Quiz [SEC=UNCLASSIFIED] Message-ID: <8BD19F29B0E16E4F88277A997CD872C203AF6946@mail.agso.gov.au> I have used "bless" in some of my code but I usually get most of my code from the CPAN modules and just use procedural code to like it together. Therefore, I usually use whatever the package or module suggests to use. I know it is OO but I don't care how it is done. Does that make me a "Perl does what now?" or more of an "Object::IndsieOut"? ;--) I also try to use the "Perl Best Practices" ideas. John -----Original Message----- From: canberra-pm-bounces+john.hockaday=ga.gov.au at pm.org [mailto:canberra-pm-bounces+john.hockaday=ga.gov.au at pm.org] On Behalf Of Michael Potter Sent: Monday, 28 July 2008 5:42 PM To: canberra-pm at pm.org Subject: [Canberra-pm] The Perl OO Quiz So what OO technique do you use (and why)? Class::Std Class::Struct Object::InsideOut Moose I just do good-old Perl Cookbook style 'return bless {}, $class' Perl does what now? Whats OO? Other______________ Please feel free to comment profusely...I am actually taking the response to this quite seriously...=) From pjf at perltraining.com.au Mon Jul 28 18:10:32 2008 From: pjf at perltraining.com.au (Paul Fenwick) Date: Tue, 29 Jul 2008 11:10:32 +1000 Subject: [Canberra-pm] The Perl OO Quiz In-Reply-To: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> References: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> Message-ID: <488E6E08.6010806@perltraining.com.au> G'day Michael/Canberra.pm, Michael Potter wrote: > So what OO technique do you use (and why)? For anything where I don't have to worry strongly about dependencies, I use Moose. It means Perl acts like a *real* OO language, plus the folks on #moose on irc.perl.org are friendly, helpful, and knowledgeable people. Cheerio, Paul -- Paul Fenwick | http://perltraining.com.au/ Director of Training | Ph: +61 3 9354 6001 Perl Training Australia | Fax: +61 3 9354 2681 From plm at netspace.net.au Tue Jul 29 16:54:40 2008 From: plm at netspace.net.au (Paul Matthews) Date: Wed, 30 Jul 2008 09:54:40 +1000 Subject: [Canberra-pm] Podding around Message-ID: <488FADC0.2040608@netspace.net.au> G'day all, Somebody at work is somewhat intent on using pod's to document code. (You know who you are). I mean 300 programs and libraries and 30,000 lines of perl code in production ... ha ... documentation is for the weak ... So I took a simple module which contains multiple packages (objects) and tried to pod it. At the start all was going well. podchecker was happy and pod2text was producing sensible output. However when fed into pod2html, it all got a little strange. Now if you look at the below example you will no doubt conclude I have little idea what I was doing. That is because although there is a page detailing what the pod instructions are, it does not describe how to use them to build a working html document. Especially not one with multiple objects. If the below is compiled with pod2text it looks cool. With pod2html all the =head1's with the exception of the first are not generated at all. Any hints would be appreciated. (Code removed and names changed to protect the guilty.) BTW: I have not run it thru pod2projectdocs, mostly cause I'm at home sick and there is no obvious OpenSuSE rpm for it. PS: Has anyone used NaturalDocs. I have been thinking we could use pod to create the external usage / manual for the program / library after the __END__, and NaturalDocs to spit out all the internal implementation documentation. =head1 NAME dbs.pm =head2 DESCRIPTION Objects holding the information and structure of the databases. =cut =head1 NAME dbbase =head2 DESCRIPTION Base class of all db objects. This class should never be directly instantiated. =head2 SYNOPSIS $base = new dbbase; $name = $base->set_name($name); $name = $base->get_name($name); $date = $base->set_create_date($date); $date = $base->get_create_date(); $user = $base->set_last_user($user); $user = $base->get_last_user(); $date = $base->set_last_update_date($date); $date = $base->get_last_update_date(); $vers = $base->set_last_version($vers); $vers = $base->get_last_version(); =cut =head1 NAME dbelement =head2 DESCRIPTION Information concerning dbelements. =head2 SYNOPSIS $elem = new dbelement; \@desc = $elem->set_desc(@desc); \@desc = $elem->get_desce(); $elem->add_desc($desce); =head2 SEE ALSO L =cut =head1 NAME dbthing =head2 DESCRIPTION Base class for both dbfield's and dbimage's. This class never be directly instantiated, only indirectly via the dbfield and dbimage class. =head2 SYNOPSIS $len = $thing->set_length($len); $len = $thing->get_length(); $type = $thing->set_type($type); $type = $thing->get_type(); $fmt = $thing->set_format($fmt); $fmt = $thing->get_format(); $elem = $thing->set_element($elem); $elem = $thing->get_element(); \@desc = $thing->set_desc(\@desc); \@desc = $thing->get_desc(); $thing->add_desc($desc); =head2 SEE ALSO L L L =cut -- Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. From jarich at perltraining.com.au Tue Jul 29 17:11:09 2008 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Wed, 30 Jul 2008 10:11:09 +1000 Subject: [Canberra-pm] Podding around In-Reply-To: <488FADC0.2040608@netspace.net.au> References: <488FADC0.2040608@netspace.net.au> Message-ID: <488FB19D.1040406@perltraining.com.au> Paul Matthews wrote: > If the below is compiled with pod2text it looks cool. With pod2html all > the =head1's with the exception of the first are not generated at all. > Any hints would be appreciated. (Code removed and names changed to > protect the guilty.) Are you sure? I get the following. Using Pod::Html 1.0504. ...

NAME

dbs.pm

DESCRIPTION

Objects holding the information and structure of the databases.


NAME

dbbase

DESCRIPTION

Base class of all db objects. This class should never be directly instantiated.

.... That has 2 h1s in it. One hint. When you provide code examples in POD, indent them by at least one space character. This means POD will know what to do with them and pod2html won't wrap them in a paragraph block. We cover writing POD in one of our Perl Tips: http://perltraining.com.au/tips/2005-04-06.html We actually write our tips in POD and then convert them to our email text using pod2txt -a, and pod2html. I usually do a little tidying up after pod2html though, because I don't want links to each heading etc. All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From plm at netspace.net.au Tue Jul 29 17:33:19 2008 From: plm at netspace.net.au (Paul Matthews) Date: Wed, 30 Jul 2008 10:33:19 +1000 Subject: [Canberra-pm] Podding around In-Reply-To: <488FB19D.1040406@perltraining.com.au> References: <488FADC0.2040608@netspace.net.au> <488FB19D.1040406@perltraining.com.au> Message-ID: <488FB6CF.5020803@netspace.net.au> Jacinta Richardson wrote: > Are you sure? I get the following. Using Pod::Html 1.0504. > Also using 1.504 here. > ... >

NAME

>

dbs.pm

>

>

>

DESCRIPTION

>

Objects holding the information and structure of the databases.

>

>

>
>

NAME

>

dbbase

>

>

>

DESCRIPTION

>

Base class of all db objects. This class should never be directly > instantiated.

>

>

> .... > > That has 2 h1s in it. > I get the following however

NAME

dbs.pm

DESCRIPTION

Objects holding the information and structure of the databases.

DESCRIPTION

Base class of all db objects. This class should never be directly instantiated.

SYNOPSIS

.... > One hint. When you provide code examples in POD, indent them by at least one > space character. This means POD will know what to do with them and pod2html > won't wrap them in a paragraph block. > Thought I did. Must be an accident of my email client. Sorry. -- Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. From grail at goldweb.com.au Tue Jul 29 17:52:39 2008 From: grail at goldweb.com.au (Alex Satrapa) Date: Wed, 30 Jul 2008 10:52:39 +1000 Subject: [Canberra-pm] The Perl OO Quiz In-Reply-To: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> References: <167f9c460807280041m3633dc9ct28847453778c9f49@mail.gmail.com> Message-ID: <5E3840CF-1BD8-41B2-B712-349FB3ADA2B7@goldweb.com.au> On 28/07/2008, at 17:41 , Michael Potter wrote: > I just do good-old Perl Cookbook style 'return bless {}, $class' This one :) Plus a homebrew attempt by a previous programmer on this project to implement a framework similar to what we would today call Ruby on Rails. 50k lines of code, 35k of which is procedural, 15k object-oriented. No tests, no comments, no documentation. I'm going to miss this project when I leave :\ Alex From plm at netspace.net.au Wed Jul 30 02:55:34 2008 From: plm at netspace.net.au (Paul Matthews) Date: Wed, 30 Jul 2008 19:55:34 +1000 Subject: [Canberra-pm] Perl social faux pas Message-ID: <48903A96.10803@netspace.net.au> G'Day All, Is it a faux pas in perl to place multiple 'objects' into a single module file? package animal; ... 1; package mammal ... 1; package horse; ... 1; Or should I be creating lots of little files? Suspect pod2html currently has its nose out of joint the me due to this. -- Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. From daniel at rimspace.net Wed Jul 30 04:42:12 2008 From: daniel at rimspace.net (Daniel Pittman) Date: Wed, 30 Jul 2008 21:42:12 +1000 Subject: [Canberra-pm] Perl social faux pas In-Reply-To: <48903A96.10803@netspace.net.au> (Paul Matthews's message of "Wed, 30 Jul 2008 19:55:34 +1000") References: <48903A96.10803@netspace.net.au> Message-ID: <877ib37g4r.fsf@rimspace.net> Paul Matthews writes: > G'Day All, > > Is it a faux pas in perl to place multiple 'objects' into a single > module file? Well, it certainly isn't "best practices"; it couples your packages together very tightly and prevents auto-loading of anything but the package with the same name as the file. However, other than assumptions that this isn't the case some fairly widely used modules do this, to good effect. I would advise it only if your additional modules are, very specifically, internal subclasses of the major class for reasons such as platform API management, rather than anything a third party might use. Regards, Daniel