Skills
Software
Networking
Hardware
|
|
Programming Languages
Ada, Algol, APL, ASP, ASP.NET, Basic, C, C++, C#, COBOL, Common Lisp, Delphi, FORTH, FORTRAN, HP VEE, HTML, HyperCard, Icon, Java, JavaScript, Jscript, Lisp, Logo, Pascal, perl, Postscript, PowerBuilder, Prolog, Scheme, Self, sh, Smalltalk, Snobol, SQL, TCL, Toolbook, VBScript, Visual Basic, VB.NET, XML, XSLT
C#
Over 100,000 lines of production of code, many projects, all sizes.
|
History
2001-2002 | | Used C# to develop small applications for network management and other tasks. | 2002 | | Developed TimsheetTrak application in C# using WinForms, XML, Web Services and custom grid control I wrote myself. | 2002 | | Implemented EmeraldDataMapping data storage system in C#. | 2003 | | Created graphical shopping cart and online ordering system using C#. | 2002-2008 | | Designed & implemented very large automated banking and healthcare application in C#. Implemented geographic healthcare provider lookup using "unsafe" code for block-loading detailed data on 100,000 healthcare nationwide. Implemented ASP.NET web application framework and WinForms application framework. Created TAPI interface module to allow Altigen IVR system to be controlled by state machine implemented in NET Framework. Implemented cryptography and secure data storage using Windows APIs. Updated customer service GUI to use WPF instead of WinForms.
C# is the best language I've ever worked with, including many of my favorite features of Java, Delphi, Lisp, and VB. I've really enjoyed working with it. |
Development Environments
.NET Framework 1.0-4.0 Visual Studio.NET 2002-2008 |
C / C++
Over 100,000 lines of production code, hundreds of projects, all sizes.
|
History
1981-1984 | | Used C for Unix work only. | 1985-1990 | | Used C and MASM for many Windows 1.0 to 3.0 programs and device drivers. Also used C under DOS, OS/2, GEM (Atari ST), OS/9, MAC OS, ... | 1990-1995 | | Switched to C++, a natural move with my smalltalk and lisp background. Used C++ to supplement my Visual Basic, Toolbook, and Delphi programs on the Windows side and for all Unix work. | 1995-1996 | | Did a large amount of C++ work on the DISPATCH system and on the Dispatch Virtual Filesystem. | 1998-1999 | | Used C++ to implement and debug an embedded Java environment. | 2000-2001 | | Used C++ for Windows and Unix networking projects. |
Development Environments
Visual C++ 1.0 to 6.0, Visual Studio.NET
Microsoft C 3.0 to C/C++ 7.0, Quick C 2.5
Borland C++ 4.5 and 5.0, Turbo C 2.0
gcc on VMS, Solaris, Linux, MEOS (embedded)
CC on Unix System V, BSD, Solaris
GEM (Atari ST), OS/9, MAC OS |
Java
Over 100,000 lines of production code, many projects, all sizes.
|
History
1995 | | Evaluated Java for use in embedded system. | 1996-1999 | | Defined all interfaces and wrote a large percentage of the code for Autonomous Truck project -- 80,000 lines of 100% pure Java. Taught Java to the rest of the Autonomous Truck group. Helped to port Java to our embedded systems. Implemented embedded networking layer in Java. | 2000-2001 | | Implemented PBX interface, task tracking application, several other systems in Java. |
Development Environments
Sun JDK 1.0 to J2SE 1.3, some J2EE
Borland JBuilder 1 to 3
Microsoft Visual J++ 1.0 to 6.0
SuperCede, Visual Cafe, Marimba Bongo |
Basic / Visual Basic / VB.NET
Over 100,000 lines of production code, hundreds of projects, all sizes.
|
History
1977 | | Mastered TRS-80 Basic. | 1978 | | First paid computer work using Basic. Soon hundreds of people were using my programs. | 1978-1981 | | Became expert on 10+ Basic variants, including Apple II, VIC 20, TRS-80 Model II, CP/M. | 1981-1982 | | Developed Artificial Intelligence programs using COBOL, Basic, and Z80 Assembly language. | 1982-1984 | | Developed and sold Basic applications on IBM PCs and many CP/M CP/M and CP/M-86 machines. | 1985-1986 | | Used Basic whenever Pascal was not available. | 1987 | | Rewrote large portions of ZBasic compiler to support 8087 floating point math. | 1988-1990 | | Used QuickBasic for several projects. | 1992-2002 | | Used Visual Basic for most of my Windows user interfaces and database applications. | 1999-2002 | | Used VBScript and JavaScript for web development and Windows scripting. | 2002-2003 | | Learned VB.NET & used it in a few small projects. | 2004-2008 | | Kept current on VB.NET syntax and new features such as XML Literals. |
Development Environments
Visual Basic 1.0 to 6.0 (and some VB.NET)
Access Basic 1.0 & Word Basic 1.0 to VBA 6.0
VBScript for ASP pages and OS scripting
QuickBasic 1.0 to 4.5, QBasic
IBM PC Basic, GWBasic
Microsoft Basic (MBasic) on CP/M, CPM/86 and MSDOS
ZBasic on TRS-80 and MSDOS
TRS-80 Model I/III/4 Basic - Level I & Level II
TRS-80 Model II Basic,TRS-80 Color Computer Basic
Apple II Basic - Integer & AppleSoft
VIC 20 & Commodore 64 Basic, Sinclair Basic |
Pascal / Delphi
Over 100,000 lines of production code, hundreds of projects, all sizes.
|
History
1982 | | Learned Pascal on the VAX. | 1984-1989 | | Wrote and sold hundreds of Turbo Pascal programs, mostly with Z80 or x86 assembly language embedded. | 1986 | | Developed and successfully marketed VMerge merge processor for Epson QX-10. | 1987 | | Created GLScan multidimensional analysis (OLAP) program for Cyma. | 1994 | | Used Delphi for accounting applications. | 1995-1998 | | Used Delphi for Dispatch Virtual Filesystem and Autonomous Truck projects. |
Development Environments
Delphi 1.0 to 3.0
Turbo Pascal 2 to 5 on CP/M and MSDOS
VAX Pascal |
Lisp / Scheme
Over 20,000 lines of code, hundreds of projects, small to medium size.
|
History
1982 | | Learned MACLisp on DEC-20. | 1988 | | Used Scheme for several projects. | 1989 | | Learned Common Lisp, did almost all my class projects in Lisp. | 1990 | | Wrote simple Lisp compiler. Used Lisp to prototype my commercial programming projects. | 1995 | | Worked on Scheme virtual machine design and Scheme compiler for embedded systems. |
Development Environments
TI Scheme, MIT Scheme
XLisp, ELisp (emacs), Allegro Common Lisp, MACLisp |
ASP
About 100 web pages of varying complexity
|
History
1996-1999 | | Read about ASP in magazines. | 2000 | | In an emergency I learned ASP and rewrote a critical application -- all in just 4 hours. Our web development team didn't think it was possible! | 2000-2001 | | Consulted on various web projects. | 2001 | | There was an urgent need to shut down a server running about 20 custom applications. In a few days I rewrote all those applications into ASP and moved them onto our main server. | 2002 | | Wrote all the ASP for this web page, including the navigation bars and database access, in one day. |
Development Environments
Visual Interdev 6.0, FrontPage 2000, Notepad |
ASP.NET
About 500 web pages, from very simple to extremely complex. See also ASP.
|
History
2001 | | Translated several ASP applications into ASP.NET. | 2002 | | Wrote ASP.NET front end to test automation system. | 2003 | | Created graphical shopping cart and online ordering system using C#. | 2004 | | Converted this resume site to ASP.NET, including custom controls and master pages, in one day. | 2002-2008 | | Implemented web interface to large automated banking and healthcare system. |
Development Environments
.NET Framework 1.0-4.0 Visual Studio.NET 2002-2008 |
COBOL
About 5,000 lines of code, several projects.
|
History
1980-1981 | | Developed new Artificial Intelligence programs in COBOL. Added optimization and machine language routines to existing Artificial Intelligence program, speeding it up a thousand-fold. | 1982 | | Developed several games and database applications in COBOL. |
Development Environments
Ryan-McFarland COBOL for TRS-80 Model II |
FORTH
About 2,000 lines of code, wrote interpreter.
|
History
1982 | | Read a book on FORTH, wrote small FORTH interpreter and a few programs. | 1985 | | Found free FORTH interpreter for CP/M, wrote a few programs. | 1986 | | Disassembled portions of Epson QX-10 VALDOCS software written in FORTH to learn system calls for my VMerge program. |
Development Environments
My implementation of FIG FORTH for TRS-80 Model II
FORTH-83 for CP/M
VALDOCS FORTH |
FORTRAN
About 1,000 lines of code.
|
History
1981 | | Learned FORTRAN from a book, debugged others' FORTRAN programs on paper. | 1982 | | First chance to work with live FORTRAN compiler. Wrote small adventure program. | 1985-1988 | | Occasionally used FORTRAN in coursework. | 1989 | | Adapted FORTRAN Natural Language Processing program PLNLP to Lisp. |
Development Environments
FORTRAN-77 compiler for DEC-20, Unix, TRS-80 |
HP VEE
About 100 objects.
|
History
2000 | | Learned HP VEE, taught others how to use it more effectively. Implemented new interface to embedded systems and helped to improve test harness. | |
HTML
About 200 web pages of varying complexity.
|
History
1995 | | Created my first home page using raw HTML. | 1996 | | Created documentation web site for Modular Mining Systems. Wrote Java program to automatically convert manuals from FrameMaker to HTML format. | 1999-2001 | | Assisted web development team with complex HTML and web site issues. | 2001 | | Modified and created hundreds of web pages while porting web applications to ASP and cleaning up Modular's intranet. | 2002 | | Designed this web site. |
Development Environments
emacs, Notepad, Wordpad
FrontPage 98 to 2000
HoTaMaLe, Interdev 6.0 |
JavaScript
About 100 web pages using JavaScript.
|
History
1999-2001 | | Assisted web development team with JavaScript, DHTML, and cookie issues. Created and updated JavaScript while porting web applications to ASP. | 2002 | | Designed this web site, including JavaScript for email spam prevention and dynamic buttons. |
Development Environments
Notepad, Wordpad, FrontPage 2000 |
perl
About 500 lines of new code, extensive maintenance on existing code.
|
History
1996 | | Learned perl. Wrote additional routines for perl data synchronization program used to update clients' mine automation systems with the latest code. | 1997 | | Converted several perl programs to Java. | 1999-2000 | | Assisted web development team with issues encountered while maintaining legacy perl scripts. | 2001 | | Rewrote many perl scripts using ASP. |
Development Environments
emacs, Notepad |
sh
About 100 scripts of varying complexity.
|
History
1986 | | Wrote shell scripts for Unix terminal multiplexing system. | 1995 | | Adapted DISPATCH shell scripts to Solaris 2, created new scripts. | 1996 | | Implemented complex shell scripts to automate installation and operation of Samba and Dispatch Virtual Filesystem, including complex logic and extensive use of awk, sed, and other Unix utilities. | 1997-1998 | | Wrote shell scripts for Autonomous Truck project. | 1999-2001 | | Implemented scripts for automating system administration tasks. Created scripts for fully automated custom setup and reconfiguration of Linux systems. |
Development Environments
emacs |
Smalltalk
About 1,000 lines of code.
|
History
1989 | | Learned SmallTalk, wrote several programs. Explored the SmallTalk compiler and p-code implementation. | 1997 | | Investigated SmallTalk Object Databases. |
Development Environments
SmallTalk-80 |
SQL
About 1,000 queries, views, and procedures.
|
History
1988 | | Used SQL syntax in R:Base. | 1989 | | Wrote SQL queries for database class. | 1992-1995 | | Extensive Access database work, hundreds of queries. | 1996 | | Developed all SQL code for DISPATCH Virtual Filesystem project. | 1997-1998 | | Analyzed SQL and OSQL databases for Autonomous Truck project. | 1999-2002 | | Implemented SQL Server 7.0 and 2000. Developed many SQL Server applications, including OLAP with Analysis Server. Helped our SQL development team with difficult SQL Server issues. | 2002-2008 | | Created EmeraldDataMapping to automatically convert LINQ-style queries in C# into SQL. Example syntax: company.Customers.Follow("Contact").Filter(delegate(Contact c) { return c.State=="AZ"; }) Optimized data access with triggers, views, T-SQL functions. Implemented ReportServer and ReportBuilder. |
Development Environments
SQL Server 3.0, 7.0, 2000, 2005
Access 1.0 to 2000
Informix
Oracle
R:Base |
TCL
About 1,000 lines of code.
|
History
1996 | | Ported TCL database browser to Access and SQL. | 1997 | | Wrote TCL code to interface Pit Graphics with autonomous truck system. | 2000 | | Debugged TCL application's interactions with X Server. |
Development Environments
tclsh, wish |
Toolbook
About 5,000 lines of code.
|
History
1991 | | Learned Toolbook and developed a user interface for Mission Information System reporting. The Toolbook UI was used to control DataPerfect reports formatted using RTF and Word for Windows. | 1992 | | Built C++ driver for Toolbook to control the Hypergraphics Response Pad system, allowing up to 250 students to interact with a Toolbook application simultaneously using radio response pads. Developed CBT infrastructure in Toolbook for giving interactive lessons with the response pads. Wrote sample lessons including animations and interactive quiz feature. |
Development Environments
Toolbook 1.0 to 1.53, Toolbook 5 |
XML / XSLT
Extensive use of XML, including hundreds of XSLT templates, XSD schemas, XML Web Services.
|
History
2001 | | Read XML, XML Namespaces, XPath, and XSLT specifications. | 2002 | | Wrote DTD for church application and created UI to use and manipulate XML. | 2002 | | Used XSD and XSLT for defining database structure in EmeraldDataMapping. | 2002-2008 | | Extensive use of XML and XSLT in automated banking and healthcare application: Converted HIPAA X12 documents to XML using BizTalk, and later using my own custom converter. Used XmlSerializer and Web Services for request layer I developed for communicating with business objects layer. Created document formatting system that used XSLT for all outgoing emails, statements, and other documents. Implemented XML storage for SQL data fields with automatic conversion to objects in RAM. Used XML, XSD and XSLT to create EDI correlation interface for receiving files from banks, insurance companies, etc. |
Development Environments
.NET framework, ASP.NET, IE5 |
Ada
About 500 lines of code.
|
History
1986 | | Learned Ada, wrote a few programs. | |
Algol
About 500 lines of code.
|
History
1982 | | Learned and used Algol-60. | 1985 | | Learned and used Algol-68, really liked the language but lack of compiler prevented commercial use. | |
APL
About 100 very compact lines of APL code, wrote interpreter.
|
History
1985 | | Learned APL, wrote a few programs. | 1986 | | Developed APL character set and simple APL interpreter for Epson QX-10. | |
HyperCard
About 500 lines of code.
|
History
1990 | | Learned HyperTalk, did several simple HyperCard stacks. | |
Icon
About 1,000 lines of code.
|
History
1985 | | Learned Icon, wrote several programs. | 1986 | | Studied Icon implementation, especially stack handling, co-routines and generators. | |
Logo
About 500 lines of code.
|
History
1981 | | Learned Logo on Apple II. | 1987 | | Used Logo on Atari ST. | |
Postscript
About 500 lines of code.
|
History
1986 | | Wrote Postscript and PCL drivers for printing graphs from a DOS application. | 1988 | | Used Postscript to add custom geometric images to PageMaker documents. | |
PowerBuilder
About 500 lines of code.
|
History
1997 | | Created sample PowerBuilder code to interface with Dispatch Virtual Filesystem. | |
Prolog
About 1,000 lines of code.
|
History
1986 | | Wrote a rule-based menu system in Turbo Prolog. Used Prolog to solve several math and logic puzzles. | |
Self
About 500 lines of code, wrote interpreter.
|
History
1989 | | Wrote Self interpreter, plus several Self programs for testing the interpreter. | |
Snobol
About 500 lines of code.
|
History
1983 | | Learned SNOBOL4, wrote a few programs. | |
|