From lembark at wrkhors.com Mon Mar 1 00:11:14 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] DEBUG function In-Reply-To: <000f01c3ff45$8816d590$6405a8c0@a30> References: <000f01c3ff45$8816d590$6405a8c0@a30> Message-ID: <1841680000.1078121474@[192.168.200.4]> > obviously this is debugging stuff. My question is how would you ever get > DEBUG to return "true", in order to enter the debugging code? I know you > can always change the source to make: > > sub DEBUG () { 1 } You answered it. > But is there some way you are supposed to do this at runtime? Subs with empty prototype and constant return are inlined at compile time (see the inline module). Basically this is an attempt at the old C hack for sectioning out code: #if 0 /* code not compiled */ I don't know if the compiler will optimize out the literal zero in a conditional and thus drop the if logic out of its generated code. In any case, the inlining bypasses the symbol table, so there is no way to update the call to something else at runtime. An alternative -- based on low overhead for sub calls in perl -- is to use debug sub's (possibly in a separate module) and set them after checking command lines or $^P: # default for debugging is off. my $debug_foo = sub () {}; my $debug_bar = sub () {}; ... GetOptions $cmdline, @valid or die "trying..."; $debug_foo = \&My::Debug::Module::foo_debugger if $cmdline->{debug_foo}; $debug_bar = \&My::Debug::Module::foo_debugger if $cmdline->{debug_bar}; ... # low overhead NULL call unless the command # line includes --debug_foo. $debug_foo->( 'Your message here' ); This is the moral equivalent of #ifdef DEBUG_FOO #define debug_foo (void *)NULL; #else #define debug_foo( char *arg1, char *arg2 ) { ... } #endif #ifdef DEBUG_BAR ... in C. You can also update the symbol table if you don't like using $debug_foo->() for your debug call: sub debug_foo (){} ... if( $cmdline->{debug_foo} ) { my $sub = My::Debug::Module->can('foo_debugger') or die "Bogus debugger: My::Debug::Module cannot 'foo_debugger'" *debug_foo = $sub } Nice thing about the can operator is the extra sanity check for an existing foo debugger before assigning garbage to a handler. Assigning the reference into the sub's glob resets the subroutine at runtime. Using a separate module of debug calls also helps clean up the main module, since most users have no interest in how the debug code itself works. With the "if DEBUG && ..." syntax you have to read through all of the debug sub syntax when perusing the source. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From gdf at speakeasy.net Mon Mar 1 10:46:57 2004 From: gdf at speakeasy.net (Greg Fast) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] DEBUG function In-Reply-To: <1841680000.1078121474@[192.168.200.4]> References: <1841680000.1078121474@[192.168.200.4]> <000f01c3ff45$8816d590$6405a8c0@a30> Message-ID: <200403011646.i21Gkw201620@mail.pm.org> Another trick: put this DEBUG.pm (listed below) somewhere in your @INC. Comment out any debugging-only lines by starting them with "#DEBUG " (with trailing space), which will cause perl to compile them away entirely. When you need the debugging lines, add a "use DEBUG;" to your file (or -MDEBUG on the cmdline) to magically uncomment them. --start DEBUG.pm package DEBUG; =pod =head1 SYNOPSIS use DEBUG; #DEBUG print complex_debugging_output($_) for @huge_data_structure; =head1 DESCRIPTION Uncomments lines beginning with "#DEBUG " when used. =cut use Filter::Simple; FILTER { s/^\s*\#DEBUG //gm; } 1; --end DEBUG.pm -- Greg Fast http://cken.chi.groogroo.com/~gdf/ From hachi at kuiki.net Mon Mar 1 10:48:43 2004 From: hachi at kuiki.net (Jonathan Steinert) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Re: [Chicago-announce] Driving to tomorrow's meeting from Wisconsin In-Reply-To: References: Message-ID: <4043696B.3030803@kuiki.net> Fruncek, John wrote: > Hello, Hi > My friend Jim Edwards and I are planning to drive from Milwaukee tomorrow > for the meeting, is anyone aware of traffic hassles construction or detour > along the I-94 route? I usually pass through Milwaukee during what I asume to be 'rush hour', the only construction I've seen in recent months on the way to Chicago.pm has been the oasis that is closed for renovations approximately a half a mile north of the Town Line Rd exit. Of course this only stops you if you were expecting to get food there. As for more recent, localized construction in Chicago, someone else would have to answer that for you. I'd propose a car-pool effort from Milwaukee, except I tend to not care as much when I get home as other people... maybe next time. > > John > > >>John Fruncek >>Information Technology- Business Systems >> >>QuadTech >>A Subsidiary of Quad/Graphics >> Nifty, I drive past Quad/Graphics on my way down :] --Jonathan Steinert From lembark at wrkhors.com Mon Mar 1 13:21:38 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] DEBUG function In-Reply-To: <200403011646.i21Gkw201620@mail.pm.org> References: <1841680000.1078121474@[192.168.200.4]> <000f01c3ff45$8816d590$6405a8c0@a30> <200403011646.i21Gkw201620@mail.pm.org> Message-ID: <2143890000.1078168898@[192.168.200.4]> > Another trick: put this DEBUG.pm (listed below) somewhere in your Thanks, never saw that one. Aside: The use of #if or #ifdef's is one of the reasons that Perl uses '#' for comments and supports pre-processing the source via cpp (see command line switches). Turns out that perl is just too complex for cpp, however, which is one of the reasons for pre-compilation filters. enjoi -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From me at heyjay.com Mon Mar 1 19:44:10 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] DEBUG function References: <1841680000.1078121474@[192.168.200.4]><000f01c3ff45$8816d590$6405a8c0@a30> <200403011646.i21Gkw201620@mail.pm.org> Message-ID: <012701c3fffb$b8f31b40$6405a8c0@a30> Thanks, I look at the module. jay ----- Original Message ----- From: "Greg Fast" To: "Chicago.pm chatter" Sent: Monday, March 01, 2004 10:46 AM Subject: Re: [Chicago-talk] DEBUG function > Another trick: put this DEBUG.pm (listed below) somewhere in your > @INC. Comment out any debugging-only lines by starting them with > "#DEBUG " (with trailing space), which will cause perl to compile them > away entirely. When you need the debugging lines, add a "use DEBUG;" to > your file (or -MDEBUG on the cmdline) to magically uncomment them. > > --start DEBUG.pm > > package DEBUG; > > =pod > > =head1 SYNOPSIS > > use DEBUG; > #DEBUG print complex_debugging_output($_) for @huge_data_structure; > > =head1 DESCRIPTION > > Uncomments lines beginning with "#DEBUG " when used. > > =cut > > use Filter::Simple; > > FILTER { > s/^\s*\#DEBUG //gm; > } > > 1; > > --end DEBUG.pm > > -- > Greg Fast > http://cken.chi.groogroo.com/~gdf/ > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From me at heyjay.com Mon Mar 1 19:47:44 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] DEBUG function References: <000f01c3ff45$8816d590$6405a8c0@a30> <1841680000.1078121474@[192.168.200.4]> Message-ID: <012801c3fffb$b9333180$6405a8c0@a30> Thanks, I think writing a debugging module would be a pain. You'd have to pass everything you are interested displaying. Jay ----- Original Message ----- From: "Steven Lembark" To: "Chicago.pm chatter" Sent: Monday, March 01, 2004 12:11 AM Subject: Re: [Chicago-talk] DEBUG function > > > obviously this is debugging stuff. My question is how would you ever get > > DEBUG to return "true", in order to enter the debugging code? I know you > > can always change the source to make: > > > > sub DEBUG () { 1 } > > You answered it. > > > But is there some way you are supposed to do this at runtime? > > Subs with empty prototype and constant return are inlined > at compile time (see the inline module). Basically this is > an attempt at the old C hack for sectioning out code: > > #if 0 > /* code not compiled */ > > I don't know if the compiler will optimize out the literal > zero in a conditional and thus drop the if logic out of its > generated code. In any case, the inlining bypasses the symbol > table, so there is no way to update the call to something else > at runtime. > > An alternative -- based on low overhead for sub calls in > perl -- is to use debug sub's (possibly in a separate module) > and set them after checking command lines or $^P: > > # default for debugging is off. > > my $debug_foo = sub () {}; > my $debug_bar = sub () {}; > > ... > > GetOptions $cmdline, @valid or die "trying..."; > > $debug_foo = \&My::Debug::Module::foo_debugger > if $cmdline->{debug_foo}; > > $debug_bar = \&My::Debug::Module::foo_debugger > if $cmdline->{debug_bar}; > > > ... > > # low overhead NULL call unless the command > # line includes --debug_foo. > > $debug_foo->( 'Your message here' ); > > > This is the moral equivalent of > > #ifdef DEBUG_FOO > #define debug_foo (void *)NULL; > #else > #define debug_foo( char *arg1, char *arg2 ) { ... } > #endif > > #ifdef DEBUG_BAR > ... > > in C. > > > You can also update the symbol table if you don't like using > $debug_foo->() for your debug call: > > sub debug_foo (){} > > ... > > if( $cmdline->{debug_foo} ) > { > my $sub = My::Debug::Module->can('foo_debugger') > or die "Bogus debugger: My::Debug::Module cannot 'foo_debugger'" > > *debug_foo = $sub > } > > Nice thing about the can operator is the extra sanity check > for an existing foo debugger before assigning garbage to a > handler. Assigning the reference into the sub's glob resets > the subroutine at runtime. > > Using a separate module of debug calls also helps clean > up the main module, since most users have no interest > in how the debug code itself works. With the "if DEBUG > && ..." syntax you have to read through all of the debug > sub syntax when perusing the source. > > -- > Steven Lembark 2930 W. Palmer > Workhorse Computing Chicago, IL 60647 > +1 888 359 3508 > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From lembark at wrkhors.com Mon Mar 1 23:30:14 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] DEBUG function In-Reply-To: <012801c3fffb$b9333180$6405a8c0@a30> References: <000f01c3ff45$8816d590$6405a8c0@a30> <1841680000.1078121474@[192.168.200.4]> <012801c3fffb$b9333180$6405a8c0@a30> Message-ID: <2312260000.1078205414@[192.168.200.4]> -- Jay Strauss > Thanks, > > I think writing a debugging module would be a pain. You'd have to pass > everything you are interested displaying. You have to pass it anyway, otherwise how does the debug module know what to print? -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From jthomasoniii at yahoo.com Tue Mar 2 08:58:40 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] El Famous Burrito Redux Message-ID: <20040302145840.15952.qmail@web60209.mail.yahoo.com> Yeah, I'm probably becoming a bit of a one trick pony with this, but I really like El Famous Burrito and don't get much opportunity to eat there (my wife doesn't care for them). So, I shall again be dining at the famous establishment (at Lakeview Pkwy, one traffic light west of Fairway Dr, aka "behind the Wendy's") most likely arriving sometime between 6 and 6:15 (traffic permitting). Anybody that wants good Mexican food is encouraged to attend. I shall once again endeavor to put up a "Just Another Perl Table" sign. -Jim...... __________________________________ Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster http://search.yahoo.com From andy at petdance.com Tue Mar 2 09:12:08 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] El Famous Burrito Redux In-Reply-To: <20040302145840.15952.qmail@web60209.mail.yahoo.com> References: <20040302145840.15952.qmail@web60209.mail.yahoo.com> Message-ID: <20040302151208.GA5463@petdance.com> > Yeah, I'm probably becoming a bit of a one trick pony > with this, but I really like El Famous Burrito and > don't get much opportunity to eat there (my wife > doesn't care for them). You and I are in the same boat, my friend. Some time you need to come over to Tacos el Norte in McHenry. I'll try to be there by 6:00 or so. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From brian at deadtide.com Tue Mar 2 09:42:32 2004 From: brian at deadtide.com (Brian Drawert) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] El Famous Burrito Redux In-Reply-To: <20040302151208.GA5463@petdance.com> References: <20040302145840.15952.qmail@web60209.mail.yahoo.com> <20040302151208.GA5463@petdance.com> Message-ID: <382183DE-6C60-11D8-8245-000A959C9868@deadtide.com> Mmmmmmmm... good mexican! I'll try to make it there too. Can somebody provide directions? -Brian On Mar 2, 2004, at 9:12 AM, Andy Lester wrote: >> Yeah, I'm probably becoming a bit of a one trick pony >> with this, but I really like El Famous Burrito and >> don't get much opportunity to eat there (my wife >> doesn't care for them). > > You and I are in the same boat, my friend. Some time you need to come > over to Tacos el Norte in McHenry. > > I'll try to be there by 6:00 or so. > > xoa > > -- > Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk From andy at petdance.com Tue Mar 2 10:00:14 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] El Famous Burrito Redux In-Reply-To: <382183DE-6C60-11D8-8245-000A959C9868@deadtide.com> References: <20040302145840.15952.qmail@web60209.mail.yahoo.com> <20040302151208.GA5463@petdance.com> <382183DE-6C60-11D8-8245-000A959C9868@deadtide.com> Message-ID: <20040302160014.GB5572@petdance.com> > Mmmmmmmm... good mexican! I'll try to make it there too. > Can somebody provide directions? The website, she has many directions from many different places! http://chi.pm.org/wdi-directions.html -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From jthomasoniii at yahoo.com Tue Mar 2 10:00:13 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] El Famous Burrito Redux In-Reply-To: <382183DE-6C60-11D8-8245-000A959C9868@deadtide.com> Message-ID: <20040302160013.95941.qmail@web60204.mail.yahoo.com> Very simple. Getting to Vernon Hills for the meeting (http://chicago.pm.org/wdi-directions.html) is an exercise left for the reader. But once there, just stay on Town Line Rd (rte 60) and head one traffic light west of Fairway Dr (meeting location) to Lakeview Pkwy. Head north. There's a Wendy's on the NE corner, for reference. The next traffic light (Hawthorne Pkwy) is about 100 feet north, turn into the plaza on the right side and El Famous Burrito is right there. -Jim..... --- Brian Drawert wrote: > Mmmmmmmm... good mexican! I'll try to make it > there too. > Can somebody provide directions? > > -Brian > > On Mar 2, 2004, at 9:12 AM, Andy Lester wrote: > > >> Yeah, I'm probably becoming a bit of a one trick > pony > >> with this, but I really like El Famous Burrito > and > >> don't get much opportunity to eat there (my wife > >> doesn't care for them). > > > > You and I are in the same boat, my friend. Some > time you need to come > > over to Tacos el Norte in McHenry. > > > > I'll try to be there by 6:00 or so. > > > > xoa > > > > -- > > Andy Lester => andy@petdance.com => > www.petdance.com => AIM:petdance > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk@mail.pm.org > > http://mail.pm.org/mailman/listinfo/chicago-talk > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk __________________________________ Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster http://search.yahoo.com From jthomasoniii at yahoo.com Tue Mar 2 12:36:16 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] camelbones talk Message-ID: <20040302183616.98914.qmail@web60203.mail.yahoo.com> Okay, with Camelbones 0.2.2 (MacOS X framework to allow you to write GUI aqua apps with perl) coming out yesterday, the framework is moving ever closer to prime time. Some of the stuff in the older versions felt kinda hackish to me, the newer one is a fair bit smoother. And since it's panther (that's MacOS X 10.3) compatible (starting with 0.2.1) AND I've finally upgraded to panther myself, I'm comfortable enough to offer myself up to give a talk on using it, if there's sufficient interest. So the powers that be can fit me in at some point. If we want to do it, I'd be happy to give a talk. Only caveat I'll add is that 0.2.2 still doesn't support making perl subclasses of Objective-C objects, so it's still fairly limited in what it can do (in terms of big, full featured guis, that is (unless you write those bits in objective-c instead (which you can do) ) ) (I don't know lisp, honest). 0.3.0 apparently has that number one on the to-do list and is tentatively scheduled for a mid-april release. So unless there's a burning need to get a talk subject for April 6th, some time after that would be best (not that I'd go into it too in depth, don't want the talk to drag on too long). -Jim..... __________________________________ Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster http://search.yahoo.com From ehs at pobox.com Tue Mar 2 14:19:51 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] camelbones talk In-Reply-To: <20040302183616.98914.qmail@web60203.mail.yahoo.com> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> Message-ID: <20040302201951.GD27429@chloe.inkdroid.org> On Tue, Mar 02, 2004 at 10:36:16AM -0800, Jim Thomason wrote: > So the powers that be can fit me in at some point. We all have the power :) +1 from me. Unless anyone objects, next month Alan De Smet will be coming down from WI to talk about his UniqueID project [1] and Perl. He indicated he was interested a back at the end of last year, and he has confirmed the DateTime. Maybe your talk could be slotted in May? Warmup for YAPC? //Ed [1] http://www.highprogrammer.com/alan/numbers From jason at multiply.org Tue Mar 2 23:02:38 2004 From: jason at multiply.org (jason scott gessner) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] camelbones talk In-Reply-To: <20040302183616.98914.qmail@web60203.mail.yahoo.com> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> Message-ID: <1078290158.3641.6.camel@localhost.localdomain> definitely down with the camelbones talk, too. -jason From jason at multiply.org Tue Mar 2 23:04:15 2004 From: jason at multiply.org (jason scott gessner) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <20040302183616.98914.qmail@web60203.mail.yahoo.com> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> Message-ID: <1078290255.3641.9.camel@localhost.localdomain> ok, this is driving me batty. I am calling this inside a module called from a CGI in apache: my $old_mask = umask 000; mkdir ($gallery_base_dsk . "$gallery_name/thumbnails", 0777); umask $old_mask; hoping to get a 777 directory out of this. Instead, when I ls -ld, I get this: drwxr-xr-x 2 apache apache 4096 Mar 2 20:59 bride2/thumbnails/ what gives? -jason From ehs at pobox.com Wed Mar 3 08:26:47 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <1078290255.3641.9.camel@localhost.localdomain> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> Message-ID: <20040303142647.GA8103@chloe.inkdroid.org> On Tue, Mar 02, 2004 at 11:04:15PM -0600, jason scott gessner wrote: > my $old_mask = umask 000; > mkdir ($gallery_base_dsk . "$gallery_name/thumbnails", 0777); > umask $old_mask; Is it possible that the directory exists already? I would check the return of mkdir() mkdir($gallery_base_dsk . "$gallery_name/thumbnails", 0777) or die $!; You could try to chmod( 0777, "$gallery_name/thumbnails" ) in situations where the directory already exists. Grasping at straws, //Ed From jthomasoniii at yahoo.com Wed Mar 3 13:03:46 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] camelbones talk In-Reply-To: <1078290158.3641.6.camel@localhost.localdomain> Message-ID: <20040303190346.4408.qmail@web60206.mail.yahoo.com> And it's official now - I'm on deck for May (unless Frag does decide he wants to take it instead, heh). I guess if anybody has any burning questions or things they're curious about regarding using Perl for Macintosh apps, email 'em over to me and I'll see if I can incorporate them. Just remember that I'll mainly be talking about gui development (though I'll try to touch a bit on the PerlObjCBridge), so skew things towards that. -Jim.... --- jason scott gessner wrote: > definitely down with the camelbones talk, too. > > -jason > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk __________________________________ Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster http://search.yahoo.com From brian at deadtide.com Wed Mar 3 13:35:22 2004 From: brian at deadtide.com (Brian Drawert) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] camelbones talk In-Reply-To: <20040303190346.4408.qmail@web60206.mail.yahoo.com> References: <20040303190346.4408.qmail@web60206.mail.yahoo.com> Message-ID: Having not looked too much at the Camelbones in a long while I don't know where this fits in, but the embedding of other aqua components is what i am most interested it. The example I am thinking of was the 'create your own web browser' app using the safari rendering engine. -Brian On Mar 3, 2004, at 1:03 PM, Jim Thomason wrote: > And it's official now - I'm on deck for May (unless > Frag does decide he wants to take it instead, heh). > > I guess if anybody has any burning questions or things > they're curious about regarding using Perl for > Macintosh apps, email 'em over to me and I'll see if I > can incorporate them. Just remember that I'll mainly > be talking about gui development (though I'll try to > touch a bit on the PerlObjCBridge), so skew things > towards that. > > -Jim.... > > > --- jason scott gessner wrote: >> definitely down with the camelbones talk, too. >> >> -jason >> >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk@mail.pm.org >> http://mail.pm.org/mailman/listinfo/chicago-talk > > > __________________________________ > Do you Yahoo!? > Yahoo! Search - Find what you?re looking for faster > http://search.yahoo.com > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk From lembark at wrkhors.com Wed Mar 3 13:50:39 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <20040303142647.GA8103@chloe.inkdroid.org> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> Message-ID: <128520000.1078343439@[192.168.200.3]> -- Ed Summers > On Tue, Mar 02, 2004 at 11:04:15PM -0600, jason scott gessner wrote: >> my $old_mask = umask 000; >> mkdir ($gallery_base_dsk . "$gallery_name/thumbnails", 0777); >> umask $old_mask; > > Is it possible that the directory exists already? I would check the > return of mkdir() > > mkdir($gallery_base_dsk . "$gallery_name/thumbnails", 0777) or die $!; > > You could try to chmod( 0777, "$gallery_name/thumbnails" ) in situations > where the directory already exists. Die might be a bit extreme in this case. As a general approach, you can mkdir the new one, chmod it to the appropriate mods, then stat it. That allows for existing directories + ones you don't own that have the correct mod's anyway. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From jason at multiply.org Wed Mar 3 17:04:51 2004 From: jason at multiply.org (jason scott gessner) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <128520000.1078343439@[192.168.200.3]> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> <128520000.1078343439@[192.168.200.3]> Message-ID: <1078355090.1935.8.camel@localhost.localdomain> On Wed, 2004-03-03 at 13:50, Steven Lembark wrote: > As a general approach, you can mkdir the new one, chmod > it to the appropriate mods, then stat it. That allows for > existing directories + ones you don't own that have the > correct mod's anyway. > I'm not sure I follow you, Steven. What does stat'ing it do? And by that do you simply mean doing a file test (-d, -r, etc?). Thanks. -jason From andy at petdance.com Wed Mar 3 17:32:28 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Come work up in McHenry, IL Message-ID: <20040303233228.GA14622@petdance.com> Follett Library Resources, the leading distributor of books and other media to school libraries around the world, has an immediate IT opening for a Senior Programmer. As our tremendous success continues, driven by our innovative website, we are seeking a smart, curious, positive professional to do great things in our web-programming department. As a Senior Programmer, you'll help drive projects from design and estimation through construction and completion. You'll use your programming chops not only to write code, but also to lead project teams and help guide the technical direction of the department. No wizards who like to code in a closet need apply. We use PHP and Perl for a 3-tier application running on Apache on Linux, with Oracle on Solaris as the backend. We take life-long learning seriously, and always look for new technologies to play with. Our rapid growth guarantees you will not be bored. We are agile, productive, and quickly do our magic through short project cycles. We're a tightly knit team, we don't work sweatshop hours, we think programming is fun, and we take great pride in our accomplishments. Applicants should have 4+ years of application programming experience, with at least one year of web applications. You'll be fluent in Perl or PHP, plus at least one other high-level object-oriented language. You'll understand basic database design and source code control. Excellent written and verbal communication is a must. Experience administering Oracle or another RDBMS is a plus. We offer a competitive salary and an excellent benefits package including medical and dental coverage, a generous 401k plan, profit sharing, flexible spending plans, full undergraduate tuition reimbursement, earned time off in the first year and more. We provide a pleasant, non-smoking office environment in our state-of-the art headquarters and distribution center in McHenry, Illinois, a far northwestern suburb of Chicago. We prefer candidates to fax or e-mail resume with cover letter and salary requirements to: Follett Library Resources Attn: Human Resources 1340 Ridgeview Drive McHenry, IL 60050 Fax 815-578-3520 E-mail hr@flr.follett.com -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From jason at multiply.org Wed Mar 3 17:54:23 2004 From: jason at multiply.org (jason scott gessner) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] potential talk from 37signals In-Reply-To: <128520000.1078343439@[192.168.200.3]> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> <128520000.1078343439@[192.168.200.3]> Message-ID: <1078358062.1935.40.camel@localhost.localdomain> Hi all! I have spoken with Jason Fried of 37signals (http://www.37signals.com/) and Basecamp (http://www.basecamp.com/)/. He has expressed interest in discussing Basecamp (a large scale web-based project management system done in Ruby) and some of it's features/design decisions/general coolness. Now, Jason is a usability guru, and not the actual developer, but I am sure he can get some tech info from the developer (who is in Copenhagen). I was thinking that June or July would be a good time for this talk. Perhaps we can also schedule a look at JT's webgui and make it a web app bonanza. :) What do you think? -jason From lembark at wrkhors.com Wed Mar 3 18:08:38 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <1078355090.1935.8.camel@localhost.localdomain> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> <128520000.1078343439@[192.168.200.3]> <1078355090.1935.8.camel@localhost.localdomain> Message-ID: <159200000.1078358918@[192.168.200.3]> -- jason scott gessner > On Wed, 2004-03-03 at 13:50, Steven Lembark wrote: > >> As a general approach, you can mkdir the new one, chmod >> it to the appropriate mods, then stat it. That allows for >> existing directories + ones you don't own that have the >> correct mod's anyway. >> > > I'm not sure I follow you, Steven. What does stat'ing it do? And by > that do you simply mean doing a file test (-d, -r, etc?). mkdir may fail if the directory already exists. chmod may fail if the directory has another owner. This may leave you with a perfectly workable directory, however. Using die in this case may leave your code exiting in a situation where it really can run properly. When the mkdir and chmod have been issued, stat the file and check its mods. If the stat fails for any reason or if the mods are not sufficient for your needs then die based on the circumstances (vs. the failed mkdir or chmod). perldoc the stat call, one of the return values are the mods in octal. These can be bit-masked (or checked with >= in most cases) to check for a wrieable directory. The -blah file tests are really a stat call with some further checking on the return value. That's why the '_' argument was added to avoid multiple stat's. You can do the same thing with a single explicit stat and a check of the appropriate argument in the array returned. Note: being unable to stat the file is a q&d test for nonexistant/inaccessable directories and after the mkdir/chmod steps is a clear indication that something is wrong. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From merlyn at stonehenge.com Wed Mar 3 18:27:32 2004 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <159200000.1078358918@[192.168.200.3]> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> <128520000.1078343439@[192.168.200.3]> <1078355090.1935.8.camel@localhost.localdomain> <159200000.1078358918@[192.168.200.3]> Message-ID: <86y8qh4ftb.fsf@blue.stonehenge.com> >>>>> "Steven" == Steven Lembark writes: Steven> -- jason scott gessner Steven> perldoc the stat call, one of the return values are the Steven> mods in octal. stat() returns numbers. Numbers are neither decimal nor octal. What are you talking about? -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From lembark at wrkhors.com Wed Mar 3 22:35:03 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <86y8qh4ftb.fsf@blue.stonehenge.com> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> <128520000.1078343439@[192.168.200.3]> <1078355090.1935.8.camel@localhost.localdomain> <159200000.1078358918@[192.168.200.3]> <86y8qh4ftb.fsf@blue.stonehenge.com> Message-ID: <58010000.1078374903@[192.168.200.4]> -- "Randal L. Schwartz" >>>>>> "Steven" == Steven Lembark writes: > > Steven> -- jason scott gessner > > Steven> perldoc the stat call, one of the return values are the > Steven> mods in octal. > > stat() returns numbers. Numbers are neither decimal nor octal. > What are you talking about? The bit groupings for the mods use three values for each of settings, user, group, other. These are normally represented in octal with the u/g/o taken as octal digits for each of the triplets. So far as I know the internal representation used by Perl for integers provided in hex, octal, or decimal is an internally consistent integer for the local processor. That should leave me able to compare stat's mod's return with values converted from octal strings, no? For example, user has write is 0200 so (stat)[2] & 0200 can be used in a test for user-writable files. More common are group writeable checks, (stat)[2] & 070. So, if you chmod-ed something using $mode then: (stat)[2] & $mode == $mode is one quick test for the proper modes. Given the way mods work, most people write them in octal, e.g., "02775" for sgid + all access for user + group and r + x for other. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From merlyn at stonehenge.com Wed Mar 3 22:50:56 2004 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CGI umask In-Reply-To: <58010000.1078374903@[192.168.200.4]> References: <20040302183616.98914.qmail@web60203.mail.yahoo.com> <1078290255.3641.9.camel@localhost.localdomain> <20040303142647.GA8103@chloe.inkdroid.org> <128520000.1078343439@[192.168.200.3]> <1078355090.1935.8.camel@localhost.localdomain> <159200000.1078358918@[192.168.200.3]> <86y8qh4ftb.fsf@blue.stonehenge.com> <58010000.1078374903@[192.168.200.4]> Message-ID: <86ptbt2p1t.fsf@blue.stonehenge.com> >>>>> "Steven" == Steven Lembark writes: Steven> -- "Randal L. Schwartz" >>>>>>> "Steven" == Steven Lembark writes: >> Steven> -- jason scott gessner >> Steven> perldoc the stat call, one of the return values are the Steven> mods in octal. >> >> stat() returns numbers. Numbers are neither decimal nor octal. >> What are you talking about? Steven> The bit groupings for the mods use three values for Steven> each of settings, user, group, other. These are normally Steven> represented in octal with the u/g/o taken as octal digits Steven> for each of the triplets. "represented" != "is". Sure, I can represent the value returned back by stat in decimal, since I'm a human from planet Earth. If I had 8 fingers instead of 10, I'd probably most naturally represent that in base 8. But the point is that the number is merely a number. Not a decimal number, not an octal number. "The mods" are not "in octal". They make the most sense when we write the number in octal or in binary, but that doesn't mean they *are* in octal. Sorry, you hit a hot button for me. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From ehs at pobox.com Thu Mar 4 12:56:12 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] tonight in vernon hills: Agile Software Configuration Management Message-ID: <20040304185612.GF8103@chloe.inkdroid.org> Short notice, but just in case your in the area and haven't seen it accounced already. Brad is a CPAN author, so there is a Perl connection here. I'm planning on being there. -- Agile Software Configuration Management: Brad Appleton How can software configuration management be compatible with agile software development? Aren?t the two diametrically opposed to one another? Sometimes it may seem that way. There is a commonly perceived tension between SCM and development agility that makes it difficult to achieve an effective (if precarious) equilibrium between the two. This program explores some of the ways to achieve that equilibrium. Presenter Brad Appleton is co-author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration. He is also a monthly columnist for the CMCrossroads newsletter at CMCrossroads.com, a "CM Zone" content advisor for Better Software magazine's website (formerly STQE magazine), and a former section editor for The C++ Report. Brad has been a software developer and SCM professional since 1987 with extensive experience using, developing, and supporting SCM solutions for teams of all shapes and sizes. He has spent over a decade in comprehensive study of SCM tool usage best-practices across the industry (e.g., branching best-practice patterns for parallel software development) in hopes of capturing and disseminating them broadly to improve the current practice of SCM. Brad is also well versed in agile development, object-oriented design, and software architecture and cofounded the Chicago Agile Development and Chicago Patterns Groups. He holds an M.S. in Software Engineering and a B.S. in Computer Science and Mathematics. His SCM website is at http://www.cmcrossroads.com/bradapp/acme. From Dooley.Michael at con-way.com Thu Mar 4 15:31:54 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Perl CD Bookshelf v.4.0 Message-ID: why didn't anyone tell me this was the bomb diggity item to get? just picked it up the other day. although I own almost everything on the list already. (either current or past revisions) having it in HTML format is a must especially for those quick lookups and ability to print pages at will. To anyone that didn't know it cost 100.00 usd @ your local bookstore and is a MUST have for the beginner and very likely the advanced user. Mike Mike From merlyn at stonehenge.com Thu Mar 4 15:46:46 2004 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Perl CD Bookshelf v.4.0 In-Reply-To: References: Message-ID: <86fzco70ai.fsf@blue.stonehenge.com> >>>>> "Dooley," == Dooley, Michael writes: Dooley,> To anyone that didn't know it cost 100.00 usd @ your local bookstore and is Dooley,> a MUST have for the beginner and very likely the advanced user. $100! yeouch! I hope some part of that gets back to me. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From ehs at pobox.com Thu Mar 4 15:55:40 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Perl CD Bookshelf v.4.0 In-Reply-To: <86fzco70ai.fsf@blue.stonehenge.com> References: <86fzco70ai.fsf@blue.stonehenge.com> Message-ID: <20040304215540.GH8103@chloe.inkdroid.org> We've actually given two of these away before at meetings. You should come more often :) //Ed From Dooley.Michael at con-way.com Thu Mar 4 15:58:19 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Perl CD Bookshelf v.4.0 Message-ID: yeouch? In all honesty I don't think I have ever bought a Perl book let alone an Oreilly book that wasn't worth the cost. I think the most expensive book is like $50.00. That's the cost of 1 book. For the cd bookshelf you get 6 books + 1 paper back. It is deffinetly much more then 100$ worth of material. and personaly Randal the books you have done I couldn't praise them enuff for their ease of readability and lacklessness of content. (I think I created a new word here) pop @tissue if arse eq 'kissed'; -----Original Message----- From: chicago-talk-bounces@mail.pm.org [mailto:chicago-talk-bounces@mail.pm.org] On Behalf Of merlyn@stonehenge.com Sent: Thursday, March 04, 2004 3:47 PM To: Chicago.pm chatter Subject: Re: [Chicago-talk] Perl CD Bookshelf v.4.0 >>>>> "Dooley," == Dooley, Michael writes: Dooley,> To anyone that didn't know it cost 100.00 usd @ your local bookstore and is Dooley,> a MUST have for the beginner and very likely the advanced user. $100! yeouch! I hope some part of that gets back to me. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk From Dooley.Michael at con-way.com Thu Mar 4 15:59:54 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Perl CD Bookshelf v.4.0 Message-ID: I would but I am like king of anti driving. that and I believe the last meeting was yesterday? promised the wife I would be home for my bday dinner. -----Original Message----- From: chicago-talk-bounces@mail.pm.org [mailto:chicago-talk-bounces@mail.pm.org] On Behalf Of Ed Summers Sent: Thursday, March 04, 2004 3:56 PM To: Chicago.pm chatter Subject: Re: [Chicago-talk] Perl CD Bookshelf v.4.0 We've actually given two of these away before at meetings. You should come more often :) //Ed _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk From ehs at pobox.com Thu Mar 4 16:46:17 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] books and perl Message-ID: <20040304224617.GI8103@chloe.inkdroid.org> On the subject of books and Perl... About a year ago I wrote a short Perl program to interact with Amazon's Web Services which looks for items on my wishlist that are available for cheap. Cheap being < 50% of the cover price, or < $5. When items are found the programs drops me an email with the citation, price and URL to quickly purchase it. So all I do is put this in my cron: wishlist --token=MYAMAZONTOKEN --wishlist=WISHLISTID --email=ehs@pobox.com and like magic I get an email when I can get something I want for cheap. This includes used book stores from across the country, which have great quality. The 'cheapness' is configurable, so if you only want to know when items are < 30% of the cover price, or less than $7.50 you could put this in your cron. wishlist --token=MYAMAZONTOKEN --wishlist=WISHLISTID --email=ehs@pobox.com --sale=.30 --cheap=7.50 If you have a wishlist and enjoy this sort of thing you can look at the docs or grab the code [1,2]. The code isn't the prettiest, but it's worked for a year, and has caused the stack of books next to my bedstand to teeter dangerously. //Ed [1] http://www.inkdroid.org/code/tools/wishlist.html [2] http://www.inkdroid.org/code/tools/wishlist From shild at sbcglobal.net Thu Mar 4 18:00:56 2004 From: shild at sbcglobal.net (Scott T. Hildreth) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Perl CD Bookshelf v.4.0 In-Reply-To: <86fzco70ai.fsf@blue.stonehenge.com> References: <86fzco70ai.fsf@blue.stonehenge.com> Message-ID: <1078444855.3039.8.camel@localhost> I don't know if you were reading the dbi-users list, but there was a site that has CD bookshelf's on line. I also emailed Nathan another one that I found (it has least 5 of the CD's online). He indicated that the current CD bookshelf is the last, because of all the piracy that is going on. On Thu, 2004-03-04 at 15:46, Randal L. Schwartz wrote: > >>>>> "Dooley," == Dooley, Michael writes: > > Dooley,> To anyone that didn't know it cost 100.00 usd @ your local bookstore and is > Dooley,> a MUST have for the beginner and very likely the advanced user. > > $100! yeouch! I hope some part of that gets back to me. :) From marsee at oreilly.com Thu Mar 4 19:19:55 2004 From: marsee at oreilly.com (Marsee Henon) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Newsletter from O'Reilly UG Program, March 4 Message-ID: ================================================================ O'Reilly UG Program News--Just for User Group Leaders March 4, 2004 ================================================================ -Put Up an O'Reilly ThinkGeek Banner, Get A Free Book ---------------------------------------------------------------- Book Info ---------------------------------------------------------------- ***Review books are available Copies of our books are available for your members to review-- send me an email and please include the book's ISBN number on your request. Let me know if you need your book by a certain date. Allow at least four weeks for shipping. ***Please send copies of your book reviews Email me a copy of your newsletters or book reviews. For tips and suggestions on writing book reviews, go to: http://ug.oreilly.com/bookreviews.html ***Discount information Don't forget to remind your members about our 20% discount on O'Reilly, No Starch, Paraglyph, and Syngress books and conferences. Just use code DSUG. ***Group purchases with better discounts are available Please let me know if you are interested and I can put you in touch with our sales department. ---------------------------------------------------------------- General News ---------------------------------------------------------------- ***Put Up an O'Reilly ThinkGeek Banner, Get A Free Book We are looking for user groups to display our ThinkGeek banners on their web sites. If you send me the link to your user group site with one of our O'Reilly ThinkGeek banners, I will send you the O'Reilly book of your choice. O'Reilly ThinkGeek Banners: http://ug.oreilly.com/banners/thinkgeek/ ================================================================ O'Reilly News for User Group Members March 4, 2004 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Mac OS X Panther for Unix Geeks -Dancing Barefoot -WebLogic: The Definitive Guide -Mac OS X 10.3 Panther Little Black Book -Adobe Photoshop CS One-on-One -Dreamweaver MX 2004: The Missing Manual ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -Tim O'Reilly, Open Source Business Conference, San Francisco, CA--March 17 -Mac User Group Day at O'Reilly in Sebastopol, CA--April 24 ---------------------------------------------------------------- Conferences ---------------------------------------------------------------- -Outstanding Keynotes Announced for the Sixth Annual O'Reilly Open Source Convention ---------------------------------------------------------------- News ---------------------------------------------------------------- -We're Bringing Back RepKover Lay-Flat Bindings -The Uganda Digital Bookmobile -Wallace Wang's Unusual Career: Stand-up Comedian & Computer Book Author -Amazon and Open Source -Mod_python's PSP: Python Server Pages -Day in the Life of #Apache -Cleaning iPhoto -bash on Mac OS X -Inside IIS 6 -Protect Yourself Against Kerberos Attacks -Configuring JBoss 4.0 JDBC Connectivity -The Ideal Digital Photographer's Workflow, Part 3 -O'Reilly Learning Lab's .NET Certificate Series -Developing Web-Service-Driven, Smart Mobile Applications ---------------------------------------------------------------- News From Your Peers ---------------------------------------------------------------- Check out the new O'Reilly User Group Wiki for the latest news ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 20% off any O'Reilly, No Starch, Paraglyph, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***Mac OS X Panther for Unix Geeks Publisher: O'Reilly ISBN: 0596006071 If you are disoriented by the new Mac environment, this book will get you acclimated. It's a guide to understanding the BSD Unix system and challenging Panther-specific components. It includes an overview of the Terminal application and Panther's filesystem and startup processes, as well as coverage of LDAP and NetInfo, Fink and Darwin Ports, and the Apple X11 distribution for running X Windows applications. The book also features a manpage-style reference to the undocumented commands that come with Panther. http://www.oreilly.com/catalog/mpantherunix/ Chapter 14, "MySQL and PostgreSQL," is available free online: http://www.oreilly.com/catalog/mpantherunix/chapter/index.html ***Dancing Barefoot--Finally Available! Publisher: O'Reilly ISBN: 0596006748 Wil Wheaton--blogger, geek, and Star Trek: The Next Generation's Wesley Crusher--gives us five true tales of life, love, and the absurdities of Hollywood in "Dancing Barefoot." Far from the usual celebrity tell-all, this book is a vivid, personal account of Wil's search for his true self. If you've ever fallen in love, attended a Star Trek convention, or pondered the meaning of life, you'll find a kindred soul in the pages of "Dancing Barefoot." http://www.oreilly.com/catalog/barefoot/ ***WebLogic: The Definitive Guide Publisher: O'Reilly ISBN: 059600432X "WebLogic: The Definitive Guide" presents a 360-degree view of the world of WebLogic. An exhaustive treatment of the WebLogic server and management console answers any question that developers, administrators, and system architects might think to ask. From building, packaging, and deploying applications to optimizing the runtime WebLogic environment, dealing with security issues, and understanding Enterprise APIs, this book provides detailed analysis, thorough explanations, and clear examples to help you master this powerful and complex application server. http://www.oreilly.com/catalog/weblogictdg/ Chapter 18, "XML," is available free online: http://www.oreilly.com/catalog/weblogictdg/chapter/index.html ***Mac OS X 10.3 Panther Little Black Book Publisher: Paraglyph Press ISBN: 1932111867 "Mac OS X 10.3 Panther Little Black Book" features techniques to help intermediate and experienced Mac users get the most out of the new Panther operating system. This book includes extensive coverage of Panther's new networking and printing features, high-speed Finder searching capabilities, system preferences, font manager, Font Book, applications including iChat AV and iPhoto, and the much improved mail system. With access to hundreds of immediate solutions to everyday dilemmas, you'll learn how to solve problems, perform critical tasks, and maximize your use of OS X. http://www.oreilly.com/catalog/1932111867/ ***Adobe Photoshop CS One-on-One Publisher: O'Reilly ISBN: 0596006187 "Adobe Photoshop CS One-on-One" clears the fog, taking you from graphics newbie to Photoshop warrior. This full-color book from Photoshop master Deke McClelland includes a CD with nearly two hours of professionally produced video tutorials that feature Deke and relate to the book's written instructions, giving you an up-close and personal training experience that simulates the classroom environment. You'll travel step by step through real-world projects that help you gain Photoshop proficiency, and along the way, you'll get a good dose of graphics theory, best practices, and tips for avoiding Photoshop disasters. http://www.oreilly.com/catalog/adobephoto/ ***Dreamweaver MX 2004: The Missing Manual Publisher: O'Reilly ISBN: 0596006314 "Dreamweaver MX 2004: The Missing Manual" helps first-time and experienced web designers bring stunning, interactive web sites to life. A step-by-step annotated tutorial takes readers through the construction of a state-of-the-art commercial web site, complete with Flash buttons, Cascading Style Sheets, and dynamic databases. You'll learn how to create and when it's appropriate to use web features such as forms, animations, and pop-up windows. And you'll learn scores of undocumented workarounds and shortcuts. With over 500 illustrations and a handcrafted index, this book is the ultimate atlas for Dreamweaver MX 2004. http://www.oreilly.com/catalog/dreammx2004tmm/ ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***Tim O'Reilly, Open Source Business Conference, San Francisco, CA--March 17 "Rethinking the Boundaries of 'Open Source'" is Tim's topic at OSBC 2004. For more information, go to: http://www.osbc2004.com/index.html ***Mac User Group Day at O'Reilly in Sebastopol, CA--April 24 Join O'Reilly and NCMUG for a special Mac User Group Day in Sebastopol, California on Saturday, April 24 from 2-6pm. Speakers include Derrick Story ("Digital Photography Pocket Guide, 2nd Edition," "iPhoto 2: The Missing Manual"), Chris Stone ("Mac OS X Panther in a Nutshell"), Tom Negrino & Dori Smith ("Mac OS X Unwired"), and Scott Fullam ("Hardware Hacking Projects for Geeks"). For more information and a complete schedule of events, go to: http://ug.oreilly.com/banners/macugday_hi_res.pdf Please RSVP to let us know you will be attending at mugevent@oreilly.com. Mac User Group Day 2:00pm-6:00pm, Saturday, April 24 O'Reilly 1005 Gravenstein Hwy North Sebastopol, CA 95472 800-998-9938 Ext. 7103 For directions, go to: http://www.oreilly.com/oreilly/seb_directions.html The 58th Annual Sebastopol Apple Blossom Festival will be also be happening. Come to Sebastopol early to watch the parade downtown. It starts at 10am. ================================================ Conference News ================================================ ***Outstanding Keynotes Announced for the Sixth Annual O'Reilly Open Source Convention Three members of the distinguished Dyson family--Esther, George, and Freeman--will share a keynote address; Robert Lefkowitz, one of OSCON 2003's most riveting speakers, will return; Milton Ngan will also return to discuss the "Lord of the Rings" trilogy; and Tim O'Reilly will also be a keynote speaker. The convention is slated for July 26-30, 2004, at the Portland Marriott Downtown, Portland, Oregon. http://conferences.oreillynet.com/os2004/ Registration will open early April. View photos, interviews, and press coverage from OSCON 2003 here: http://www.oreillynet.com/oscon2003/ ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***We're Bringing Back RepKover Lay-Flat Bindings Lay-flat bindings are back. Readers of O'Reilly books will once again be able to plop their book next to a terminal or on a cafe table and be sure that it will stay open to the page they're perusing. O'Reilly is reinstating the RepKover binding, which allows the interior of a book to "float" free from its cover. More durable and flexible than a traditional perfect binding, the RepKover binding allows the interior of a book to lay flat when open. The bindings will start appearing in bookstores immediately. Going forward, all new books will be produced with the much-loved lay-flat binding (except for books that are too thin or thick for the RepKover process). ***The Uganda Digital Bookmobile Inspired by his experience on the road with the Internet Bookmobile, Richard Koman, along with Brad deGraf, founded Anywhere Books, an organization dedicated to deploying the bookmobile approach in development contexts. In turn, Koman and deGraf partnered with the National Library of Uganda to create the Uganda Digital Bookmobile. Koman writes about his experience in Uganda with this project, which included the set up of scanning stations and a printing system at the National Library in Kampala. http://www.oreillynet.com/pub/q/articles ***Wallace Wang's Unusual Career: Stand-up Comedian & Computer Book Author "Wally Wang, 'Steal This Computer Book 3,' knows firsthand the importance of sticking with even the most far-reaching New Year's resolutions. On Jan. 1, 1990, the Detroit native resolved to dive headfirst into a stand-up comedy career. The decision might not have been a monumental one, except that Wang had never even set foot in a comedy club." Read the rest of this story in this recent "Las Vegas Sun" article: http://www.lasvegassun.com/sunbin/stories/read/2004/jan/23/516226302.html Steal This Computer Book 3 Publisher: No Starch Press ISBN: 1593270003 http://www.oreilly.com/catalog/1593270003/ --------------------- Open Source --------------------- ***Amazon and Open Source Amazon realized early on that amazon.com was more than just a book site, more in fact than just an e-commerce site. It was becoming an e-commerce platform. Open source has been a key part of the Amazon story, and although Amazon has closed code, it has created its own "architecture of participation" that may be even richer than that of many open source software development communities. Tim shares his thoughts in the latest Ask Tim. http://www.oreilly.com/pub/a/oreilly/ask_tim/2004/amazon_0204.html ***Mod_python's PSP: Python Server Pages For simple web sites, inlining code in the pages themselves is shockingly effective. For more complex sites, it can even work with good MVC design. Fear not, Pythonistas, mod_python's PSP brings the power and clarity of Python to web programming. Grisha Trubetskoy explains. http://www.onlamp.com/pub/a/python/2004/02/26/python_server_pages.html ***Day in the Life of #Apache Rich Bowen tackles yet another common Apache dilemma in the latest installment in this series based on his conversations on the IRC channel, #apache. This week he delves into the sometimes confusing world of modules: when to enable them, when to disable them, and why. http://www.onlamp.com/pub/a/apache/2004/02/26/apacheckbk.html --------------------- Mac --------------------- ***Cleaning iPhoto When you have thousands of images in iPhoto and don't have time to cull them manually, scripting starts to look very appealing. brian d foy shows you some helpful AppleScripts and Perl scripts you can use to clean up your iPhoto libraries. http://www.macdevcenter.com/pub/a/mac/2004/02/27/cleaning_iphoto.html ***bash on Mac OS X In the migration from Jaguar to Panther, one of the lesser-discussed changes has been the switch from tcsh to bash as the default shell (for new accounts). In this article, David Miller delves into affected areas, such as aliases and environment variables, to help you make the transition. http://www.macdevcenter.com/pub/a/mac/2004/02/24/bash.html --------------------- Windows --------------------- ***Inside IIS 6 With the release of Windows Server 2003, Microsoft has made significant changes in how IIS works. Mitch Tulloch brings you up to speed on what's new, and gives you insider tips on how to take advantage of it. http://www.windowsdevcenter.com/pub/a/windows/2004/03/02/inside_iis.html ***Protect Yourself Against Kerberos Attacks The only way to defend yourself is to understand your attacker in-depth. This excerpt from the recently released "Security Warrior" by Cyrus Peikari and Anton Chuvakin details Kerberos attacks. Read it and prepare yourself. http://www.windowsdevcenter.com/pub/a/windows/excerpt/swarrior_ch14/index1.html --------------------- Java --------------------- ***Configuring JBoss 4.0 JDBC Connectivity JBoss uses the HypersonicDB by default, but with a few configuration changes, it can use any JDBC-equipped database. Deepak Vohra shows how to use Oracle, Sybase, MySQL and other databases with JBoss. http://www.onjava.com/pub/a/onjava/2004/02/25/jbossjdbc.html --------------------- Web --------------------- ***The Ideal Digital Photographer's Workflow, Part 3 You can achieve greater control over the quality of the images produced by your new digital camera if you shoot them in RAW format. Trouble is, it can take an inordinate amount of time to convert RAW images into something your image-editing program can use. In Part 3 of Ken Milburn's series on creating ideal digital photography workflows, he details several steps you can take to save hours of RAW-process work after every shoot. Ken is the author of the upcoming "Digital Photography: Expert Techniques." http://www.oreillynet.com/pub/a/javascript/2004/02/24/digital_photography.html --------------------- .NET --------------------- ***O'Reilly Learning Lab's .NET Certificate Series Learn .NET programming skills and earn a .NET Programming Certificate from the University of Illinois Office of Continuing Education. The .NET Certificate Series is comprised of three courses that give you the foundation you need to do .NET programming well. The courses are: Learn XML; Learn Object-Oriented Programming Using Java; and Learn C#. Enroll now in all three courses and save over $500. http://oreilly.useractive.com/courses/dotnet.php3 ***Developing Web-Service-Driven, Smart Mobile Applications Working with web services and other network protocols that were designed with broadband in mind can become a real burden to making applications really mobile. But there is hope. Michael Yaun walks through the design and implementation of a complete end-to-end mobile application that solves these difficult problems. http://www.ondotnet.com/pub/a/dotnet/2004/02/23/mobilewebserviceapps.html ================================================ News From Your Peers ================================================ ***Check out the new O'Reilly User Group Wiki for the latest news You can look for a meeting, user group, or post information any time you want. http://wiki.oreillynet.com/usergroups/view?HomePage Until next time-- Marsee From ehs at pobox.com Fri Mar 5 17:12:46 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] cdbi talk Message-ID: <20040305231246.GA5303@chloe.inkdroid.org> I couldn't make it to the last meeting, but am curious to hear how things went. Also, Jay do you have some docs we can add to the chicago.pm talk archive? //Ed -- Ed Summers aim: inkdroid web: http://www.inkdroid.org The best writing is rewriting. [E. B. White] From me at heyjay.com Sun Mar 7 11:38:32 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] no strict refs question Message-ID: <003501c4046b$03e927c0$6405a8c0@a30> Can I do: > cat j #!/usr/bin/perl $app = "filename"; my @a = qw/app/; foreach my $var (@a) { print "$$var\n"; } > ./j filename With a "my" variable for $app? as in: > cat j #!/usr/bin/perl my $app = "filename"; ### notice the my ### my @a = qw/app/; foreach my $var (@a) { print "$$var\n"; } Thanks Jay From me at heyjay.com Sun Mar 7 11:42:38 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] Re: no strict refs question Message-ID: <004301c4046b$96255fa0$6405a8c0@a30> PS. I know I can do: use strict; { no strict 'vars'; $app = "filename"; } foreach (@a) { { no strict 'refs'; print $$_,"\n"; } } ----- Original Message ----- From: "Jay Strauss" To: "chicago-pm" Sent: Sunday, March 07, 2004 11:38 AM Subject: no strict refs question > Can I do: > > > cat j > #!/usr/bin/perl > $app = "filename"; > my @a = qw/app/; > > foreach my $var (@a) { > print "$$var\n"; > } > > > ./j > filename > > > With a "my" variable for $app? as in: > > > cat j > #!/usr/bin/perl > my $app = "filename"; ### notice the my ### > my @a = qw/app/; > > foreach my $var (@a) { > print "$$var\n"; > } > > Thanks > Jay > From merlyn at stonehenge.com Sun Mar 7 12:08:23 2004 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] no strict refs question In-Reply-To: <003501c4046b$03e927c0$6405a8c0@a30> References: <003501c4046b$03e927c0$6405a8c0@a30> Message-ID: <86n06sv8bu.fsf@blue.stonehenge.com> >>>>> "Jay" == Jay Strauss writes: Jay> Can I do: No. Do not use "variable variables". -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From pbaker at where2getit.com Sun Mar 7 12:25:34 2004 From: pbaker at where2getit.com (Paul Baker) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] no strict refs question In-Reply-To: <003501c4046b$03e927c0$6405a8c0@a30> References: <003501c4046b$03e927c0$6405a8c0@a30> Message-ID: On Mar 7, 2004, at 11:38 AM, Jay Strauss wrote: > $app = "filename"; > my @a = qw/app/; > > foreach my $var (@a) { > print "$$var\n"; Why not just use a hash? my %vars = ( app => 'filename' ); my @a = qw/app/. foreach my $var (@a) { print "$vars{$var}\n"; } -- Paul Baker "Reality is that which, when you stop believing in it, doesn't go away." -- Philip K. Dick GPG Key: http://homepage.mac.com/pauljbaker/public.asc From me at heyjay.com Sun Mar 7 12:58:21 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] cdbi talk References: <20040305231246.GA5303@chloe.inkdroid.org> Message-ID: <002401c40476$2ef88ef0$6405a8c0@a30> Went fine. I looked for you. I have a pod doc I used as my talk. I've also uploaded it to the CDBI wiki as the "beginners guide" Jay ----- Original Message ----- From: "Ed Summers" To: Sent: Friday, March 05, 2004 5:12 PM Subject: [Chicago-talk] cdbi talk > I couldn't make it to the last meeting, but am curious to hear how things > went. Also, Jay do you have some docs we can add to the chicago.pm talk > archive? > > //Ed > > -- > Ed Summers > aim: inkdroid > web: http://www.inkdroid.org > > The best writing is rewriting. [E. B. White] > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From me at heyjay.com Sun Mar 7 12:57:19 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] no strict refs question References: <003501c4046b$03e927c0$6405a8c0@a30> Message-ID: <002301c40476$2eb9d840$6405a8c0@a30> Thanks, Hash works better than I was doing anyway. Jay ----- Original Message ----- From: "Paul Baker" To: "Chicago.pm chatter" Sent: Sunday, March 07, 2004 12:25 PM Subject: Re: [Chicago-talk] no strict refs question > > On Mar 7, 2004, at 11:38 AM, Jay Strauss wrote: > > > $app = "filename"; > > my @a = qw/app/; > > > > foreach my $var (@a) { > > print "$$var\n"; > > Why not just use a hash? > > my %vars = ( app => 'filename' ); > my @a = qw/app/. > > foreach my $var (@a) { > print "$vars{$var}\n"; > } > > -- > Paul Baker > > "Reality is that which, when you stop believing in it, doesn't go away." > -- Philip K. Dick > > GPG Key: http://homepage.mac.com/pauljbaker/public.asc > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From lembark at wrkhors.com Mon Mar 8 00:07:34 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] no strict refs question In-Reply-To: <003501c4046b$03e927c0$6405a8c0@a30> References: <003501c4046b$03e927c0$6405a8c0@a30> Message-ID: <810430000.1078726054@[192.168.200.3]> -- Jay Strauss > Can I do: > >> cat j ># !/usr/bin/perl > $app = "filename"; > my @a = qw/app/; > > foreach my $var (@a) { > print "$$var\n"; > } > >> ./j > filename > > > With a "my" variable for $app? as in: > >> cat j ># !/usr/bin/perl > my $app = "filename"; ### notice the my ### > my @a = qw/app/; > > foreach my $var (@a) { > print "$$var\n"; > } You cannot access lexical variables via the symbol table. Code outside the lexical scope of the code has no access to them (short of some heavy-duty magic such as /dev/kmem). Code w/in the lexical scope can pass out ref's or values. The tricks with strict all use the symbol table to access global variables. For example: { package Whatever; my $foo = 'bletch'; our $bar = 'blort'; } Since $bar is in the symbol table via "our" (or "use vars" or $Whatever::bar) you can play games with $caller . '::' . 'bar' and see it. On the other hand, $foo is in accessable to anything outside of its lexical scope [methinks even within the same package if the package is broken up across modules?]. This means that with strict turned off and $var = join '::', $caller, 'bar'; then $$var will get you 'blort'. You canot pull the same trick with $foo. lexical var's behave pretty much the way stack var's do in C: they are placeholders for the compiler to use dynamically allocated storage rather than locations that get fed into %:: for access by name. They behave pretty much like C's stack variables, if that helps. Aside: the lack of package affilliation in lexicals can be handy for sharing values across packages/classes: ... my $verbose = $cmdline->{verbose} || 0; package This; print ... if $verbose; package That; print ... if $verbose; Both packages share the same '$verbose' variable if they are in the same file. This can be handy for sharing data across multiple classes w/in a module (e.g., verbose set or debug set from the command line). -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From ehs at pobox.com Mon Mar 8 09:43:10 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] cdbi talk In-Reply-To: <002401c40476$2ef88ef0$6405a8c0@a30> References: <20040305231246.GA5303@chloe.inkdroid.org> <002401c40476$2ef88ef0$6405a8c0@a30> Message-ID: <20040308154310.GD26444@chloe.inkdroid.org> On Sun, Mar 07, 2004 at 12:58:21PM -0600, Jay Strauss wrote: > I have a pod doc I used as my talk. I've also uploaded it to the CDBI wiki > as the "beginners guide" Can we stash the POD at chicago.pm.org as well? You never know when sites change and stuff, so it would be nice to archive our content locally when we can. If this is OK just forward to me at ehs@pobox.com, or send to the list for folks like me who missed the presentation. //Ed From lembark at wrkhors.com Mon Mar 8 23:30:53 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] CPAN Upload: L/LE/LEMBARK/FindBin-libs-0.17.tar.gz (fwd) Message-ID: <275730000.1078810253@[192.168.200.4]> Removed a leftover $DB::single. ---------- Forwarded Message ---------- From: PAUSE Subject: CPAN Upload: L/LE/LEMBARK/FindBin-libs-0.17.tar.gz > The URL > > ftp://wrkhors.com/pub/FindBin-libs-0.17.tar.gz > > has entered CPAN as > > file: $CPAN/authors/id/L/LE/LEMBARK/FindBin-libs-0.17.tar.gz > size: 5906 bytes > md5: 3b855db32235d943bc65bc800412fcde > > No action is required on your part > Request entered by: LEMBARK (Steven Lembark) > Request entered on: Tue, 09 Mar 2004 05:17:34 GMT > Request completed: Tue, 09 Mar 2004 05:18:47 GMT > > Thanks, > -- > paused, v460 ---------- End Forwarded Message ---------- -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From Dooley.Michael at con-way.com Wed Mar 10 10:19:17 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] working with a revolving number Message-ID: ok guys n` gals, I got a question. we generate files w/ a sequential 3 digit number as an extension up to 999 then it starts at 000 again. IE: a.000 b.001 for this particular example the files MUST be in that order. A before B. sometimes B comes before A. 1) this presents a problem. 2) I have to move the files to a new filename based on this order. 3) how would you go about coding for the anomaly (when B comes before A) since the max # could be 999. This is the code I use currently (I fix the anomaly by hand when I get an error via email) if (/q245/) { my @itx=grep /q245944/ && !/ITX$/, @files; my @iss=grep /q245846/ && !/ISS$/, @files; my @d=grep /q245945d/, @files; for (@itx) { my ($date)=date(); $ftp->put("$_", "$_.$date.ITX") ; ftp_log($cli_code, $_, "$_.$date.ITX") }; for (@iss) { my ($date)=date(); $ftp->put("$_", "$_.$date.ISS") ; ftp_log($cli_code, $_, "$_.$date.ISS") }; for (@d) { my ($date,$microsec)=date(); my (undef, $number)=split(/\./); $number++; $ftp->put("$_", "${date}${microsec}.SPD"); ftp_log($cli_code, $_, "${date}${microsec}.SPD"); $ftp->put("q245945h\.$number", "${date}${microsec}.SPH"); ftp_log($cli_code, "q245945h\.$number", "${date}${microsec}.SPH"); } } I was thinking about doing an if statement that says if file B does not exhist then $number-- then ftp the file. but then I came to think about the revolveing number and what kinda issues that could cause. Kinda curious what sagely advice you could offer. Mike From jt at plainblack.com Wed Mar 10 11:40:45 2004 From: jt at plainblack.com (JT Smith) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] POE: SOAP Message-ID: I started playing with POE last night for a server synchronization process I'm working on. The basic gist is that I want to have a process on server A kick off related processes on server's B and C. I thought setting up POE as a communications gateway on all three servers would be a great way to achieve that, given our little talk last month. I downloaded POE::Component::Server::SOAP and followed the example provided in POD. Unforunately the example doesn't work. The the server starts and the communication seems to be getting across, but the published service doesn't seem to be doing anything with the request. I've used quite a few web services (from X-Methods, Google's API, and some homebrew) and I'm fairly familiar with SOAP::Lite, but this is my first time with POE. Can anybody help guide me in the right direction here? How do I get debug out of POE? How do I make the example work? Any ideas? JT ~ Plain Black Create like a god, command like a king, work like a slave. From chimcentral at yahoo.com Wed Mar 10 11:38:09 2004 From: chimcentral at yahoo.com (matt boex) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] GD::Graph Message-ID: <20040310173809.35659.qmail@web40811.mail.yahoo.com> i am using GD:Graph and want to plot 41,000 entries of data in a graph. these entries are load numbers...(.17, .25, 1.53, etc.) i tried plotting this and get an error when running that amount of data... Can't call method "png" on an undefined value .... will i have to pull out entries in my data for this to work? matt --------------------------------- Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/chicago-talk/attachments/20040310/f4e01a18/attachment.htm From ehs at pobox.com Wed Mar 10 11:40:39 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040310173809.35659.qmail@web40811.mail.yahoo.com> References: <20040310173809.35659.qmail@web40811.mail.yahoo.com> Message-ID: <20040310174039.GE11646@chloe.inkdroid.org> On Wed, Mar 10, 2004 at 09:38:09AM -0800, matt boex wrote: > Can't call method "png" on an undefined value .... Can we see the code? While it's alot of data, I don't think GD::Graph should have a problem with it. //Ed From hachi at kuiki.net Wed Mar 10 11:40:54 2004 From: hachi at kuiki.net (Jonathan Steinert) Date: Mon Aug 2 21:28:08 2004 Subject: [Chicago-talk] POE: SOAP In-Reply-To: References: Message-ID: <404F5326.6030707@kuiki.net> JT Smith wrote: > I started playing with POE last night for a server synchronization > process I'm working on. The basic gist is that I want to have a process > on server A kick off related processes on server's B and C. I thought > setting up POE as a communications gateway on all three servers would be > a great way to achieve that, given our little talk last month. > > I downloaded POE::Component::Server::SOAP and followed the example > provided in POD. Unforunately the example doesn't work. The the server > starts and the communication seems to be getting across, but the > published service doesn't seem to be doing anything with the request. > I've used quite a few web services (from X-Methods, Google's API, and > some homebrew) and I'm fairly familiar with SOAP::Lite, but this is my > first time with POE. > > Can anybody help guide me in the right direction here? How do I get > debug out of POE? How do I make the example work? Any ideas? There's a ton of debugging output you can get out of POE... my usual routine is: POE_ASSERT_DEFAULT=1 perl myprog.pl 2> somelog.txt run the server for a while, make a request or possibly 2, then kill it. However there's a lot more settings than that, and you don't have to set them from your shell as an environment variable (this may only be a cvs-poe feature, not sure). http://search.cpan.org/~rcaputo/POE-0.2802/lib/POE/Kernel.pm#Kernel's_Debugging_Features In any case, I've never used PoCo::Server::SOAP before, so I'm not sure if the samples are broken or what. The usual mistake I'm prone to hitting in POE is that I've mistyped a state name somewhere, which because they are just strings to perl don't produce an error. The TRACE_EVENTS debug feature may be what you want to try. I'm reading over the docs to PoCo::Server::SOAP and may come back with a better answer soon. --Jonathan > > > JT ~ Plain Black > > Create like a god, command like a king, work like a slave. > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk From chimcentral at yahoo.com Wed Mar 10 12:38:35 2004 From: chimcentral at yahoo.com (matt boex) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040310174039.GE11646@chloe.inkdroid.org> Message-ID: <20040310183835.41572.qmail@web40808.mail.yahoo.com> ed, sure. it's pretty simple. the data that i am importing from tempfile is the output of "uptime", 41,000 times. matt #!/usr/bin/perl -w use GD::Graph::bars; use GD::Graph::colour; open (IN,"tempfile"); while () { $_ =~ /load average: (.*?),/; $data = $1; push (@undefineme, ""); push (@final, $data); } @data = ( [@undefineme], [@final], ); #y axis is top down. x is bottom accross. $my_graph = new GD::Graph::bars(1200,400); $my_graph->set( bgclr => "white", transparent => 0, x_label => 'Per 30 sec increments', y_label => 'load', title => "load", #y_max_value => 20, default computs from dataset #y_tick_number => 5, #y_label_skip => 1, #x_labels_vertical => 1, fgclr => "green", # shadows #bar_spacing => 2, #shadow_depth => 4, #shadowclr => 'dred', ); my $format = $my_graph->export_format; open(IMG,">load.png") or die $!; binmode IMG; print IMG $my_graph->plot(\@data)->png; Ed Summers wrote: On Wed, Mar 10, 2004 at 09:38:09AM -0800, matt boex wrote: > Can't call method "png" on an undefined value .... Can we see the code? While it's alot of data, I don't think GD::Graph should have a problem with it. //Ed _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk --------------------------------- Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/chicago-talk/attachments/20040310/c4a9d4f7/attachment.htm From andy at petdance.com Wed Mar 10 13:08:19 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040310183835.41572.qmail@web40808.mail.yahoo.com> References: <20040310174039.GE11646@chloe.inkdroid.org> <20040310183835.41572.qmail@web40808.mail.yahoo.com> Message-ID: <20040310190819.GB9473@petdance.com> > my $format = $my_graph->export_format; > open(IMG,">load.png") or die $!; > binmode IMG; > print IMG $my_graph->plot(\@data)->png; For some reason, $my_graph->plot(\@data) is returning undef. The error message is saying "You're trying to call undef->png(), which isn't legal". So figure out why $my_graph->plot(\@data) is returning undef. Break it out. See if there's a GD::Graph message somewhere you can see. xao -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From ehs at pobox.com Wed Mar 10 13:15:44 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040310190819.GB9473@petdance.com> References: <20040310174039.GE11646@chloe.inkdroid.org> <20040310183835.41572.qmail@web40808.mail.yahoo.com> <20040310190819.GB9473@petdance.com> Message-ID: <20040310191544.GF11646@chloe.inkdroid.org> On Wed, Mar 10, 2004 at 01:08:19PM -0600, Andy Lester wrote: > So figure out why $my_graph->plot(\@data) is returning undef. Break it > out. See if there's a GD::Graph message somewhere you can see. You should be able to grab the error with: $error = $my_graph->error(); //Ed From jt at plainblack.com Wed Mar 10 13:34:14 2004 From: jt at plainblack.com (JT Smith) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] POE: SOAP In-Reply-To: <404F5326.6030707@kuiki.net> Message-ID: Thanks. I'll try this out. BTW. I'm sorry I didn't remember that from your discussion. I know that you told us how to do some debug. If you do download it and figure something out, I'd be very glad to know what you figure out. On Wed, 10 Mar 2004 11:40:54 -0600 Jonathan Steinert wrote: >JT Smith wrote: > >> I started playing with POE last night for a server synchronization >> process I'm working on. The basic gist is that I want to have a process >> on server A kick off related processes on server's B and C. I thought >> setting up POE as a communications gateway on all three servers would be >> a great way to achieve that, given our little talk last month. >> >> I downloaded POE::Component::Server::SOAP and followed the example >> provided in POD. Unforunately the example doesn't work. The the server >> starts and the communication seems to be getting across, but the >> published service doesn't seem to be doing anything with the request. >> I've used quite a few web services (from X-Methods, Google's API, and >> some homebrew) and I'm fairly familiar with SOAP::Lite, but this is my >> first time with POE. >> >> Can anybody help guide me in the right direction here? How do I get >> debug out of POE? How do I make the example work? Any ideas? > >There's a ton of debugging output you can get out of POE... my usual routine is: > >POE_ASSERT_DEFAULT=1 perl myprog.pl 2> somelog.txt > >run the server for a while, make a request or possibly 2, then kill it. > >However there's a lot more settings than that, and you don't have to set them from your >shell as an environment variable (this may only be a cvs-poe feature, not sure). > >http://search.cpan.org/~rcaputo/POE-0.2802/lib/POE/Kernel.pm#Kernel's_Debugging_Features > >In any case, I've never used PoCo::Server::SOAP before, so I'm not sure if the samples >are broken or what. The usual mistake I'm prone to hitting in POE is that I've mistyped >a state name somewhere, which because they are just strings to perl don't produce an >error. The TRACE_EVENTS debug feature may be what you want to try. > >I'm reading over the docs to PoCo::Server::SOAP and may come back with a better answer >soon. > >--Jonathan > >> >> >> JT ~ Plain Black >> >> Create like a god, command like a king, work like a slave. >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk@mail.pm.org >> http://mail.pm.org/mailman/listinfo/chicago-talk > >_______________________________________________ >Chicago-talk mailing list >Chicago-talk@mail.pm.org >http://mail.pm.org/mailman/listinfo/chicago-talk JT ~ Plain Black Create like a god, command like a king, work like a slave. From wiggins at danconia.org Wed Mar 10 14:18:19 2004 From: wiggins at danconia.org (Wiggins d Anconia) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph Message-ID: <200403102018.i2AKIJ222077@residualselfimage.com> > > ed, > > sure. it's pretty simple. the data that i am importing from tempfile is the output of "uptime", 41,000 times. > [snip code] > my $format = $my_graph->export_format; > open(IMG,">load.png") or die $!; > binmode IMG; > print IMG $my_graph->plot(\@data)->png; > In the above to string the method calls together the have to return the object. 'plot' does not appear to return the GD object but instead a boolean return result therefore you have to break the two method calls apart. Which is why it was giving you can't call method 'png' on undefined value, 'plot' is returning an undefined value (aka success). HTH, http://danconia.org > Ed Summers wrote: > On Wed, Mar 10, 2004 at 09:38:09AM -0800, matt boex wrote: > > Can't call method "png" on an undefined value .... > > Can we see the code? While it's alot of data, I don't think GD::Graph should > have a problem with it. > From ehs at pobox.com Wed Mar 10 14:38:17 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <200403102018.i2AKIJ222077@residualselfimage.com> References: <200403102018.i2AKIJ222077@residualselfimage.com> Message-ID: <20040310203817.GG11646@chloe.inkdroid.org> On Wed, Mar 10, 2004 at 01:18:19PM -0700, Wiggins d Anconia wrote: > Which is why it was giving you can't call method 'png' on > undefined value, 'plot' is returning an undefined value (aka success). The GD::Graph [1] docs indicate that plot() returns a GD::Image object on success. //Ed [1] http://search.cpan.org/perldoc?GD::Graph From wiggins at danconia.org Wed Mar 10 14:44:03 2004 From: wiggins at danconia.org (Wiggins d Anconia) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph Message-ID: <200403102044.i2AKi3G14208@residualselfimage.com> > On Wed, Mar 10, 2004 at 01:18:19PM -0700, Wiggins d Anconia wrote: > > Which is why it was giving you can't call method 'png' on > > undefined value, 'plot' is returning an undefined value (aka success). > > The GD::Graph [1] docs indicate that plot() returns a GD::Image object > on success. > > //Ed > > [1] http://search.cpan.org/perldoc?GD::Graph > So they do, I didn't read that far down, should have, sorry everyone.... http://danconia.org From ehs at pobox.com Wed Mar 10 14:49:27 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <200403102044.i2AKi3G14208@residualselfimage.com> References: <200403102044.i2AKi3G14208@residualselfimage.com> Message-ID: <20040310204927.GH11646@chloe.inkdroid.org> On Wed, Mar 10, 2004 at 01:44:03PM -0700, Wiggins d Anconia wrote: > So they do, I didn't read that far down, should have, sorry everyone.... No worries that API always throw me for a loop every time I use it. //Ed From chimcentral at yahoo.com Wed Mar 10 17:01:50 2004 From: chimcentral at yahoo.com (matt boex) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040310191544.GF11646@chloe.inkdroid.org> Message-ID: <20040310230150.84771.qmail@web40810.mail.yahoo.com> ed, same error message. i also printed out all of the data before, looks fine. i also printed the number of entries in each array before plotting and they are exactly the same. matt Ed Summers wrote: On Wed, Mar 10, 2004 at 01:08:19PM -0600, Andy Lester wrote: > So figure out why $my_graph->plot(\@data) is returning undef. Break it > out. See if there's a GD::Graph message somewhere you can see. You should be able to grab the error with: $error = $my_graph->error(); //Ed _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk --------------------------------- Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/chicago-talk/attachments/20040310/8aa7a7b1/attachment.htm From ehs at pobox.com Wed Mar 10 19:48:47 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040310230150.84771.qmail@web40810.mail.yahoo.com> References: <20040310191544.GF11646@chloe.inkdroid.org> <20040310230150.84771.qmail@web40810.mail.yahoo.com> Message-ID: <20040311014847.GA22124@chloe.inkdroid.org> On Wed, Mar 10, 2004 at 03:01:50PM -0800, matt boex wrote: > same error message. Now I'm lost: what do you get if you change this line: print IMG $my_graph->plot(\@data)->png; to this: my $img = $my_graph->plot(\@data) || die $my_graph->error(); print IMG $img->png(); //Ed From lembark at wrkhors.com Wed Mar 10 23:11:10 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] working with a revolving number In-Reply-To: References: Message-ID: <2294270000.1078981870@[192.168.200.4]> > 1) this presents a problem. > 2) I have to move the files to a new filename based on this order. > 3) how would you go about coding for the anomaly (when B comes before A) > since the max # could be 999. > > This is the code I use currently (I fix the anomaly by hand when I get an > error via email) Why not start by sorting the files then assigning numbers to them? That way you can put them in any order you like: my @filz = sort \&however_you_like @list; my @numbered = (); for( my $i = '000' ; @filz ; ++$i ) { push @numbered, shift @filz . $i; } (or something like it) will number your files after they are sorted. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From Dooley.Michael at con-way.com Thu Mar 11 08:16:09 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] working with a revolving number Message-ID: these files are generated by our EDI software. unfortunately I can not control the sequence or order of the files. for every A file there is an associated B file. I can have multiple A and B files. so it really falls down to the edi software generated sequence and 98% of the time I have no errors in the process. this makes sense when I wrote it so if I can clarify it anyway let me know. -----Original Message----- From: chicago-talk-bounces@mail.pm.org [mailto:chicago-talk-bounces@mail.pm.org] On Behalf Of Steven Lembark Sent: Wednesday, March 10, 2004 11:11 PM To: Chicago.pm chatter Subject: Re: [Chicago-talk] working with a revolving number > 1) this presents a problem. > 2) I have to move the files to a new filename based on this order. > 3) how would you go about coding for the anomaly (when B comes before A) > since the max # could be 999. > > This is the code I use currently (I fix the anomaly by hand when I get an > error via email) Why not start by sorting the files then assigning numbers to them? That way you can put them in any order you like: my @filz = sort \&however_you_like @list; my @numbered = (); for( my $i = '000' ; @filz ; ++$i ) { push @numbered, shift @filz . $i; } (or something like it) will number your files after they are sorted. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk From chimcentral at yahoo.com Thu Mar 11 09:27:49 2004 From: chimcentral at yahoo.com (matt boex) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040311014847.GA22124@chloe.inkdroid.org> Message-ID: <20040311152749.54106.qmail@web40807.mail.yahoo.com> ed, same error again with this change. matt Ed Summers wrote: On Wed, Mar 10, 2004 at 03:01:50PM -0800, matt boex wrote: > same error message. Now I'm lost: what do you get if you change this line: print IMG $my_graph->plot(\@data)->png; to this: my $img = $my_graph->plot(\@data) || die $my_graph->error(); print IMG $img->png(); //Ed _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk --------------------------------- Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/chicago-talk/attachments/20040311/03ad34be/attachment.htm From ehs at pobox.com Thu Mar 11 09:58:50 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040311152749.54106.qmail@web40807.mail.yahoo.com> References: <20040311014847.GA22124@chloe.inkdroid.org> <20040311152749.54106.qmail@web40807.mail.yahoo.com> Message-ID: <20040311155850.GA15864@chloe.inkdroid.org> On Thu, Mar 11, 2004 at 07:27:49AM -0800, matt boex wrote: > same error again with this change. Matt, i took this offline just so I didn't harrass anyone :) What is the error message you are getting? //Ed From ehs at pobox.com Thu Mar 11 10:00:27 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] GD::Graph In-Reply-To: <20040311152749.54106.qmail@web40807.mail.yahoo.com> References: <20040311014847.GA22124@chloe.inkdroid.org> <20040311152749.54106.qmail@web40807.mail.yahoo.com> Message-ID: <20040311160027.GB15864@chloe.inkdroid.org> Erm, oh well. Forgot to zap the cc. Sorry folks. //Ed From chimcentral at yahoo.com Thu Mar 11 16:47:21 2004 From: chimcentral at yahoo.com (matt boex) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] need to buy a new machine... Message-ID: <20040311224721.88918.qmail@web40806.mail.yahoo.com> sorry for being off topic... i need a new machine for my web server, mysql database. any recommendations for a computer store in chicago/chicagoland area? any decent deals on desktops/towers? thanks, matt --------------------------------- Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/chicago-talk/attachments/20040311/5c263bb6/attachment.htm From Aaron.Young at citadelgroup.com Thu Mar 11 16:52:37 2004 From: Aaron.Young at citadelgroup.com (Young, Aaron) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] need to buy a new machine... Message-ID: <800BCF60D1553144BABCBFCE36249D3D0FACFF8F@CORPEMAIL.citadelgroup.com> www.krex.com is a good place to check Aaron F Young Broker Reconciliation Operations & Portfolio Finance Citadel Investment Group LLC -----Original Message----- From: matt boex [mailto:chimcentral@yahoo.com] Sent: Thursday, March 11, 2004 4:47 PM To: chicago-talk@mail.pm.org Subject: [Chicago-talk] need to buy a new machine... sorry for being off topic... i need a new machine for my web server, mysql database. any recommendations for a computer store in chicago/chicagoland area? any decent deals on desktops/towers? thanks, matt _____ Do you Yahoo!? Yahoo! Search - Find what you're looking for faster. ------------------------------------------------------------------------ ------------------------- ------------------------- CONFIDENTIALITY AND SECURITY NOTICE This e-mail contains information that may be confidential and proprietary. It is to be read and used solely by the intended recipient(s). Citadel and its affiliates retain all proprietary rights they may have in the information. If you are not an intended recipient, please notify us immediately either by reply e-mail or by telephone at 312-395-2100 and delete this e-mail (including any attachments hereto) immediately without reading, disseminating, distributing or copying. We cannot give any assurances that this e-mail and any attachments are free of viruses and other harmful code. Citadel reserves the right to monitor, intercept and block all communications involving its computer systems. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/chicago-talk/attachments/20040311/0f31bbb8/attachment.htm From lembark at wrkhors.com Thu Mar 11 23:35:18 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] need to buy a new machine... In-Reply-To: <20040311224721.88918.qmail@web40806.mail.yahoo.com> References: <20040311224721.88918.qmail@web40806.mail.yahoo.com> Message-ID: <3211280000.1079069718@[192.168.200.4]> > i need a new machine for my web server, mysql database. any > recommendations for a computer store in chicago/chicagoland area? any > decent deals on desktops/towers? http://www.pricewatch.com/ I-will makes a really cheap small box (for tivo I guess) that would work nicely for about $200.00. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From me at heyjay.com Fri Mar 12 09:33:41 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Printing the correct x-axis in GD::Graph Message-ID: <002d01c40847$6a766220$6405a8c0@a30> Hi, I figured I'd ask my own GD::Graph question. Below is my script. I'd like to print only the first day of the month (that has data) on the x-axis. So with the script below, I'd like the x-axis to contain ONLY: 2003/11/14 2003/12/01 2004/01/01 2004/02/02 2004/03/01 Reading the docs I got the impression I could fill my x array with undefs everywhere but the places I wanted a value, but that doesn't work. Instead it smears data on top of each other. Any pointers? Thanks Jay #!/usr/bin/perl use strict; use GD::Graph::linespoints; my $prvMon; my (@a, @b); while () { chomp; my ($a, $b) = split(/\s+/); my ($yr, $mon, $day) = split(/\//,$a); $a = undef if $mon == $prvMon; $prvMon = $mon; push @a, $a; push @b, $b; } my @s = sort {$a <=> $b} @b; my $graph = GD::Graph::linespoints->new(800, 600); $graph->set( x_label => 'X Label', y_label => 'Y label', title => 'Some simple graph', y_max_value => $s[-1], y_tick_number => 8, y_label_skip => 2, x_ticks =>1, x_plot_values => 1, ); my $gd = $graph->plot([\@a,\@b]); open(IMG, '>file.png') or die $!; binmode IMG; print IMG $gd->png; __DATA__ 2003/11/14 962.92 2003/11/17 963.03 2003/11/18 964.35 2003/11/19 963.11 2003/11/20 961.88 2003/11/21 961.92 2003/11/24 962.03 2003/11/25 963.34 2003/11/26 963.37 2003/11/27 963.41 2003/11/28 963.45 2003/12/01 964.78 2003/12/02 965.25 2003/12/03 966.29 2003/12/04 966.75 2003/12/05 966.34 2003/12/08 965.87 2003/12/09 967.74 2003/12/10 963.03 2003/12/11 963.1 2003/12/12 964.23 2003/12/14 964.3 2003/12/15 965.01 2003/12/16 964.41 2003/12/17 966.49 2003/12/18 965.72 2003/12/19 965.11 2003/12/21 965.18 2003/12/22 967.11 2003/12/23 967.92 2003/12/24 967.25 2003/12/25 967.29 2003/12/26 969.5 2003/12/29 970.93 2003/12/30 971.41 2003/12/31 971.19 2004/01/01 971.19 2004/01/02 971.19 2004/01/05 971.48 2004/01/06 971.96 2004/01/07 965.72 2004/01/08 965.54 2004/01/09 967.06 2004/01/12 959.61 2004/01/13 963.36 2004/01/14 957.79 2004/01/15 956 2004/01/16 955.13 2004/01/18 955.13 2004/01/19 955.13 2004/01/20 957.09 2004/01/21 962.16 2004/01/22 963.42 2004/01/23 965.4 2004/01/24 965.4 2004/01/26 960.58 2004/01/27 968.93 2004/01/28 969.13 2004/01/29 966.07 2004/01/30 967.37 2004/01/31 967.29 2004/02/02 967.89 2004/02/03 968.31 2004/02/04 970.45 2004/02/05 969.32 2004/02/06 973.72 2004/02/08 973.81 2004/02/09 974.92 2004/02/10 974.42 2004/02/11 975.65 2004/02/12 976.83 2004/02/13 976.97 2004/02/16 976.97 2004/02/17 979.22 2004/02/18 979.4 2004/02/19 979.03 2004/02/20 977.28 2004/02/21 977.28 2004/02/22 977.28 2004/02/23 978.31 2004/02/24 979.28 2004/02/25 979 2004/02/26 979.54 2004/02/27 980.53 2004/02/29 980.61 2004/03/01 982.5 2004/03/02 982.42 2004/03/03 981.3 2004/03/04 981.91 2004/03/05 983.93 2004/03/08 982.69 2004/03/09 982.58 2004/03/10 977.31 2004/03/11 975.66 2004/03/12 974.54 From ehs at pobox.com Tue Mar 16 13:35:38 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings Message-ID: <20040316193538.GC15797@chloe.inkdroid.org> Since CPAN upload notifications have been sent here, I figured it would be ok to send bug reports here too. If not, let me know and I'll send it elsewhere :) SunOS 5.8 / Perl 5.8.2. esummers@dinger[~]$ perl -MFindBin::libs -e 1; stat(//Lib): No such file or directory at /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 stat(//home/Lib): No such file or directory at /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 stat(//home/esummers/Lib): No such file or directory at /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 Program execution continues, but the warnings are kind of unsightly. //Ed -- Ed Summers aim: inkdroid web: http://www.inkdroid.org I gotta go right now, someone is videotaping me in my spaceship. [Beck] From Andy_Bach at wiwb.uscourts.gov Tue Mar 16 14:22:57 2004 From: Andy_Bach at wiwb.uscourts.gov (Andy_Bach@wiwb.uscourts.gov) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] vCalendar in perl In-Reply-To: <20040316193538.GC15797@chloe.inkdroid.org> Message-ID: I couldn't find anything cpan/google wise so ... anybody know of a vCalendar (something that Outlook can eat) creation/parser for perl? I found sourceforges yntef but it won't compile easily on my Solaris system. I just want to take a simple date and make a .vcs file to attach to an email so Outlook folks can add it to their calendars. a Andy Bach, Sys. Mangler Internet: andy_bach@wiwb.uscourts.gov VOICE: (608) 261-5738 FAX 264-5030 "Civilization advances by extending the number of important operations &which we can perform without thinking." Alfred North Whitehead From lembark at wrkhors.com Mon Mar 15 21:46:59 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <20040316193538.GC15797@chloe.inkdroid.org> References: <20040316193538.GC15797@chloe.inkdroid.org> Message-ID: <769710000.1079408819@[192.168.100.3]> > SunOS 5.8 / Perl 5.8.2. > > esummers@dinger[~]$ perl -MFindBin::libs -e 1; > stat(//Lib): No such file or directory at > /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 > stat(//home/Lib): No such file or directory at > /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 > stat(//home/esummers/Lib): No such file or directory at > /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 > > Program execution continues, but the warnings are kind of unsightly. You may get faster reponse by sending it to me directly, but... Please send me the output of "ls -l /home/Lib". The output is probably comming from the abs_path in: 142 my @libs = 143 reverse 144 map 145 { 146 $dir .= "/$_"; 147 148 my $lib = abs_path "$dir/$base"; 149 150 ! $found{$lib} && -d $lib ? ($found{$lib}=$lib) : (); 151 } 152 split '/', $Bin 153 ; You probably have a dangling link and abs_path is complaining that it cannot resolve the symlink. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From lembark at wrkhors.com Tue Mar 16 00:45:10 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <769710000.1079408819@[192.168.100.3]> References: <20040316193538.GC15797@chloe.inkdroid.org> <769710000.1079408819@[192.168.100.3]> Message-ID: <779770000.1079419510@[192.168.100.3]> -- Steven Lembark >> esummers@dinger[~]$ perl -MFindBin::libs -e 1; >> stat(//Lib): No such file or directory at >> /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 >> stat(//home/Lib): No such file or directory at >> /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 >> stat(//home/esummers/Lib): No such file or directory at >> /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 If you get messages like: stat(//Lib): No such file or directory at stat(//home/Lib): No such file or directory at stat(//home/esummers/Lib): No such file or directory at then there is something on the file system named /lib, /home/Lib, etc... or you are searching for "Lib" directories by mistake in the use statement? At the very least, I'm sure that there are no 'uc', "ucfirst' or "\U" statements anywhere in the code so the 'L' came from the filesystem (via bogus symlinks) or you were explicity searching for 'Lib' dir's in the use. You folks wouldn't be the first to've symlinked "Lib" someplace instead of "lib" (count me in that club also :-). -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From lembark at wrkhors.com Tue Mar 16 05:00:11 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] PAUSE indexer report LEMBARK/FindBin-libs-0.18.tar.gz (fwd) Message-ID: <796600000.1079434811@[192.168.100.3]> ---------- Forwarded Message ---------- From: PAUSE Subject: PAUSE indexer report LEMBARK/FindBin-libs-0.18.tar.gz > The following report has been written by the PAUSE namespace indexer. > Please contact modules@perl.org if there are any open questions. > Id: mldistwatch 479 2004-01-04 13:29:05Z k > > User: LEMBARK (Steven Lembark) > Distribution file: FindBin-libs-0.18.tar.gz > Number of files: 7 > *.pm files: 1 > README: FindBin-libs-0.18/README > META.yml: FindBin-libs-0.18/META.yml > Timestamp of file: Wed Mar 17 08:21:52 2004 UTC > Time of this run: Wed Mar 17 08:45:43 2004 UTC > > The following packages (grouped by status) have been found in the distro: > > Status: Successfully indexed > ============================ > > module: FindBin::libs > version: 0.14 > in file: FindBin-libs-0.18/lib/FindBin/libs.pm > status: indexed > > module: caller > version: 0.14 > in file: FindBin-libs-0.18/lib/FindBin/libs.pm > status: indexed > > __END__ ---------- End Forwarded Message ---------- -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From ehs at pobox.com Wed Mar 17 08:37:56 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <779770000.1079419510@[192.168.100.3]> References: <20040316193538.GC15797@chloe.inkdroid.org> <769710000.1079408819@[192.168.100.3]> <779770000.1079419510@[192.168.100.3]> Message-ID: <20040317143756.GA25998@chloe.inkdroid.org> On Tue, Mar 16, 2004 at 12:45:10AM -0600, Steven Lembark wrote: > You folks wouldn't be the first to've symlinked "Lib" > someplace instead of "lib" (count me in that club also :-). Actually we do store things in Lib rather than lib. But that's not the issue: esummers@dinger[~]$ perl -MFindBin::libs -e 1 stat(//home/lib): No such file or directory at /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 stat(//home/esummers/lib): No such file or directory at /usr/local/lib/perl5/site_perl/5.8.2/FindBin/libs.pm line 151 Cwd::abs_path() under SunOS 5.8 issues warning when abs_path() is called on a directory that doesn't exist. //Ed From brian at deadtide.com Wed Mar 17 09:40:54 2004 From: brian at deadtide.com (Brian Drawert) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] vCalendar in perl In-Reply-To: References: Message-ID: <7A0DB9C6-7829-11D8-A781-000A959C9868@deadtide.com> I am not totally sure this is what you are looking for but I think the Net::ICal modules might be what you are looking for. Or this:http://sourceforge.net/projects/perl-date-time/ Let me know how this works out, I've been thinking about doing something along these lines too. -Brian On Mar 16, 2004, at 2:22 PM, Andy_Bach@wiwb.uscourts.gov wrote: > I couldn't find anything cpan/google wise so ... anybody know of a > vCalendar (something that Outlook can eat) creation/parser for perl? I > found sourceforges yntef but it won't compile easily on my Solaris > system. > I just want to take a simple date and make a .vcs file to attach to an > email so Outlook folks can add it to their calendars. > > a > > Andy Bach, Sys. Mangler > Internet: andy_bach@wiwb.uscourts.gov > VOICE: (608) 261-5738 FAX 264-5030 > > "Civilization advances by extending the number of important operations > &which we can perform without thinking." Alfred North Whitehead > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk From lembark at wrkhors.com Tue Mar 16 15:34:46 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <20040317143756.GA25998@chloe.inkdroid.org> References: <20040316193538.GC15797@chloe.inkdroid.org> <769710000.1079408819@[192.168.100.3]> <779770000.1079419510@[192.168.100.3]> <20040317143756.GA25998@chloe.inkdroid.org> Message-ID: <798820000.1079472886@[192.168.100.3]> > Cwd::abs_path() under SunOS 5.8 issues warning when abs_path() is called > on a directory that doesn't exist. Gotta love Sunny systems... I wonder which idiot at POSIX came up with that one? I've added a '-e' test before the abs_path in FB::l. That short-circuts the logic and avoids calling abs_path where it would generate those particular warnings. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From ehs at pobox.com Wed Mar 17 13:50:02 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <798820000.1079472886@[192.168.100.3]> References: <20040316193538.GC15797@chloe.inkdroid.org> <769710000.1079408819@[192.168.100.3]> <779770000.1079419510@[192.168.100.3]> <20040317143756.GA25998@chloe.inkdroid.org> <798820000.1079472886@[192.168.100.3]> Message-ID: <20040317195002.GC25998@chloe.inkdroid.org> On Tue, Mar 16, 2004 at 03:34:46PM -0600, Steven Lembark wrote: > I've added a '-e' test before the abs_path in FB::l. That > short-circuts the logic and avoids calling abs_path where > it would generate those particular warnings. Grazi Stephen. FindBin::libs is being used quite a bit here now if you couldn't tell already. v0.18 fixes our Sunwoes, so thanks for the quick response. One last quibble and I'll be quiet: the $FindBin::libs::VERSION in the v0.18 tarball is still set at '0.14'. //Ed From andy at petdance.com Wed Mar 17 14:18:58 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <798820000.1079472886@[192.168.100.3]> References: <20040316193538.GC15797@chloe.inkdroid.org> <769710000.1079408819@[192.168.100.3]> <779770000.1079419510@[192.168.100.3]> <20040317143756.GA25998@chloe.inkdroid.org> <798820000.1079472886@[192.168.100.3]> Message-ID: <20040317201858.GB26597@petdance.com> > I've added a '-e' test before the abs_path in FB::l. That > short-circuts the logic and avoids calling abs_path where > it would generate those particular warnings. That does fix it. Thanks. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From lembark at wrkhors.com Tue Mar 16 17:44:41 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] FindBin::libs : spurious warnings In-Reply-To: <20040317195002.GC25998@chloe.inkdroid.org> References: <20040316193538.GC15797@chloe.inkdroid.org> <769710000.1079408819@[192.168.100.3]> <779770000.1079419510@[192.168.100.3]> <20040317143756.GA25998@chloe.inkdroid.org> <798820000.1079472886@[192.168.100.3]> <20040317195002.GC25998@chloe.inkdroid.org> Message-ID: <805300000.1079480681@[192.168.100.3]> > One last quibble and I'll be quiet: the $FindBin::libs::VERSION in the > v0.18 tarball is still set at '0.14'. Now you know why I use Makefile.PL to set the distro version :-) If this doesn't affect your work I'll change it next release. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From petemar1 at perlmonk.org Wed Mar 17 18:19:30 2004 From: petemar1 at perlmonk.org (Marc Peters) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] St. PerlMonger's Day In-Reply-To: <805300000.1079480681@[192.168.100.3]> Message-ID: Coogans? From esinclai at pobox.com Wed Mar 17 22:02:31 2004 From: esinclai at pobox.com (Eric Sinclair) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] vCalendar in perl In-Reply-To: <7A0DB9C6-7829-11D8-A781-000A959C9868@deadtide.com> References: <7A0DB9C6-7829-11D8-A781-000A959C9868@deadtide.com> Message-ID: <1486BDBC-7891-11D8-90EF-000A956859A6@pobox.com> Also potentially of use is the Reefknot project, though it seems to have gotten a bit stale... http://reefknot.sourceforge.net/ -Eric On Mar 17, 2004, at 9:40 AM, Brian Drawert wrote: > I am not totally sure this is what you are looking for but I think the > Net::ICal modules might be what you are looking for. Or > this:http://sourceforge.net/projects/perl-date-time/ > Let me know how this works out, I've been thinking about doing > something along these lines too. > > -Brian > > On Mar 16, 2004, at 2:22 PM, Andy_Bach@wiwb.uscourts.gov wrote: > >> I couldn't find anything cpan/google wise so ... anybody know of a >> vCalendar (something that Outlook can eat) creation/parser for perl? >> I >> found sourceforges yntef but it won't compile easily on my Solaris >> system. >> I just want to take a simple date and make a .vcs file to attach to >> an >> email so Outlook folks can add it to their calendars. >> >> a >> >> Andy Bach, Sys. Mangler >> Internet: andy_bach@wiwb.uscourts.gov >> VOICE: (608) 261-5738 FAX 264-5030 >> >> "Civilization advances by extending the number of important operations >> &which we can perform without thinking." Alfred North Whitehead >> >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk@mail.pm.org >> http://mail.pm.org/mailman/listinfo/chicago-talk > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > -- esinclai@pobox.com aim: esinclai http://www.kittyjoyce.com/eric/log/ From andy at petdance.com Wed Mar 17 22:52:27 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Perl Medic Message-ID: <20040318045227.GB27208@petdance.com> I have here a copy of Peter Scott's new book Perl Medic. Peter previously did Perl Debugged. http://www.amazon.com/exec/obidos/tg/detail/-/0201795264/ If someone would like to actually write a review of it, I'll mail it to you. But you have to actually review the darn thing. Takers? xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From zrusilla at yahoo.com Thu Mar 18 09:43:50 2004 From: zrusilla at yahoo.com (Elizabeth Cortell) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself Message-ID: <20040318154350.8699.qmail@web41205.mail.yahoo.com> Although I'm not a man of wealth or fame. I've been mongering Perl for a few years without ever being a genuine Perl Monger. I first picked up Perl as a web programmer at Playboy.com; sharpened my Perl skills as a data-conversion programmer at Ex Libris, a library automation company; and now use it extensively as a web programmer at Rotary International, the headquarters of the Rotary Club. I haven't written any CPAN modules but have written modules useful for my jobs, including Playboy::Playmate. My favorite CPAN module is HTML::Parser and I'm currently working on a project using mod_perl. I like Perl for its terseness and its unmatched data-shredding abilities. The other day I saved my colleagues hours of work by writing a 30-line Perl script to convert all Korean-language web pages from Korean EUC encoding to UTF-8. It took half an hour. Only with Perl! I'm looking forward to getting to know all of you. Liz Cortell __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From Dooley.Michael at con-way.com Thu Mar 18 09:47:42 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself Message-ID: welcome to the boards. its funny you mention Playboy::Playmate I am a large fan of that package. -----Original Message----- From: chicago-talk-bounces@mail.pm.org [mailto:chicago-talk-bounces@mail.pm.org] On Behalf Of Elizabeth Cortell Sent: Thursday, March 18, 2004 9:44 AM To: chicago-talk@mail.pm.org Subject: [Chicago-talk] Please allow me to introduce myself Although I'm not a man of wealth or fame. I've been mongering Perl for a few years without ever being a genuine Perl Monger. I first picked up Perl as a web programmer at Playboy.com; sharpened my Perl skills as a data-conversion programmer at Ex Libris, a library automation company; and now use it extensively as a web programmer at Rotary International, the headquarters of the Rotary Club. I haven't written any CPAN modules but have written modules useful for my jobs, including Playboy::Playmate. My favorite CPAN module is HTML::Parser and I'm currently working on a project using mod_perl. I like Perl for its terseness and its unmatched data-shredding abilities. The other day I saved my colleagues hours of work by writing a 30-line Perl script to convert all Korean-language web pages from Korean EUC encoding to UTF-8. It took half an hour. Only with Perl! I'm looking forward to getting to know all of you. Liz Cortell __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk From jt at plainblack.com Thu Mar 18 10:41:36 2004 From: jt at plainblack.com (JT Smith) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] OSS Chicago: Andy Lester Message-ID: Tonight at OSS Chicago you can witness the great and powerful Andy Lester in action. He'll be giving a talk on the topic of his life's mission statement: Automated Testing Doors open at 6:30 per the usual. Hope to see you there. JT ~ Plain Black Create like a god, command like a king, work like a slave. From ehs at pobox.com Thu Mar 18 10:42:51 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Newsletter from O'Reilly UG Program, March 16 Message-ID: <20040318164251.GE25998@chloe.inkdroid.org> ----- Forwarded message from Marsee Henon ----- ================================================================ O'Reilly News for User Group Members March 16, 2004 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Hardcore Java -MCSE Designing Security for a Windows Server 2003 Network Exam 70-298 Study Guide & DVD Training System -MCSE Designing a Windows Server 2003 Active Directory and Network Infrastructure Exam 70-297 Study Guide & DVD Training System ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -Robbie Allen, ("DNS on Windows Server 2003," "Active Directory"), Directory Experts Conference--March 21-24 -Dave Taylor ("Wicked Cool Shell Scripts," "Learning Unix for Mac OS X Panther"), TriState Oracle Users Group Author Event, Amarillo, TX--March 23 -CJ Rayhill, O'Reilly CIO, CATS Conference 2004, San Luis Obispo, CA--March 24-26 -Adam Trachtenberg ("PHP Cookbook"), PHP Quebec Conference--March 25-26 -Mac User Group Day at O'Reilly in Sebastopol, CA--April 24 ---------------------------------------------------------------- Conferences ---------------------------------------------------------------- -Enter to Win a Free Conference Pass ---------------------------------------------------------------- News ---------------------------------------------------------------- -End of Shutter Lag? The Contax SL300R T* Might Be the Sign of Good Things to Come -New Titles on Safari -Next-Generation File Sharing with Social Networks -Will Mono Become the Preferred Platform for Linux Development? -Homemade Embedded BSD Systems -Tapping RSS with Shell Scripts -Tell Us What You Think: The 2nd Mac DevCenter Survey -Setting Up a Virtual Private Network -Windows Server 2003 Add-Ons, Part 2 -BlackMamba: A Swing Case Study -Job Scheduling in Java -Graphical Composition in Avalon -O'Reilly Learning Lab's .NET Certificate Series ---------------------------------------------------------------- News From Your Peers ---------------------------------------------------------------- Check out the new O'Reilly User Group Wiki for the latest news ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 20% off any O'Reilly, No Starch, Paraglyph, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***Hardcore Java Publisher: O'Reilly ISBN: 0596005687 "Hardcore Java" focuses on the little-touched but critical parts of the Java programming language that the expert programmers use. Learn about extremely powerful and useful programming techniques such as reflection, advanced data modeling, advanced GUI design, and advanced aspects of JDO, EJB, and XML-based web clients. This unique book reveals the true wizardry behind the complex and often mysterious Java environment. http://www.oreilly.com/catalog/hardcorejv/index.html Chapter 2, "The Final Story," is available free online: http://www.oreilly.com/catalog/hardcorejv/chapter/index.html ***MCSE Designing Security for a Windows Server 2003 Network Exam 70-298 Study Guide & DVD Training System Publisher: Syngress ISBN: 1932266550 http://www.oreilly.com/catalog/1932266550/ ***MCSE Designing a Windows Server 2003 Active Directory and Network Infrastructure Exam 70-297 Study Guide & DVD Training System Publisher: Syngress ISBN: 1-932266-54-2 http://www.oreilly.com/catalog/1932266542/ Both of these study guides are an integration of text, DVD-quality instructor led training, and web-based exam simulation and remediation. This system provides readers 100% coverage of the official Microsoft exam objectives plus test preparation software for the edge needed to pass the exam on the first try. ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***Robbie Allen, ("DNS on Windows Server 2003," "Active Directory"), Directory Experts Conference--March 21-24 Robbie is a featured speaker at NetPro's spring event. Hyatt Regency, Reston, VA. http://netpro.com/events/decadspring04/index.cfm ***Dave Taylor ("Wicked Cool Shell Scripts," "Learning Unix for Mac OS X Panther"), TriState Oracle Users Group Author Event, Amarillo, TX--March 23 The TriState Oracle Users Group welcomes author Dave Taylor of Intuitive Systems. Dave has promised a fun and entertaining talk and will bring several of his top-selling books. This event is open to the public; please RSVP to April Wells at AWells@csedge.com. http://groups.yahoo.com/group/TSOUG/ ***CJ Rayhill, O'Reilly CIO, CATS Conference 2004, San Luis Obispo, CA--March 24-26 Besides being O'Reilly's CIO, CJ is also the General Manager of our new Education Division. She will be discussing the connection between the open source movement and education at the seventh annual Community of Academic Technology Staff Conference. Cal Poly San Luis Obispo, San Luis Obispo, CA http://cats.cdl.edu/conf2004/ ***Adam Trachtenberg ("PHP Cookbook"), PHP Quebec Conference--March 25-26 Adam presents a session on "Web Services in PHP" at this bilingual event. Montreal, Quebec, Canada http://conf.phpquebec.org/main.php/en/conf2004/main ***Mac User Group Day at O'Reilly in Sebastopol, CA--April 24 Join O'Reilly and NCMUG for a special Mac User Group Day in Sebastopol, California on Saturday, April 24 from 2-6pm. Speakers include Derrick Story ("Digital Photography Pocket Guide, 2nd Edition," "iPhoto 2: The Missing Manual"), Chris Stone ("Mac OS X Panther in a Nutshell"), Tom Negrino & Dori Smith ("Mac OS X Unwired"), and Scott Fullam ("Hardware Hacking Projects for Geeks"). For more information and a complete schedule of events, go to: http://ug.oreilly.com/banners/macugday_hi_res.pdf Please RSVP to let us know you will be attending at mugevent@oreilly.com. Mac User Group Day 2:00pm-6:00pm, Saturday, April 24 O'Reilly 1005 Gravenstein Hwy North Sebastopol, CA 95472 800-998-9938 Ext. 7103 For directions, go to: http://www.oreilly.com/oreilly/seb_directions.html The 58th Annual Sebastopol Apple Blossom Festival will be also be happening. Come to Sebastopol early to watch the parade downtown. It starts at 10am and ends by noon, followed by a festival in Ives Park. For more info, go to: http://www.sebastopolappleblossom.org/ ================================================ Conference News ================================================ ***Enter to Win a Free Conference Pass Join our mailing list to receive the latest information on all of the O'Reilly Conferences. You'll be automatically entered to win one free conference pass (good for one year). Make your plans now for this year's O'Reilly Open Source Convention (oscon), July 23-26 in Portland, Oregon. http://www.oreillynet.com/cs/elists/query/q/725 ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***End of Shutter Lag? The Contax SL300R T* Might Be the Sign of Good Things to Come Kyocera's RTUNE technology provides amazing performance in a digital camera that fits easily in your shirt pocket. Is this the beginning of the end for shutter lag? Derrick Story examines the Contax SL300R T* and shows you how the bar has been raised for pocket digicams. http://www.macdevcenter.com/pub/a/mac/2004/03/09/contax.html ***New Titles on Safari Search, annotate, and read your favorite O'Reilly books on the O'Reilly Network Safari Bookshelf. New titles include: "Windows XP Pro: The Missing Manual;" "Oracle Essentials: Oracle Database 10g, 3rd Edition"; "Squid: The Definitive Guide"; "Java Examples in a Nutshell, 3rd Edition"; "Security Warrior"; "Java Servlet & JSP Cookbook"; and ".NET Windows Forms in a Nutshell." If you haven't gone on Safari yet, get a free trial. https://secure.safaribooksonline.com/promo.asp?code=ORA14&portal=oreilly&CMP=BAC-TP2974244892 ***Next-Generation File Sharing with Social Networks At the recent O'Reilly Emerging Technology Conference in San Diego, CA, Robert Kaye lead a talk on "Next-Generation File Sharing with Social Software." For those who were able to attend, this essay builds upon that session. And if you missed the talk altogether, you can now get up to speed. http://www.openp2p.com/pub/a/p2p/2004/03/05/file_share.html --------------------- Open Source --------------------- ***Will Mono Become the Preferred Platform for Linux Development? Miguel de Icaza recently led a two-day meeting that brought together developers and early adopters of the Mono project, an open source effort to create a free implementation of the .NET Development Framework. Edd Dumbill attended the gathering and reports on how Mono could become the first-choice platform for Linux software development. http://www.onlamp.com/pub/a/onlamp/2004/03/11/mono.html ***Homemade Embedded BSD Systems BSD runs nicely on older PCs, but they can be noisy and time-consuming to set up. Worse yet, the hardware may be at the end of its life. Is there a better alternative to dedicated (and closed) hardware devices? Michael Lucas demonstrates using BSD on a low-power, low-fuss Soekris box. http://www.onlamp.com/pub/a/bsd/2004/03/11/Big_Scary_Daemons.html --------------------- Mac --------------------- ***Tapping RSS with Shell Scripts Here's how to write a shell script that watches the news from Slashdot.org. After applying the code in this article by Dave Taylor, coauthor of "Learning Unix for Mac OS X Panther," all you'll have to do is launch the Terminal to see the latest Slash headlines. http://www.macdevcenter.com/pub/a/mac/2004/03/12/rss_scripting.html ***Tell Us What You Think: The 2nd Mac DevCenter Survey We're asking Mac DevCenter readers to participate in our second online survey. We've sweetened the pot with a chance to win books. http://www.macdevcenter.com/pub/a/mac/2004/03/09/survey.html --------------------- Windows --------------------- ***Setting Up a Virtual Private Network What to do if you want to securely access your network when you're out of the office? The quickest and safest way is to set up a VPN. Wei-Meng Lee shows you how. http://www.windowsdevcenter.com/pub/a/windows/2004/03/09/vpn_connection.html ***Windows Server 2003 Add-Ons, Part 2 Looking to power up Windows Server 2003? It's only a year old, but already there are dozens of ways you can increase its effectiveness and make it easier to manage. In this second article of a multi-part series, Mitch Tulloch shows you how to get the most out of Windows Server 2003 with three more feature packs. http://www.windowsdevcenter.com/pub/a/windows/2004/03/09/ws_addons2.html --------------------- Java --------------------- ***BlackMamba: A Swing Case Study It's one thing to learn the bits and pieces of a Swing GUI--how to create a model and wire it up to a JTable or JTree. It's quite another to think through and develop a full-blown application. Ashwin Jayaprakash uses an email client, BlackMamba, to show how the pieces of a Swing application fit together. http://www.onjava.com/pub/a/onjava/2004/03/10/blackmamba.html ***Job Scheduling in Java Scheduling recurring execution of a piece of code is a common task for Java developers. The Timer class has its place, but as Dejan Bosanac explains, developers with more sophisticated requirements might want to check out the Quartz API. http://www.onjava.com/pub/a/onjava/2004/03/10/quartz.html --------------------- .NET --------------------- ***Graphical Composition in Avalon Longhorn introduces significant new graphics technology, code-named "Avalon." Avalon renders an application's visual elements onto the screen using a much more sophisticated approach than Windows has previously used. In this article, Ian Griffiths show how this new graphical composition model solves various limitations of Win32, what new user interface design techniques this enables, and what it means to developers. http://www.ondotnet.com/pub/a/dotnet/2004/03/08/winfs_detail_3.html ***O'Reilly Learning Lab's .NET Certificate Series Learn .NET programming skills and earn a .NET Programming Certificate from the University of Illinois Office of Continuing Education. The .NET Certificate Series is comprised of three courses that give you the foundation you need to do .NET programming well. The courses are: Learn XML; Learn Object-Oriented Programming Using Java; and Learn C#. Limited time offer: Enroll today in all three courses and save $895. http://oreilly.useractive.com/courses/dotnet.php3 ================================================ News From Your Peers ================================================ ***Check out the new O'Reilly User Group Wiki for the latest news You can look for a meeting, user group, or post information any time you want. http://wiki.oreillynet.com/usergroups/view?HomePage Until next time-- Marsee From andy at petdance.com Thu Mar 18 13:05:43 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] OSS Chicago: Andy Lester In-Reply-To: References: Message-ID: <20040318190543.GA28356@petdance.com> > Tonight at OSS Chicago you can witness the great and powerful Andy Lester > in action. He'll be giving a talk on the topic of his life's mission > statement: Automated Testing I'll also have Yet Another Copy of Spidering Hacks to give away. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From Andy_Bach at wiwb.uscourts.gov Thu Mar 18 15:20:24 2004 From: Andy_Bach at wiwb.uscourts.gov (Andy_Bach@wiwb.uscourts.gov) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: <20040318154350.8699.qmail@web41205.mail.yahoo.com> Message-ID: http://helpspy.com/c.m/programming/lang/perl/cpan/c02/Acme/Playmate/ Andy Bach, Sys. Mangler Internet: andy_bach@wiwb.uscourts.gov VOICE: (608) 261-5738 FAX 264-5030 "Civilization advances by extending the number of important operations &which we can perform without thinking." Alfred North Whitehead From jthomasoniii at yahoo.com Thu Mar 18 15:33:26 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: Message-ID: <20040318213326.89484.qmail@web60204.mail.yahoo.com> Yes, but you neglect the fact that Liz got -paid- to write her Playboy::Playmate module. :) -Jim.... --- Andy_Bach@wiwb.uscourts.gov wrote: > http://helpspy.com/c.m/programming/lang/perl/cpan/c02/Acme/Playmate/ > > Andy Bach, Sys. Mangler > Internet: andy_bach@wiwb.uscourts.gov > VOICE: (608) 261-5738 FAX 264-5030 > > "Civilization advances by extending the number of > important operations > &which we can perform without thinking." Alfred > North Whitehead > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From ehs at pobox.com Thu Mar 18 15:36:12 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: References: <20040318154350.8699.qmail@web41205.mail.yahoo.com> Message-ID: <20040318213612.GF25998@chloe.inkdroid.org> On Thu, Mar 18, 2004 at 03:20:24PM -0600, Andy_Bach@wiwb.uscourts.gov wrote: > http://helpspy.com/c.m/programming/lang/perl/cpan/c02/Acme/Playmate/ So you were googling too :) Welcome Liz. Hopefully you can make it to the next meeting. More info is available on the website [1] if you haven't run across it yet. You've been added as a member, which will get updated the next time the site is rolled out from CVS. //Ed [1] http://chicago.pm.org From zrusilla at yahoo.com Thu Mar 18 15:44:14 2004 From: zrusilla at yahoo.com (Elizabeth Cortell) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: Message-ID: <20040318214414.10274.qmail@web41203.mail.yahoo.com> I didn't know Acme magazine had Playmates. --- Andy_Bach@wiwb.uscourts.gov wrote: > http://helpspy.com/c.m/programming/lang/perl/cpan/c02/Acme/Playmate/ __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From Andy_Bach at wiwb.uscourts.gov Thu Mar 18 15:46:03 2004 From: Andy_Bach at wiwb.uscourts.gov (Andy_Bach@wiwb.uscourts.gov) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: <20040318213326.89484.qmail@web60204.mail.yahoo.com> Message-ID: Acme::Playmate I was just curious what it was, as I only read the articles. Hmm, seems to work too, except for that BirthDate problem: #!/usr/bin/perl -w use strict; use Acme::Playmate; my $playmate = new Acme::Playmate("2003", "04"); print "Details for playmate " . $playmate->{ "Name" } . "\n"; print "Birthdate" . $playmate->{ "BirthDate" } . "\n"; print "Birthplace" . $playmate->{ "BirthPlace" } . "\n"; print "Bust" . $playmate->{ "Bust" } . "\n"; print "Waist" . $playmate->{ "Waist" } . "\n"; print "Hips" . $playmate->{ "Hips" } . "\n"; print "Height" . $playmate->{ "Height" } . "\n"; print "Weight" . $playmate->{ "Weight" } . "\n"; $ playmate.pl Details for playmate Carmella Danielle DeCesare BirthdateCarmella Danielle DeCesare Birthplace Avon Lake, Ohio Bust 34" B Waist 24" Hips 27" Height 5' 8" Weight 118 lbs The data:

