From andrew at sweger.net Fri Jul 7 16:19:09 2006 From: andrew at sweger.net (Andrew Sweger) Date: Fri, 7 Jul 2006 16:19:09 -0700 (PDT) Subject: SPUG: UG News--OSCamp Deadline July 10, FOSCON, and OSCON reminder Message-ID: ------------------------------ OSCON, Portland, OR--July 24-28 ------------------------------ The O'Reilly Open Source Convention (OSCON) is coming up soon in Portland, Oregon. Don't forget we're offering a special discount to the locals-- User Group members in Oregon and Washington. With this "locals only" discount, your members get 20% off of OSCON registration. Use code os06pusg when you register online: To register, go to: ------------------------------ OSCON Exhibit Hall Passes Still Available ------------------------------ Don't have the budget or time for all of OSCON? You can register for a free Expo Hall pass: http://conferences.oreillynet.com/pub/w/46/register.html The Expo Hall pass includes the following: -Entrance to the Exhibit Hall and all events held in the Exhibit Hall including the a reception on Wednesday, July 26 from 6:00pm-7:30pm. -Admission to the Products & Services track. -Admission to Vendor Presentations held in the Exhibit Hall. -Access to BOFs (http://conferences.oreillynet.com/pub/w/46/bof.html), evening events (http://conferences.oreillynet.com/pub/w/46/events.html), and community meetings. -Access to OSCAMP (http://oscamp.org/)--see below ------------------------------ OSCamp 2006 at OSCON, July 24-28 ------------------------------ OSCamp 2006, included with the free Expo Hall pass, is a grassroots cooperative effort with O'Reilly. OSCamp seeks to organize the fringe of activity that has grown up around OSCON during the last several years so the event can rock even more! Come together to network, write code, have fun and learn about the cool things that are afoot in the movement. Bring your friends and join a good party that's growing even better! OSCamp is an "open" space for meeting, for learning, for connecting, for writing code...with no limits or agendas. The only charge is to come and learn and contribute as much as you can. The agenda is created and modified "on the fly" by the participants. You can add to the agenda any issue of importance to you. It will be discussed and addressed to the greatest extent possible. All of the key points and next steps will be captured online at OSCamp.org so the entire Freedom/Libre/Open community can benefit from our work. Register by July 10 for the exhibit hall pass to be included in the snacks count for OSCAMP. http://conferences.oreillynet.com/pub/w/46/register.html and make sure you use the special code os06oscamp. For OSCAMP invitation, information, registration, and schedule, go to: http://oscamp.org/ ------------------------------ FOSCON II at Free Geek--July 26 ------------------------------ Looking for more special events in Portland? Check out FOSCON II: The Ruby Rodeo on Wednesday, July 26 at 7:30 pm at Free Geek, 1731 SE 10th Avenue, Portland, OR. For details, go to: http://blog.pdxruby.org/pages/foscon2006 From andrew at sweger.net Mon Jul 10 09:38:56 2006 From: andrew at sweger.net (Andrew Sweger) Date: Mon, 10 Jul 2006 09:38:56 -0700 (PDT) Subject: SPUG: Perl Foundation Grants - Call for Proposals Message-ID: The Perl Foundation has not received many grant applications this year. Maybe you were not aware TPF has money to reward people doing work for the Perl community. Maybe you thought all the money goes to Damian Conway. It doesn't (at least, not any more). Just in case you're interested, here's the call for proposals: It's that time again! If you have an idea for doing some work for the Perl community and you think it's worthy of a grant, please send your grant entry to tpf-proposals at perl-foundation.org. Grant applications must be in by the last day of July and we will be awarding the grants at the beginning of September. First, please read about how to submit a grant[1]. Read that *carefully* as grants are often rejected if they don't meet the criteria. For example, if you want to submit improvements to a well-known project but there's no evidence that you have at least tried to work with the maintainers of that project, the grant will likely not be approved. You can also read through our rules of operation[2] for a better idea of thee grant process. To get an idea of what sorts of grants are generally accepted, you can read through past grants for 2001[3], 2002[4], 2003[5], 2004[6], 2005[7] and 2006[8]. You can also read through the grant-related postings to the Perl Foundation blog[9]. As a general rule, a properly formatted grant proposal is more likely to be approved if it meets the following criteria: It has widespread benefit to the Perl community or a large segment of it. We have reason to believe that you can accomplish your goals. We can afford it (we rarely approve anything more than a couple of thousand dollars). The thorniest issue, as always, is the grant amount. If you do not include a grant amount, the grant will not be approved. So how much do you ask for? While we have information in this posting about the grant committee[10], the reality is fairly simple. We're a non-profit organization and we are not flush with cash. If you charge us a typical hourly rate, we probably cannot afford it. Typical grant awards are generally in the $500 to $3000 range, but we have gone under and over those amounts, depending on the grant. As a general rule the less expensive it is, the more likely it is that we can afford to fund it. For highly speculative grants (in other words, projects whose benefits may be unclear or have a high chance of failure), we are unlikely to risk large amounts of our donor's money. [1] - http://www.perlfoundation.org/gc/grants/proposals.html [2] - http://www.perlfoundation.org/gc/rules.html [3] - http://www.perlfoundation.org/gc/grants/2001.html [4] - http://www.perlfoundation.org/gc/grants/2002.html [5] - http://www.perlfoundation.org/gc/grants/2003.html [6] - http://www.perlfoundation.org/gc/grants/2004.html [7] - http://www.perlfoundation.org/gc/grants/2005.html [8] - http://www.perlfoundation.org/gc/grants/2006.html [9] - http://news.perlfoundation.org/grants/ [10] - http://news.perlfoundation.org/2005/12/the_grant_committee_what_we_do.html From tallpeak at hotmail.com Mon Jul 10 11:11:16 2006 From: tallpeak at hotmail.com (Aaron West) Date: Mon, 10 Jul 2006 11:11:16 -0700 Subject: SPUG: mkfavhtm.pl -- Converting IE favorites to HTM (unix/mozilla users just ignore me) Message-ID: Hardly spug-relevant, and half+ of you guys probably are mozilla users, but here goes... Is your Internet Explorer Favorites list too full of junk? You *could* organize it, but I was too lazy for that. (I always liked Netscape bookmarks better, yet lately I'm an IE user.) I'm sure someone has a better solution, but here's mine; a script that reads all *.url files in the favorites folder and outputs HTML. When you are done you can del *.url (if you like the resulting page), or move or archive them (recommended). ZIP has some filename restrictions; I found WinRAR works. Alright, I admit a hashtable isn't necessary. I could use a list, but a hashtable seemed easy, as long as you can remember the key element (comma) separator in hashtables is "\x1c". The sort below is by modification date. Change to your liking, eg: 1,$ s/$mtime, $url, $filename/$filename, $mtime, $url/ # mkfavhtm.pl - 7/09/2006 Aaron W. West tallpeak at hotmail.com # Usage: run inside the favorites directory, eg: # CD "%HOME%\Favorites" # perl mkfavhtm.pl > favorites.htm use strict; use HTTP::Date; print "IE Favorites\n"; print "

