My Online Portfolio

I have worked in this industry my whole life. Over the years I have written or led teams and produced millions of lines of code. Most of this code is the property of those I worked for.

I have always taken intellectual property seriously. Only on occasion do I feel I can post work I've contributed to with a clear conscience. If sharing the code is not possible I include links, or screenshots, or other documentation.

Sharing the proprietary information of my former employers is not something I am willing to do without permission, this includes wire-frames, code fragments, diagrams, and other documentation.

I have contributed on many levels over the year and have assisted in the creation of or supervised the generation of:
  • Wireframes and photoshop elements
  • Software architecture, design, and analysis documentation
  • Agile project plans, sprint 0 documentation, planning documentatation, post mortem analysis,
  • Code modules, API definitions and test scripts
  • Data models, SQL queries, database table definitions, graph data inference queries, OWL models
  • other types of documentation including SPARQL, mongo, couch db, and configuration documentation

I have a GitHub account, in fact many, but I lose track of the projects over the years, and only actively participate in a few that I have an interest in, and contribute mostly as a mentor.

My public GitHub account is in the links at the footer, but I don't put anything revolutionary there because I want to keep my rights to the content and concepts.

Age of Learning

At AofL I was a Director of Engineering, responsible for the development of single page applications and Unity mobile apps

I led 4 teams: 2 Angular 1.x/2.0 teams, 2 Unity 4-5 teams, split between onshore and offshore teams in Califormia and the Ukraine.

We developed 6 single page applications and 6 Unity applications each with mimicked behavior. Our SPA's were data driven, providing a framework for defining the substance of the SPA or Unity app.

I implemented an Agile methodology and 1-week sprints with demo days on Fridays.

McGraw-Hill Higher Education

At MHE I was a Software Engineer: Lead, responsible for development teams. I worked on two large projects.

  • Assessments

    MHE premier project is Connect, a product designed to assess, track and manage college curricula. I led a team to replace the assessment architecture, a natural follow on from my widget framework work at GE Fleet. This evolved into using Ember and components.

    The results of our work is available online at Connect.

  • The Ontology of Learning

    The second project was to build an ontology of learning using MHE 500 petabytes of high-quality content as source material. This involved many steps.

    • Machine learning to generate subject taxonomys
    • Inferred context through AI and a graph database
    • Queriable interfaces
    • Tools to facilitate taxonomy creation

    This product was to assist other MHE projects among them Create, an ebook initiative

About the ontology project

One of my projects at McGraw-Hill Higher Education (MHE) my team developed several prototypes of a machine learning application to create subject taxonomies which were used to populate a graph database on AllegroGraph.

My Work

I led a team to gather requirements, data models, and assess existing technologies. Final stages of my involvement were to build a prototype tool to manage the machine learning, taxonomy creation, and ontology architecture.

I will post the taxonomy machine learning app, sans the proprietary content, and early ontology user interface prototype.

This is not the actual data model, but in general.

GE Fleet

At GE Fleet I was hired as technical lead for architectures and team lead and mentor. The environment was Agile in a very pure form and it was challenging to develop a replacement system with the team spread over the northern hemisphere.

About the project

The objective was to replace a mainframe system to manage the leasing of large fleets of automobiles which had been developed on IBM mainframes. The 'lore' was that the system was so hard to use that an agent completing a leasing contract for Mary Kay had mistakenly ordered 50 pink pickup trucks with manual transmissions. I am not sure if that is true or not.

My Work

I spent most of my time building a widget framework and mentoring the local staff on JUnit and javascript in general. It amazing how peoples have misused javascript and the hoops they put before themselves that a little organization and structure can fix.

The framework needed to be simple, and it needed to be simple to write widgets. The framework I created was in two parts: a container and a widget. I have a long history with web components and most of them are neither, and have serious security issues, mostly because people break the rules. This framework was simple, under 2 k in total, and had no security issues, and you could cut and paste HTML to create a new widget.

I kept the code for this but I don't publish as I'm not sure who owns it since GE Fleet was sold a few years ago. The framework I build was very good, built from the ashes of a former framework that no one could get to work. I take a bit of pride in this.

My work part of the book "Lean UX" Page 45

Other Projects

I have been involved with many other projects, for example, AI pacemaker diagnostics devices; rule-driven and efficient in C#, and also quite proprietary.

I have worked on a couple defense related projects that I shouldn't even talk about: guided munitions and AWACS, and that's about all I should say.

I will continue to augment this page as seems reasonable, keeping in mind intellectual property and federal law.

Often when I apply I'm asked to do tests for competency. I have been doing this all my life, there is little I haven't done already. I understand the attraction of tests, and why in some cases it is a prudent choice.

Some examples of 'tests' I've completed lately:

  • How would you write a search engine, and how would you allow for scale
  • Build a UI for a social media client thats better than twitter
  • Find the largest 10 numbers in a sample of 5 trillion elements on 6 servers
  • Build an RSS reader that gets around CORS and can use JSONP to read in XML.

I have often interviewed engineers, and I can tell in 5 or 6 questions whether they are competent or not.

I want to know if they think, if they know how to do research not just start writing a loop, if they are patient, if they are smart, if they are personable. After a lifetime in software, I have found these are some of the things that matter.

Tests, Experiments and other Ephemera

I have a test and experiments page at Experiments

You will find old tests I have taken, miscellaneous projects I've done that are of interest to someone that I wanted to share, and generally whatever else I happen to feel like sharing.