BIRTHPLACE: Avon Lake, Ohio

BUST: 34"  B

WAIST: 24"

HIPS: 27"

HEIGHT: 5' 8"

WEIGHT:118 lbs

The code: my $con = $res->content; print $con; $con =~ s/[\r\n]//g; $con =~ s/ / /g; $con =~ /.*?(.*?)<\/span>.*?/is; my $name = $1; $con =~ /.*?

BIRTHDATE:<\/b>(.*?)<\/p>.*?/is; my $birthDate = $1; $con =~ /.*?

BIRTHPLACE:<\/b>(.*?)<\/p>.*?/is; and the problem??? failure to check for a match, so you get the last one. a Andy Bach, Sys. Mangler Internet: andy_bach@wiwb.uscourts.gov VOICE: (608) 261-5738 FAX 264-5030 "Civilization advances by extending the number of important operations &which we can perform without thinking." Alfred North Whitehead From zrusilla at yahoo.com Thu Mar 18 15:48:48 2004 From: zrusilla at yahoo.com (Elizabeth Cortell) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] HAHAHAHAHA In-Reply-To: Message-ID: <20040318214848.44874.qmail@web41214.mail.yahoo.com> Acme::Playmate trawls the web pages that I generated using the Playboy::Playmate module! --- Andy_Bach@wiwb.uscourts.gov wrote: > http://helpspy.com/c.m/programming/lang/perl/cpan/c02/Acme/Playmate/ __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From Andy_Bach at wiwb.uscourts.gov Thu Mar 18 15:56:14 2004 From: Andy_Bach at wiwb.uscourts.gov (Andy_Bach@wiwb.uscourts.gov) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: Message-ID: How about: my ($name, $birthDate, $birthPlace, $bust, $waist, $hips, $height, $weight) = split(/ /, " Unknown " x 8); $name = $1 if $con =~ /.*?(.*?)<\/span>.*?/is; $birthDate = $1 if $con =~ /.*?

