consultix small logo

Contract Programming

from Experts with Decades of Experience!
Consultix
> Services > Contract Programming
<< Class Registration


Home
Services
 - Public Classes
 - On-Site Classes
 - Dedicated Classes
 - Virtual Classes
 - Tutoring
 - Class Registration
 - Contract Programming

Public Class Schedule
Training Classes
Clients and Endorsements
Publications
Interviews
About Consultix

Background

What's an IT manager to do when all staff programmers are already working overtime, but a team really needs to have an existing program modified right away, or to have a critical new program written from scratch ASAP? A practical option can be to subcontract the software development work to an outside expert, called a consultant or a contract programmer.

That's where we come in, because Consultix has highly qualified programmers with decades of consulting experience available to help you!

Our areas of expertise include the UNIX and Linux operating systems, the UNIX/Linux utility programs, the Perl language, the Bourne, Korn, Bash, and POSIX shell languages, and popular web utilities such as Perl's CGI module and the Template Toolkit.

So whether you need to modify a grep or sed command with a seemingly incomprehensible wild-card pattern, convert an ancient AWK program to Perl, port a Shell script from UNIX to Linux, add new features to a CGI script, or create a UNIX/Linux Shell script from scratch, we can help.

Contract Programming Services from Consultix

When he's not teaching one of his popular hands-on classes on UNIX or Linux, Shell Programming, or Perl Programming, Dr. Tim Maher provides computer programming services for interested clients.

His fees are reasonable and competitive, especially when compared to the costs of adding full-time personnel with commensurate skill and experience—or training an existing company employee on multiple required skill sets— for infrequent development projects.

Contact us for further details or to get a quote on your planned programming project!

