I remember, when I ordered the computer and a brother typewriter that acted as a printer. A good letter quality printer cost more than the computer. There were cheap dot matrix printers and their output looked cheap. This printer / typewriter had a daisy wheel and did not print images.
My printer came two months after the computer which gave me a change to learn something about the computer and some Commodore basic. I still have an Commodore SX - 64 in a closet. It is awsome and takes a few minutes to load the word processor.
Jeremy Patrick McKay 5935 Chandler Drive San Diego, CA 92117 Cell (619) 708-1990 Email:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Summary:
• Over 11 years experience Perl. Most recently used perl for data mining, web mining and data munging at Life Technologies (formerly Invitrogen) • Over 4 years experience with Flash ActionScript, PHP and MySQL. • WordSmart project https://learn1.wordsmart.com/newDemo/csd.html and desktop versions of the same product for clients without broadband access • Flexible and able to work in MAC, Linux, UNIX, and Windows environments • Other languages Unix Shell, HTML, JavaScript, C. • Familiar with ActionScript 3.0, C# and Objective C • Analytical, persistent and willing to work outside of the box if necessary
Technical Instructor
• Adjunct Faculty at Coleman College, UCSD Extension, and Bluestar Learning • Design and provide training in practical applications for the Perl programming language • Design and provide training in for PHP and MySQL • Hands on teaching and instruction in the use of operating systems, computer programs and programming languages • Senior Instructor for Interwoven's Partner Training Bootcamps taught over one dozen classes to technical consultants throughout the world.
Work History
Consultant, Consultnet (October 2008 to September 2009)
Invitrogen Senior Data Analyst
• Parsed, validated and imported records from Pub Med in to Siebel CRM using Perl 5.10 in the Unix shell • Created a perl scripts to download and parse data from membership databases on the Internet. • Created and used reports from EDW Cognos Reporting • Used Macromedia Flash to build Sales Workflow applications prototype • Used Flex and Adobe Air to build a Dashboard prototype • Linux and Free BSD system administration and installation
I have an array called @data. I want to check each element in the array for a value, and if that value exist, I wan to delete it
I could try
@data =~ ~ s/$postalCode//;
### creates an error about private arrays
Maybe this
for my $dat(@data){ $dat=~ s/$postalCode//; }
The above code does not modify the array at all. We could create a temporary array and then pop puch and reassign upon going through each element. That could be time consumming especially if I have 250,000 arrays. So let's look at map. Charles Galpin has written a pretty simple tutorial on using map here http://articles.techrepublic.com.com/5100-10878_11-1044685.html.
So after reading Charles' article, I try .
map {s/$postalCode//} @data;
Just to a make sure it works I ran the a line of data through it. You should always check yoru code on small sets of data. The test and results are below.
my $data = "Beijing Normal University Beijing 100875 China";
my @data = split/\t/, $data; $postalCode = 100875; for my $d(@data){ print "$postalCode $d\n";
}
print "Postal Code Removed\n";
map {s/$postalCode// } @data; # just checking for my $d(@data){ print "$postalCode $d\n";
} exit;
100875 Beijing Normal University 100875 Beijing 100875 100875 China Postal Code Removed 100875 Beijing Normal University 100875 Beijing 100875 China
Hope this helps in your data munging
Last Updated ( Tuesday, 14 July 2009 19:19 )
QC checklist for Lone Ranger (PERL)
Written by Jeremy P. McKay
Monday, 16 February 2009 17:18
QC checklist for 'The Lone Ranger' PERL Programmers (true)
1. Use strict pragmas, set warning flags, write comments
2. CLOSE files as soon as you are done using them. The files will close when your program closes, but you should take control in you scripts.
3. Remove all warnings even if they are not fatal errors do not remove warnings by removing -w.
4. If you are porting files build in DOS or Mac to Unix/Linux, use dos2unix on all files ported in this manner. Using the Unix utility dos2unix, will keep you line endings easily identifiable and parseable in UNIX.
5. Seek code reviews from other coders, even if they do not know Perl. If you can not tell another programmer what each line of your code is doing, then what is each line of your code doing?
If you code with these thoughts in mind, follow these processes, write decent comments, you will find your code is more maintainable, and maybe even beautiful in some places.