From G.Fletcher at mailbox.gu.edu.au Tue Apr 10 18:40:23 2001 From: G.Fletcher at mailbox.gu.edu.au (Gordon Fletcher) Date: Wed Aug 4 23:58:55 2004 Subject: [BNE-PM] Can you help verify australian holidays for Date::Calc? (fwd) Message-ID: ---------- Forwarded message ---------- Date: Tue, 10 Apr 2001 12:59:03 +0200 From: Steffen Beyer Cc: Bianca Taylor Subject: Can you help verify australian holidays for Date::Calc? Dear Australian Perl Mongers, a friend of mine (Bianca Taylor ) provided me with a list of Australian holidays, which I would like to include in the next release (version 5.0) of my module "Date::Calc". In this new version, Date::Calc will be able to perform date calculations which take holidays into consideration. Therefore, I would like to provide calendar profiles for as many countries as possible, including Australia. But although she even phoned up government officials, some doubts remained as to whether the formulas for calculating some of the moving holidays we came up with are correct. Can you provide any insights, corrections or additions? Any help is most welcome! Can you please also forward this message to your Perl Monger mailing lists, as well as any acquaintances or friends who might be able to help? Many thanks in advance! Here are the Australian holidays I have so far: (First some necessary subroutines) sub Previous_Friday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday or Sunday, use previous Friday instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,-1); } elsif ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,-2); } return($yy,$mm,$dd,@_); } sub Next_Monday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday, use following Monday instead; # if holiday falls on Sunday, use day thereafter (Monday) instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+2); } elsif ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } sub Next_Monday_or_Tuesday # For second holiday of two adjacent ones! { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday, use following Monday instead; # if holiday falls on Sunday or Monday, use next Tuesday instead # (because Monday is already taken by adjacent holiday on the day before): $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6 or $dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+2); } elsif ($dow == 1) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } sub Nearest_Workday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday, use day before (Friday) instead; # if holiday falls on Sunday, use day thereafter (Monday) instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,-1); } elsif ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } $Profiles->{'AU'} = # Australia { "Australia Day" => \&AU_Australia, "Good Friday" => "-2", "Easter Sunday" => "+0", "Easter Monday" => "+1", "Anzac Day" => \&AU_Anzac, "Christmas Day" => \&AU_Christmas, "Boxing Day" => \&AU_Boxing }; sub AU_Australia { my($year,$label) = @_; return &Next_Monday($year,1,26); } sub AU_Anzac { my($year,$label) = @_; return &Next_Monday($year,4,25); } sub AU_Christmas { my($year,$label) = @_; return &Next_Monday($year,12,25); } sub AU_Boxing { my($year,$label) = @_; return &Next_Monday_or_Tuesday($year,12,26); } sub AU_New_Year { my($year,$label) = @_; return &Next_Monday($year,1,1); } sub AU_Lauceston { my($year,$label) = @_; if (Nth_Weekday_of_Month_Year($year,2,3,5)) { return Nth_Weekday_of_Month_Year($year,2,3,4); } else { return Nth_Weekday_of_Month_Year($year,2,3,3); } } sub AU_May { my($year,$label) = @_; return &Next_Monday($year,5,1); } $Profiles->{'AU-QLD'} = # Queensland { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Easter Saturday" => "-1", "Labour Day" => "1/Mon/May", "Queen's Birthday" => "2/Mon/Jun", "Royal Show (Brisbane)" => "2/Wed/Aug" }; $Profiles->{'AU-TAS'} = # Tasmania { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Regatta Day" => "2/Tue/Feb", "Lauceston Cup Day" => \&AU_Lauceston, "King Island Show Day" => "1/Tue/Mar", # uncertain! (maybe Tuesday after 1/Sun/Mar?) "Eight Hour Day" => "2/Mon/Mar", # dubious, formula probably wrong! "Easter Saturday" => "-1", "Queen's Birthday" => "2/Mon/Jun", "Recreation Day" => "1/Mon/Nov" # only North Tasmania - date not confirmed! }; $Profiles->{'AU-SA'} = # South Australia { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Easter Saturday" => "-1", "Adelaide Cup Day" => "3/Mon/May", # uncertain! (maybe Monday after 3/Sun/May?) "Queen's Birthday" => "2/Mon/Jun", "Labour Day" => "1/Mon/Oct" }; $Profiles->{'AU-WA'} = # Western Australia { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Labour Day" => "1/Mon/Mar", "Foundation Day" => "1/Mon/Jun", "Queen's Birthday" => "1/Mon/Oct" }; $Profiles->{'AU-ACT'} = # Australian Capital Territory { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Canberra Day" => "2/Mon/Mar", # dubious, formula probably wrong! "Easter Saturday" => "-1", "Queen's Birthday" => "2/Mon/Jun", "Labour Day" => "1/Mon/Oct" }; $Profiles->{'AU-NSW'} = # New South Wales { %{$Profiles->{'AU'}}, "New Year's Day" => \&AU_New_Year, "Easter Saturday" => "-1", "Queen's Birthday" => "2/Mon/Jun", "Labour Day" => "1/Mon/Oct" }; $Profiles->{'AU-NT'} = # Northern Territory { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Easter Saturday" => "-1", "May Day" => \&AU_May, "Queen's Birthday" => "2/Mon/Jun", "Picnic Day" => "1/Mon/Aug" }; $Profiles->{'AU-VIC'} = # Victoria { %{$Profiles->{'AU'}}, "New Year's Day" => \&AU_New_Year, "Labour Day" => "2/Mon/Mar", "Queen's Birthday" => "2/Mon/Jun", "Melbourne Cup Day" => "1/Tue/Nov" }; Again, many thanks in advance for your precious help! Best regards, -- Steffen Beyer http://www.engelschall.com/u/sb/whoami/ (Who am I) http://www.engelschall.com/u/sb/gallery/ (Fotos Brasil, USA, ...) http://www.engelschall.com/u/sb/download/ (Free Perl and C Software) From don.simonetta at tequinox.com Tue Apr 10 20:46:30 2001 From: don.simonetta at tequinox.com (Don Simonetta) Date: Wed Aug 4 23:58:55 2004 Subject: [BNE-PM] A Welcome Message-ID: Hello all, I've been meaning to send an email for a couple of weeks now. My name is Don Simonetta, I work for Tequinox/Mincom (the former is a division of the latter). We use perl very extensively here. One such use is for resource monitoring. We have daemons (written in perl) for checking machine availability (world-wide), and for scheduling modules (usually written in perl) to monitor specific resources (eg cpu, disk, databases, and applications such as MIMS). These processes run on various flavours of unix and win32 too. So we cover a lot of area with our perl code. We are actually in the process of looking for a new staff member to help primarily on the perl stuff, but possibly moving into other areas. While I really only meant to send this email to introduce myself to the group, I suppose I'm also advertising for a position vacant. I hope this doesn't violate any maillist rules. If this is OK, I will email a subsequent message some time in the future to detail the vacant position. cheers Don -----Original Message----- From: Gordon Fletcher [mailto:G.Fletcher@mailbox.gu.edu.au] Sent: Friday, March 30, 2001 10:12 AM To: Brisbane-pm-list@pm.org Subject: [BNE-PM] A Welcome Hello to all the new members to the group over the recent weeks. I thought it might be appropriate to send a _short_ message as the traffic on the list has been extremely quiet of late. Although I suspect that this is partly a result of the extra security that pm.org has placed on the list I keep getting asked to approve spam from Indian micro-electronics companies! For those of you who are new perhaps posting a quick bio of yourself and your interests would help everyone know who's around. The list is always open to suggestions - actual meetings and other activities that might be Perl oriented. The forum is open - we're all listening (so to speak). Gordon -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by Mincom Limited unless expressly stated otherwise. From anthony at kobold.cit.gu.edu.au Sun Apr 22 21:01:53 2001 From: anthony at kobold.cit.gu.edu.au (Anthony Thyssen) Date: Wed Aug 4 23:58:55 2004 Subject: [BNE-PM] Re: Perl Job (in brisbane I think!) In-Reply-To: Your message of "Mon, 23 Apr 2001 09:43:49 +1000." <3.0.6.32.20010423094349.00952450@lyrch.cit.gu.edu.au> Message-ID: <200104230201.f3N21r711500@kobold.cit.gu.edu.au> Gordon Fletcher wrote... | >For those of you who are new perhaps posting a quick bio of yourself and | >your interests would help everyone know who's around. | > Greetings, I am a system programmer (engineer) at Griffith University, Sciences Group, where I look after numerious (30+) UNIX machines (mostly Suns, but also some Linux PC's). I have been using perl extensivally for the last 7 years (the days of perl 4) as part of my position, where it is used to run our Accounts Database keeping track of 6000+ users, and all their accounts. I also now create and use the perl 5 object libraries, complete with pod documentation. I have NOT submitted a CPAN module, yet! --ASIDE-- I don't know if this is appropriate, but hey, what the heck.. As this is a Perl Mongers list I thought I might also explain my current perl project. This private work for my own use, but may be submitted to CPAN, at a later date. I been programing a perl vector object library. Math::Vector This is simular to the Math::MatrixReal CPAN library, but the Vector library does NOT require the Matrix Library to be present, unless the wants to perform matrix operations. That is MatrixReal only needs to be "use"d if the user needs to "use" it. For example a Math::Vector object multiplied by a Math::MatrixReal object work as expected, but without Math::Vector needing it itself. Furthermore I am overloading the normal string operators `.´ and `x´ to perform vector dot and cross products, (if you understand 3D computational geometry that is). Why? Because the MatrixReal module is large and designed for Linear equation solving. Not for 3D vector calculations, and Computational Geometry. Often in a problem a full matrix is not required, also Math::MatrixReal thinks of vectors as a column of numbers where most 3D graphics problems use a row of numbers. MatrixReal also does not provide a good program interface (only a string to matrix input)! PS: I may rename Math::Vector to Math::VectorReal to match the existing Math::MatrixReal module it is a sister to. Anthony Thyssen ( System Programmer ) http://www.sct.gu.edu.au/~anthony/ ----------------------------------------------------------------------------- My religious faith is a private matter bettween me and my God. -- Robert A. Heinlein ``If this Goes On --'' ----------------------------------------------------------------------------- PGP Public Key available -- finger -l anthony@lyrch.cit.gu.edu.au From G.Fletcher at mailbox.gu.edu.au Mon Apr 30 18:40:44 2001 From: G.Fletcher at mailbox.gu.edu.au (Gordon Fletcher) Date: Wed Aug 4 23:58:55 2004 Subject: [BNE-PM] Perl Position Available (fwd) Message-ID: Hi This bounced back to me because of the size of the attachment. If you are looking for a change of direction/workplace email Don and ask for a copy of the position. Good Luck. Gordon Don's email is Don Simonetta As mentioned in an earlier email to this mail-list Tequinox/Mincom is seeking to employ another staff member to primarily develop using perl. The position is based in Brisbane. Attached is a word document outlining the position. For further (technical) details contact me. cheers Don <> ======================================== Don Simonetta Systems Engineer Tequinox Limited Level 6, 193 Turbot Street, Brisbane, QLD 4000, Australia Tel +61-7-3364-9918 Fax +61-7-3364-9910 don.simonetta@tequinox.com www.tequinox.com