IE Favorites

\n
    "; my %url; while ( defined( my $filename = <*> ) ) { if ($filename =~ /\.url$/i) { my ( $dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks ) = stat($filename); open FH, "<$filename" || die "Can't open file $filename"; my $url = undef; while ( defined( my $line = ) ) { if ( $line =~ /^URL=([^\r\n]*)/ ) { $url = $1; } } close FH; $filename =~ s/\.url$//; $url{ $mtime, $url, $filename }++ if defined $url; } } for ( sort keys %url ) { my ( $mtime, $url, $filename ) = split( "\x1c", $_ ); printf qq{
  • %s - %s\n}, $url, $filename, HTTP::Date::time2str($mtime); } print "
\n\n\n"; __END__ -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.10/384 - Release Date: 7/10/2006 -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.10/384 - Release Date: 7/10/2006 From krahnj at telus.net Mon Jul 10 13:26:46 2006 From: krahnj at telus.net (John W. Krahn) Date: Mon, 10 Jul 2006 13:26:46 -0700 Subject: SPUG: mkfavhtm.pl -- Converting IE favorites to HTM (unix/mozilla users just ignore me) In-Reply-To: References: Message-ID: <44B2B806.404@telus.net> Aaron West wrote: > Hardly spug-relevant, and half+ of you guys probably are mozilla users, but > here goes... > > Is your Internet Explorer Favorites list too full of junk? You *could* > organize it, but I was too lazy for that. (I always liked Netscape bookmarks > better, yet lately I'm an IE user.) > > I'm sure someone has a better solution, but here's mine; a script that reads > all *.url files in the favorites folder and outputs HTML. When you are done > you can del *.url (if you like the resulting page), or move or archive them > (recommended). ZIP has some filename restrictions; I found WinRAR works. > > Alright, I admit a hashtable isn't necessary. I could use a list, but a > hashtable seemed easy, as long as you can remember the key element (comma) > separator in hashtables is "\x1c". > > The sort below is by modification date. Change to your liking, eg: > > 1,$ s/$mtime, $url, $filename/$filename, $mtime, $url/ > > # mkfavhtm.pl - 7/09/2006 Aaron W. West tallpeak at hotmail.com > # Usage: run inside the favorites directory, eg: > # CD "%HOME%\Favorites" > # perl mkfavhtm.pl > favorites.htm > use strict; > use HTTP::Date; > print "IE Favorites\n"; > print "

IE Favorites

\n
    "; > my %url; > while ( defined( my $filename = <*> ) ) { > if ($filename =~ /\.url$/i) > { You could always combine both of those: while ( my $filename = <*.[uU][rR][lL]> ) { > my ( > $dev, $ino, $mode, $nlink, $uid, $gid, $rdev, > $size, $atime, $mtime, $ctime, $blksize, $blocks > ) = stat($filename); > open FH, "<$filename" || die "Can't open file $filename"; Because of the high precedence of the '||' operator die() will never execute. You need to either use parentheses: open( FH, "<$filename" ) || die "Can't open file $filename"; Or the low precedence 'or' operator: open FH, "<$filename" or die "Can't open file $filename"; You should also include the $! or the $^E variable in the error message so you know why the open failed. It also may be more efficient to open the file first and then stat the opened filehandle. open FH, '<', $filename or die "Can't open file '$filename' $!"; my $mtime = ( stat FH )[ 9 ]; > my $url = undef; > while ( defined( my $line = ) ) { > if ( $line =~ /^URL=([^\r\n]*)/ ) { > $url = $1; > } > } > close FH; > $filename =~ s/\.url$//; You forgot the /i option: $filename =~ s/\.url$//i; > $url{ $mtime, $url, $filename }++ > if defined $url; > } > } > > for ( sort keys %url ) { > my ( $mtime, $url, $filename ) = split( "\x1c", $_ ); No need to remember the value of the $; variable, just use the $; variable directly: my ( $mtime, $url, $filename ) = split $;; > printf qq{
  • %s - %s\n}, > $url, $filename, HTTP::Date::time2str($mtime); No need for the extra overhead of printf: print qq{
  • $filename - }, HTTP::Date::time2str( $mtime ), "\n"; > } > print "
