Hình đại diện của fisherscree
Làm thành viên từ 15 tháng 6, 2011
0 Đề xuất


Trực tuyến Ngoại tuyến
Among my accomplishments are working on the first PC board electronic CAD program, the first industrial-strength PC database, the first commercial automatic CAD parts placement program, the first Web-based knowledge management system, a semi-automatic medical terminology mapping program, and a complete set of validating XML metadata creation modules in PHP (METS, MODS, Premis, and Dublin Core). As far as I know, I created the first automatic hash table generator program (before gperf much less GNU), along with creating the first installation program generator (it created DOS batch scripts), as well as creating the first expert system for managing PCB + schematic + DB electronic parts.
$35 USD/hr
0 nhận xét
  • N/ACông việc đã Hoàn thành
  • N/AĐúng ngân sách
  • N/AĐúng hạn
  • N/ATỉ lệ thuê lại


Các nhận xét gần đây

Không có nhận xét nào.

Trải nghiệm


Apr 2018

Rewrote ALSTAR stamping of pesticide label PDFs in Perl to catch all possible errors, in both batch and realtime modes. Created website for the Indiana State Egg Board in PHP using DataTables and the DataTables Editor. Created a website wizard in PHP for student review of the Universal Soil Loss Equation.

Senior Full-Stack Developer

Oct 2017 - Dec 2017 (2 months)

Worked on NLP-based automatic report generation system for social media marketing using OAuth, Java, Scala, Akka, Play, Ruby on Rails, and Puma. Installed and configured Nagios and CloudWatch for all company servers (AWS EC2 instances) including AWS SNS-based custom-delivery text messaging along with local free + cached memory usage monitoring as well as writing a custom Nagios Perl plugin validating server output. Used Ansible and Capistrano to simplify server setups.

Senior Perl Developer

Sep 2014 - May 2017 (2 years)

Enhanced + fixed REST-based microservice SaaS systems for mortgage lenders spanning appraisals, BPOs, and inspections using Perl, Git, Dancer2, Catalyst, DBIx::Class, Moose, Moops, PostgreSQL, RabbitMQ, JIRA, Bitbucket, Confluence, Graylog, OpenVPN, Tunnelblick, Junos Pulse, Slack, and KRONOS. Fixes included DB + MQ transaction rollbacks and SQL date overlaps (hint: avoid BETWEEN as it makes overlap detection more complicated). Created a spreadsheet interpreter to generate SQL.

Digital Libraries Software Developer

Jun 2012 - Jun 2014 (2 years)

Created backend for preserving research datasets + metadata as part of the Purdue University Research Repository (PURR), a HubZero / Joomla! Web application. Created PHP modules for generating XML metadata in these standards: Dublin Core, METS, MODS, and PREMIS (a rate of over 100 tested and documented LOC / day, totaling 30k+ LOC). Total dataset + metadata was preserved in the BagIt format as an OAIS AIP. Created interface to the LOCKSS MetaArchive Conspectus DB.

Systems Engineer II

Aug 2005 - Mar 2012 (6 years)

Enhanced and fixed Regenstrief LOINC Mapping Assistant (RELMA) including moving from VB6 to .NET and replacing search by [login to view URL] then adding foreign-language search including Chinese and other searches. Also developed automapper for RELMA using n-grams represented in [login to view URL] thereby increasing both accuracy and search speed tremendously. Created self-compressing-outline HTML pages using JavaScript so multi-megabyte pages would display within a few seconds instead of minutes.

Perl Developer

Aug 2005 - Mar 2012 (6 years)

Enhanced Department of State Alumni website and the WebGUI command-line tool WGDev, including fixing unmatched character pairs, MySQL deletion ordering, and the Twitter widget so https:// pages always contain https:// links as well as adding a BatchEdit command to WebGUI.


Jan 2003

Fisher's Creek Consulting is my software engineering consulting + contracting firm, with experience in web application design, medical informatics, electronic CAD, mortgage lending, and social media among other domains, along with a healthy dose of solving seemingly-impossible problems. I have done it all from building my own logic gates to working in LISP, Scala, Haskell, and Perl 6 with commercial and academic publications to my credit.

Systems Consultant

Jan 1991 - Jan 2003 (12 years)