Dr. Maher's Favorite Programming Resources

  • Programming Languages
    • Perl language and Korn, POSIX, or Bash Shell language
  • Tools and Technologies
    • The "LAMP" (Linux, Apache, mySQL, Perl) technologies, plus Perl's CGI module, the Template Toolkit, the PerlTidy source code beautifier, and the EPIC/Eclipse IDE
  • Languages he formerly used
    • PDP 8 Machine Language, Pal 3 Assembly Language, MOS 6502 Assembly Language, Commodore Basic, Fortran, PL/I, C, C++, Bourne Shell, AWK, and Java

  • Special Techniques used in Shell Programming (as featured in Consultix courses)
    • Capturing command output in script by using command substitution
    • Simulating subroutines through use of "." (dot) command
    • Rapidly implementing menu-oriented interfaces using the Shell's friendliest but least understood loop, select
    • Parsing data efficiently using manipulations of the IFS variable
    • Matching text rapidly with case and FNG patterns rather than using slower grep family tools
    • Using tput to enhance screen displays on terminal devices (reverse video, blinking, color changes, etc.)
    • Consolidating code by writing a script with multiple personalities, whose various invocation names tell it how to behave, rather than writing multiple closely related scripts
    • Modularizing code through use of shell functions
    • Using set command to automatically map arguments into positional parameters, rather than manually assigning data to user-defined variables
    • Employing exec to save time and memory by eliminating a fork system call
    • Saving and restoring file descriptors using exec
    • Making parsing of invocation options easy by using getopts
    • Using trap to defend script against otherwise lethal signals
    • Using trap to cause script to undertake special actions on receipt of signal sent via kill (e.g., re-reading script's configuration file)

Examples of some of Dr. Maher's programming projects are provided below. After describing projects undertaken for the benefit of students and corporate clients, projects he tackled to make his own programming activities easier are described. Many of these projects were considered of sufficient interest to the community that they were publicly released and/or documented in various publications, as indicated below.

Representative Corporate Programming Projects by Dr. Maher

  • Pacific Software Gurus, Inc. (dba Consultix), 1986-present
    • Developed dozens of custom scripts to handle IT infrastructure needs, such as:
      • template-based management of web page content, shopping cart applications, back-end database storage/retrieval systems, and customer mailing lists
      • These systems were created using UNIX and Linux tools, such as Korn and Bash shell scripts, the Apache web server, mySQL database software, the Template Toolkit, custom Perl scripts, and Perl's CGI module. No commercial software had to be purchased.

  • University of California, Berkeley, Berkeley, CA (3/87-9/88)
    • Designed and implemented the first friendly, menu-oriented user interface (UI) for academic (Solaris) UNIX systems, to allow non-technical students to benefit from the university's world-class computing resources. The Korn shell UI script, which was used by all Humanities students, was thought to be the largest ever written, at over 3,000 lines. What's more, as that script grew, Tim eventually had to write the first Shell syntax-checker/code reformatter (itself over 500 lines, of Korn shell code) just to maintain it! This was because the Shell's built-in debugging facilities weren't good enough to allow, for example, an accidentally typed double-quote (") mark—which was causing a fatal syntax error—to be found and removed! 8-{

  • Ellison Machine Co. & Proctor Products; Seattle WA (3/92-6/92)
    • Developed a large menu-oriented UNIX Korn Shell program (965 lines) to manage the use of sophisticated machine tools in industry (e.g., laser lathes), which is used by vendors to the Boeing Co. in fabricating airplane parts.

  • AT&T Wireless Services, Kirkland WA (3/97-6/97)
    • Developed custom UNIX Shell and Perl scripts and modified existing scripts to monitor and manage networked back-end enterprise system processes.

  • Atrieva Corp., Seattle WA (7/98-9/98)
    • Wrote over 80 applications in Bash Shell or Perl on Linux systems, ranging in size from 9 to 742 lines. These applications managed millions of files uploaded by customers that used the Netscape Online Backup product.

Other Programming Projects by Dr. Maher

  • Working alongside the team that invented digital audio recording, conducted experiments in auditory ergonomics using custom digital signal processing (DSP) software to simulate high fidelity audio systems having different engineering tradeoffs (1980-1982).

  • Wrote the first VMS-style file-versioning facility for UNIX, which made UNIX "safe for the State of California". Specifically, the state was on the verge of committing to a large software/hardware deal to convert their VMS systems to UNIX when their sudden realization that UNIX didn't provide automatic backup copies of earlier versions of files nearly killed the deal. Luckily, the software described in the article listed below was brought to their attention and saved the day!
    • Maher, Timothy F. (1990). A VMS-style file-versions facility for UNIX. UNIX World, 9, 129-133.

  • Wrote the first working prototype of a source-code beautifier for the C++ language.
    • Maher, Timothy F. (1992). A "beautifier" for the C++ programming language. Dr. Dobb's Journal, 17s, 23-28.

  • Wrote the first working prototype of a source-code beautifier for the Perl language.

  • Wrote a Perl module to implement the most sophisticated loop of any UNIX/Linux shell—select—for Perl. This module uses "source code filtering" to implement the new loop; only one other module author (Damian Conway) had ever before endowed Perl with a new control construct in this way.

  • Wrote an intelligent front-end processor for the MagicPoint presentation package, which greatly expanded its capabilities.

  • Wrote a system for rapid layout and display of manuscripts for use in the development (during 2004-2006) of the book Minimal Perl: for UNIX and Linux People based on the the UNIX troff and tbl commands and custom enhancements to the Perl POD document format.

  • Wrote over 100 Perl scripts, ranging from 1-100 lines, to demonstrate practical solutions to common programming problems for inclusion in the best-selling book Minimal Perl: for UNIX and Linux People.

A former student says:

Read more testimonials and reviews of our courses and instructors.
•  Tim is great, and the training was great for the amount of time we had. I'm ready to try out what I have learned at work.
Tim Perciful, Employee, Getty Images
Attended: UNIX Fundamentals


© Copyright 1994-2012   Pacific Software Gurus, Inc.   All Rights Reserved.

   Powered by Google