From Woozle Writes Code
Revision as of 20:44, 1 May 2022 by Woozle (talk | contribs) (SpamFerret is here now.)
Jump to navigation Jump to search

In 1972 I wrote FOCAL-69 code on a PDP-8/L, but I misunderstood the line-numbering system and none of my programs worked right. (The lapse seems understandable given that I was only 8.) I did successfully learn how to manually enter the bootstrap code using the front-panel switches, however, and was able to load programs from punched-tape without assistance.

In 1975, 5th grade, I wrote artistic graphics software in BASIC on a Tektronix 4051. I still have many of the plot-outs.

From 1983 to 1985 I did computer hardware setups / testing / evaluation / shipping in my mom's computer store (and also packing and shipping for awhile). I learned how to program the video chip registers on a Hercules Graphics Card card and wrote a screensaver-like program for it in debug.com (using 8088 assembly code). Also using debug.com, I wrote a short program which made an unusual sound on the PC speaker; our salesmen used it to get people's attention at presentations.

  • 1983 - 1985may — Durham, NC: Microglyphics, Inc.: "Customer Support Technician"

From 1985 to 1989 -- my first real, non-family job -- I worked as a coder and lab assistant for Dr. Russel M. Church in the Brown University Department of Psychology. I started out writing in DEC FORTRAN IV on a dot-matrix teletype, soon graduated to a video terminal, was upgraded to FORTRAN 77, and eventually persuaded Dr. Church to bring in a PC and Turbo Pascal. I wrote software for data analysis (spreadsheets were not yet widely known) and running experiments, as well as both ends of a program (including the communication protocol) to transfer files between the old DEC mini system and the new PC over a serial cable, loosely based on Kermit (which we had, but which didn't seem to work). The work wasn't super-exciting, but it was dependable and engaging.

  • 1985oct - 1989dec — Providence, RI: Brown University Department of Psychology: "Research Assistant"

From 1990 to 1991, I worked for the late great Dr. Frank Borchardt at Duke University's Humanities Computing Facility doing language-related neural network (NN) simulations (mentioned here; paper). Having found existing NN software packages opaque, buggy, inflexible, and difficult to use, I wrote my own NN trainer in Borland Pascal and ASM86. Although the simulator worked well by mid-1991, developing it at that stage was probably a mistake; I should have been focusing on more prosaic efforts to produce positive results. I severely overestimated the level of "research" that was wanted / expected. In retrospect, although I learned a lot of interesting stuff about neural networks, I probably should have stayed in Providence and not taken this job. (Also: Frank was a great guy, but notoriously difficult to work for.)

  • 1990jan - 1991sep — Durham, NC: Duke University Humanities Computing Facility: "Neural Network Computing Research Associate"

From 1991 to 1997, I was living in poverty in Athens, GA, having arrived right at the beginning of a recession and consequent hiring freeze at UGA (source of most computer-related work in the area). I did eventually get work there, at $5/hour, doing image processing in Visual C and data manipulation in Borland Pascal. (Object Pascal was, at the time, as much of a strength for me as PHP is now, with C++ a close second.) I also spent a lot of time pursuing independent software projects (including further development on the neural network program), but was unable to make much headway due to the chaotic work environment. Being a glutton for punishment, I was also trying to start a business... actually, I tried to start one business (recording studio), and was persuaded to start another one (online store for independent musicians) which then morphed into another one (online store selling mostly mass-produced t-shirts), but that's another story.

  • 1991oct - 1993oct — Athens, GA: The Athens Observer: graphic layout, also computer technician (mostly amateur)
  • 1993oct - 1994apr — Athens, GA: UGA, Dept. of Biological and Agricultural Engineering: "Laboratory Assistant part-time", Windows 3.1 / DOS programmer [1]
  • 1994apr - 1997aug — Athens, GA: CSE/vbz (Owner): Design/code (Perl) for vbz.net shopping cart system; design/html for early versions of vbz.net web site

From 1997 to 1999, I worked for Pierce Manufacturing in Appleton, WI. They had issues, and I learned a great deal about how not to run a software project.

From 1999 through early 2001, I worked for Carrier Transicold in Athens, GA doing Visual Basic database work (MS Access, MSSQL) documenting and designing business process software. Fortunately, their IT department had a much better understanding of software development than Pierce did, and we got a lot of good work done.

  • 1998nov05 - 2001jun14 — Athens, GA: Carrier Transicold: Software Engineer, MIS Department

From approximately 2002 through 2008, I was reworking VbzCart and writing the beginnings of the application framework which later became Ferreteria while also suing my former business associates.

  • 2001jun14 - 2003mar29 — Athens, GA and Durham, NC: vbz.net (Owner): improvements to search (Perl/CGI), static pages (HTML), and order management system (MS Access)

For a few months in 2003, I did some additional consulting for Carrier handling the help desk on site so Ed could take a long-deferred vacation and then doing a little VB work remotely (from Durham).

  • 2003mar29 - 2003sep23 — mostly telecommute (from Durham): Carrier Transicold: Software Engineer

From approximately 2009 through 2013, coding work ground to a near-halt as multiple family crises diverted all of my focus-time. I finally had to mothball the store in 2011 when part of the checkout process broke. From 2010 to the present I did occasional office-network and web site support for Sage & Swift, a Durham catering company. From 2011 through 2014, I managed to squeeze in some semi-regular web site back-end (PHP/MySQL) work for Swashbuckler Interactive, a small web design/development company then located in Durham (now moved to Colorado).

  • vbz.net:
    • converted catalog display from mostly static pages (generated in MS Access/VBA) to dynamic-content pages written in Perl
    • rewrote entire site and order management system in PHP/MySQL (data schema detailed here)
    • migrated all MS Access data to MySQL/Linux while keeping site live
    • moved site and wiki from paid shared hosting to home dedicated server
  • deployed multiple installations of MediaWiki; currently live: HTYP, Issuepedia, vbzWiki (support site for vbz.net), HypertWiki, PsyCrit; maintained sites (including spam prevention, backups, and updgrades) and authored almost all content for Issuepedia, HTYP, vbzWiki
  • for local client (a doctor's office) needing web site redesign: (a) deployed test installation of osCommerce; (b) settled on ZenCart as having better security; (c) added extensions to ZenCart for bulk upload of images and catalog data; (d) modified ZenCart to allow managing parts of online store's text content via MediaWiki
  • wrote SpamFerret, a MediaWiki extension (PHP/MySQL) for blocking wikispam and logging spam attempts
  • wrote WorkFerret, a MediaWiki extension (PHP/MySQL) for tracking/invoicing of billable hours for multiple clients
  • installed/using on home server: Xubuntu, Postfix, Dovecot, Webmin, Apache2, PHP, MySQL, MediaWiki, Samba, OpenSSH
  • experimentally installed on home server: Drupal, Tikiwiki, Feng Office, PhpGroupWare

From late November 2016 to July 2017, I found I was able to adopt a new regimen of working for several hours very early in the morning (waking up generally between 3 and 5); I made some good progress on various coding projects (mainly Ferreteria, VbzCart, and Greenmine) during this time, but it did not continue. I can only think it had something to do with the spironilactone I was taking at that time but no longer needed after July.

From May 2018 to February 2019, I worked remotely on PHP code for PaperDemon, an art-sharing web site and community. That work stopped when the owner decided to quit her job at Google to work full-time, and could no longer afford to hire additional coders.