home resume GitHub work availability

my expertise / capabilities

I am very likely one of the top few percent of software developers who are several to many times more productive than the average. (It's taken me years to start to come to that realization and accept it. I have to work hard at the notion of self-promotion.)

Since early 2016 I have been doing process automation for a (small) law firm. I have literally created a digital assistant in that I have made it unnecessary for my client to employ an assistant. I detail that more below.

That's a start, but as I've attempted various drafts of this document, I keep trying to avoid limiting myself. To a degree I am a beyond-full-stack, senior software developer, but that does not cover what I've done. I've usually done my own sales, requirements gathering / business analysis, and support. I've been a one man freelance show for years, but I did business analysis and support even when I dev'ed for 2000-employee software companies.

To me full stack includes reasonable knowledge of sysadmin, database admin, a bit of network admin, and even lost-art, low-level "stuff" like assembly language or at least C, semaphores, process forking, etc.

I have done a lot of web application development, but I have also dealt with hardware interfaces on several occasions. I wrote a complex USB device driver and consulted with Sony developers on the possibility of their writing a driver for the PS4 / Orbis. I've rooted phones that started as mass market Android in order to install Lineage OS--Android without Google accounts. I consulted on digitizing broadcast television recordings and demonstrated a system recording 8 channels at once.

I dealt with tens of millions of database rows in 2001 and made 12X to near-infinite improvements in performance. I can't remember now whether it was 12X improvement in the Oracle RDBMS and near-infinite improvement in the Hyperion Essbase OLAP database or vice versa. Much more recently I've done 80X and 260X improvements in MySQL.

I've written both a Chrome and Firefox extension; they involved detailed HTML processing: one of Facebook and one of GMail.

I look for projects that I find interesting, where interesting can be pretty broad, as I hope I've shown. In terms of capabilities versus expertise, I often seek projects that I have not done before because it's more interesting. I have demonstrated several times that I can do "things" that I've never done before better than anyone else my clients could find.

my current project (early 2016 to late 2020 and beyond)

My current project shows my range to some degree. Since early 2016 I have been doing process automation for a (small) law firm. I have literally created a digital assistant in that I have made it unnecessary for my client to employ an assistant. My software has greatly increased billing efficiency. I've created two closely related web forms that (in part) take court date information. Starting from those forms, my script sends email and text message court date notifications to clients and witnesses, it syncs with Google Calendar, and it generates letters to clients. My client is a public defense attorney, so I also did audio processing to help analysis of 911 call recordings and jail call recordings.

To automate billing to a third party web application, I had to hack the application to the point of cracking it. (My client has every right to use that system, so there is no ethical issue.) The system is designed to prevent robots' usage, yet my robot has done its thing almost every night for five years. I had to analyze HTTP calls to emulate browser activity; otherwise put, this involved web scraping / crawling / HTML parsing / DOM trees.

To recap and further list technologies involved in my system: I use Amazon Web Services (AWS) EC2 (cloud computing), AWS Simple Storage (S3) API for backups, the Google Calendar API, Google Drive API, Google Docs API, ffmpeg, and Ubuntu Linux, just to name a few.

a bit (more) on specific technologies

For 6.5 years I have exclusively been running (Ubuntu) Linux for my desktop and website. PHP has been my go-to language for years, and I get better and better at client-side JavaScript. Usually PHP has been for web development, but I have also used C-language-derived and very low level Linux features such as shell_exec() / system() / command line calls, process forking, semaphores, PHP extensions for assembly language access, etc. I started learning C in 1991 and used it for two years professionally, so I am more aware of the "lower levels" than many newer devs.

Once again, though, I don't want to limit myself. I worked for several months in Python. I've done some professional work in Java. I greatly prefer these and other open-source languages, or perhaps more properly languages that easily run in Linux.

I have only done a bit in Node.js, but I can see the benefit of end-to-end JS. I could easily be persuaded to jump in. I've done just a bit in Ruby, but it's plenty Linux friendly. I think of Ruby as having a cult following. I could probably be persuaded to join the cult.

page history

During the fall of 2020 I have been asked on separate occasions "What are my capabilities?" and "What is my expertise?" When asked a similar question twice in a few weeks, perhaps it's time to answer.

  1. 2020/11/12 6:33pm EST (GMT -5) - page may go online for the first time any minute.