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.