History: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
In '''1972''' I wrote {{l/wp|FOCAL-69}} code on a {{l/wp|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.
''Note that you can click on the headers to change the sorting, if you want to see the most recent stuff first.''
----
{| class="wikitable sortable"
In '''1975''', 5th grade, I wrote artistic graphics software in BASIC on a {{l/wp|Tektronix 4051}}. I still have [[htwiki:Tektronix|many of the plot-outs]].
|-
----
! from || to || what
From '''1983 to 1985''' I did computer hardware setups / testing / evaluation / shipping in [[htwiki:Microglyphics|my mom's computer store]] (and also packing and shipping for awhile). I learned how to program the video chip registers on a {{l/wp|Hercules Graphics Card}} card and wrote a screensaver-like program for it in {{l/wp|Debug (command)|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.
|-
| 1972 || 1972
| In '''1972''' I wrote {{l/wp|FOCAL-69}} code on a {{l/wp|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.
|-
| 1975 || 1975
| In '''1975''', 5th grade, I wrote artistic graphics software in BASIC on a {{l/wp|Tektronix 4051}}. I still have [[htwiki:Tektronix|many of the plot-outs]].
|-
| 1983 || 1985
| From '''1983 to 1985''' I did computer hardware setups / testing / evaluation / shipping in [[htwiki:Microglyphics|my mom's computer store]] (and also packing and shipping for awhile). I learned how to program the video chip registers on a {{l/wp|Hercules Graphics Card}} card and wrote a screensaver-like program for it in {{l/wp|Debug (command)|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"''
* '''''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 [https://www.brown.edu/Departments/CLPS/people/russell-church 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 [[wikipedia:Kermit (protocol)|Kermit]] (which we had, but which didn't seem to work). The work wasn't super-exciting, but it was dependable and engaging.
| 1985.10 || 1989.12
| From '''1985 to 1989''' -- my first real, non-family job -- I worked as a coder and lab assistant for [https://www.brown.edu/Departments/CLPS/people/russell-church 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 [[wikipedia:Kermit (protocol)|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"''
* '''''1985oct - 1989dec''' — Providence, RI: Brown University Department of Psychology: "Research Assistant"''
----
|-
From '''1990 to 1991''', I worked for the late great [https://today.duke.edu/2007/05/borchardt.html Dr. Frank Borchardt] at Duke University's Humanities Computing Facility doing language-related neural network (NN) simulations (mentioned [http://www.humancomp.org/articles/frankart.htm here]; [https://www.researchgate.net/publication/317730954_Hyphenation_and_Bogus_Word_Detection_-_An_Experiment_in_the_Economic_Use_of_Neural_Modelling_in_Text_Processing 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.)
| 1990.01 || 1991.09
| From '''1990 to 1991''', I worked for the late great [https://today.duke.edu/2007/05/borchardt.html Dr. Frank Borchardt] at Duke University's Humanities Computing Facility doing language-related neural network (NN) simulations (mentioned [http://www.humancomp.org/articles/frankart.htm here]; [https://www.researchgate.net/publication/317730954_Hyphenation_and_Bogus_Word_Detection_-_An_Experiment_in_the_Economic_Use_of_Neural_Modelling_in_Text_Processing 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"''
* '''''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 [[vbzw:Help:About/History|another story]].
| 1991.10 || 1997
| 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 [[vbzw:Help:About/History|another story]].
* '''''1991oct - 1993oct''' — Athens, GA: The Athens Observer: graphic layout, also computer technician (mostly amateur)''
* '''''1991oct - 1993oct''' — Athens, GA: The Athens Observer: graphic layout, also computer technician (mostly amateur)''
* '''''1993oct - 1994apr''' — Athens, GA: UGA, [http://www.engr.uga.edu/ Dept. of Biological and Agricultural Engineering]: "Laboratory Assistant part-time", Windows 3.1 / DOS programmer [http://web.archive.org/web/19971025220004/http://www.asae.org/mtgs/am95/events/abstract/202.html]''
* '''''1993oct - 1994apr''' — Athens, GA: UGA, [http://www.engr.uga.edu/ Dept. of Biological and Agricultural Engineering]: "Laboratory Assistant part-time", Windows 3.1 / DOS programmer [http://web.archive.org/web/19971025220004/http://www.asae.org/mtgs/am95/events/abstract/202.html]''
* '''''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''
* '''''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.
| 1997.08 || 1998.10.19
| From '''1997 to 1998''', 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.
* '''''1997aug - 1998oct19''' — Appleton, WI: [http://piercemfg.com Pierce Mfg., Inc.]: Software Engineer (early version of [http://piercemfg.com/apparatus/CommandZone.cfm CommandZone])''
* '''''1997aug - 1998oct19''' — Appleton, WI: [http://piercemfg.com Pierce Mfg., Inc.]: Software Engineer (early version of [http://piercemfg.com/apparatus/CommandZone.cfm CommandZone])''
----
|-
From '''1999 through early 2001''', I worked for [[Carrier Transicold]] in Athens, GA doing {{l/htyp|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.
| 1999.11.05 || 2001.06.14
| From '''1999 through early 2001''', I worked for [[Carrier Transicold]] in Athens, GA doing {{l/htyp|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''
* '''''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 [[htwiki:Griever|suing my former business associates]].  
| 2002 || 2008
| From approximately '''2002 through 2008''', I was reworking [[VbzCart]] and writing the beginnings of the application framework which later became [[Ferreteria]] while also [[htwiki:Griever|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)''
* '''''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 Transicold|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).
| 2003.03.29 || 2003.09.23
| For a few months in '''2003''', I did some additional consulting for [[Carrier Transicold|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''
* '''''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 [http://sageandswift.com 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 [http://www.swashbucklerinteractive.com/ Swashbuckler Interactive], a small web design/development company then located in Durham (now moved to Colorado).
| 2009 || 2013
| 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 [http://sageandswift.com 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 [http://www.swashbucklerinteractive.com/ Swashbuckler Interactive], a small web design/development company then located in Durham (now moved to Colorado).
* [[vbz.net]]:
* [[vbz.net]]:
** converted catalog display from mostly static pages (generated in MS Access/VBA) to dynamic-content pages written in {{yp|Perl}}
** converted catalog display from mostly static pages (generated in MS Access/VBA) to dynamic-content pages written in {{l/htyp|Perl}}
** rewrote entire site and order management system in PHP/MySQL (data schema detailed [[htyp:VbzCart tables|here]])
** rewrote entire site and order management system in PHP/MySQL (data schema detailed [[htyp:VbzCart/tables|here]])
** migrated all MS Access data to {{l/htyp|MySQL}}/{{yp|Linux}} while keeping site live
** migrated all MS Access data to {{l/htyp|MySQL}}/{{l/htyp|Linux}} while keeping site live
** moved site and wiki from paid shared hosting to home dedicated server
** moved site and wiki from paid shared hosting to home dedicated server
* deployed multiple installations of {{l/htyp|MediaWiki}}; currently live: [[HTYP]], [[Issuepedia]], vbzWiki (support site for vbz.net), [[htwiki:Main Page|HypertWiki]], {{l/htyp|PsyCrit}}, and [http://wiki.sluggysquad.com SquadWiki]; maintained sites (including spam prevention, backups, and updgrades) and authored almost all content for Issuepedia, HTYP, vbzWiki
* deployed multiple installations of {{l/htyp|MediaWiki}}; currently live: [[HTYP]], [[Issuepedia]], vbzWiki (support site for vbz.net), [[htwiki:Main Page|HypertWiki]], {{l/htyp|PsyCrit}}; maintained sites (including spam prevention, backups, and upgrades) 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 {{l/htyp|osCommerce}}; (b) settled on {{l/htyp|ZenCart}} as having better security; (c) added extensions to ZenCart for [[htyp:importing data into ZenCart|bulk upload of images and catalog data]]; (d) modified ZenCart to allow managing parts of online store's text content via MediaWiki
* for local client (a doctor's office) needing web site redesign: (a) deployed test installation of {{l/htyp|osCommerce}}; (b) settled on {{l/htyp|ZenCart}} as having better security; (c) added extensions to ZenCart for [[htyp:importing data into ZenCart|bulk upload of images and catalog data]]; (d) modified ZenCart to allow managing parts of online store's text content via MediaWiki
* wrote {{l/htyp|SpamFerret}}, a MediaWiki extension (PHP/MySQL) for blocking {{l/htyp|wikispam}} and logging spam attempts
* wrote [[SpamFerret]], a MediaWiki extension (PHP/MySQL) for blocking {{l/htyp|wikispam}} and logging spam attempts
* wrote {{l/htyp|WorkFerret}}, a MediaWiki extension (PHP/MySQL) for tracking/invoicing of billable hours for multiple clients
* 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
* installed/using on home server: Xubuntu, Postfix, Dovecot, Webmin, Apache2, PHP, MySQL, MediaWiki, Samba, OpenSSH
* experimentally installed on home server: {{l/htyp|Drupal}}, Tikiwiki, Feng Office, PhpGroupWare
* experimentally installed on home server: {{l/htyp|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 {{l/htyp|Ferreteria}}, {{l/htyp|VbzCart}}, and Greenmine) during this time, but it did not continue. I can only think it had something to do with the {{l/wp|spironilactone}} I was taking at that time but no longer needed after July.
| 2018.05 || 2019.02
----
| From '''May 2018 to February 2019''', I worked remotely on PHP code for [http://paperdemon.com PaperDemon], an art-sharing web site and community. That work stopped when the owner decided to quit her job at Google to work on PD full-time, and could no longer afford to hire additional coders.
From '''May 2018 to February 2019''', I worked remotely on PHP code for [http://paperdemon.com 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.
|-
| 2023.04 || 2024...
| In '''April 2023''', I began working part-time at One Simple Wish as a PHP coder for their web-site rewrite. I ended up also working on the existing web site and helping with devops in general.
|}

Latest revision as of 16:43, 16 January 2024

Note that you can click on the headers to change the sorting, if you want to see the most recent stuff first.

from to what
1972 1972 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.
1975 1975 In 1975, 5th grade, I wrote artistic graphics software in BASIC on a Tektronix 4051. I still have many of the plot-outs.
1983 1985 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"
1985.10 1989.12 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"
1990.01 1991.09 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"
1991.10 1997 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
1997.08 1998.10.19 From 1997 to 1998, 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.
1999.11.05 2001.06.14 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
2002 2008 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)
2003.03.29 2003.09.23 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
2009 2013 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 upgrades) 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
2018.05 2019.02 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 on PD full-time, and could no longer afford to hire additional coders.
2023.04 2024... In April 2023, I began working part-time at One Simple Wish as a PHP coder for their web-site rewrite. I ended up also working on the existing web site and helping with devops in general.