Jump to menu and information about this site.

Wednesday·15·February·2006

I thought I was never going to be employed again

After each interview, I went home and threw anger fits, thinking: “I should’ve said this here or that there.” I was beginning to think I would never get another job. It’s said that I have to leave IBMC to get a job, because I had hoped to be here for years upon years. But as it stands, I had to opt for a place with a lower cost of living and open space, fresher air and less people.

Tuesday·14·February·2006

an XPath engine that can be re-used by other classes that implement trees

Michel Rodriguez, the XML genius, has done it again. First it was with XML::Twig. Now, he has implemented Tree::XPathEngine to allow to XPath usage on any tree module that implements the required methods!

Friday·10·February·2006

A question one might ask at a technical interview:

Explain how high volume and a load-balanced environment can affect one’s coding approach.

My answer would be

  1. one might resort to caching of data (perhaps with Memcached, perhaps with Memoized).
  2. one might cache database handles (with Apache::DBI) or try to pool them
  3. one might create static content as much as possible and certainly be sure to have Apache serve all parts of a page which are static such as images.
  4. one might replicate the database
The actual questions:
  1. Given a text file with a full name on each line, print the 10 most common last names in the file… also do this in SQL.
  2. what does use strict do
  3. what variable controls inheritance in Perl
  4. a sub that modifies a hashref - trick question: they made a copy of the hashref in the modifying sub
  5. parse a URL
  6. simple INNER JOIN
  7. composite indexing question
  8. how to check if a slave is up
  9. hOW TO to see which processes heavy
  10. how to see disk activity
  11. How to see disk usage?
  12. how to check if apache is up?
  13. Design a couple of pages for a yearbook website

Monday·06·February·2006

Infinite job rejections since my layoff at Vendare:

  1. Strategic Data
  2. Shopzilla
  3. Fonality
  4. place-base.com
  5. Well, checkup one more: sixapart.com just passed on me too.
  6. oodle.com
  7. And another: CPO Commerce
  8. And another in Grand Rapids, MI:

    I heard back from Priority today, and unfortunately, they’re not going to go forward with us. Here is the feedback we received: This candidate is really exactly what we were looking for when we started. However, after speaking with Guy and in light of other internal projects that we have going, we’d like to go with Guy It appears that this “GUY” has some other skills that they believe will help them down the road. He’s got more of a Healthcare background, I guess. Sorry about this one. I hope to work with you in the future, and please feel free to keep in touch. Thanks again Terrence,
  9. And the mania continues: imdb.com just passed on me too! yeehah! Boy, my self-esteem is soaring!
I’m used to always being the first choice wherever I go. Hmm, actually one of the above has made an offer… now I have to consider it. Nah, better stick to my guns. Why jump at the first thing offered? Have some integrity, mate!

Saturday·04·February·2006

Not too simple for CPAN

It has been said before that this code is “too simple” for CPAN, but I must disagree. I have seen people write this kind of code over and over again and they always get it wrong. Perhaps now they will spend more time getting the rest of their code right…
Leon Brocard in the docs for Data::Page

Thursday·02·February·2006

I wish I were this good:

Web Developer


Reply to: swjobs@imageworks.com
Date: 2006-01-31, 4:22PM PST


Sony Pictures Imageworks, an Academy Award winning digital production studio, is seeking an experienced Web Developer. This position will code web applications using Perl and JavaScript working under the direction of a senior web applications developer.



Qualified candidates must have 3-5 years experience analyzing complex business processes and transforming these processes into maintainable, flexible, and configurable software systems. Candidates must be able to show the ability to breakdown a business process into roles, domain objects, state transition diagrams, and workflow. Additionally, candidates must show a firm understanding of design patterns, particularly separation of concerns. Candidates should be self-starters comfortable with gathering requirements and interacting with end-users to expand and improve application functionality.



The ideal candidate is a Perl expert who is well-versed in the more advanced features of the language, including duck typing, closures, and functional composition. Additionally candidates should have a firm understanding of the Oracle database, including schema creation and the use of explain plan to optimize queries. An exceptional candidate would also have the ability to write web application GUIs, including the use of Javascript and AJAX.



Required skills:
Perl
HTML/CSS/Javascript/AJAX
Apache/mod_perl configuration and deployment
Oracle (DDL,DML,PL/SQL)
CVS/Subversion (including the ability to branch and merge)
Ability to develop in a LINUX environment



Helpful skills:
Java/J2EE/JBoss/Hibernate
Python
SOAP
XSLT



Wednesday·01·February·2006

HTML::Seamstress::new_from_file() now reblesses the whole tree

To date, Seamstress has supported tree-based rewriting of HTML trees by blessing the $tree into a class which has these superclasses - HTML::Seamstress, HTML::Element::Library, HTML::Element, and any local Element library. That way, you can rewrite the $tree by going:

$tree->this;
$tree->that;
Well, that was all good and fine until today when I tried to call this and that on a subtree of $tree:
my $div = $tree->look_down('_tag' => 'div');
$div->this;
$div->that;
and it did not work because $div was blessed into HTML::Element instead of a class which inherited from the above-mentioned superclasses.

So, the solution was to simply bless all nodes of $tree into the same class. A test case 02.treebless.t shows the new functionality:


package tree::bless;

use Test::More qw(no_plan);
use TestUtils;

use base qw(HTML::Seamstress) ;

my $root = 't/html/treebless';

my $tree = __PACKAGE__->new_from_file("$root.html");

my $li = $tree->look_down(class => 'greg');

is (ref $li, 'tree::bless', 'blessed into proper class');



Perl Software Design Blog

About...

This is the weblog of the Perl Software Design Group.

Who We Are

Terrence Brannon
Matthew Sisk
Brock Wilcox
Gary Aston-Jones


Calendar

 2006 →
Months
Feb
 February →
Mo Tu We Th Fr Sa Su
   
         

Search


Advanced Search


Categories

Blogroll

People I know personally




Blogging Software Blogs