R. Ray Depew

Programmer

Projects

All of my software projects have been related to my real job. I don't write software for its own sake. I use computers and software to get things done. This is what happens when you're an engineer first, and a programmer second.

My software work is done under contract or as part of a larger project. They're not the sort of things you'd normally find in your office or on your kitchen counter.

Because I write my programs from an end-user point of view, I tend to write tight, compact code, not bloatware. Even my web pages are tight and compact, without all the extra baggage dragged along by some publishing programs such as FrontPage. (So why do I use Visual Studio to do Windows programming? Because it's the best tool for the job. Visual Studio is the only tool that a programmer can use to successfully navigate through the complicated mess that is Microsoft Windows.)

Here is a list of the programming projects I have completed over the years.

Skills, Programming languages

C
C++
Java
Javascript
Python (both 2.7 and 3.3)
Unix:
- HP-UX
- Solaris (both SunOS and Intel-based, although nobody cares anymore
- Linux: mostly Debian, Ubuntu and Mint, but other flavors as well
  (Linux heads will notice the genealogical relationship between those three)
- csh, ksh, awk, sed, vi, and a little bit of emacs
MS-DOS, MS Windows (up to Windows 7)
FORTRAN (but that was a long time ago)
BASIC (numerous dialects)
hpl (what's that?)
Pascal (like anybody cares anymore)
LISP (ditto the Pascal comment - although AutoCAD still uses LISP macros)
RPL (used on Hewlett-Packard's late HP48 series)
Visual Basic (but it's getting rusty from disuse; replaced by Python)
Visual C++ (also getting rusty)
HTML (but not HTML5)
Assembly language:
- PicMicro devices
- Motorola/Freescale 68k family
- Freescale Coldfire 52100, 52110, 5270
- MOS Technologies 6502
- give me a week and I'll list "Intel" and "ARM"
LabView, by National Instruments (really rusty, but it comes back quickly)
Interfacing:
- serial (RS-232, RS-485, and so on)
- parallel (IEEE-488 and Centronics)
- I2C, SPI
- finally getting on the Ethernet bandwagon, decades after everybody else

My Toolkit

Programming is a dynamic field, with languages changing and evolving daily. Nobody even remembers hpl anymore. This is a list of the tools I currently keep sharpened. All the others are in a virtual storage container somewhere.

Operating Systems Windows (Win7 and earlier), Linux, some Mac OS X
All the usual Unix tools bash, csh, ksh, sed, awk, perl (although I stick with bash these days, and I'm using Python in place of sed, awk and perl)
Programming languages C, C++, Java (putting more time into Java these days)
Scripting languages Python, JavaScript, Unix shell scripts
Numerical analysis Python, MS Excel (used to use Scilab/Scicos, free alternatives to MATLAB/Simulink, but not much anymore)
IDE Eclipse, Microsoft Visual Studio, CodeWarrior, MPLAB, NetBeans, Torsion, IDLE
Text editor VIM (Vi IMproved) (there are others, but VIM is the best)
Documentation Microsoft Office, OpenOffice, LibreOffice, and various revision control systems
Equations and formulas MathType, OpenOffice Math, LibreOffice Math
Artwork and graphics Paint.NET (comparable to Adobe Photoshop), DraftSight (AutoCAD clone), Visio, OpenOffice, LibreOffice, Inkscape
3D simulation tools Torque Game Engine product family from GarageGames, Milkshape 3D, LithUnwrap, Torque Constructor, Torque ShowTool Pro
Audio editing Audacity
Network analysis Modbus Poll (for Modbus), Visual Test Shell (for BACnet), CAS BACnet Explorer (for BACnet), MIB Browser (for SNMP), Wireshark (for monitoring network traffic)

This Gun for Hire

I charge a competitive rate for consulting. (I'm worth every penny.) If you think you have a project I might be interested in, contact me and we'll discuss it.


Edited by VIM Created by Ray Depew, 09 February 2002
Last edited by Ray Depew, 19 Aug 2013