|
Programming Skills and Related Information - Resume Available
|
|
Skill
|
Years
|
Comments
|
Example
|
|
apache
|
6
|
The Apache Software
Foundation is best known for their HTTP Web Server, Apache.
Custom Visuals' Web Server and approximately 64% of the web
servers making up the internet run on Apache. The Netcraft service will verify Custom
Visuals is running
Apache/2.2.2.
|
System Load
|
|
awk
|
1
|
One of the older pattern-recognition tools.
Largely replaced by advances in shell
programming languages and Perl.
|
N/A
|
|
bash
|
6
|
bash (Bourne Again SHell) is one of several
Bourne Shell (sh) compatible shells. It shares
many features with sh, ksh and zsh.
|
webBack.sh
|
|
BBEdit
|
10+
|
BBEdit is a high-performance HTML and text editor. I
use BBEdit for C++, Java, Perl, Shell and HTML
programming. Nearly 100% of this site was developed
using BBEdit.
|
BBEdit
|
|
bourne
|
10+
|
Bourne is the original UNIX shell. Several
additional shells were created to extend its
functionality, such as ksh, zsh and bash.
|
out2dat
|
|
C/C++
|
3
|
C++ is one of the most common programming
languages in use today. I've developed with both
C and C++ off and on since 1991. I've used C++
for image processing applications and to augment
other applications such as IDL and PV-WAVE.
|
N/A
|
|
CGI
|
6
|
CGI is Common Gateway Interface. CGI programs
are the basis of interactive forms on the web.
These forms can do anything from allowing
feedback to be emailed to the webmaster, to
complete interactive applications.
|
cfgNETFTP.pl
|
|
CVS
|
6
|
CVS is the Concurrent Versions System, the dominant open-source
network-transparent version control system. I've used a variety
of Source Code Management (SCM) systems along the way, but use
CVS on my personal projects or for clients not requesting a
particular SCM. I've also used ClearCase, SCCS, RCS and PVCS.
|
header.pl
|
|
cron
|
10+
|
Cron is used to schedule commands to be run at specified dates and times.
|
FTP backup
|
|
csh
|
10+
|
csh was the first Bourne Shell (sh) replacement.
It uses a different syntax than the Bourne
Shell, which makes it better suited to command
line use than programming use.
|
cshrc
|
|
DBA
|
5
|
Database Administrators are the folks that set up and
maintain databases. Maintenance includes everything
from granting user access to backup, purging and
restore of data. I've been a DBA for MySQL, Ingres
(now PostGreSQL) and helped out with some Oracle
databases.
|
dbDump.sh
|
|
DBI/DBD
|
6
|
Database Independent and Database Dependent
interfaces for Perl. These interfaces work
together to provide access to a variety of
databases, including Oracle, Sybase, Informix,
MySQL, etc. These interfaces merge the data
processing strengths of Perl with the data
storage strengths of databases. Perl's DBI/DBD
is an excellent substitute for vendor-specific
enhancements such as Oracle's PL/SQL, Informix's
4GL and Sybase/Microsoft's Transact-SQL.
|
report_LogProc.pl
|
|
Dreamweaver
|
2
|
Dreamweaver is a GUI-based Web Site development tool. I used
Dreamweaver to establish the initial layout of logos, buttons,
borders, etc. for this site. Approximately 5% of this site was
developed using Dreamweaver and the rest with BBEdit.
|
Dreamweaver
|
|
ETL
|
4
|
ETL (Extract, Translate, Load) refers to three
separate database functions which are often
combined into a single tool. ETL can be used to
process a subset of data for various purposes
such as reports or the population of a data
warehouse. The link shows an ETL application I
developed while working at Pilot Networks to
process data from multiple log files into
different database tables. |
load_LogProc.pl
|
|
FTP
|
10+
|
FTP (File Transfer Protocol) is one of the
older mechanisms to allow files to be sent
between computer systems. I have developed
several programs for managing FTP transfers.
|
ftpDump
|
|
grep
|
8
|
grep is the Global Regular Expression Parser and
is used to look for data within files. It is
commonly used within shell programs to check for
or extract data from a file.
|
rgrep
|
|
HTML
|
9
|
HTML is the HyperText Markup Language - the main
language of the web. This page, and the vast
majority of all sites are written using HTML.
|
N/A
|
|
http
|
5
|
HTTP is the HyperText Transport Protocol - the
communications protocol used to connect to
servers on the World Wide Web. Its primary
function is to establish a connection with a Web
server and transmit HTML pages to the client
browser.
|
N/A
|
|
Informix
|
1
|
Informix is one of the popular Relational Database
Management Systems (RDBMS). It competes with other
RDBMS's from vendors such as Oracle, IBM, Sybase,
Ingres, PostgreSQL and several others.
|
N/A
|
|
Ingres
|
1
|
Ingres is a Relational Database Management
System (RDBMS), that has seen a deteriorating
user base over the last decade. I was a Systems
Administrator and Ingres DBA while working on a
covert electronic surveillance project. This
project was featured on
The Learning Channel, when it was used to
help track Pablo Escobar, the notorious
Columbian drug dealer.
|
N/A
|
|
Java
|
1
|
Java (not to be confused with JavaScript) is a
portable, high-performance, object-oriented
programming language. It is derived from C++ and
does a better job of delivering on many of the
promises of C++, especially in platform
independence. Java is often used in web-based
applications, but is very adept as a complete
application programming language. The link shows a
web site using a Java-based graphing package to show
the system load of this server.
|
System Load
|
|
JavaScript
|
2
|
JavaScript (not to be confused with Java) is a
scripting language that can be embedded in HTML to
provide dynamic web pages without using CGI programs
on the web server. It is not a competitor to Java
and/or CGI, but more of a complementary language to
both, providing additional capabilities for web
applications.
|
N/A
|
|
korn, ksh
|
10+
|
David Korn's shell is one of several Bourne Shell (sh)
compatible shells. It shares many features with sh,
bash and zsh.
|
EBMadd
|
|
LWP
|
5
|
Libwww-perl (LWP) is a collection of Perl modules
which provides an application programming interface
(API) to the World-Wide Web. I've used LWP to automate
downloading of hundreds of files from an internal
secure web site on a daily basis while working at
Providian Financial. This allowed the Network
Operators to make better use of their time, as well as
to eliminate a major source of human error.
|
Automation
|
|
MySQL
|
4
|
MySQL is the most popular open source RDBMS. It is
especially popular with web site administrators. It
has recently gained capabilities that put it at or
near the capabilities of some of the best commercial
products.
|
DTDaily.pl
|
|
OOD, OOP
|
4
|
My first exposure to Object Oriented Design and Object Oriented
Programming was while taking C++ classes in 1991 for California
Microwave. I've also taken additional classes with OOD and OOP
emphasis in 1993 in Ada while at Aerojet and once again with C++
in 1996 while at Hughes STX. I continue to use it with IDL, Java
and Perl development.
|
N/A
|
|
Oracle
|
2
|
Oracle has grown from its humble beginnings as
one of a number of databases available in the
1970s to the overwhelming market leader of
Relational Database Management Systems (RDBMS).
It competes with other RDBMS's from vendors such
as Informix, IBM, Sybase, Ingres, PostgreSQL and
several others. I've used Oracle at several
companies: Hughes STX, Globalstar, Zoom, Pilot
Networks and Providian.
|
N/A
|
|
Perl
|
8
|
Practical Extraction and Report Language - the duct
tape of the internet. Perl is used for a variety of
tasks such as system administration, database access,
CGI programming, and a whole laundry list of other
uses. Nearly every page of this site has some
interaction with Perl in one form or another.
|
Perl Code Examples
|
|
PL/SQL
|
2
|
Oracle's PL/SQL is the Procedural Language
wrapper around Oracle's SQL. Other database
vendors offer similar programming language
extensions, such as Informix's 4GL and Sybase
and Microsoft's Transact-SQL (aka T-SQL). These
languages perform the majority of the duties of
a language such as C++ or Perl, but are tied
very closely to the database. The tradeoff
between using something like PL/SQL and Perl is
that the PL/SQL program will usually perform
better, but with less flexibility to work with
other system applications, and no flexibility if
the underlying database were to be switched with
another. I've written small applications with
PL/SQL and much larger applications with
embedded SQL in C++, Perl and Shell. I've also
used Perl's DBI and DBD structure to work with
multiple databases simultaneously.
|
N/A
|
|
sed
|
4
|
sed is the UNIX Stream EDitor. It provides the
capability to make modifications to files from
the UNIX command line.
|
mvFTPName
|
|
sh, shell
|
10+
|
sh, also known as Bourne shell, is the original
UNIX shell. Several additional shells were
created to extend its functionality, such as
ksh, zsh and bash. sh has also been extended
since its initial creation.
|
dbDump.sh
|
|
SQL
|
7
|
Structured Query Language (SQL) is the standard
language used to access databases such as
Oracle, Informix, DB2, MySQL, etc. Most vendors
have an extended version of the language to
provide additional functionality and to provide
a means of differentiating themselves from the
competition.
|
load_LogProc.pl
|
|
ssh
|
4
|
ssh is a program for logging into a remote machine and
for executing commands on a remote machine. It is
intended to replace telnet, rlogin and rsh, and
provide secure encrypted communications between two
hosts over a network. I use SSH when working on remote
sites from home for software development.
|
N/A
|
|
Sybase
|
2
|
Sybase is one of the popular Relational Database
Management Systems (RDBMS). There are two main flavors
of Sybase databases, ASE and IQ. ASE is geared
towards transaction processing, offering a tradeoff in
performance between inserting, updating, selecting and
deleting data. IQ is aimed at the data warehousing
market and offers phenomenal selection speed while
sacrificing insert, update and delete speed. It
competes with other high end RDBMS's from vendors
such as Oracle, IBM (DB2), etc. I used Sybase when
working at Kinko's and Citadel Investment Group.
|
System Load
|
|
tcsh
|
3
|
tcsh is an improved version of csh, the first
Bourne shell replacement. It uses a similar
syntax as csh, and is thus more suited to
command line usage than programming.
|
N/A
|
|
Tivoli
|
3
|
Tivoli Workload Scheduler (TWS) is the application
I've used in IBM's Tivoli family of products. It is
used to automate scheduling and progress of multiple
tasks across multiple UNIX and Windows systems. Tasks
can be started on one system and rely on steps running
on other systems for completion. The Tivoli scheduler
allows the specification and coordination of this
interaction.
|
N/A
|
|
telnet
|
8
|
The telnet command is used to communicate with
another host using the TELNET protocol. It is an
insecure method and is usually replaced with
ssh, which provides for secure communications
between hosts.
|
N/A
|
|
vi
|
10+
|
vi is the default text editor for UNIX systems.
It is highly configurable and allows for a great
deal of customization. The link shows the
configuration file I use to provide templates
and shortcuts when developing software.
|
exrc
|
|
XML
|
2
|
XML has the flexibility to encode everything from web pages
to legal contracts to books, and the precision to format
data for services like SOAP and XML-RPC. It supports
world-class standards like Unicode while being
backwards-compatible with plain old ASCII.
|
N/A
|