JOB - US/CA/SF - Looking for a well rounded Linux/Apache/mod_perl/mysql SysAdmin

2000-08-30 Thread Sang Han

Hi all,

We're in need of a SysAdmin/Developer in Training type of person.  The
company, VirtualGiveaway, that I work for uses the
Linux/Apache/mod_perl/mysql combo almost exclusively in our backend
production infrastructure. We are currently in need of someone who has
more of the System Administrative skills to help manage these boxes
(which will grow) and the mod_perl based web application built on them.
Specifically, I'm looking for someone who has a good understanding of PC
hardware, who knows enough of the ins and outs of installing, compiling,
configuring linux (distr. flavor doesn't matter), apache,  mod_perl,
mysql and securing these boxes for deployment on the Internet.  This
would be a good position for someone who has good Linux sys admin
skills, is at least familiar with the combo I've described above, and
looking for an opportunity to develop mod_perl programming skills.

Finding someone who can manage the boxes while developing a strong
understanding of what's going on at the application level is the goal
here.

I've provided a formal job/company description below for those who are
interested. Please reply to me and not the list.

thank you,
Sang
:wq!

Job Title: UNIX System Administrator/Developer in Training
Company: VirtualGiveaway
Location: San Francisco, CA

Responsibilities : This position's primary responsibilities will be to
monitor the status of Internet connectivity, production computing
equipment and software, act as main point of contact during malfunctions
and changes, providing status updates, event escalation, corrective
action, and documentation of changes and malfunctions.  Will be
responsible for installing, configuring, documenting, and monitoring
both production and development Linux servers.  Will devise, document,
exercise security, upgrade, patching policies catered around a highly
iterative web applications development and deployment process.  This
person is expected to learn or enhance existing knowledge of Perl and/or
Java in order to contribute in development phases of various aspects of
the system. Will also be responsible for maintaining a relatively small
internal network of Linux/Win* systems.

This positions is an ideal opportunity for a Linux System Administrator
who is looking to expanding his/her skill sets by learning Perl and
Java.

Position is full time w/flexible hours on site, but part-time (min
25/hrs) can be arranged as well.

Requirements :
-An Associate degree from two-year college or better.
-3+ years UNIX experience _preferably_ using Linux and other open-source
technologies
-2+ years System and Network Administration with emphasis on managing
web application systems at remote sites
-2+ year experience with the Internet services (WWW, FTP, SMTP, etc.)
Shell/PERL scripting knowledge for automating administrative tasks a
definite plus
-1+ year programming experience or equivalent schooling/training in a
3/4GL language, preferably Java or Perl
-Hands on experience compiling and configuring open source software such
as Linux Kernel, Apache w/mod_perl+JServ+PHP, Jakarta Tomcat, MySQL and
familiarity with SQL/RDMBS, OOP, Java Servlets/JSP, N-Tier web
architectures a big plus
-A fast learner and self-motivated style is a requirement

Compensation : DOE and will be a combination of salary and stock
options.

Company Background : VirtualGiveaway, www.virtualgiveaway.com, is a
leading provider of interactive advertising and marketing solutions that
enable e-businesses to: increase the interaction between online
customers and their products; generate a list of members to market to;
capture online consumers' attention; increase brand  product awareness;
and capture online sales. Our solutions for online advertising generate
a substantial increase in the ROI for online advertisers. We are looking
for a person that wishes to work in an exciting, growing company
involved in leading-edge online technology solutions.

Contact Info : Please fax or email a cover letter and resume to:
VirtualGiveaway
Attn: Sang Han
fax: 415-563-9449
email: [EMAIL PROTECTED]

We are an equal opportunity employer.

Sang Han
VP Tech
VirtualGiveaway
1336 Larkin Street
San Francisco, CA  94109
[EMAIL PROTECTED]





RE: !--#config timefmt=blahblahblah-- with Apache::SSI

2000-07-03 Thread Sang Han


-Original Message-
From: Roediger Stephan [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 03, 2000 9:38 AM
To: '[EMAIL PROTECTED]'
Subject: !--#config timefmt=blahblahblah-- with Apache::SSI


Hi,

Does anyone knows, why standard SSI-Tag: !--#config timefmt="%blah"--
doesn't work with Apache::SSI (maybe it's currently not supported)???
Other used SSI-Tags are interpreted perfectly by Apache::SSI.

Thank you,
Stephan


I came across this as well when one of our templates which uses SSI to
format a time.

I subclass Apache::SSI and overwrote the ssi_echo and echo _DATE_LOCAL
method. As far as I can tell there is an environment variable called
DATE_LOCAL which keeps sub_DATE_LOCAL from ever getting called and this
seems to ignore any settings made through the ssi_config method in
Apache::SSI.  Probably a better way to fix this, but this works for me. --
sang

package MySSI;

sub BEGIN {
use Date::Format;
use base qw(Apache::SSI);
}

sub ssi_echo {
my($self, $args) = @_;
my $var = $args-{var};
$self-_interp_vars($var);
my $value;
no strict('refs');

if ($var eq 'DATE_LOCAL') {
return $self-echo_DATE_LOCAL;
} elsif (exists $ENV{$var}) {
return $ENV{$var};
} elsif ( defined ($value = $self-{_r}-subprocess_env($var)) ) {
return $value;
} elsif (defined {"echo_$var"}) {
return {"echo_$var"}($self-{_r});
}
return '';
}

sub echo_DATE_LOCAL {
my $self = shift;
if(exists $self-{timefmt}) {
return time2str($self-{timefmt},time) ?
time2str($self-{timefmt},time) : scalar localtime;
}
return 1+time;
return scalar localtime;
}

1;




IPC::Cache and how to clear the cache

2000-06-03 Thread Sang Han

Hi all,

I'm not sure if this is an appropriate place to ask.  I've looked over the
"Guide" and couldn't really determine for sure how to do this. I am using
the IPC::Cache module to store some configuration information in shared
memory for mod_perl modules that I've written.  The problem I'm facing is
that I want to be able to clear the cache on stops and restarts, but in
order to do this correctly and to ease my paranoia, the clean up method
should only be called by the parent process and only once when the parent
process exits.

So I was thinking of creating a handler for the PerlRestartHandler phase.
However I had some questions about how this phase gets called and if it gets
called at all when stopping the apache server (i.e., apachectl stop).  I'm
assuming that the child apache processes are not involved at this point in
the phase so any methods called at this point are executed only once by the
parent process as it exits. Yes/No?

Can someone confirm my thinking here and let me know if there is a better
way to perform one time cleanup/execution of code during server exit--kind
of analogous to the startup.pl file and it's function during startup.  BTW,
I've also thought about using a DESTROY or END method to the start.pl file,
but wasn't sure that they are called at server exit by only the parent
process. Furthermore, I thought about taking an "if defined then reset"
approach in the startup.pl, but I wanted see if there was a cleaner way of
doing this.

thank you in advance,
sang




panic: POPSTACK, Callback called exit and Apache::Session's die seems to be resurrecting itself

2000-04-04 Thread sang

Hi,

Can someone help me out here?

Apache_1.3.12
mod_perl 1.21_03
Apache-Session-1.03 ( Database and deamon locker for storing and locking
sessions )

-- code snippet --
sub getSESSION {
my $self = shift;
my $sid = shift;
my %SESSION;
eval {tie %SESSION, 'Apache::Session::DBI', $sid;} if ($sid);
if (! $sid || $@ ) {
eval {tie %SESSION, 'Apache::Session::DBI', undef;};
}
return \%SESSION;
}

So if I pass what I know to be a bogus non-null session id (no longer a
valid id in the database) it tries the first eval. Based on my understanding
of the Apache::Session docs, it should die (shouldn't it?), which should
result in $@ being non-null and the first eval should return undef. Then I
should be able to call another eval block requesting a new session.

Is this right and if so, why am I getting the following messages in the log
file?

panic: POPSTACK
Callback called exit.

for each httpd process.

I looked at the eval documentation and I've tried using Carp, localizing
$SIG{__DIE__) within the eval, but at this point I'm utterly confused and am
not sure what is really the cause of the problem.  I think that it has
something to do with the way perl's die function is being called within this
eval because I don't have this problem when the session id I pass is a valid
one.

Help.

thank you,
Sang




panic: POPSTACK, Callback called exit and Apache::Session's die seems to be resurrecting itself

2000-04-04 Thread Sang Han

Hi,

Can someone help me out here?

Apache_1.3.12
mod_perl 1.21_03
Apache-Session-1.03 ( Database and deamon locker for storing and locking
sessions )

-- code snippet --
sub getSESSION {
my $self = shift;
my $sid = shift;
my %SESSION;
eval {tie %SESSION, 'Apache::Session::DBI', $sid;} if ($sid);
if (! $sid || $@ ) {
eval {tie %SESSION, 'Apache::Session::DBI', undef;};
}
return \%SESSION;
}

So if I pass what I know to be a bogus non-null session id (no longer a
valid id in the database) it tries the first eval. Based on my understanding
of the Apache::Session docs, it should die (shouldn't it?), which should
result in $@ being non-null and the first eval should return undef. Then I
should be able to call another eval block requesting a new session.

Is this right and if so, why am I getting the following messages in the log
file?

panic: POPSTACK
Callback called exit.

for each httpd process.

I looked at the eval documentation and I've tried using Carp, localizing
$SIG{__DIE__) within the eval, but at this point I'm utterly confused and am
not sure what is really the cause of the problem.  I think that it has
something to do with the way perl's die function is being called within this
eval because I don't have this problem when the session id I pass is a valid
one.

Help.

thank you,
Sang