Provided engineering department with software (custom and COTS), including building one of the first Web-based knowledge-management applications, creating an automated status-report generator, setting up Thomson's first Nagios installation, and moving a research CAD expert system into production then leading the 18-month project to move that system from VAX/VMS to Windows (project was on-time and on-budget).

Software Engineer

Jan 1984 - Jan 1991 (7 years)

Worked mainly on PC electronic CAD tools (smARTWORK and HiWIRE II). HiWIRE II ended up as over 100 000 lines of C and a few thousand lines of C++. My installation program builder may have been the first installation program builder created (off-the-shelf versions now include InstallShield and the WISE Installation System). I helped create Wintek's simulated-annealing autoplacement program, which was probably the first commercial use of the simulated-annealing algorithm.

Software Engineer

Jan 1981 - Jan 1984 (3 years)

Worked on MDBS IV Network Codasyl (pre-relational) database in C and assembly (1st PC industrial- strength database). Wrote Unix kernel (device driver to act as named pipe as well as writing a CP/M floppy filesystem emulator. Wrote regular expression matcher (used for 20+ years). I also wrote hash tables for C used at MDBS, as well as creating what may have been the first fixed hashtable generator program (i.e. before GNU gperf).

Software Engineer

Sep 1979 - Jan 1981 (1 year)

My duties included radar countermeasures software (ECM). I held a SECRET clearance. I can't say more than that except that my project name was unclassified but that my participation in the project was classified.

Giáo dục

Bachelor of Science in Electrical Engineering

1975 - 1979 (4 years)

Bằng Cấp

Sun Certified Java Programmer (1995)

Sun Microsystems

Sun Certified Java Programmer (SCJP)

Các xuất bản

The TCE Corporate Technical Memory: groupware on the cheap

International Journal of Human-Computer Studies Volume 46, Issue 6, June 1997, Pages 847-860 Abstract The Thomson Consumer Electronics Corporate Technical Memory is an electronic reference document repository used to store locally developed technical know-how as a set of files that can be browsed as well as searched. Implemented as a World Wide Web application ...

An Introduction to Test::MockDBI - Perl

Jul 21, 2005 - How do you test DBI programs: Without having to modify your current program code or environment settings? Without having to set up multiple test databases? Without separating your test data from your test code? With tests for every...

More Lightning Articles - Using Test::MockDBI

Mar 31, 2005 - What if you could test your program’s use of the DBI just by creating a set of rules to guide the DBI’s behavior—without touching a database (unless you want to)? That is the promise of Test::MockDBI, which by mocking-up the entire DBI API gives you unprecedented control over every aspect of the DBI’s interface with your program.

Stack Overflow Considered as a Grimoire or Trove

Jan 3, 2018 - Back in the day, when I came upon a particularly juicy tip/hint/trick/kludge/etc. I would write it down somewhere (way back -- in a paper notebook; more recently, somewhere like TiddlyWiki). But I don't do that anymore -- why? The answer is Stack Overflow. When I have a question, a web search often has 1 ...

Mocking Should Not Require Interfaces

January 31, 2018 7:46 PM - Exploring the ecosystem outside Perl, I have found multiple examples of languages and frameworks that require you to implement your classes as an interface + an underlying engine class when you want to mock that class during testing. This is all fine and dandy if the interface can be used as part of multiple classes. However, if the only reason you have an interface is so you can mock this class during testing, then I would call that a language-runtime smell.

HTTP Extensions for Distributed Authoring -- WEBDAV

February 1999 - This document specifies a set of methods, headers, and content-types ancillary to HTTP/1.1 for the management of resource properties, creation and management of resource collections, namespace manipulation, and resource locking (collision avoidance). (I am listed in the Acknowledgements.)

Requirements for Event Notification Protocol

May 1, 1998 - This document describes the requirements for an Event Notification Protocol. The objective is to provide a simple, scalable and highly efficient notification protocol while also providing the appropriate flexibility to meet the needs of both the Internet and enterprise environments.

Chứng nhận

  • US English Level 1

Xác minh

  • Đã kết nối với Facebook
  • Freelancer ưa thích
  • Thanh toán đã được xác minh
  • Đã xác nhận qua điện thoại
  • Đã xác thực danh tính
  • Email đã được xác minh

Xem những Freelancer tương tự