\n\n\n"; > __END__ John -- use Perl; program fulfillment From damian at conway.org Mon Jul 10 15:38:41 2006 From: damian at conway.org (Damian Conway) Date: Mon, 10 Jul 2006 15:38:41 -0700 Subject: SPUG: Perl Foundation Grants - Call for Proposals In-Reply-To: References: Message-ID: <44B2D6F1.50004@conway.org> Andrew Sweger wrote: > The Perl Foundation has not received many grant applications this year. > Maybe you were not aware TPF has money to reward people doing work for the > Perl community. Maybe you thought all the money goes to Damian Conway. It > doesn't (at least, not any more). True! I haven't received TPF funding since late 2003. In fact nowadays I help raise money for TPF (and donate to it myself). I'd definitely encourage anyone with a project that they think would benefit Perl to put in a proposal. And everyone else to join me in contributing to the TPF so that more worthy projects can be funded. You don't have to be Damian to be working for the Perl community. TPF now accepts sane people too! ;-) Damian From krahnj at telus.net Mon Jul 10 17:02:54 2006 From: krahnj at telus.net (John W. Krahn) Date: Mon, 10 Jul 2006 17:02:54 -0700 Subject: SPUG: Perl Foundation Grants - Call for Proposals In-Reply-To: <44B2D6F1.50004@conway.org> References: <44B2D6F1.50004@conway.org> Message-ID: <44B2EAAE.3020505@telus.net> Damian Conway wrote: > > You don't have to be Damian to be working for the Perl community. TPF now > accepts sane people too! ;-) Do you have to be tested first? :-) John -- use Perl; program fulfillment From MichaelRWolf at att.net Mon Jul 10 21:36:13 2006 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Mon, 10 Jul 2006 21:36:13 -0700 Subject: SPUG: Perl Foundation Grants - Call for Proposals In-Reply-To: <44B2EAAE.3020505@telus.net> Message-ID: John W. Drahn wrote: > Damian Conway wrote: > > > > You don't have to be Damian to be working for the Perl community. TPF > now accepts sane people too! ;-) > > Do you have to be tested first? :-) There are those, some call them extreme, who think that testing first is good fu. :-) From sthoenna at efn.org Tue Jul 11 00:53:57 2006 From: sthoenna at efn.org (Yitzchak Scott-Thoennes) Date: Tue, 11 Jul 2006 00:53:57 -0700 Subject: SPUG: mkfavhtm.pl -- Converting IE favorites to HTM (unix/mozilla users just ignore me) In-Reply-To: <44B2B806.404@telus.net> References: <44B2B806.404@telus.net> Message-ID: <20060711075357.GB3256@efn.org> On Mon, Jul 10, 2006 at 01:26:46PM -0700, John W. Krahn wrote: > Aaron West wrote: > > for ( sort keys %url ) { > > my ( $mtime, $url, $filename ) = split( "\x1c", $_ ); > > No need to remember the value of the $; variable, just use the $; variable > directly: > > my ( $mtime, $url, $filename ) = split $;; That may not fly if $; is modified (say, to "|"), so: my ( $mtime, $url, $filename ) = split /\Q$;/; (Besides, I really dislike any code that helps people forget that split's first arg is always a regex (except for the " " special case) even without // or m.) From krahnj at telus.net Tue Jul 11 16:21:07 2006 From: krahnj at telus.net (John W. Krahn) Date: Tue, 11 Jul 2006 16:21:07 -0700 Subject: SPUG: mkfavhtm.pl -- Converting IE favorites to HTM (unix/mozilla users just ignore me) In-Reply-To: References: Message-ID: <44B43263.80803@telus.net> Aaron West wrote: > Hardly spug-relevant, and half+ of you guys probably are mozilla users, but > here goes... Another couple of points that may help your code. :-) [snip] > my $url = undef; > while ( defined( my $line = ) ) { > if ( $line =~ /^URL=([^\r\n]*)/ ) { > $url = $1; > } > } If your file contains more then one line matching the expression /^URL=([^\r\n]*)/ then $url will receive the contents of the last match. If, as I suspect, there is only one line that matches you can exit the loop early (perldoc -f last) and avoid reading the whole file. This of course is moot if the file only contains a few lines or the 'URL=' line is the last line in the file. > close FH; > $filename =~ s/\.url$//; > $url{ $mtime, $url, $filename }++ > if defined $url; > } > } > > for ( sort keys %url ) { Suppose that you have two files: Name Mtime file1 10000234 file2 9987654 sort() will sort 'file1' before 'file2'. If you want the output in correct mtime order you will either have to sort using a numerical comparison or convert the mtime field so that it can be sorted correctly as text. John -- use Perl; program fulfillment From cos at indeterminate.net Wed Jul 12 13:59:56 2006 From: cos at indeterminate.net (John Costello) Date: Wed, 12 Jul 2006 13:59:56 -0700 (PDT) Subject: SPUG: Variable in subroutines to check number of args? Message-ID: Is there a variable available within subroutines that tells how many arguments were passed to the subroutine? I haven't found such a var through web searches or browsing my perlcd3. Thanks, John From mathin at mathin.com Wed Jul 12 14:05:05 2006 From: mathin at mathin.com (Dan Ebert) Date: Wed, 12 Jul 2006 14:05:05 -0700 (PDT) Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: Message-ID: I don't know if there is a variable, but couldn't you just do "scalar @_" (before @_ is modified by any shifts, etc.? Dan. ---------------------------------------------------------- Immigration is the sincerest form of flattery. - Unknown ---------------------------------------------------------- On Wed, 12 Jul 2006, John Costello wrote: > > Is there a variable available within subroutines that tells how many > arguments were passed to the subroutine? I haven't found such a var > through web searches or browsing my perlcd3. > > Thanks, > > John > > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ > From tim at consultix-inc.com Wed Jul 12 14:10:34 2006 From: tim at consultix-inc.com (Tim Maher) Date: Wed, 12 Jul 2006 14:10:34 -0700 Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: References: Message-ID: <20060712211034.GA10507@jumpy.consultix-inc.com> On Wed, Jul 12, 2006 at 01:59:56PM -0700, John Costello wrote: > > Is there a variable available within subroutines that tells how many > arguments were passed to the subroutine? I haven't found such a var > through web searches or browsing my perlcd3. > > Thanks, > > John You can use the following to load a variable with what you want: my $argc = @_; # get #-of-elements from @_ (sub-argument) array -Tim *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX (866) DOC-PERL (866) DOC-UNIX | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-* | UPCOMING CLASSES; 9/18: UNIX/Linux Fundamentals 10/9: Basic Perl | | Watch for my Aug '06 book: "Minimal Perl for UNIX/Linux People" | | See MinimalPerl.com for details, ordering, and email-list signup | *-------------------------------------------------------------------* From cos at indeterminate.net Wed Jul 12 14:13:06 2006 From: cos at indeterminate.net (John Costello) Date: Wed, 12 Jul 2006 14:13:06 -0700 (PDT) Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: Message-ID: On Wed, 12 Jul 2006, Dan Ebert wrote: > I don't know if there is a variable, but couldn't you just do "scalar @_" > (before @_ is modified by any shifts, etc.? *cough* Well, now that I know about "scalar @_", yes, I could. Many thanks to Dan and David Dyck (the latter wrote me offlist). I always thought 'scalar' and 'list' referred to the context. I had no idea that there was a function named 'scalar'. Back to the unicode mines with me. John From cos at indeterminate.net Wed Jul 12 14:31:58 2006 From: cos at indeterminate.net (John Costello) Date: Wed, 12 Jul 2006 14:31:58 -0700 (PDT) Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: <20060712211034.GA10507@jumpy.consultix-inc.com> Message-ID: On Wed, 12 Jul 2006, Tim Maher wrote: > > You can use the following to load a variable with what you want: > > my $argc = @_; # get #-of-elements from @_ (sub-argument) array How painfully obvious. May I distract all of you with the 'use bytes' pragma while I run away? From sthoenna at efn.org Wed Jul 12 19:09:45 2006 From: sthoenna at efn.org (Yitzchak Scott-Thoennes) Date: Wed, 12 Jul 2006 19:09:45 -0700 Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: References: <20060712211034.GA10507@jumpy.consultix-inc.com> Message-ID: <20060713020945.GA2164@efn.org> On Wed, Jul 12, 2006 at 02:31:58PM -0700, John Costello wrote: > On Wed, 12 Jul 2006, Tim Maher wrote: > > > > You can use the following to load a variable with what you want: > > > > my $argc = @_; # get #-of-elements from @_ (sub-argument) array > > How painfully obvious. > > May I distract all of you with the 'use bytes' pragma while I run away? The use bytes pragma is almost never a good thing to use; you're not, are you? From jobs-noreply at seattleperl.org Thu Jul 13 13:23:17 2006 From: jobs-noreply at seattleperl.org (SPUG Jobs) Date: Thu, 13 Jul 2006 13:23:17 -0700 (PDT) Subject: SPUG: JOB: OO Perl Dev job in Bellevue Message-ID: Hi there, I'm a technical recruiter with over seven years in this business working for TEKsystems currently, a nationwide technical staffing and solutions provider. I specialize in contract and contract to hire placements but also do a lot of permanent placement on demand. This position is with one of my clients in Bellevue who specializes in designing, developing, and maintaining a content platform/system for delivery over wireless telco networks. This is a contract position that is expected to last at least six months and has the possibility of converting to perm at some point after that depending on the fit and volume of work after the current releases are pushed out. The pay range will depend on skills but will need to fall between $30 and $45 per hour I can only work with candidates interested in W2 or Corp to Corp (strings attached) relationships and telecommuting is not an option on this one. Hours are roughly 9 to 5 with flex time when it makes sense and OT during releases that require it. I'm looking for Perl developers who have hands on experience developing Perl in an Object Oriented manner and who have also worked with either ASP.NET or Java as those are some common interfaces they'll be dealing with. This person will be writing Perl for the purpose of parsing data inbound and outbound from this companies DB's and will be quite a challenge as the data formats will unique to each scenario. We are looking for very sharp developers who want to be part of a project that could pull them in lots of different directions due to its makeup and timelines. ________________________________ John Orchard, Sr. Technical Recruiter 1120 112th Ave. NE, Ste 520, Bellevue, WA 98004 877.287.9526 T 425.372.1009 F 425.637.9600 M 206.854.6525 ________________________________ From cos at indeterminate.net Thu Jul 13 13:48:43 2006 From: cos at indeterminate.net (John Costello) Date: Thu, 13 Jul 2006 13:48:43 -0700 (PDT) Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: <20060713020945.GA2164@efn.org> Message-ID: On Wed, 12 Jul 2006, Yitzchak Scott-Thoennes wrote: > On Wed, Jul 12, 2006 at 02:31:58PM -0700, John Costello wrote: > > On Wed, 12 Jul 2006, Tim Maher wrote: > > > > > > You can use the following to load a variable with what you want: > > > > > > my $argc = @_; # get #-of-elements from @_ (sub-argument) array > > > > How painfully obvious. > > > > May I distract all of you with the 'use bytes' pragma while I run away? > > The use bytes pragma is almost never a good thing to use; you're not, > are you? I was using 'use bytes' for a brief period. I'm converting data from shift-jis to unicode as part of a conversion of data from ${UNSUPPORTED-UNDOCUMENTED-PSEUDO-DB-APPLICATION} (or UUPDA for short) to SAP. I don't control the specifications for the upload into SAP, which may be why I have a shred of sanity left. Did I mention that UUPDA is a Japanese-language application, and that I'm dealing with romaji and kanji characters? That's where things become interesting. The data files for upload to SAP are fixed-length records. Why? They just are. Field #47 for kanji version of the company name needs to be, oh, let's say 100 characters. I use $record .= substr ( ( $k_company . (" " x 100) ), 0, 100); to append the kanji company name to $record and pad the rightmost part of the field with blank spaces. I could do this other ways with 'length' but I chose not to. The catch is that 1 kanji character may occupy more than 1 byte. When output to a datafile, the record sometimes is 100 characters and sometimes is longer--depending on how many bytes the kanji characters take. This should be okay if the data is read on a character-by-character basis, but becomes an issue if the person doing the SAP upload switches from reading things on a character-by-character basis to a byte-by-byte basis. Throws everything off, in fact. And switch is what they did. So, I was looking at using 'use bytes' to output things based on byte length rather than character length. Fortunately (for me), someone else stepped in and told the SAP uploader coder to go back to character-by-character uploads. Saved me the trouble of recoding parts of a longish program that were working fine. I'm enjoying unicode and the challenge, but forgetting very obvious things like '$args = @_;' and the difference between the 'decaf' coffee tub and the 'regular like nature intended' coffee tub. John "Unicode is fun--you just have to define fun correctly."--Programming Perl From cjcollier at colliertech.org Fri Jul 14 08:54:55 2006 From: cjcollier at colliertech.org (C.J. Adams-Collier) Date: Fri, 14 Jul 2006 08:54:55 -0700 Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: References: Message-ID: <44B7BE4F.3090201@colliertech.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 John Costello wrote: > > I'm converting data from shift-jis to unicode as part of a > conversion of data from > ${UNSUPPORTED-UNDOCUMENTED-PSEUDO-DB-APPLICATION} (or UUPDA for > short) to SAP. Didn't you hear? They call it MaxDB these days. :) Ask me how I know... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEt75ObS8rWWzCfqgRApQ7AJ9Fi2IDQxgE9xx2yl94vcV7uZPF6wCfdH+I xJrk6oML9bhbY+M4bANNOqE= =0mce -----END PGP SIGNATURE----- From pudge at pobox.com Fri Jul 14 10:28:15 2006 From: pudge at pobox.com (Chris Nandor) Date: Fri, 14 Jul 2006 10:28:15 -0700 Subject: SPUG: Next Meeting Message-ID: What date is the next SPUG meeting? -- Chris Nandor pudge at pobox.com http://pudge.net/ Open Source Technology Group pudge at ostg.com http://ostg.com/ From jerry.gay at gmail.com Fri Jul 14 10:37:36 2006 From: jerry.gay at gmail.com (jerry gay) Date: Fri, 14 Jul 2006 10:37:36 -0700 Subject: SPUG: Next Meeting In-Reply-To: References: Message-ID: <1d9a3f400607141037w128e6b73i47aaf4577c27dc98@mail.gmail.com> On 7/14/06, Chris Nandor wrote: > What date is the next SPUG meeting? > it's another off-cycle meeting, monday, 24 july. this month we're featuring brian d foy, who will give examples from his upcoming book, "mastering perl." we'll get an official announcement out soon. ~jerry From cos at indeterminate.net Fri Jul 14 10:59:58 2006 From: cos at indeterminate.net (John Costello) Date: Fri, 14 Jul 2006 10:59:58 -0700 (PDT) Subject: SPUG: Variable in subroutines to check number of args? In-Reply-To: <44B7BE4F.3090201@colliertech.org> Message-ID: On Fri, 14 Jul 2006, C.J. Adams-Collier wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > John Costello wrote: > > > > I'm converting data from shift-jis to unicode as part of a > > conversion of data from > > ${UNSUPPORTED-UNDOCUMENTED-PSEUDO-DB-APPLICATION} (or UUPDA for > > short) to SAP. > > Didn't you hear? They call it MaxDB these days. :) Actually, it's filemaker 5 (which is a CTABLE-ish thing) which isn't too complex if you can read the language of the application (nope, didn't study Japanese) and the scripts (nope), or have someone who knows how the system (nope) or can figure out how it was put together (nope). > Ask me how I know... I'll ask you what MaxDB is. The name rings a bell, but that's it. From coleman_dave at hotmail.com Fri Jul 14 11:16:05 2006 From: coleman_dave at hotmail.com (Dave Coleman) Date: Fri, 14 Jul 2006 11:16:05 -0700 Subject: SPUG: oscon 2006 Message-ID: hey all- I've been offered an 'exhibits-only' pass for OSCON, and I was curious if it's worth a day trip or two. I've never been, so what can I expect? -davec _________________________________________________________________ Try Live.com - your fast, personalized homepage with all the things you care about in one place. http://www.live.com/getstarted -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/spug-list/attachments/20060714/07a5b65e/attachment.html From cos at indeterminate.net Fri Jul 14 12:33:09 2006 From: cos at indeterminate.net (John Costello) Date: Fri, 14 Jul 2006 12:33:09 -0700 (PDT) Subject: SPUG: oscon 2006 In-Reply-To: Message-ID: On Fri, 14 Jul 2006, Dave Coleman wrote: > hey all- > I've been offered an 'exhibits-only' pass for OSCON, and I was curious if it's worth a day trip or two. I've never been, so what can I expect? I haven't been, but Portland alone is worth a day trip if you like food, beer, or riverfronts. > -davec From bill at celestial.com Fri Jul 14 13:59:39 2006 From: bill at celestial.com (Bill Campbell) Date: Fri, 14 Jul 2006 13:59:39 -0700 Subject: SPUG: oscon 2006 In-Reply-To: References: Message-ID: <20060714205939.GA94836@alexis.mi.celestial.com> On Fri, Jul 14, 2006, John Costello wrote: >On Fri, 14 Jul 2006, Dave Coleman wrote: > >> hey all- >> I've been offered an 'exhibits-only' pass for OSCON, and I was curious if it's worth a day trip or two. I've never been, so what can I expect? > >I haven't been, but Portland alone is worth a day trip if you like food, >beer, or riverfronts. Don't forget a trip to Powells Book's technical book store. Bill -- INTERNET: bill at Celestial.COM Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676 When a place gets crowded enough to require ID's, social collapse is not far away. It is time to go elsewhere. The best thing about space travel is that it made it possible to go elsewhere. -- Robert Heinlein From cos at indeterminate.net Fri Jul 14 14:13:28 2006 From: cos at indeterminate.net (John Costello) Date: Fri, 14 Jul 2006 14:13:28 -0700 (PDT) Subject: SPUG: oscon 2006 In-Reply-To: <20060714205939.GA94836@alexis.mi.celestial.com> Message-ID: On Fri, 14 Jul 2006, Bill Campbell wrote: > On Fri, Jul 14, 2006, John Costello wrote: > >On Fri, 14 Jul 2006, Dave Coleman wrote: > > > >> hey all- > >> I've been offered an 'exhibits-only' pass for OSCON, and I was curious if it's worth a day trip or two. I've never been, so what can I expect? > > > >I haven't been, but Portland alone is worth a day trip if you like food, > >beer, or riverfronts. > > Don't forget a trip to Powells Book's technical book store. I left the main store out of my mention, because I'm reconsidering my fondness of one monolithic store (of which I have fond memories) compared to the many small, odd bookstores in Seattle. You're right to mention the tech store, though. Even if one doesn't want to buy a book, there are a number of very old computers spread throughout the store to trigger one's memories. >From the convention center, take Max to Old Town (free ride, first stop on the other side of the river) and walk away from the river along Couch Street. Couch, by the way, is pronounced "cooch" even though Mr. Couch pronounced his name "cowtch". Powell's Technical is at 33 NW Park Ave, between Burnside and Couch on the west side of the Park Blocks. > Bill John From lmzaldivar at gmail.com Fri Jul 14 15:07:23 2006 From: lmzaldivar at gmail.com (luis medrano) Date: Fri, 14 Jul 2006 15:07:23 -0700 Subject: SPUG: XML::Generator module Message-ID: <50aeae6f0607141507h7baa86a0j53eb109563911eb7@mail.gmail.com> List, I trying to generated a XML file using XML::Generator module but the header I need to create is this "" but with this modulte is generating this " " I would like to remove standalone="yes" but I have not found a way of doing this. This is my code: #!/usr/bin/perl my $map = XML::Generator->new(':pretty', escape=>1); print $map->xmldecl(version=>'1.0', encoding=>'UTF-8'); I will really appreciate your help. Thanks, Luis From schuh at farmdale.com Fri Jul 14 15:16:44 2006 From: schuh at farmdale.com (Mike Schuh) Date: Fri, 14 Jul 2006 15:16:44 -0700 (PDT) Subject: SPUG: XML::Generator module In-Reply-To: <50aeae6f0607141507h7baa86a0j53eb109563911eb7@mail.gmail.com> Message-ID: On Fri, 14 Jul 2006, luis medrano wrote: >I trying to generated a XML file using XML::Generator module but the >header I need to create is this "encoding="UTF-8"?>" but with this modulte is generating this "version="1.0" encoding="UTF-8" standalone="yes"?> >" I would like to remove standalone="yes" but I have not found a way >of doing this. I haven't tried this, but the documentation (http://search.cpan.org/~bholzman/XML-Generator-0.99/Generator.pm) says: "If a dtd was set in the constructor, the standalone attribute of the declaration will be set to 'no' and the doctype declaration will be appended to the XML declartion, otherwise the standalone attribute will be set to 'yes'. This can be overridden by providing a 'standalone' key in @args. If you do not want the standalone attribute to show up, explicitly provide undef as the value." -- Mike Schuh -- Seattle, Washington USA http://www.farmdale.com From lmzaldivar at gmail.com Fri Jul 14 17:04:10 2006 From: lmzaldivar at gmail.com (luis medrano) Date: Fri, 14 Jul 2006 17:04:10 -0700 Subject: SPUG: XML::Generator module In-Reply-To: References: <50aeae6f0607141507h7baa86a0j53eb109563911eb7@mail.gmail.com> Message-ID: <50aeae6f0607141704k378e6cd6xe0cc66469c4e2e5b@mail.gmail.com> My question is how "explicitly provide undef as the value.", how can I do that for standalone attribute? Thanks, Luis On 7/14/06, Mike Schuh wrote: > On Fri, 14 Jul 2006, luis medrano wrote: > > >I trying to generated a XML file using XML::Generator module but the > >header I need to create is this " >encoding="UTF-8"?>" but with this modulte is generating this " >version="1.0" encoding="UTF-8" standalone="yes"?> > >" I would like to remove standalone="yes" but I have not found a way > >of doing this. > > I haven't tried this, but the documentation > (http://search.cpan.org/~bholzman/XML-Generator-0.99/Generator.pm) says: > > "If a dtd was set in the constructor, the standalone attribute of the > declaration will be set to 'no' and the doctype declaration will be > appended to the XML declartion, otherwise the standalone attribute will be > set to 'yes'. This can be overridden by providing a 'standalone' key in > @args. If you do not want the standalone attribute to show up, explicitly > provide undef as the value." > > -- > Mike Schuh -- Seattle, Washington USA > http://www.farmdale.com > > From jerry.gay at gmail.com Fri Jul 14 17:20:26 2006 From: jerry.gay at gmail.com (jerry gay) Date: Fri, 14 Jul 2006 17:20:26 -0700 Subject: SPUG: XML::Generator module In-Reply-To: <50aeae6f0607141704k378e6cd6xe0cc66469c4e2e5b@mail.gmail.com> References: <50aeae6f0607141507h7baa86a0j53eb109563911eb7@mail.gmail.com> <50aeae6f0607141704k378e6cd6xe0cc66469c4e2e5b@mail.gmail.com> Message-ID: <1d9a3f400607141720p78372a68vee2d25f1d030ffea@mail.gmail.com> On 7/14/06, luis medrano wrote: > My question is how "explicitly provide undef as the value.", how can I > do that for standalone attribute? > i assume it's my $map = XML::Generator->new(':pretty', escape=>1, standalone => undef); ~jerry From lmzaldivar at gmail.com Mon Jul 17 11:37:26 2006 From: lmzaldivar at gmail.com (luis medrano) Date: Mon, 17 Jul 2006 11:37:26 -0700 Subject: SPUG: XML::Generator module In-Reply-To: <1d9a3f400607141720p78372a68vee2d25f1d030ffea@mail.gmail.com> References: <50aeae6f0607141507h7baa86a0j53eb109563911eb7@mail.gmail.com> <50aeae6f0607141704k378e6cd6xe0cc66469c4e2e5b@mail.gmail.com> <1d9a3f400607141720p78372a68vee2d25f1d030ffea@mail.gmail.com> Message-ID: <50aeae6f0607171137u7b0b8f1br9005d38ac9365031@mail.gmail.com> I tried that and didn't work. Any more ideas? On 7/14/06, jerry gay wrote: > On 7/14/06, luis medrano wrote: > > My question is how "explicitly provide undef as the value.", how can I > > do that for standalone attribute? > > > i assume it's > my $map = XML::Generator->new(':pretty', escape=>1, standalone => undef); > > ~jerry > From jay at scherrer.com Mon Jul 17 19:27:12 2006 From: jay at scherrer.com (Jay Scherrer) Date: Mon, 17 Jul 2006 19:27:12 -0700 Subject: SPUG: Linux Exposure in September Message-ID: <44BC4700.8010108@scherrer.com> List, Is anyone interested in gaining Linux service exposure at a small conference in Renton in the month of September? Warning: This will be my first, but I have been asked to provided an informational room, presenting the benefits of todays Linux. The attendees will be from young children up to professionals around the North west. If you want to help and promote your services at same time let me know. Jay Scherrer From jobs-noreply at seattleperl.org Wed Jul 19 13:03:12 2006 From: jobs-noreply at seattleperl.org (SPUG Jobs) Date: Wed, 19 Jul 2006 13:03:12 -0700 (PDT) Subject: SPUG: JOB: Web application developer, Redmond Message-ID: We're looking for an experienced Perl developer to maintain and extend our core Perl-based web-based compliance documentation management system and related technologies. You will: * Develop and maintain software in response to customer and market needs * Ensure high product quality through internal testing * Perform maintenance and enhancements to existing systems * Provide assistance and occasional consultation to users and support personnell in the deployment of customized solutions * Work with others to develop alternative system and software designs. You need: * Understanding and experience with web development languages and technologies including Perl, JavaScript, DHTML, XML, and CSS * Practical knowledge of Oracle, SQL Server, and/or other database systems * Familiarity with Web development and deployment technologies on Linux and Windows * Experience with and understanding of basic usability principles and interface design * Comfort with agile development methodologies (e.g. Scrum, Extreme Programming, etc.) * Proficiency with object-oriented (e.g. C++, Java) development; experience with object-functional languages (Lisp/CLOS, Scheme) and development techniques an asset * Experience with and understanding of AJAX technologies and Web Services in general * Familiarity with documentation, workflow, and compliance management systems and requirements useful About the position: This is a permanent (W-2) position. We're an 8-person company located in Redmond, and have been developing and deploying the Lucidoc system for 6 years. You'd be working in a small team with a mostly mature code framework running on object-oriented Perl and Apache (mostly, though we do support IIS), with interface code running in Perl-backed XML and JavaScript. About us: We are a privately held corporation, founded in 2000. Our ground-breaking technology offers a proven solution that enables an organization's geographically dispersed users to instantly access centralized knowledge from a living database that includes complex, changing information. Historically, the complexity of changing, updating and auditing operational and process-based information made it virtually impossible to guarantee data integrity and quality standards. Because tools weren't available to solve this problem securely and efficiently, new software was pioneered in partnership with NASA's Jet Propulsion Laboratory. The result is the first living repository for thousands of documents, contracts and procedures. A living repository enables an organization to manage the complete lifecycle of information. Companies dealing with government regulation, shared quality standards and constant process changes are demanding advanced information management capabilities to ensure that their information is accurate and auditable in order to mitigate regulatory and compliance exposure and keep staff informed. Feel free to contact me directly at mjk at lucidoc.com. Thanks! -= Martin Knowles, Director of Development - Lucidoc Corporation -= mjk at lucidoc.com - http://www.lucidoc.com/ From jerry.gay at gmail.com Mon Jul 24 14:30:24 2006 From: jerry.gay at gmail.com (jerry gay) Date: Mon, 24 Jul 2006 14:30:24 -0700 Subject: SPUG: Meeting Announcement -- brian d foy -- 24 July 2006 Message-ID: <1d9a3f400607241430h48d50d9fr36a1590c2df801cd@mail.gmail.com> TONIGHT TONIGHT TONIGHT July 2006 Seattle Perl Users Group (SPUG) Meeting ====================================== Title: Perl Design Patterns Speaker: brian d foy Meeting Date: Monday, 24 June 2006 Meeting Time: 6:30 - 8:30 p.m. Location: Whitepages.com offices, downtown Seattle Cost: Admission is free and open to the public Info: http://seattleperl.org/ ====================================== Join us TONIGHT, Monday 24 June 2006 at the monthly meeting of the Seattle Perl Users Group. brian d foy is our guest for the evening, and will discuss at length, any topic of our choosing! (however we've chosen one already, and it's "Perl Design Patterns.") If time allows, we may even get a look at Perl 6. For those of you (like me) who can't make it to OSCon this year, this is a great opportunity to meet and learn from a great Perl Author, Educator, Editor, and Hacker. Oh, and did I mention, Joshua McAdams of Perlcast fame may be in attendance as well? Please drop in. We will not be meeting on Tuesday. Thank you to our hosts at Whitepages.com for giving us a great place to hold our meetings and presentations, and to all the SPUG members that show up at meetings or participate on the list to make the group worthwhile in the first place, and all the JAPHs out there for just being. See below for more information on the meeting location. Meeting Location ================ Whitepages.com is located on the 16th floor of the Rainier Square Tower (1301 5th Avenue, Seattle) which is across from the 5th Avenue Theater. See the directions[1] for a quick primer on how to reach us from various locations across Puget Sound. There are plenty of locations to park in the area, including on the street. If you're looking for off-street parking, you can park in the Rainier Square garage which has an entrance on Union St. After 6PM, the building management restricts access to most floors. Our host is trying to take care of this, but if unsuccessful, they will station someone on the 1st floor near the elevator bank and 5th Avenue entrance to let people in. Worst case scenario, give our meeting organizer (Jerry) a call on his cell phone[2] and he'll make sure you get in. Our hosts are providing a generous assortment of free sodas, fruit drinks, teas, and coffee, and also have some snacks. You definitely won't dehydrate here. We look forward to seeing you! [1] - http://www.whitepagesinc.com/locations [2] - (201) 220-3139 From dtreder at gmail.com Tue Jul 25 09:48:23 2006 From: dtreder at gmail.com (Doug Treder) Date: Tue, 25 Jul 2006 09:48:23 -0700 Subject: SPUG: InsideOut Objects talk and UW Perl informational meeting Message-ID: <13fc2edf0607250948wb580dedh742c6ac89477dd1@mail.gmail.com> As I mentioned last night, I'd volunteer to give a 1.5-hour talk on Inside Out objects. It was part of the Advanced Perl OO class I gave for the UW extension a few months ago; and has been presented at Amazon.com as well. If the SPUG coordinator contacts me I can also forward a PDF of slides. (I also have a backup short presentation, if we have extra time, on how to use Perl to translate English to Elvish!) In other news, the UW Extension is holding an informational meeting for the Perl Certificate tonight at 6 pm (1 hour) at the Puget Sound Plaza (1325 Fourth Avenue) This is at Union & 4th Street, on the 4th floor (go up the elevator and ask for Perl, someone will direct you to our room). The informational meetings give you a chance to find out about the Perl certificate program at UW Extension, ask questions, and meet an instructor. No obligation to sign up; you get another month to make a decision. The class meets in the same room; each class is 30 hours (at 3 hrs/week for 10 weeks) and 3 classes make up the certificate. The classes start at the beginner level and eventually get into quite advanced topics including OO, databases, and web services and web applications. My last class website: http://www.uvstudios.com/perlclass/ (this was for the 3rd course in the certificate). -- -Doug Treder http://www.trederfamily.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/spug-list/attachments/20060725/12ad8ef8/attachment.html From john.spug at subaykan.com Tue Jul 25 10:14:50 2006 From: john.spug at subaykan.com (John Subaykan) Date: Tue, 25 Jul 2006 12:14:50 -0500 Subject: SPUG: design patterns talk Message-ID: I couldn't make it to last night's spug talk about perl design patterns. Is there a powerpoint presentation, or notes taken in some other way summarizing this topic? Thanks, John From cos at indeterminate.net Tue Jul 25 10:19:38 2006 From: cos at indeterminate.net (John Costello) Date: Tue, 25 Jul 2006 10:19:38 -0700 (PDT) Subject: SPUG: InsideOut Objects talk and UW Perl informational meeting In-Reply-To: <13fc2edf0607250948wb580dedh742c6ac89477dd1@mail.gmail.com> Message-ID: On Tue, 25 Jul 2006, Doug Treder wrote: > As I mentioned last night, I'd volunteer to give a 1.5-hour talk on Inside > Out objects. It was part of the Advanced Perl OO class I gave for the UW > extension a few months ago; and has been presented at Amazon.com as well. > If the SPUG coordinator contacts me I can also forward a PDF of slides. (I > also have a backup short presentation, if we have extra time, on how to use > Perl to translate English to Elvish!) Odd, I thought there was a module on CPAN for this, but all I found was the module to write Perl scripts in Orkish. A friend at an anti-spam company was disturbingly happy to see that URL. > In other news, the UW Extension is holding an informational meeting for the > Perl Certificate tonight at 6 pm (1 hour) at the Puget Sound Plaza (1325 The URL for the program is , and there is one more info meeting after today as well as contact information for those who can't attend the meetings. I'm not affiliated with the program in any way. > My last class website: http://www.uvstudios.com/perlclass/ (this was for > the 3rd course in the certificate). Cheers, John From jerry.gay at gmail.com Tue Jul 25 11:18:36 2006 From: jerry.gay at gmail.com (jerry gay) Date: Tue, 25 Jul 2006 11:18:36 -0700 Subject: SPUG: design patterns talk In-Reply-To: References: Message-ID: <1d9a3f400607251118j458f9c5dq6a81458c719292da@mail.gmail.com> On 7/25/06, John Subaykan wrote: > > I couldn't make it to last night's spug talk about perl design patterns. Is there a powerpoint presentation, or notes taken in some other way summarizing this topic? > sure, in fact, all brian's talks can be found at his website: http://www.pair.com/comdog/ hope to see you next time! ~jerry From wildwood_players at yahoo.com Tue Jul 25 15:00:36 2006 From: wildwood_players at yahoo.com (Richard Wood) Date: Tue, 25 Jul 2006 15:00:36 -0700 (PDT) Subject: SPUG: automating data entry into an oracle forms application Message-ID: <20060725220036.63910.qmail@web51701.mail.yahoo.com> Perl Pros, I want to emulate data entry into an application that is written using Oracle Forms. It looks to me that Oracle Forms is basically a Motif based UI. I've done a quick check on CPAN for both Oracle Forms (no hits) and Motif (some limited functionality). I was wondering if anyone in the community has any experience writing Perl to invoke an application like this (either oracle forms or any motif ui app) and then perform data entry. If so, can you point me in the direction of your solution. Thanks, Richard Wood Richard O. Wood Wildwood IT Consultants, Inc. wildwood_players at yahoo.com 425.281.1914 mobile 206.766.3748 desk --------------------------------- Yahoo! Music Unlimited - Access over 1 million songs.Try it free. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/spug-list/attachments/20060725/b03e473e/attachment.html From benb at speakeasy.net Thu Jul 27 22:39:35 2006 From: benb at speakeasy.net (BenRifkah Bergsten-Buret) Date: Thu, 27 Jul 2006 22:39:35 -0700 Subject: SPUG: InsideOut Objects talk and UW Perl informational meeting In-Reply-To: <13fc2edf0607250948wb580dedh742c6ac89477dd1@mail.gmail.com> References: <13fc2edf0607250948wb580dedh742c6ac89477dd1@mail.gmail.com> Message-ID: <44C9A317.1060706@speakeasy.net> Doug Treder wrote: > As I mentioned last night, I'd volunteer to give a 1.5-hour talk on > Inside Out objects. I've been messing with inside out objects recently and would be interested in this talk. -- Ben From jobs-noreply at seattleperl.org Mon Jul 31 14:51:41 2006 From: jobs-noreply at seattleperl.org (SPUG Jobs) Date: Mon, 31 Jul 2006 14:51:41 -0700 (PDT) Subject: SPUG: JOB: Senior Software Engineer Position at CarDomain Network Message-ID: Senior Software Engineer CarDomain Network Do you have a desire to work at one of Washington's fastest growing companies? CarDomain Network operates the web's largest community for auto enthusiasts and an industry-leading online store, visited by over 1.8 million unique users per month. The company operates two primary lines of business: Media and Retail. Founded in 1998, CarDomain Network is privately held and is headquartered in Seattle, Washington. We seek intelligent, energetic, highly motivated people who want to be part of building a leading consumer brand. We offer a competitive compensation and benefits package that includes: employer-paid health benefits, disability, life insurance, matching 401(k), stock options, free lunch Fridays and a great Lake Union location. Come make a difference at a growing company! The Opportunity We are looking for an experienced Senior Software Engineer to join our development team. We work on designing and building challenging back-end services that power leading edge community and online retail applications. We work in a fast paced, team environment using agile software development practices. Responsibilities * Technical design and implementation of secure, scalable, and high-performance online systems and applications. * Lead technical planning on assigned engineering initiatives. * Successfully translate business requirements into technical specifications and finished products/services. * Assist in Quality Assurance as needed. * Create and maintain high-quality documentation of all relevant specifications, systems, and procedures. * Provide mentoring and training for junior staff. Qualifications The ideal candidate has: * 5+ years of experience with object oriented Perl * Thorough knowledge of Apache and mod_perl * Bachelor's degree in computer science, engineering or mathematics required. * 7+ years of work experience in website and software application development in Linux/UNIX * Thorough understanding of relational databases and SQL. Oracle and/or MySQL preferred. * Strong knowledge of Version Control Systems. * Extensive experience with the full software development life cycle. * Passionate about open source technologies. Contact: Lara Zwerling, HR Recruiter/Generalist lzwerling at cardomain.com Direct: (206) 926-2136 Fax: (206) 926-2299 1633 Westlake Avenue North, Suite 100, Seattle, WA 98109