BIRTHDATE:<\/b>(.*?)<\/p>.*?/is; $birthPlace = $1 if $con =~ /.*?

BIRTHPLACE:<\/b>(.*?)<\/p>.*?/is; $bust = $1 if $con =~ /.*?

BUST:<\/b>(.*?)<\/p>.*?/is; $waist = $1 if $con =~ /.*?

WAIST:<\/b>(.*?)<\/p>.*?/is; $hips = $1 if $con =~ /.*?

HIPS:<\/b>(.*?)<\/p>.*?/is; $height = $1 if $con =~ /.*?

HEIGHT:<\/b>(.*?)<\/p>.*?/is; $weight = $1 if $con =~ /.*?

WEIGHT:<\/b>(.*?)<\/p>.*?/is; $weight = " " . $weight; a Andy Bach, Sys. Mangler Internet: andy_bach@wiwb.uscourts.gov VOICE: (608) 261-5738 FAX 264-5030 "Civilization advances by extending the number of important operations &which we can perform without thinking." Alfred North Whitehead From jthomasoniii at yahoo.com Thu Mar 18 16:07:19 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: Message-ID: <20040318220719.86373.qmail@web60206.mail.yahoo.com> > split(/ /, " Unknown " x 8); No need to over-complicate things. (" Unknown ") x 8. if a list is the left hand argument to x, it repeats the list the right number of times. -Jim.... __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From andy at petdance.com Thu Mar 18 16:24:16 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: <20040318213612.GF25998@chloe.inkdroid.org> References: <20040318154350.8699.qmail@web41205.mail.yahoo.com> <20040318213612.GF25998@chloe.inkdroid.org> Message-ID: <20040318222416.GB28510@petdance.com> > Welcome Liz. Hopefully you can make it to the next meeting. More info is > available on the website [1] if you haven't run across it yet. You've been > added as a member, which will get updated the next time the site is rolled > out from CVS. That would be right now. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From Andy_Bach at wiwb.uscourts.gov Thu Mar 18 16:40:27 2004 From: Andy_Bach at wiwb.uscourts.gov (Andy_Bach@wiwb.uscourts.gov) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Please allow me to introduce myself In-Reply-To: <20040318220719.86373.qmail@web60206.mail.yahoo.com> Message-ID: dang. I tried: = "unknown" x 8; = ("unknown" x 8); = qw("unknown" x 8); I knew it could be done ... Thanks. a Andy Bach, Sys. Mangler Internet: andy_bach@wiwb.uscourts.gov VOICE: (608) 261-5738 FAX 264-5030 "Civilization advances by extending the number of important operations &which we can perform without thinking." Alfred North Whitehead From andy at petdance.com Fri Mar 19 09:14:00 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Re: chicago mtgs In-Reply-To: <200403191507.i2JF71I08983@mail.pm.org> References: <200403191507.i2JF71I08983@mail.pm.org> Message-ID: <20040319151400.GA30151@petdance.com> Mail from a potential meeting-goer: > are perl meetings still being held @ coogan's? please let me know. i > showed up there for the february meeting - but nobody came. the meeting was > advertised on your site. i'd like to attend the chicago meetings, but would > also drive out to vernon hills if necessary. thanks, and look forward to > attending. Has anyone gone to Coogan's and met anyone else there? If not, we need to take that off the site. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From shawn at owbn.org Fri Mar 19 19:11:45 2004 From: shawn at owbn.org (Shawn Carroll) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] Perl Medic In-Reply-To: <20040318045227.GB27208@petdance.com> References: <20040318045227.GB27208@petdance.com> Message-ID: <1079745104.25576.27.camel@dev-box> I'll review it. On Wed, 2004-03-17 at 22:52 -0600, Andy Lester wrote: > I have here a copy of Peter Scott's new book Perl Medic. Peter > previously did Perl Debugged. > > http://www.amazon.com/exec/obidos/tg/detail/-/0201795264/ > > If someone would like to actually write a review of it, I'll mail it to > you. But you have to actually review the darn thing. > > Takers? > > xoa > > -- > Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/chicago-talk/attachments/20040319/40abe725/attachment.bin From me at heyjay.com Fri Mar 19 23:03:06 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance Message-ID: <000801c40e38$a44d18d0$6405a8c0@a30> I have a class which connects to Ameritrade (broker), and I have another class which connects to InteractiveBrokers. Both of these classes have methods quote, connect, disconnect. The class for InteractiveBrokers has a bunch of others too. While the method names are the same their implementation is totally different, as are their required input parms. The classes don't share any of the same code, and I don't see them sharing any/much in the future. I'd like to be able to plug in other brokers as necessary. So my question is, do I make a base class like "broker" and make a Ameritrade and InteractiveBrokers that inherit from broker, or do a make a broker that inherits from Ameritrade and InteractiveBrokers? Thanks Jay From Aaron.Young at citadelgroup.com Sat Mar 20 10:27:58 2004 From: Aaron.Young at citadelgroup.com (Young, Aaron) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance Message-ID: <800BCF60D1553144BABCBFCE36249D3D0FAD018B@CORPEMAIL.citadelgroup.com> i would recommend the subclass approach, where i work, we have something that sounds exactly like what you are doing, and the subclass approach has worked well for us. if you add many more brokers, it's likely that some code will eventually be shared, and you'll be able to move those methods into your superclass, this technique will give you plenty of room to grow in the future. Aaron F Young Broker Reconciliation Operations & Portfolio Finance Citadel Investment Group LLC > -----Original Message----- > From: Jay Strauss [mailto:me@heyjay.com] > Sent: Friday, March 19, 2004 11:03 PM > To: chicago-pm > Subject: [Chicago-talk] 2 subclasses or Multiple inheritance > > > I have a class which connects to Ameritrade (broker), and I > have another > class which connects to InteractiveBrokers. Both of these > classes have > methods quote, connect, disconnect. The class for > InteractiveBrokers has a > bunch of others too. While the method names are the same their > implementation is totally different, as are their required > input parms. > > The classes don't share any of the same code, and I don't see > them sharing > any/much in the future. > > I'd like to be able to plug in other brokers as necessary. > > So my question is, do I make a base class like "broker" and make a > Ameritrade and InteractiveBrokers that inherit from broker, > or do a make a > broker that inherits from Ameritrade and InteractiveBrokers? > > Thanks > Jay > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > ------------------------------------------------------------------------------------------------- ------------------------- CONFIDENTIALITY AND SECURITY NOTICE This e-mail contains information that may be confidential and proprietary. It is to be read and used solely by the intended recipient(s). Citadel and its affiliates retain all proprietary rights they may have in the information. If you are not an intended recipient, please notify us immediately either by reply e-mail or by telephone at 312-395-2100 and delete this e-mail (including any attachments hereto) immediately without reading, disseminating, distributing or copying. We cannot give any assurances that this e-mail and any attachments are free of viruses and other harmful code. Citadel reserves the right to monitor, intercept and block all communications involving its computer systems. From me at heyjay.com Sat Mar 20 10:40:43 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:09 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance References: <800BCF60D1553144BABCBFCE36249D3D0FAD018B@CORPEMAIL.citadelgroup.com> Message-ID: <001101c40e9a$fe495df0$6405a8c0@a30> Thanks, And I understand what you say, but at present it seems like my base class would be: package My::Broker; 1; Jay ----- Original Message ----- From: "Young, Aaron" To: "Chicago.pm chatter" Sent: Saturday, March 20, 2004 10:27 AM Subject: RE: [Chicago-talk] 2 subclasses or Multiple inheritance i would recommend the subclass approach, where i work, we have something that sounds exactly like what you are doing, and the subclass approach has worked well for us. if you add many more brokers, it's likely that some code will eventually be shared, and you'll be able to move those methods into your superclass, this technique will give you plenty of room to grow in the future. Aaron F Young Broker Reconciliation Operations & Portfolio Finance Citadel Investment Group LLC > -----Original Message----- > From: Jay Strauss [mailto:me@heyjay.com] > Sent: Friday, March 19, 2004 11:03 PM > To: chicago-pm > Subject: [Chicago-talk] 2 subclasses or Multiple inheritance > > > I have a class which connects to Ameritrade (broker), and I > have another > class which connects to InteractiveBrokers. Both of these > classes have > methods quote, connect, disconnect. The class for > InteractiveBrokers has a > bunch of others too. While the method names are the same their > implementation is totally different, as are their required > input parms. > > The classes don't share any of the same code, and I don't see > them sharing > any/much in the future. > > I'd like to be able to plug in other brokers as necessary. > > So my question is, do I make a base class like "broker" and make a > Ameritrade and InteractiveBrokers that inherit from broker, > or do a make a > broker that inherits from Ameritrade and InteractiveBrokers? > > Thanks > Jay > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > ---------------------------------------------------------------------------- --------------------- ------------------------- CONFIDENTIALITY AND SECURITY NOTICE This e-mail contains information that may be confidential and proprietary. It is to be read and used solely by the intended recipient(s). Citadel and its affiliates retain all proprietary rights they may have in the information. If you are not an intended recipient, please notify us immediately either by reply e-mail or by telephone at 312-395-2100 and delete this e-mail (including any attachments hereto) immediately without reading, disseminating, distributing or copying. We cannot give any assurances that this e-mail and any attachments are free of viruses and other harmful code. Citadel reserves the right to monitor, intercept and block all communications involving its computer systems. _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk From me at heyjay.com Sat Mar 20 10:47:08 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] www::mechanize sputters, starts, pauses, and hangs Message-ID: <001301c40e9a$ffe47050$6405a8c0@a30> Hi, Anyone know why I get such erratic behavior with www::mech when talking to Ameritrade? The little script below produces: [o901]:~/bin> date; ./d; date Sat Mar 20 10:44:23 CST 2004 done loginning in page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 page retrieval: 1 Sat Mar 20 10:44:41 CST 2004 [o901]:~/bin> date; ./d; date Sat Mar 20 10:44:51 CST 2004 done loginning in page retrieval: 1 page retrieval: 1 Sat Mar 20 10:44:58 CST 2004 #!/usr/bin/perl use WWW::Mechanize; my $mech = WWW::Mechanize->new(); $mech->agent_alias( 'Windows IE 6'); my $cgiBase = 'https://wwws.ameritrade.com/cgi-bin/apps/'; my %page = ( login => 'https://wwws.ameritrade.com/apps/LogIn', snapQuote => $cgiBase.'SnapQuote', ); $mech->get($page{login}); $mech->submit_form( form_number => 1, fields => { USERID => $ARGV[0], PASSWORD => $ARGV[1], }); print "done loginning in\n"; while(1) { $mech->get($page{snapQuote}); print "page retrieval: ", $mech->success,"\n"; } Thanks Jay From me at heyjay.com Sat Mar 20 10:49:48 2004 From: me at heyjay.com (Jay Strauss) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Class::Factory, One more question Message-ID: <001b01c40e9b$5e55af50$6405a8c0@a30> One more question before I head into the office I saw someone (on CDBI) mention class::factory. I read the doc but don't really get it (though it looks like it might be neat). Can someone explain when/why you'd use Class::Factory? Thanks Jay From jthomasoniii at yahoo.com Sat Mar 20 11:24:50 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Class::Factory, One more question In-Reply-To: <001b01c40e9b$5e55af50$6405a8c0@a30> Message-ID: <20040320172450.96831.qmail@web60201.mail.yahoo.com> Ahh, the abstract factory pattern. One of my personal favorites in my bag of tricks. I can never recall the difference between abstract and concrete factory patterns, though, so this might be a normal factory. Anywho...it's extremely useful when you know that you're going to need a particular type of object, but not which particular subclass it is you'll need. Say you have a user interface where the user selects a piece of fruit. You don't know what it is in advance, but you'll need to access info on it later. You can put a big if/then/else into your code to check what comes in. use Fruit; use Fruit::Apple; use Fruit::Orange; #etc. if ($choice eq 'Apple') { $fruit = Fruit::Apple->new(); } elsif ($choice eq 'Orange') { $fruit = Fruit::Orange->new(); } etc. It scales poorly. When you need to add new fruit, you have to alter all of your ladders. With a factory, you just register the type somewhere. #in some module, conf file, etc., someplace else: $factory->register('orange', 'Fruit::Orange'); Then your code is simply: $fruit = Fruit->object_of_type($choice); voila! For a more concrete example, I have an applications framework running my site (www.jimandkoka.com). it also runs a few other sites (www.themensroom.net, www.lunchmanager.com). Some of the individual applications are on only one site (my biking log), but some are on all sites (the poll application, for instance). Other things are global everywhere, such as users and groups. But the users are slightly different on the 3 systems. The Lunch manager needs users to be able to choose to receive email, TMR needs users to register their ISCA username, my site needs none of those. Now, the polling application doesn't care about any of those extra doohickeys, it just cares about the basic stuff. Now, I don't want to have to alter the polling app for each site, replacing my login validation checks with the individual modules (JIM::User, TMR::User, and Lunch::User, in this case). That gets messsy. Then if I ever want to put my polling app someplace else, I have to re-do another branch with another set of modules. One solution is to just use the superclass (JIM::User, in this case), since it doesn't care about the extra thingys anyway. Still, that locks it into using users that subclass off of JIM::User, which may not be desired. As long as the interface is the same, it shouldn't care what the User objects are. So my solution is to use a factory method. My calls go from: JIM::User->login_via_web(); to JIM::Object->class_for_type('user')->login_via_web(); Sure, I still need to use JIM::Object, but the polling app uses it anyway, so no big deal. Just specify the user type in the conf file, and then I can change the actual object anytime I want (or as I'm doing, use different objects on different sites) and never need to touch the code. It's great at allowing disparate components to communicate w/o directly knowing what they're talking to. -Jim.... --- Jay Strauss wrote: > One more question before I head into the office > > I saw someone (on CDBI) mention class::factory. I > read the doc but don't > really get it (though it looks like it might be > neat). Can someone explain > when/why you'd use Class::Factory? > > Thanks > Jay > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From andy at petdance.com Sat Mar 20 11:54:04 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] www::mechanize sputters, starts, pauses, and hangs In-Reply-To: <001301c40e9a$ffe47050$6405a8c0@a30> References: <001301c40e9a$ffe47050$6405a8c0@a30> Message-ID: <20040320175404.GA11039@petdance.com> On Sat, Mar 20, 2004 at 10:47:08AM -0600, Jay Strauss (me@heyjay.com) wrote: > Hi, > > Anyone know why I get such erratic behavior with www::mech when talking to > Ameritrade? The little script below produces: What do you expect it to do? You're just printing out a 1 for success every time. If it's not what you expect, try a $mech->response->as_string; xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From ehs at pobox.com Sat Mar 20 12:39:00 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance In-Reply-To: <001101c40e9a$fe495df0$6405a8c0@a30> References: <800BCF60D1553144BABCBFCE36249D3D0FAD018B@CORPEMAIL.citadelgroup.com> <001101c40e9a$fe495df0$6405a8c0@a30> Message-ID: <20040320183900.GB3650@chloe.inkdroid.org> On Sat, Mar 20, 2004 at 10:40:43AM -0600, me@heyjay.com wrote: > And I understand what you say, but at present it seems like my base class > would be: > > package My::Broker; > > 1; You might want to consider: package My::Broker; sub connect { croak( "subclasses must implement connect()" ); } sub disconnect { croak( "subclasses must implement disconnect()" ); } sub quote { croak( "subclasses must implement quote()" ); } 1; Kind of like an interface class in Java. Of course you'll still get an error when calling a subclass that doesn't define the methods. But if you add a bit of pod, the extra information might prove handy 6 months from now :) //Ed From me at heyjay.com Sat Mar 20 16:05:17 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Class::Factory, One more question References: <20040320172450.96831.qmail@web60201.mail.yahoo.com> Message-ID: <007c01c40ec8$ad9ef3a0$6405a8c0@a30> that makes more sense, thanks. I'm going to re-read the docs Jay ----- Original Message ----- From: "Jim Thomason" To: "Chicago.pm chatter" Sent: Saturday, March 20, 2004 11:24 AM Subject: Re: [Chicago-talk] Class::Factory, One more question > Ahh, the abstract factory pattern. One of my personal > favorites in my bag of tricks. I can never recall the > difference between abstract and concrete factory > patterns, though, so this might be a normal factory. > > Anywho...it's extremely useful when you know that > you're going to need a particular type of object, but > not which particular subclass it is you'll need. Say > you have a user interface where the user selects a > piece of fruit. You don't know what it is in advance, > but you'll need to access info on it later. You can > put a big if/then/else into your code to check what > comes in. > > use Fruit; > use Fruit::Apple; > use Fruit::Orange; > #etc. > > if ($choice eq 'Apple') { > $fruit = Fruit::Apple->new(); > } elsif ($choice eq 'Orange') { > $fruit = Fruit::Orange->new(); > } > > etc. > > It scales poorly. When you need to add new fruit, you > have to alter all of your ladders. With a factory, you > just register the type somewhere. > > #in some module, conf file, etc., someplace else: > $factory->register('orange', 'Fruit::Orange'); > > Then your code is simply: > > $fruit = Fruit->object_of_type($choice); > > voila! > > For a more concrete example, I have an applications > framework running my site (www.jimandkoka.com). it > also runs a few other sites (www.themensroom.net, > www.lunchmanager.com). Some of the individual > applications are on only one site (my biking log), but > some are on all sites (the poll application, for > instance). Other things are global everywhere, such as > users and groups. But the users are slightly different > on the 3 systems. The Lunch manager needs users to be > able to choose to receive email, TMR needs users to > register their ISCA username, my site needs none of > those. Now, the polling application doesn't care about > any of those extra doohickeys, it just cares about the > basic stuff. > > Now, I don't want to have to alter the polling app for > each site, replacing my login validation checks with > the individual modules (JIM::User, TMR::User, and > Lunch::User, in this case). That gets messsy. Then if > I ever want to put my polling app someplace else, I > have to re-do another branch with another set of > modules. > > One solution is to just use the superclass (JIM::User, > in this case), since it doesn't care about the extra > thingys anyway. Still, that locks it into using users > that subclass off of JIM::User, which may not be > desired. As long as the interface is the same, it > shouldn't care what the User objects are. > > So my solution is to use a factory method. My calls go > from: > > JIM::User->login_via_web(); > to > JIM::Object->class_for_type('user')->login_via_web(); > > Sure, I still need to use JIM::Object, but the polling > app uses it anyway, so no big deal. Just specify the > user type in the conf file, and then I can change the > actual object anytime I want (or as I'm doing, use > different objects on different sites) and never need > to touch the code. > > It's great at allowing disparate components to > communicate w/o directly knowing what they're talking > to. > > -Jim.... > --- Jay Strauss wrote: > > One more question before I head into the office > > > > I saw someone (on CDBI) mention class::factory. I > > read the doc but don't > > really get it (though it looks like it might be > > neat). Can someone explain > > when/why you'd use Class::Factory? > > > > Thanks > > Jay > > > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk@mail.pm.org > > http://mail.pm.org/mailman/listinfo/chicago-talk > > > __________________________________ > Do you Yahoo!? > Yahoo! Finance Tax Center - File online. File on time. > http://taxes.yahoo.com/filing.html > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From me at heyjay.com Sat Mar 20 16:09:12 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] www::mechanize sputters, starts, pauses, and hangs References: <001301c40e9a$ffe47050$6405a8c0@a30> <20040320175404.GA11039@petdance.com> Message-ID: <007d01c40ec8$ade831a0$6405a8c0@a30> > What do you expect it to do? You're just printing out a 1 for success > every time. Its not a question of what's printing out. Sorry if I didn't make that clear. Its a question on behavior during execution. It just randomly pauses, and starts, sometimes it will just hang. I'd expect it to go nice and smoothly: page retrieval: 1 (slight pause) page retrieval: 1 (slight pause) page retrieval: 1 (slight pause) page retrieval: 1 (slight pause) page retrieval: 1 (slight pause) page retrieval: 1 (slight pause) as opposed to: page retrieval: 1 (slight pause) page retrieval: 1 (randomly long pause) page retrieval: 1 (hang) Jay From jason at multiply.org Sun Mar 21 13:36:40 2004 From: jason at multiply.org (jason scott gessner) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Ruby Web Framework Presentation Message-ID: <13477310-7B6F-11D8-B3F2-00039394FC90@multiply.org> http://www.37signals.com/svn/archives/000606.php This is pretty interesting. From David, the main developer for Basecamp (http://www.basecamphq.com/) -jason scott gessner jason@multiply.org From andy at petdance.com Sun Mar 21 23:07:32 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Perl Medic In-Reply-To: <1079745104.25576.27.camel@dev-box> References: <20040318045227.GB27208@petdance.com> <1079745104.25576.27.camel@dev-box> Message-ID: <20040322050732.GB24068@petdance.com> > I'll review it. Where would you like it sent? xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From lembark at wrkhors.com Sun Mar 21 06:00:26 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] HAHAHAHAHA In-Reply-To: <20040318214848.44874.qmail@web41214.mail.yahoo.com> References: <20040318214848.44874.qmail@web41214.mail.yahoo.com> Message-ID: <25710000.1079870426@[192.168.100.3]> -- Elizabeth Cortell > Acme::Playmate trawls the web pages that I generated > using the Playboy::Playmate module! Hey, you're famous. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From lembark at wrkhors.com Sun Mar 21 06:02:26 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Re: chicago mtgs In-Reply-To: <20040319151400.GA30151@petdance.com> References: <200403191507.i2JF71I08983@mail.pm.org> <20040319151400.GA30151@petdance.com> Message-ID: <26030000.1079870546@[192.168.100.3]> -- Andy Lester > Mail from a potential meeting-goer: > >> are perl meetings still being held @ coogan's? please let me know. i >> showed up there for the february meeting - but nobody came. the meeting >> was advertised on your site. i'd like to attend the chicago meetings, >> but would also drive out to vernon hills if necessary. thanks, and look >> forward to attending. > > Has anyone gone to Coogan's and met anyone else there? I can start going again; now that I'm back in the loop for work the Tech meeting's are hard to make. The main problem we had was that Coogan's owner didn't really like us beingn there (contrary to the entire waitstaff). One other place I can suggest is IIT: we can get free rooms and a projector there. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From lembark at wrkhors.com Sun Mar 21 06:05:17 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance In-Reply-To: <000801c40e38$a44d18d0$6405a8c0@a30> References: <000801c40e38$a44d18d0$6405a8c0@a30> Message-ID: <26240000.1079870717@[192.168.100.3]> -- Jay Strauss > I have a class which connects to Ameritrade (broker), and I have another > class which connects to InteractiveBrokers. Both of these classes have > methods quote, connect, disconnect. The class for InteractiveBrokers has > a bunch of others too. While the method names are the same their > implementation is totally different, as are their required input parms. > > The classes don't share any of the same code, and I don't see them sharing > any/much in the future. > > I'd like to be able to plug in other brokers as necessary. > > So my question is, do I make a base class like "broker" and make a > Ameritrade and InteractiveBrokers that inherit from broker, or do a make a > broker that inherits from Ameritrade and InteractiveBrokers? You don't. If the dispatching object has a "tradermodule" object stored it in you can use $dispatcher->{tradermodule}->foobar( args ) to handle any tradermodule you prefer. You can populate the dispatcher entry with a classname initially then use: $dispatcher->{tradermodule} = $dispatcher->{tradermodule}->initialize; to get an object. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From zrusilla at yahoo.com Mon Mar 22 15:51:20 2004 From: zrusilla at yahoo.com (Elizabeth Cortell) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Re: chicago mtgs In-Reply-To: <26030000.1079870546@[192.168.100.3]> Message-ID: <20040322215120.73307.qmail@web41211.mail.yahoo.com> IIT would work for me; I'm on the South Side and Vernon Hills is way outta my way. Meetup.com might be a good way to organize these sessions. Liz --- Steven Lembark wrote: > One other place I can suggest is IIT: we can get > free > rooms and a projector there. > __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From ehs at pobox.com Mon Mar 22 15:58:56 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Re: chicago mtgs In-Reply-To: <20040322215120.73307.qmail@web41211.mail.yahoo.com> References: <26030000.1079870546@[192.168.100.3]> <20040322215120.73307.qmail@web41211.mail.yahoo.com> Message-ID: <20040322215856.GE28904@chloe.inkdroid.org> On Mon, Mar 22, 2004 at 01:51:20PM -0800, Elizabeth Cortell wrote: > IIT would work for me; I'm on the South Side and > Vernon Hills is way outta my way. We tried to "get a room" in downtown Chicago about a year ago, since tech meetings in Coogans just wouldn't cut it. Attendence for the past year has been good, 20-30 people per meeting, so there enough people who think Vernon Hills is fine. That said, if we could land a room for tech meetings in downtown Chicago I imagine turnout there would be good too. What are the details? JT's space in Vernon Hills would be hard to beat. //Ed From lembark at wrkhors.com Mon Mar 22 02:35:01 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Re: chicago mtgs In-Reply-To: <20040322215856.GE28904@chloe.inkdroid.org> References: <26030000.1079870546@[192.168.100.3]> <20040322215120.73307.qmail@web41211.mail.yahoo.com> <20040322215856.GE28904@chloe.inkdroid.org> Message-ID: <79060000.1079944501@[192.168.100.3]> > That said, if we could land a room for tech meetings in downtown Chicago I > imagine turnout there would be good too. What are the details? JT's space > in Vernon Hills would be hard to beat. The space is fine, just no good way to get there from downtown or the south side. Try driving north to get there from Logan Square at 6pm... -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From me at heyjay.com Tue Mar 23 09:25:49 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance References: <000801c40e38$a44d18d0$6405a8c0@a30> <26240000.1079870717@[192.168.100.3]> Message-ID: <006901c410eb$1fe3fa90$6405a8c0@a30> Thats sorta like what I'm doing. But it seems that each of the "trademodule"s should be built with the same interface, and ideally share some code (if possible) Jay ----- Original Message ----- From: "Steven Lembark" To: "Chicago.pm chatter" Sent: Sunday, March 21, 2004 6:05 AM Subject: Re: [Chicago-talk] 2 subclasses or Multiple inheritance > > > -- Jay Strauss > > > I have a class which connects to Ameritrade (broker), and I have another > > class which connects to InteractiveBrokers. Both of these classes have > > methods quote, connect, disconnect. The class for InteractiveBrokers has > > a bunch of others too. While the method names are the same their > > implementation is totally different, as are their required input parms. > > > > The classes don't share any of the same code, and I don't see them sharing > > any/much in the future. > > > > I'd like to be able to plug in other brokers as necessary. > > > > So my question is, do I make a base class like "broker" and make a > > Ameritrade and InteractiveBrokers that inherit from broker, or do a make a > > broker that inherits from Ameritrade and InteractiveBrokers? > > You don't. If the dispatching object has a "tradermodule" > object stored it in you can use > > $dispatcher->{tradermodule}->foobar( args ) > > to handle any tradermodule you prefer. You can populate the dispatcher > entry with a classname initially then use: > > $dispatcher->{tradermodule} = $dispatcher->{tradermodule}->initialize; > > to get an object. > > -- > Steven Lembark 2930 W. Palmer > Workhorse Computing Chicago, IL 60647 > +1 888 359 3508 > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From lembark at wrkhors.com Mon Mar 22 03:47:26 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] PAUSE indexer report LEMBARK/FindBin-libs-1.00.tar.gz (fwd) Message-ID: <140510000.1079948846@[192.168.100.3]> ---------- Forwarded Message ---------- From: PAUSE Subject: PAUSE indexer report LEMBARK/FindBin-libs-1.00.tar.gz > The following report has been written by the PAUSE namespace indexer. > Please contact modules@perl.org if there are any open questions. > Id: mldistwatch 479 2004-01-04 13:29:05Z k > > User: LEMBARK (Steven Lembark) > Distribution file: FindBin-libs-1.00.tar.gz > Number of files: 7 > *.pm files: 1 > README: FindBin-libs-1.00/README > META.yml: FindBin-libs-1.00/META.yml > Timestamp of file: Mon Mar 22 17:10:49 2004 UTC > Time of this run: Mon Mar 22 17:45:23 2004 UTC > > The following packages (grouped by status) have been found in the distro: > > Status: Successfully indexed > ============================ > > module: FindBin::libs > version: 1.00 > in file: FindBin-libs-1.00/lib/FindBin/libs.pm > status: indexed > > module: caller > version: 1.00 > in file: FindBin-libs-1.00/lib/FindBin/libs.pm > status: indexed > > __END__ ---------- End Forwarded Message ---------- -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From me at heyjay.com Tue Mar 23 10:14:30 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] www::mechanize sputters, starts, pauses, and hangs References: <001301c40e9a$ffe47050$6405a8c0@a30><20040320175404.GA11039@petdance.com> <007d01c40ec8$ade831a0$6405a8c0@a30> Message-ID: <001301c410f1$edebe8c0$6405a8c0@a30> Any clues???? Jay ----- Original Message ----- From: To: "Chicago.pm chatter" Sent: Saturday, March 20, 2004 4:09 PM Subject: Re: [Chicago-talk] www::mechanize sputters, starts, pauses, and hangs > > What do you expect it to do? You're just printing out a 1 for success > > every time. > > Its not a question of what's printing out. Sorry if I didn't make that > clear. Its a question on behavior during execution. It just randomly > pauses, and starts, sometimes it will just hang. I'd expect it to go nice > and smoothly: > > page retrieval: 1 > (slight pause) > page retrieval: 1 > (slight pause) > page retrieval: 1 > (slight pause) > page retrieval: 1 > (slight pause) > page retrieval: 1 > (slight pause) > page retrieval: 1 > (slight pause) > > as opposed to: > page retrieval: 1 > (slight pause) > page retrieval: 1 > (randomly long pause) > page retrieval: 1 > (hang) > > Jay > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From andy at petdance.com Tue Mar 23 10:17:04 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] www::mechanize sputters, starts, pauses, and hangs In-Reply-To: <001301c410f1$edebe8c0$6405a8c0@a30> References: <007d01c40ec8$ade831a0$6405a8c0@a30> <001301c410f1$edebe8c0$6405a8c0@a30> Message-ID: <20040323161704.GB1634@petdance.com> > Any clues???? Try the LWP mailing list at lists.perl.org. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From Aaron.Young at citadelgroup.com Tue Mar 23 10:17:16 2004 From: Aaron.Young at citadelgroup.com (Young, Aaron) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance Message-ID: <800BCF60D1553144BABCBFCE36249D3D0FAD020A@CORPEMAIL.citadelgroup.com> subclass subclass subclass I really really really believe this will work for you trust me, i mean no harm Aaron F Young Broker Reconciliation Operations & Portfolio Finance Citadel Investment Group LLC > -----Original Message----- > From: me@heyjay.com [mailto:me@heyjay.com] > Sent: Tuesday, March 23, 2004 9:26 AM > To: Chicago.pm chatter > Subject: Re: [Chicago-talk] 2 subclasses or Multiple inheritance > > > Thats sorta like what I'm doing. But it seems that each of the > "trademodule"s should be built with the same interface, and > ideally share > some code (if possible) > > Jay > ----- Original Message ----- > From: "Steven Lembark" > To: "Chicago.pm chatter" > Sent: Sunday, March 21, 2004 6:05 AM > Subject: Re: [Chicago-talk] 2 subclasses or Multiple inheritance > > > > > > > > -- Jay Strauss > > > > > I have a class which connects to Ameritrade (broker), and > I have another > > > class which connects to InteractiveBrokers. Both of > these classes have > > > methods quote, connect, disconnect. The class for > InteractiveBrokers > has > > > a bunch of others too. While the method names are the same their > > > implementation is totally different, as are their > required input parms. > > > > > > The classes don't share any of the same code, and I don't see them > sharing > > > any/much in the future. > > > > > > I'd like to be able to plug in other brokers as necessary. > > > > > > So my question is, do I make a base class like "broker" and make a > > > Ameritrade and InteractiveBrokers that inherit from > broker, or do a make > a > > > broker that inherits from Ameritrade and InteractiveBrokers? > > > > You don't. If the dispatching object has a "tradermodule" > > object stored it in you can use > > > > $dispatcher->{tradermodule}->foobar( args ) > > > > to handle any tradermodule you prefer. You can populate the > dispatcher > > entry with a classname initially then use: > > > > $dispatcher->{tradermodule} = > $dispatcher->{tradermodule}->initialize; > > > > to get an object. > > > > -- > > Steven Lembark 2930 W. Palmer > > Workhorse Computing Chicago, IL 60647 > > +1 888 359 3508 > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk@mail.pm.org > > http://mail.pm.org/mailman/listinfo/chicago-talk > > > > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > ------------------------------------------------------------------------------------------------- ------------------------- CONFIDENTIALITY AND SECURITY NOTICE This e-mail contains information that may be confidential and proprietary. It is to be read and used solely by the intended recipient(s). Citadel and its affiliates retain all proprietary rights they may have in the information. If you are not an intended recipient, please notify us immediately either by reply e-mail or by telephone at 312-395-2100 and delete this e-mail (including any attachments hereto) immediately without reading, disseminating, distributing or copying. We cannot give any assurances that this e-mail and any attachments are free of viruses and other harmful code. Citadel reserves the right to monitor, intercept and block all communications involving its computer systems. From andy at petdance.com Tue Mar 23 10:34:03 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Fwd: [[pragprog] [ANN] "Pragmatic Project Automation" Book: andy@pragmaticprogrammer.com] Message-ID: <20040323163403.GA1687@petdance.com> If this book is anywhere near as good as their previous two, it should belong on your shelf... ----- Forwarded message from Andrew Hunt ----- To: PragProg Group From: Andrew Hunt Date: 23 Mar 2004 11:14:57 -0500 Subject: [pragprog] [ANN] "Pragmatic Project Automation" Book Reply-To: pragprog@yahoogroups.com Everyone's been anxiously awaiting news of the third volume in the Starter Kit trilogy, "Pragmatic Project Automation", so here it is: Andy and Dave are pleased to announce that we have signed the first independent author to be published under our Pragmatic Bookshelf imprint. Please join us in welcoming Mike Clark. Mike is an established author, speaker, consultant, and most importantly, a programmer. He is co-author of "Bitter EJB" (Manning), editor of the JUnit FAQ, and frequent speaker at software development conferences. Mike will be writing "Pragmatic Project Automation", scheduled to be available by July, 2004. Mike is an aggressive automator and has a long history of using the computer to manage the day-to-day drudgery of a project. We are really looking forward to working with Mike on this project: unlike most publishers who sign up authors and then wait til the end to see how the project turned out, we will work closely with all our authors, giving them feedback and advancing their best ideas. Mike has been crafting software professionally since 1992 in the fields of aerospace, telecommunications, financial services, and the Internet. In addition to helping develop commercial software tools, Mike is the creator of several popular open-source tools including JUnitPerf and JDepend, and helps teams build better software faster through his company, Clarkware Consulting, Inc. Please stay tuned for more details on this and other exciting projects we're lining up. Thanks! Dave and Andy -- Andrew Hunt, The Pragmatic Programmers, LLC. Innovative Object-Oriented Software Development and Mentoring for Agile Methods voice: 919-847-3884 fax: 919-844-5133 web: http://www.pragmaticprogrammer.com email: andy@pragmaticprogrammer.com -- Author of "The Pragmatic Programmer" * "Programming Ruby" * The Agile Manifesto JOLT Productivity Award Winner: "Pragmatic Version Control" * "Pragmatic Unit Testing" Columnist for IEEE Software Magazine * Board of Directors, Agile Alliance Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/pragprog/ <*> To unsubscribe from this group, send an email to: pragprog-unsubscribe@yahoogroups.com <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/ ----- End forwarded message ----- -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From me at heyjay.com Tue Mar 23 10:47:36 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] 2 subclasses or Multiple inheritance References: <800BCF60D1553144BABCBFCE36249D3D0FAD020A@CORPEMAIL.citadelgroup.com> Message-ID: <001001c410f9$18c855e0$6405a8c0@a30> Alrighty, I'll do it. Maybe in the future I'll get some common code Jay ----- Original Message ----- From: "Young, Aaron" To: "Chicago.pm chatter" Sent: Tuesday, March 23, 2004 10:17 AM Subject: RE: [Chicago-talk] 2 subclasses or Multiple inheritance subclass subclass subclass I really really really believe this will work for you trust me, i mean no harm Aaron F Young Broker Reconciliation Operations & Portfolio Finance Citadel Investment Group LLC > -----Original Message----- > From: me@heyjay.com [mailto:me@heyjay.com] > Sent: Tuesday, March 23, 2004 9:26 AM > To: Chicago.pm chatter > Subject: Re: [Chicago-talk] 2 subclasses or Multiple inheritance > > > Thats sorta like what I'm doing. But it seems that each of the > "trademodule"s should be built with the same interface, and > ideally share > some code (if possible) > > Jay > ----- Original Message ----- > From: "Steven Lembark" > To: "Chicago.pm chatter" > Sent: Sunday, March 21, 2004 6:05 AM > Subject: Re: [Chicago-talk] 2 subclasses or Multiple inheritance > > > > > > > > -- Jay Strauss > > > > > I have a class which connects to Ameritrade (broker), and > I have another > > > class which connects to InteractiveBrokers. Both of > these classes have > > > methods quote, connect, disconnect. The class for > InteractiveBrokers > has > > > a bunch of others too. While the method names are the same their > > > implementation is totally different, as are their > required input parms. > > > > > > The classes don't share any of the same code, and I don't see them > sharing > > > any/much in the future. > > > > > > I'd like to be able to plug in other brokers as necessary. > > > > > > So my question is, do I make a base class like "broker" and make a > > > Ameritrade and InteractiveBrokers that inherit from > broker, or do a make > a > > > broker that inherits from Ameritrade and InteractiveBrokers? > > > > You don't. If the dispatching object has a "tradermodule" > > object stored it in you can use > > > > $dispatcher->{tradermodule}->foobar( args ) > > > > to handle any tradermodule you prefer. You can populate the > dispatcher > > entry with a classname initially then use: > > > > $dispatcher->{tradermodule} = > $dispatcher->{tradermodule}->initialize; > > > > to get an object. > > > > -- > > Steven Lembark 2930 W. Palmer > > Workhorse Computing Chicago, IL 60647 > > +1 888 359 3508 > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk@mail.pm.org > > http://mail.pm.org/mailman/listinfo/chicago-talk > > > > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > ---------------------------------------------------------------------------- --------------------- ------------------------- CONFIDENTIALITY AND SECURITY NOTICE This e-mail contains information that may be confidential and proprietary. It is to be read and used solely by the intended recipient(s). Citadel and its affiliates retain all proprietary rights they may have in the information. If you are not an intended recipient, please notify us immediately either by reply e-mail or by telephone at 312-395-2100 and delete this e-mail (including any attachments hereto) immediately without reading, disseminating, distributing or copying. We cannot give any assurances that this e-mail and any attachments are free of viruses and other harmful code. Citadel reserves the right to monitor, intercept and block all communications involving its computer systems. _______________________________________________ Chicago-talk mailing list Chicago-talk@mail.pm.org http://mail.pm.org/mailman/listinfo/chicago-talk From gdf at speakeasy.net Tue Mar 23 11:39:28 2004 From: gdf at speakeasy.net (Greg Fast) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Archive::SelfExtract Message-ID: <200403231739.i2NHdUu12307@mail.pm.org> I figured I'd mention this on the list, since I'm curious as to others' impressions of its (f)utility. Archive::SelfExtract (http://search.cpan.org/~gregfast/Archive-SelfExtract-1.0) allows you to write scripts with attached file archives. A friend commented that it's like shar (for anyone out there who remembers shar) except that you get a perl script instead of shell. I threw this together as a proof-of-concept after a discussion about bootstrapping a Java-based installer for an app (the installer can't run until it's installed the JRE, which it can't do until it runs...). We've used PerlApp to turn scripts into win32 EXEs before, so I wanted to see if I could get a single-file perl script which would unpack a set of files and then run some code. -- Greg Fast http://cken.chi.groogroo.com/~gdf/ From andy at petdance.com Tue Mar 23 11:45:12 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Archive::SelfExtract In-Reply-To: <200403231739.i2NHdUu12307@mail.pm.org> References: <200403231739.i2NHdUu12307@mail.pm.org> Message-ID: <20040323174512.GA1880@petdance.com> > I threw this together as a proof-of-concept after a discussion about > bootstrapping a Java-based installer for an app (the installer can't > run until it's installed the JRE, which it can't do until it runs...). > We've used PerlApp to turn scripts into win32 EXEs before, so I wanted > to see if I could get a single-file perl script which would unpack a > set of files and then run some code. Take a look at Autrijus Tang's PAR. http://search.cpan.org/dist/PAR/ -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From gdf at speakeasy.net Tue Mar 23 12:39:25 2004 From: gdf at speakeasy.net (Greg Fast) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Archive::SelfExtract In-Reply-To: <20040323174512.GA1880@petdance.com> References: <20040323174512.GA1880@petdance.com> <200403231739.i2NHdUu12307@mail.pm.org> Message-ID: <200403231839.i2NIdRu13153@mail.pm.org> On Tue, 23 Mar 2004 11:45:12 -0600, Andy Lester wrote: > > I threw this together as a proof-of-concept after a discussion about > > bootstrapping a Java-based installer for an app (the installer can't > > run until it's installed the JRE, which it can't do until it runs...). > > We've used PerlApp to turn scripts into win32 EXEs before, so I wanted > > to see if I could get a single-file perl script which would unpack a > > set of files and then run some code. > > Take a look at Autrijus Tang's PAR. > > http://search.cpan.org/dist/PAR/ I was thinking that'd be the way to distribute on unix-type systems, where there's proabably a perl but maybe not the right modules. It's not clear to me that I can use PAR to bundle an archive of arbitrary (non-perl-module) files. -- Greg Fast http://cken.chi.groogroo.com/~gdf/ From jthomasoniii at yahoo.com Tue Mar 23 15:38:32 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] refactoring literature Message-ID: <20040323213832.29353.qmail@web60205.mail.yahoo.com> Anybody have any recommendations about good books dealing with re-factoring huge amounts of code? Either from OO -> better OO or from procedural -> OO. Something with practical strategies and approaches to take would be ideal. -Jim...... __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From ehs at pobox.com Tue Mar 23 16:58:14 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] refactoring literature In-Reply-To: <20040323213832.29353.qmail@web60205.mail.yahoo.com> References: <20040323213832.29353.qmail@web60205.mail.yahoo.com> Message-ID: <20040323225814.GD7090@chloe.inkdroid.org> On Tue, Mar 23, 2004 at 01:38:32PM -0800, Jim Thomason wrote: > Anybody have any recommendations about good books > dealing with re-factoring huge amounts of code? Either > from OO -> better OO or from procedural -> OO. > > Something with practical strategies and approaches to > take would be ideal. I'm *not* an expert, and am really interested in this subject. In particular moving from procedural to OO code...so I'd be interested in seeing what resources you've dug up already. I'm guessing you've already run across Fowler's book [1] and Schwern's article [2] specifically about refacctoring Perl. Fowler hosts a website [3] dedicated to refactoring which has lots of resources, and links to a very active mailing list. I've been reading Fowler's Refactoring book off and on for the past few months, and its focus on moving from OO that smells bad to OO that smells nice and clean is really interesting, but leaves me feeling a bit lost when it comes to refactoring stinky procedural code. //Ed [1] http://www.amazon.com/exec/obidos/ASIN/0201485672/103-4927898-5102260 [2] http://www.perl.com/pub/a/2003/10/09/refactoring.html [3] http://www.refactoring.com/ From andy at petdance.com Tue Mar 23 20:52:22 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] YAPC::Australia::2004 Message-ID: <20040324025222.GA2743@petdance.com> From: Scott Penrose Date: Wed, 24 Mar 2004 13:39:28 +1100 YAPC::Australia::2004 is to be held on the 1st, 2nd and 3rd of December 2004 in Melbourne Australia at Monash University. You can find details and submit outlines http://yapc.dlist.com.au/ Thanks Scott - -- Scott Penrose VP in charge of Pancakes http://linux.dd.com.au/ scottp@dd.com.au Dismaimer: If you receive this email in error - please eat it immediately to prevent it from falling into the wrong hands. -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From lembark at wrkhors.com Mon Mar 22 19:18:12 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] refactoring literature In-Reply-To: <20040323213832.29353.qmail@web60205.mail.yahoo.com> References: <20040323213832.29353.qmail@web60205.mail.yahoo.com> Message-ID: <3500000.1080004692@[192.168.100.3]> -- Jim Thomason > Anybody have any recommendations about good books > dealing with re-factoring huge amounts of code? Either > from OO -> better OO or from procedural -> OO. > > Something with practical strategies and approaches to > take would be ideal. REFACTORING: Improving the Design of Existing Code Fowler, Martin 1999 Contents: Refactoring, First Example; Principles in Refactoring; Bad Smells in Code; Building Tests; Toward a Catalog of Refactorings; Composing Methods; Moving Features Between Objects; Organizing Data; Simplifying Conditional Expressions; Making Method Calls Simpler; Dealing with Generalization; Big Refactorings; Refactoring, Reuse, & Reality; Refactoring Tools; Putting It All Together. PEARSON - ADDISON-WESLEY - PH H ISBN: 0201485672 PGS: 431 List: $49.99 YOUR PRICE 47.99 Fowler is the only OO/UML author I can stand to read. He is a working software consultant who uses the methods becasue the work in his pratice. I've seen parts of this book before and they tended to make sense. OpAmp can ship the book immediatly (http://www.opamp.com/ or +1 800 468 4322... gads: I've memorized the number of my tech book supplier!). -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From lembark at wrkhors.com Mon Mar 22 19:22:23 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] refactoring literature In-Reply-To: <20040323225814.GD7090@chloe.inkdroid.org> References: <20040323213832.29353.qmail@web60205.mail.yahoo.com> <20040323225814.GD7090@chloe.inkdroid.org> Message-ID: <3740000.1080004943@[192.168.100.3]> > I've been reading Fowler's Refactoring book off and on for the past few > months, and its focus on moving from OO that smells bad to OO that smells > nice and clean is really interesting, but leaves me feeling a bit lost > when it comes to refactoring stinky procedural code. His first step would be to make all of it OO. A problem with all the UML authors is that they don't seem to believe any non-OO code really exists (or is worth considering). Much of his smell test can be applied to procedural code, the main trick is to look at what gets shifted around w/in the OO portion and ask where similar data structures are in your procedural code. It always helps me to remember that the code will never be better than its data structures and ask if the structs are clean -- however they are accessed. Another approach is to treat all OO code as procedural at SOME level (something runs in steps) and ask what the low(er) level OO stuff looks like before/after refactoring. Those same places will be good places to look for improvements in procedural code. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From Andy_Bach at wiwb.uscourts.gov Wed Mar 24 09:33:23 2004 From: Andy_Bach at wiwb.uscourts.gov (Andy_Bach@wiwb.uscourts.gov) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] refactoring literature In-Reply-To: <20040323225814.GD7090@chloe.inkdroid.org> Message-ID: I just got started trying to use eclipse (www.eclipse.org) which has some built-in support for refactoring. I'm using "Eclipse in Action" (www.manning.com) which has a short chapter on refactoring (but is a good book for eclipse though as a java editor) and hoping to get enough understanding to use the perl plugin: http://e-p-i-c.sourceforge.net/ I guess just a comment on using a tool/IDE to do/help w/ the refactoring. a Andy Bach, Sys. Mangler Internet: andy_bach@wiwb.uscourts.gov VOICE: (608) 261-5738 FAX 264-5030 "Civilization advances by extending the number of important operations &which we can perform without thinking." Alfred North Whitehead From me at heyjay.com Sat Mar 27 20:56:15 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Subroutine sorter Message-ID: <000a01c41470$3dad8090$6405a8c0@a30> Anyone have a utility (script, one-liner) that I can feed in a package (with lots of subroutines) and it would spit out the same code with the subs sorted in alphabetic order? Jay From andy at petdance.com Sat Mar 27 21:08:39 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Subroutine sorter In-Reply-To: <000a01c41470$3dad8090$6405a8c0@a30> References: <000a01c41470$3dad8090$6405a8c0@a30> Message-ID: <20040328030839.GA32278@petdance.com> > Anyone have a utility (script, one-liner) that I can feed in a package (with > lots of subroutines) and it would spit out the same code with the subs > sorted in alphabetic order? Why? What's the goal ultimately? Would the POD get sorted with it? xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From me at heyjay.com Sat Mar 27 21:32:56 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Subroutine sorter References: <000a01c41470$3dad8090$6405a8c0@a30> <20040328030839.GA32278@petdance.com> Message-ID: <000a01c41475$5decddb0$6405a8c0@a30> I'd just like my subroutines in alphabetic order. As I'm writing, I tend to create my subroutines as I need them, right by where I call them (the first time). But as the code gets bigger, I like to have them in alphabetic order so I can find them easy. I know I can just search for them (in VIM) but I just like 'em in order. Its a pain rearranging them after the fact, and it inconvenient coding in order before the fact Jay ----- Original Message ----- From: "Andy Lester" To: "Chicago.pm chatter" Sent: Saturday, March 27, 2004 9:08 PM Subject: Re: [Chicago-talk] Subroutine sorter > > Anyone have a utility (script, one-liner) that I can feed in a package (with > > lots of subroutines) and it would spit out the same code with the subs > > sorted in alphabetic order? > > Why? What's the goal ultimately? Would the POD get sorted with it? > > xoa > > -- > Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From me at heyjay.com Sat Mar 27 21:51:53 2004 From: me at heyjay.com (me@heyjay.com) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Subroutine sorter References: <000a01c41470$3dad8090$6405a8c0@a30><20040328030839.GA32278@petdance.com> <000a01c41475$5decddb0$6405a8c0@a30> Message-ID: <000a01c41478$02c60760$6405a8c0@a30> this works (good enough) !/usr/bin/perl undef $/; $l = <>; @f = split(/\nsub\b/,$l); print shift @f; print map{"\nsub ".$_} sort @f; ----- Original Message ----- From: To: "Chicago.pm chatter" Sent: Saturday, March 27, 2004 9:32 PM Subject: Re: [Chicago-talk] Subroutine sorter > I'd just like my subroutines in alphabetic order. > > As I'm writing, I tend to create my subroutines as I need them, right by > where I call them (the first time). But as the code gets bigger, I like to > have them in alphabetic order so I can find them easy. > > I know I can just search for them (in VIM) but I just like 'em in order. > Its a pain rearranging them after the fact, and it inconvenient coding in > order before the fact > > Jay > ----- Original Message ----- > From: "Andy Lester" > To: "Chicago.pm chatter" > Sent: Saturday, March 27, 2004 9:08 PM > Subject: Re: [Chicago-talk] Subroutine sorter > > > > > Anyone have a utility (script, one-liner) that I can feed in a package > (with > > > lots of subroutines) and it would spit out the same code with the subs > > > sorted in alphabetic order? > > > > Why? What's the goal ultimately? Would the POD get sorted with it? > > > > xoa > > > > -- > > Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk@mail.pm.org > > http://mail.pm.org/mailman/listinfo/chicago-talk > > > > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > From fire at dls.net Mon Mar 29 12:17:21 2004 From: fire at dls.net (Bradley Slavik) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Perl position in chicago In-Reply-To: <000a01c41478$02c60760$6405a8c0@a30> Message-ID: This is a short term gig, probably two months, with low probability of extension, in downtown Chicago. Primary skills needed: Perl and unix. Here is description from consulting firm and contact information: Jeff Davis Senior Technical Recruiter Hi-Tech Solutions, Inc. Office. 630-575-3924 mailto:jdavis@htsconsulting.com http://www.htsconsulting.com <> Skills A: Perl 1-3yrs, Perl Scripts 1-3yrs, Shell Scripting 1-3yrs, SOLARIS 1-3yrs, SQL 1-3yrs, UNIX 1-3yrs Need a peson to help with the deployment of the Geneva Accounting System for the UBS Cayman Fund Services group. Need to migrate all trade, position, and other static data from the MFACT system to Advent's Geneva accounting system. Postion will involve a lot of file scripting on data that comes from Custodians or Inevement Managers and tranforming it into formats that can be imported into the Geneva system. From Dooley.Michael at con-way.com Mon Mar 29 14:22:01 2004 From: Dooley.Michael at con-way.com (Dooley, Michael) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] OT: web store how-to Message-ID: can someone point me in the right direction please. I know how to make a shopping cart area. that's the easy part. how does one go about accepting CC information and handing it off to the CC company automatically? has anyone implemented/researched anything like this before? Mike From brian at deadtide.com Mon Mar 29 14:31:47 2004 From: brian at deadtide.com (Brian Drawert) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] OT: web store how-to In-Reply-To: References: Message-ID: <1A0B64BE-81C0-11D8-8B4B-000A959C9868@deadtide.com> http://www.trustcommerce.com/ and the TClink module. On Mar 29, 2004, at 2:22 PM, Dooley, Michael wrote: > can someone point me in the right direction please. > > I know how to make a shopping cart area. that's the easy part. > > how does one go about accepting CC information and handing it off to > the > CC company automatically? > > has anyone implemented/researched anything like this before? > > Mike > _______________________________________________ > Chicago-talk mailing list > Chicago-talk@mail.pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk From jthomasoniii at yahoo.com Mon Mar 29 14:31:59 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] OT: web store how-to In-Reply-To: Message-ID: <20040329203159.24698.qmail@web60201.mail.yahoo.com> > how does one go about accepting CC information and > handing it off to the > CC company automatically? Obviously you want to have that part of your transaction be secure over SSL for piece of mind for your buyers. Of course, the CC# needs to be stored and transmitted securely after that. One past employer had a client that insisted upon a shopping cart that accepts the credit card numbers securely and then emails them to him so he could process them. Very bad. Anyway, so you always transmit it securely. Also make sure that it's stored securely on your site. Some sort of encryption, whatever it is, is better than nothing. I'll leave the specifics of that as an exercise to the reader. As for transmitting it? There are numerous online services you can sign up with that handle it all for you (for a fee, of course). You just transmit the info to them, and they do the niceties like verifying the card, charging the card, paying you, etc. Paypal has a service like this, for instance, and a decent API to speak to it. But not having used any of these services, I can't speak to which ones would be better or worse. I know that there are perl scripts kicking around out there that do the checksum on the cc# to make sure it's a valid number. Maybe there's a library at this point. But you might want to do that before transmitting to the processing house as well, just to save a little time doing that data transfer. -Jim..... __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From ehs at pobox.com Mon Mar 29 15:20:57 2004 From: ehs at pobox.com (Ed Summers) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] OT: web store how-to In-Reply-To: References: Message-ID: <20040329212057.GA4823@chloe.inkdroid.org> On Mon, Mar 29, 2004 at 12:22:01PM -0800, Dooley, Michael wrote: > has anyone implemented/researched anything like this before? If you have really basic needs and your client has a paypal account you can easily integrate site with PayPal to allow users to make credit card payments that will credit the clients PayPal account. Their docs have examples on how to do this in various languages, including Perl [1] Of course PayPal takes a cut on payments...last I checked it was like 3% I think. //Ed [1] http://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/ipn-techview-outside From andy at petdance.com Mon Mar 29 15:37:48 2004 From: andy at petdance.com (Andy Lester) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] OT: web store how-to In-Reply-To: <20040329212057.GA4823@chloe.inkdroid.org> References: <20040329212057.GA4823@chloe.inkdroid.org> Message-ID: <20040329213748.GB13445@petdance.com> > Of course PayPal takes a cut on payments...last I checked it was like 3% I > think. 2.9% + 30 cents per transaction, so depending on the type of transaction, the percentage might be OK, but the flat-rate 30 cents might kill ya. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From lembark at wrkhors.com Mon Mar 29 20:25:02 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] PAUSE indexer report LEMBARK/Schedule-Parallel-1.1.tar.gz (fwd) Message-ID: <68930000.1080613502@[192.168.200.3]> People had asked about forking logic before, this has reasonable handling for forks and wait values. ---------- Forwarded Message ---------- From: PAUSE Subject: PAUSE indexer report LEMBARK/Schedule-Parallel-1.1.tar.gz > The following report has been written by the PAUSE namespace indexer. > Please contact modules@perl.org if there are any open questions. > Id: mldistwatch 479 2004-01-04 13:29:05Z k > > User: LEMBARK (Steven Lembark) > Distribution file: Schedule-Parallel-1.1.tar.gz > Number of files: 8 > *.pm files: 3 > README: No README found > META.yml: Schedule-Parallel-1.1/META.yml > Timestamp of file: Mon Mar 29 23:19:41 2004 UTC > Time of this run: Mon Mar 29 23:45:03 2004 UTC > > The following packages (grouped by status) have been found in the distro: > > Status: Successfully indexed > ============================ > > module: Schedule::Parallel > version: 1.1 > in file: Schedule-Parallel-1.1/lib/Schedule/Parallel.pm > status: indexed > > module: Schedule::Parallel::Fork > version: undef > in file: Schedule-Parallel-1.1/lib/Schedule/Parallel/Fork.pm > status: indexed > > module: Schedule::Parallel::Thread > version: undef > in file: Schedule-Parallel-1.1/lib/Schedule/Parallel/Thread.pm > status: indexed > > __END__ ---------- End Forwarded Message ---------- -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From jason at multiply.org Tue Mar 30 08:42:19 2004 From: jason at multiply.org (jason scott gessner) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] Perl/Mac OS X/CamelBones Trash Talking application Message-ID: <7287B253-8258-11D8-9B4D-00039394FC90@multiply.org> Since Jim is looking at a camel bones presentation soon, i thought I would post this. Allen Hutchison started coding this app ( http://www.hutchison.org/allen/source/trashtalk/ ) with camelbones in response to Jeremy Zawodny's post about it earlier in the week ( http://jeremy.zawodny.com/blog/archives/001797.html ). funny. -jason scott gessner jason@multiply.org From jthomasoniii at yahoo.com Tue Mar 30 09:43:20 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] what's with these attributes? Message-ID: <20040330154321.52362.qmail@web60210.mail.yahoo.com> So, I was poking around at that Trash Talking App that Jason posted and noticed in the code that he's using function attributes. And then it occurred to me that I don't really know what perl's attributes are used for. Hence, I poked around perlfunc and Attribute::Handlers' POD, but didn't really get any answers. As best as I can tell, they're used as a gimmick to associate some extra information about some piece of data (variable, code, etc.) at some point after compilation or declaration. Class::Declare::Attributes looks like a fairly nifty use of them. Did I get it right? Are there any other good references on the subject? The docs I've found have seemed a little sparse. As a side note, in Attribute::Handlers' docs, I saw this tidbit: my LoudDecl $loudobj : Loud; and some mutterings about how the attribute called corresponds to the package in which the variable is typed (LoudDecl, in this case). Now this is a syntax that's complete new to me. Is it strictly something governing which attributes to call? Or is it useful in other instances? -Jim.... __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From lembark at wrkhors.com Tue Mar 30 11:44:31 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] what's with these attributes? In-Reply-To: <20040330154321.52362.qmail@web60210.mail.yahoo.com> References: <20040330154321.52362.qmail@web60210.mail.yahoo.com> Message-ID: <103190000.1080668671@[192.168.200.3]> > Hence, I poked around perlfunc and > Attribute::Handlers' POD, but didn't really get any > answers. As best as I can tell, they're used as a > gimmick to associate some extra information about some > piece of data (variable, code, etc.) at some point > after compilation or declaration. > Class::Declare::Attributes looks like a fairly nifty > use of them. Did I get it right? Are there any other > good references on the subject? The docs I've found > have seemed a little sparse. > > As a side note, in Attribute::Handlers' docs, I saw > this tidbit: > > my LoudDecl $loudobj : Loud; > > and some mutterings about how the attribute called > corresponds to the package in which the variable is > typed (LoudDecl, in this case). Now this is a syntax > that's complete new to me. Is it strictly something > governing which attributes to call? Or is it useful in > other instances? Fuzzy memory from TPJ/Damian: Idea came partly out of threading, which is where the oriignal attributes were used for shared/exclusive code. Attribute handlers extends the basic idea so that you can have handlers for synchronous events. In that sense they are an extension of the tie mechanism or the BEGIN/INIT/.../END blocks that handle program lifecycle events. >From the A::H docs: This creates a handler for the attribute ":Loud" in the class LoudDecl. Thereafter, any subroutine declared with a ":Loud" attribute in the class LoudDecl: package LoudDecl; sub foo: Loud {...} causes the above handler to be invoked, and passed: >From the sound example, say that the "Loud" handler has code in it that turns up the volume temporarily. sub Loud :ATTR { # turns up the volume to a preset level. ... } In this case: The data argument passes in the value (if any) associated with the attribute. For example, if &foo had been declared: sub foo :Loud("turn it up to 11, man!") {...} then the string "turn it up to 11, man!" would be passed as the last argument. Now, instead of having to call "Loud" every time your voder needs to up the volume you just declare the sub's with a "Loud" attribute: sub drat :Loud { say 'Drat!'; } or sub exclaim :Loud( 99 ) { say shift || "Gak"; } Whoemever writes "drat" doesn't have to know about the Loud sub, what to pass it, etc. All they have to know is that "Loud" is an attribute of what they are doing. The syntax is also a bit more declaritive than burying a "setvolume( LOUD )" call in the code. This is rather nice for variables. Say you have a data structure that has to be initialized based on an external file. You can use: my @valuz :Default; or, better yet, my @valuz :Default( $defaultz ); The "Default" handler can then do whatever it needs to massage $defaults into shape for an array of values. With typed handlers for scalar, array, etc, you can guarantee that the variables are given reasonable values and/or initialized. There is no reason you can't replace all of this stuff with explicit subroutine calls. The results with attributes tend to look cleaner, however. Typed lexicals just allow you to choose at compile time into which class the handler dispatches your call. Real-wrold example: say you have older code that passes everything as arrays, the arrays get large, and now you want to pass them as referents. The new stuff is clean, but noone has time to go back and find every example of the older code. You can create an attribute handler for arrays that does nothing more than replace them in the symbol table with scalars: *glob = \@{*glob}; # coudle-check my syntax on this at that point the array handler can be used to force incomming arguments to the correct type -- possibly logging the fact. You could also use these for Class::Contract-ish front ends: sub foo :Contract( 'Marry' ) could call a contract handler, telling that the marriage contract is in force (default with no arg's is the "foo" contract taken from the sub's name). Again, there is nothing here you couldn't do without A::H, but declaring the sub's this way makes it a bit more obvious what is going on [once you know about attributes]. The phase-specific handlers are nice in allowing code reuse for phases. The "bookends" example allows, say, cleanup code to remove cruft files before and after execution. Tying variables with A::H syntax is also less error prone than the normal syntax: my $next : Cycle(['A'..'Z']); # $next is now a tied variable -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508 From jthomasoniii at yahoo.com Tue Mar 30 16:01:01 2004 From: jthomasoniii at yahoo.com (Jim Thomason) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] A bug in 5.8.3? Message-ID: <20040330220101.19803.qmail@web60202.mail.yahoo.com> I think I found a bug in perl. It's inconsistent, at the very least. Andy? Something to add to a test suite? #!/usr/bin/perl my @x = ("I will format a number - %d. Then a float - %f. Then a string - %s\n", 14, 3.14159, "such as this one"); printf(@x); my $formatted_x = sprintf(@x); print "$formatted_x\n"; my $formatted_x2 = sprintf($x[0], @x[1..$#x]); print $formatted_x2; kal-el:~ jim$ ./foo.pl I will format a number - 14. Then a float - 3.141590. Then a string - such as this one 4 I will format a number - 14. Then a float - 3.141590. Then a string - such as this one Note - printf works fine with an array, sprintf puts the array into scalar context, and finally sprintf operates just fine with a list. This is 5.8.3 under MacOS X. The stock 5.8.1RC3 as well as 5.6.1 under linux show the same behavior. So, before I look like a nitwit by running off and notifying the proper authorities and requesting it be fixed, are there any obvious (or not so obvious) explanation for this behavior that I'm missing? -Jim.... __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From merlyn at stonehenge.com Tue Mar 30 16:12:20 2004 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] A bug in 5.8.3? In-Reply-To: <20040330220101.19803.qmail@web60202.mail.yahoo.com> References: <20040330220101.19803.qmail@web60202.mail.yahoo.com> Message-ID: <863c7q3ry7.fsf@blue.stonehenge.com> >>>>> "Jim" == Jim Thomason writes: Jim> I think I found a bug in perl. It's inconsistent, at Jim> the very least. Andy? Something to add to a test Jim> suite? [printf/sprintf prototyping differences noted] Known issue. Not necessarily as designed, but not really a bug either. $ perl -le 'print "(",prototype("CORE::$_"),")" for @ARGV' printf sprintf () ($@) $ Note the difference in prototypes. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From lembark at wrkhors.com Tue Mar 30 16:50:50 2004 From: lembark at wrkhors.com (Steven Lembark) Date: Mon Aug 2 21:28:10 2004 Subject: [Chicago-talk] A bug in 5.8.3? In-Reply-To: <863c7q3ry7.fsf@blue.stonehenge.com> References: <20040330220101.19803.qmail@web60202.mail.yahoo.com> <863c7q3ry7.fsf@blue.stonehenge.com> Message-ID: <123370000.1080687050@[192.168.200.3]> -- "Randal L. Schwartz" >>>>>> "Jim" == Jim Thomason writes: > > Jim> I think I found a bug in perl. It's inconsistent, at > Jim> the very least. Andy? Something to add to a test > Jim> suite? > > [printf/sprintf prototyping differences noted] > > Known issue. Not necessarily as designed, but not really > a bug either. > > $ perl -le 'print "(",prototype("CORE::$_"),")" for @ARGV' printf > sprintf () > ($@) > $ > > Note the difference in prototypes. There are a few other places where using a list vs. collection of scalars can bite you. If you look up "prototype" on perlguts or a similar list (e.g., via google) there are examples. -- Steven Lembark 2930 W. Palmer Workhorse Computing Chicago, IL 60647 +1 888 359 3508