Tech List

I decided to list the platform/programming technology I’ve had experience with since I first touched a “real” computer back in about 1984. I did not include most one-shot kind of stuff or things like MS Office products, which to me would be like listing hammers, nails, paper, pens. This list contains things I had to learn well enough to do something significant with or were part of something I maintained for a time. That doesn’t necessarily mean I still remember it all that well. 😛 If I mention applications, it’s either because I managed them extensively at a technical level, or wrote applications against their APIs.

  • Commodore 64, including assembler
  • Apple IIe
  • Tandy TRS-80
  • BASIC
  • IBM System/370, 390 family mainframes and MVS operating systems, JCL, JES2, TSO, ISPF, DCF, etc.
  • IBM “chain” printers — I can’t recall the particular models.
  • Reel-to-reel and cartridge tapes w/HSM recall, etc., in mainframe jobs
  • Dot matrix, ink jet, thermal, and laser printers — various programs that wrote data to them in various formats.
  • SAS (Statistical Analysis System) on System/390. I mention it because I inherited and maintained several applications developed in it that had nothing to do with statistical analysis. It was just that general-purpose on System/390 AND interactive on the fundamentally batch MVS.
  • FORTRAN
  • COBOL
  • IDMS/DC
  • PL/I
  • Pascal
  • Modula-2
  • C
  • C++
  • Smalltalk (for three months and too far back for me to remember anything)
  • MS/PC/Free -DOS, including PPP and ethernet driver and application stacks
  • MS Windows, all versions ever, extensively from Windows for Workgroups 3.1 through and including Windows 7 (and later, though less technically in-depth), as well as a number of Windows Server versions, also one version of Windows CE
  • MS Windows programming on all versions I worked with extensively. Mostly Win32 API stuff.
  • Windows CE programming on an industrialized handheld device.
  • Cellular modem application programming on Windows CE
  • DBase III
  • FoxPro
  • x86 assembler
  • GORP (an invented language I had to write a compiler for in college)
  • DEC VAX/VMS
  • Ultrix
  • Solaris
  • Xenix
  • Visual BASIC
  • C#
  • MacOS – a number versions through its history
  • Linux — various distros since later 1990’s off and on, until the last 10 years when I’ve been using it as my primary desktop/laptop/server OS. Ubuntu server, CentOS, PCLinuxOS mostly lately.
  • Ethernet, beginning with “thickwire” ethernet, “thinwire”, 10Base-T, and everything after that. I did a little bit of twisted pair punch panel stuff and custom cable making.
  • Network equipment such as hubs, switches, routers, etc., etc.
  • Programs using SNMP to query network devices via MIB, OIDs, blah, blah, blah
  • Client/server applications of all kinds
  • X windows programming (just some fun time tinkering)
  • MS Visual Studio
  • Eclipse IDE
  • Enterprise Architect CASE tool
  • WxWidgets
  • SQL
  • SPARQL
  • Oracle DBMS
  • MySQL
  • MariaDB
  • PostgreSQL
  • SQLite
  • Xapian
  • FTP, TFTP (co-authored a custom TFTP plus multicast client/server solution for very large file distribution to hundreds of clients)
  • FAT/FAT32 filesystem programming (manipulating disk structures)
  • Windows PE file format (I wrote a custom license metering system that utilized machine code injection into Windows executables)
  • IP
  • TCP
  • UDP
  • HTTP
  • SSL/TLS
  • HTML
  • Common Gateway Interface (CGI) web applications in C and C++
  • JavaScript
  • Autoconf, Automake, etc., on Linux, for both applications and shared libraries
  • gcc, g++, gdb, etc.
  • M4 macros (built some for generating Windows COM classes code in C++ from a set of parameters)
  • Common Object Model (COM)
  • CORBA
  • Perl
  • XSLT
  • PHP (lots of applications, but I’ve also played with embedding PHP and extending PHP)
  • Twig
  • A little Java here and there. Can do, don’t like.
  • A little Python here and there. Can do, don’t like.
  • bash shell scripting
  • DOS/Windows shell scripting
  • A little Node.js
  • A little Django
  • A little Gearman. Did write C++ and PHP client/worker pair or two to see how to do it.
  • Amazon AWS services — I run a bunch of servers there, have coded to various services using C/C++ APIs and REST services, and I’m studying for the Solution Architect certification exam.
  • Git (blech)
  • Subversion (yay!)
  • OAI-PMH (I’ve written a harvester, as well as a data provider that serves object records out of data in a Xapian index)
  • WordPress (including coding themes and plugins)
  • Joomla (including coding extensions)
  • Drupal (including coding extensions)
  • Concrete5
  • Ariadne (a kinda cool CMS, did a personal website with it)
  • Omeka Classic (wrote 1 or 2 whatever they call extensions)
  • Fedora Repository (not the latest version, coded to its API)
  • Islandora (6, I think. Wrote a plugin or two)
  • ArchviesSpace (coded to its API)
  • ArchiveMatica (I’m mentioning because this lead me to Gearman and forced me to pick up a little Django)
  • Ex Libris Alma (managed integrations and coded to its APIs)
  • Novell NDS, became eDirectory
  • Novell Netware
  • A little with MS Active Directory
  • LDAP
  • SAML
  • Programming to a wide variety of common and some not-so-common shared libraries on Linux, such as libxml2, libcurl, libssl, libcrypto, libmagic, etc., etc.
  • CPPUnit
  • PHPUnit (but I use it in an unorthodox way for … reasons)
  • DNS (how it works, but editing zone records, including specialized TXT records like DKIM and SPF)
  • SMTP
  • RTF (I have written code that writes RTF, which is just a stupid complicated enough markup language I feel justified in mentioning it)
  • Sockets programming (if that wasn’t obvious by now from this list)
  • Frameworks and notation languages/standards, such as TOGAF, MITA, Archimate, UML, BPMN, ABNF, CMMI, and others, including a custom enterprise architecture framework I built with someone else that combined TOGAF and CMMI.