Portland, Tue Mar 24 13:58:54 2015

A Look at my Work

some image

For the sake of brevity, let's begin on 9/11/2001, when I was hanging the drywall around the elevator shafts of a steel-framed high-rise as a commercial carpenter. After it passes inspection, no one cares which carpenter created it, so to show the things I've built would just be a tour of buildings to which hundreds of tradesmen contributed in a collective, anonymous effort.

some image

Over the last 12 years, I went from working for others to taking down construction jobs myself. I would use images like this to show clients what they have going on. I've gotten fairly-proficient with GIMP. What's more, I would do the necessary communication using my website, providing photos of what I had done for them and scanning receipts. I bought one C/Perl/Unix book after another, and now I'm able to automate the process entirely such that it can be done remotely.

some image

Now I'm looking to change fields to something that more-closely matches my educational background. I ended up finding that many of my handyman clients also needed the same help getting their computers squared away, so I've been able to be Mr. Fix-it for a variety of technical situations. I have been indefatigable with reading up on unix and how to work with servers. Lately, I've been working with wireless networking, where I seem to have some abilities to get it done.

some image

This shows another aspect of the technical capabilities I've been developing: automating the creation of this site. Underneath you can verify that the css check is error-free, which is hard to script if you're not a machine. Also listed is the perl script that automated the creation of this page.

Valid CSS!
Script that produced this: #!/usr/bin/perl -w use strict; use 5.010; use lib "template_stuff"; use html2; use Cwd; use File::Basename; use Net::FTP; use Path::Class; use File::Slurp; use File::Spec; # initializations that must precede main data structure my $fspecfile = File::Spec->rel2abs(__FILE__); my $ts = "template_stuff"; my $images = "aimages"; my $captions = "captions"; my $ruscaptions = "ruscaptions"; my $current = cwd; my $rd1 = dir($current); my @a = $rd1->dir_list(); my $srd1 = $rd1->stringify; my $title = $rd1->basename; my $rd2 = dir(@a,$ts,$images); my $to_images = $rd2->stringify; my $rd3 = dir(@a,$ts,$captions); my $to_captions = $rd3->stringify; my $rd4 = dir(@a,$ts,$ruscaptions); my $rus_captions = $rd4->stringify; # page params my %vars = ( title => $title, headline => "A Look at my Work", place => 'Portland', css_file => "${title}1.css", header => file($ts,"hc_input2.txt"), footer => file($ts,"footer_center3.txt"), css_local => file($ts,"${title}1.css"), body => file($ts,"rebus4.tmpl"), print_script => "1", code_tmpl=> file(@a,$ts,"code2.tmpl"), oitop=> file($ts,"oitop.txt"), oibottom=> file($ts,"oibottom.txt"), to_images => $to_images, eng_captions => $to_captions, rus_captions => $rus_captions, bottom => file($ts,"bottom1.txt"), path => $to_captions, print_module => 0, script_file => $fspecfile, module_tmpl=> file(@a,$ts,"code3.tmpl"), ); #create html page my $rvars = \%vars; my $rftp = get_ftp_object(); my $html_file = get_html_filename($rftp); my $fh = create_html_file ($html_file); my $remote_dir = $html_file; $remote_dir =~ s/\.html$//; say "remote_dir is $remote_dir"; $vars{remote_dir}= $remote_dir; # create header my $rhdr = write_header($rvars); print $fh $$rhdr; # text_to_captions($rvars); my $refc = get_content($rvars); my @AoA = @$refc; my $body = write_body($rvars, $refc); print $fh $$body; my $rftr = write_footer($rvars); print $fh $$rftr; if ($vars{"print_script"}) { my $script = write_script($rvars); print $fh $$script; } if ($vars{"print_module"}) { my $module = write_module($rvars); print $fh $$module; } my $rhbt = write_bottom($rvars); print $fh $$rhbt; close $fh; #load html file to server $rftp->cwd("/pages") or warn "cwd failed $!\n"; $rftp->put($html_file) or die "put failed $!\n"; #load css file to server $rftp->cwd("/css") or warn "cwd failed $@\n"; my $path3 = file(@a, $vars{"css_local"}); my $remote_css = $vars{"css_file"}; $rftp->put("$path3", $remote_css) or warn "put failed $@\n"; # load images $rftp->binary or warn "binary failed$!\n"; $rftp->cwd("/images") or warn "cwd failed in main $!\n"; $rftp->mkdir($remote_dir) or warn "mkdir failed in main $!\n"; $rftp->cwd($remote_dir) or warn "Cannot change working directory ", $rftp->message; for my $i ( 0 .. $#AoA ) { my $a = file(@a,$ts,$images,$AoA[$i][0]); my $sa = $a->stringify; my $b = file($AoA[$i][0]); my $sb = $b->stringify; $rftp->put($sa, $sb) or warn "put failed $@\n"; } $rftp->quit(); say "new file is $html_file"; __END__