2. Resume in Web form.
E X P E R I E N C E|
Independent (2003 to present)
Semi-retired for a while based on investments. Involved in a couple of ventures; one related to applications of thermal inertia and another related to patents. The thermal inertia venture still exists but it has no contracts. Did a fighter-jet database system for Northrop Grumman related to their MILES project. That work is discussed below. Did some recruiting of engineers in the power sector. Interested in Agile projects for small to medium size firms. Not presently seeking front-end webdev, low-level IT, or Windows work.
Software Developer @ “Northrop Grumman” (2004 to 2009)|
Part-time work for Northrop Grumman. Telecommuting project. Result was 1,100 pages of reusable code and docs, including new modules and modified Open Source frameworks. Core was a Perl server that collected binary data from upstream devices, stored data using SQL, and relayed it via HTTP as XML. Clients included web browsers and a Java GUI. Project used a Perl simulator written by me in lieu of upstream hardware. My primary contact stated that he was “extremely impressed by the quantity and quality of your work”.
Software Architect @ “Cleanscape” (1999 to 2003)|
Sole engineer employed by a Silicon Valley dot-com for four years, excluding Board members and consultants. Bug fixes, manuals, mock-ups for investors, GUI and Internet layers for old products, design of new products, databases, IT, web and FTP sites (both servers and content), support calls, sales calls, marketing, management of consultants, other tasks. Work week: 80 to 120 hours. Reason for leaving: The dot-com ended.
Software Architect @ “Information Processing Techniques” (1981 to 1999)|
Hundreds of successful projects at an outsourcing firm in Palo Alto over two decades. Both standard products and custom projects. Mentored junior engineers throughout my career. For typical projects, see below. Work week: 50 to 80 hours. Reason for leaving: Company sold the standard products division and I went with the products.
K E Y P O I N T S|
T Y P I C A L P R O J E C T S|
E L A N C E R E V I E W|
This is a summary of a review from:
“OldCoder was meticulous in his communication. His knowledge of the field was second to none and every ounce was required to make a success of this venture. He was a pleasure to work with and his calm, methodical approach served to provide focus in a time of stress and tight deadlines. I would have no hesitation in recommending OldCoder for any coding project big or small. Having seen what he was able to do with this, I have no doubt he is capable of anything in this area. I can't thank him enough and am indebted to him.”
End of resume. The rest of this document provides supplemental information.
3. Value statement.
I'm experienced in a number of areas. However, the most important thing that I bring to the table is my ability to integrate code, documentation, procedures, and other components from disparate sources into a coherent whole.
As a related point, I'm better than most people at addressing errors and omissions in information of various types. I've helped businesses and individuals to write or polish contracts, sales proposals, technical documentation, analyses of stocks, articles for journals, websites, software frameworks, etc.
Here's a few remarks about languages that I've used:
Perl: Perl has been a reliable workhorse for me for about 20 years. The language requires discipline but I've found it suitable for a wide range of projects.
C: I've been proficient in C for about 35 years. It's still useful these days despite the rise of next-generation languages.
Java: Over the years, I've done Java GUIs, GUI frameworks, protocol layers, etc.
Note: Perl and C are more flexible in many cases. But Java works well for some types of projects, OOP in particular.
Java's role in the Open Source world wasn't clear for a while, but that's been addressed by the advent of IcedTea, an unencumbered implementation of the Java SDK. I maintain copies of IcedTea 6 and 7 in my distro; they work well enough to support LibreOffice and other FOSS packages with Java components.
Tcl: I've written what may be one of the larger Tcl programs around (as far as individual scripts go). For screenshots and the source code, click here.
5. Operating systems.
I've used UNIX since the 1970s, starting with V7, moving on to the original BSD UNIX, and proceeding to SunOS, Solaris, AIX, IRIX, Minix, various descendants of BSD, and numerous Linux distros.
I've also used most of the Microsoft OSes, starting with early versions of DOS and proceeding to MS Windows 3.11, Win98, WinNT, and XP.
Other OSes included Data General DG-AOS and DG-RDOS, AEGIS Domain, DEC VMS, PC-BIOS, CP/M, and a small operating system that I wrote myself.
I've used Linux distros ranging from mid-1990s releases of Slackware and Red Hat to 2000s releases of Absolute, CentOS, GeeXboX, Mint, PCLinuxOS, Puppy, SimplyMEPIS, Ubuntu, Vector, etc. However, I presently spend most of my time in a Linux distro that I created myself.
My distro is a new OS that isn't derived from any existing distro (though it does use patches from others). It's been an interesting project. You can click here for technical notes or here instead for screenshots.
6. Open Source.
When something needs to be done affordably and efficiently, I use FOSS (Free and Open Source) code as a starting point, including my own FOSS frameworks and components. This tends to reduce costs and improve reliability. Note: FOSS license issues are taken into account.
7. More about Perl.
Here's more information about what I've done with Perl:
I've been writing Perl code since around 1991. Early on, I found Perl to be a good prototyping language for 'C' projects. Eventually, I started using it for more purposes. For example, if people needed something that could sort and merge netlists, Perl was the obvious choice. For some projects, there wasn't any realistic alternative. Python, Java, and Ruby didn't exist yet. 'C', Pascal, and FORTRAN were reliable, but not nearly as flexible.
By the mid-1990s, I was embedding Perl in 'C'-based products. During the dot-com era, I considered Perl to be my primary language, though I also wrote applications in 'C', Java, Python, and other languages. One web server that I created for my dot-com was coded entirely in Perl. I also wrote database tools, registration software, and other components for the company in Perl.
I started a Linux distro some time back. The distro relies heavily on Perl. My "build" system, menu generator, utility scripts, and other key components are Perl-based. Note: Originally, the distro's web pages were generated by Perl scripts, but I've switched to PHP because the latter language works quite well for web pages.
I've created moderately complex Perl frameworks occasionally. For example, see the Northrop Grumman notes in my resume. That project involved a custom server, written in Perl, which accepted binary data from upstream sources, stored it as SQL records, and relayed the records to downstream HTTP clients in XML format. Both the server and the database layer were derived from a Perl framework that I'd written (though the database layer relied heavily on standard software known as the Perl DBI).
I've worked occasionally at a low level with different kinds of hardware.
My favorite hardware project involved microfilm. When the DTIC (Defense Technical Information Center) needed to convert old microfilm to microfiche, they gave the job to a data conversion firm that subcontracted it to one of my employers. We built a large camera. One person designed the hardware, and I wrote the software that controlled it. It was about 450 pages of 8085 assembly code. I'm pleased to report that over the next decade, no bugs ever showed up in the code. After the bearings used started to wear out, the government needed to modify some acceleration ramping tables, but as far as I know, that was it.
9. Web sites.
As Alexander Shen once said, “I'm old skool. I program HTML in notepad.”
When I build sites these days, I sometimes use Perl (to generate components offline) or PHP5 (to generate pages dynamically). I also create custom web servers that move content generators into the servers themselves.
But this site is hand-coded HTML plus CSS2 and a small amount of CSS3. The development environment was simply GNU Screen and assorted text editors. For more information about the site code, click here.
10. Current project.
Presently, I'm involved part-time with a project related to civilian and military applications of thermal inertia. The basic idea is that variations in the rate of change of surface temperatures can be used to detect subsurface voids; i.e., things hidden underground or flaws in man-made structures.
For acknowledgments related to CSS and other code used, click here.
Linked or embedded works (software, books, articles, etc.) are presented under their own licenses.
Other unique content on this page, excluding screenshots, is distributed under the following license: C.C. Attribution NonCommercial ShareAlike 3.0. In some cases, screenshots are distributed under the same license. In other cases, the associated program's license applies.
Valid XHTML 1.0