Principal2005 - PRESENTEventsReg
- Designed and developed multi-tenant, web-based Integrated Martial Arts Registration, Membership, and Tournament and Venue Management system, including bracketing, scoring. Integrated system with multiple payment providers. Integrated web-service with a socket-based electronic scoring system to dynamically update divisions and store competitor rankings. The system has served Amateur Organization of Karate, National Blackbelt League, USA Taekwondo, and local, state, national, and international championships.
- Designed and developed first of its kind scoring model to evaluate residential real estate for potential as rental properties and to perform a cash-flow based search.
- Designed and developed a social networking site for Corvette enthusiasts.
- Designed and developed a membership website for the American Association of Legal Nurse Consultants.
- Designed and developed competitor ranking management and scoring systems to add to the core product. Ranking systems are used for end-of-year championship seeding of competitors.
- Designed and developed a domain parking site to support a client with 38,000+ domain names.
- Designed and developed real estate property valuation model.
Technical Fellow/Principal Software Engineer2011 - 2019Medtronic
Technologies: C#, SQL
- Collaboratively led ideation, architecture, design, and hands-on technical development of a new successful incubator within a large, global organization to create Vital Sync™, an integrated patient intelligence platform with 250+ deployments at over 150 hospitals. This foundational product opened new opportunities for clinical decision aids, remote patient monitoring, home healthcare support, and clinical trials support. The success led to the creation of a new corporate business unit, healthcare informatics, and monitoring, earning over $15 million/year, supporting 100+ employees.
- Analyzed and developed HIPAA compliant de-identification and anonymization rules.
- Led diverse teams collaborating with corporate cybersecurity, legal, regulatory affairs, clinical affairs, data protection, and privacy groups, quality, V&V, development, dev ops, and account representatives to create HIPAA compliant de-identification and anonymization tool to extract patient data from hospitals, securely transport it to AWS servers, and make available for big data analytics.
- Designed and wrote protocol handlers to interface to medical devices to gather second-by-second physiologic data, normalized the data, and stored into our local database.
- Integrated and tested products with 150 medical device vendors at Integrating the Healthcare Enterprise (IHE) connect-a-thons for device interoperability.
- Created corporate-wide, worldwide, artificial intelligence/machine learning community; grew to 300+ in the first year.
- Served as subject matter expert for AAMI standards software working groups and helped draft technical report on multi-vendor interoperability and standard for black box data logging.
PhD Graduate1998 - 2005University of California at San Diego
- Created and deployed an indoor location positioning system based on triangulating the signal strength from reachable access points.
- My thesis work was titled, "Open Implementation Approach to Internet-Scale Context Awareness." (https://escholarship.org/uc/item/6g8015rg among many others).
- To break this down into simple terms:.
- 1. I leveraged some existing Java code to provide a publish / subscribe network - and made several significant modifications described below. One instance of the program could be installed on any participating server (with the idea being there could/would be a world-wide network of such servers.
- 2. Generally speaking, various edge nodes declare they will either publish or subscribe (or both) for data based on some tag or identifier. The subscriptions are propagated through the network much like a DNS enables computers to find one another.
- The above is merely the essence of a publish / subscribe network.
- 3. I made routing modifications that only sent data down pathways (connections) where there was an eventual user (as compared to sending everything to every node as was often the case and letting the end consumer sort it out).
- 4. I provided a mechanism for a user to write a Java module, obeying specific interface requirements such that complex filtering desired by the edge nodes to be injected into the network such that filtering could be performed upstream in the network.
- 5. I further demonstrated how to write algorithms, still in Java, that could be deployed out to the edge nodes, that that they could self-filter information (a cheap power cost) to avoid unnecessary information sending (more expensive power consumption) over the network.
- All this work preceded the Apple store and much of what is now common practice. This was also before all of the cloud computing power and ease of charging our mobile devices, when battery power was more precious.
- Below is the abstract to my dissertation.
- Proliferation of hardware and software sensors and our desire to determine relationships between the near-real- time data from multiple publishers motivates our introduction of Internet-scale context-awareness (ISCA). Content-based publish/subscribe (CBPS) seems the most natural substrate for ISCA because it provides the right separation of concerns, efficient event distribution, extensibility, and scalability. However, our evolving information environment is different from that for which CBPS was designed. Attempting to use the black-box style transparency afforded by CBPS precludes efficiently detecting data relationships for publication as context- aware events and leads to information glut and device saturation. We overcome these problems by recognizing that any component-based system is an ecology for which we can achieve global efficiencies by providing top-down and bottom-up context and collaboration. We extend CBPS with an open implementation approach to enable subscribers to inject domain-specific knowledge into the network in the form of first-class publish/subscribe agents. Agents are distributed algorithms that observe and transform data, dynamically manage bounding region filters, and exchange data only on an as-needed basis to eliminate useless event traffic at the sensor-edges of the network. Filtering at the network edge reduces bottlenecks in the network core to increase the scalability of the system. Content-based routing mechanisms are leveraged to allow the user to control where code is deployed, to develop complex relationship hierarchies, and to construct one-to-one conversations by leveraging existing network knowledge without flooding the network with either advertisements or subscriptions. We are programming the network. We add dynamic contextual message filtering and distributed memoization to minimize re-computation at downstream nodes. Combining open implementation, distributed processing, content-addressability, and distributed memoization satisfies the required increases in expressiveness, efficiency, and scalability necessary to achieve our Internet-scale context-awareness vision. Our algorithm detecting the proximity of mobile buddies reduced event traffic from O (events) to an expectation of about ln (movement) event-hops. Complex traffic-route monitoring used eight times fewer events than basic CBPS and reduced aggregation enhanced CBPS load imbalances by distributing relationship computations over the event- entry edge-brokers. Our algorithms are scalable with increased reporting rates because they measure data movement.
System Architect/Technical Lead1993 - 2005Northrop Grumman
Technologies: C++, Java
- Developed core architecture that won a $122 million contract for Northrop Grumman for Common Link Integration Platform.
- Led design and development, between three companies and four systems, of the interface specifications and associated software for integration of the Tactical Data Link - J (Link-16) into the B-2 Bomber. Design and code were ported to the MH-60 Helicopter and became the basis for Low-cost Integration of Link-16 into existing military systems.
- Conceived, designed, and implemented a multi-source Correlator to identify redundant reporting of the same unit. Used Dempster-Shafer Calculus and fuzzy logic to correlate asynchronously reported units based on kinematics and commonly reported characteristics.
- Revised corporate software development and coding guidelines.
- Led the development of the Link-16 component of the Defense Information Infrastructure Common Operating Environment. This real-time command and control system identifies and tracks the activities of all units in a theater of operation. Duties include all technical aspects of customer interaction, team management, and system development. Implemented system to Mil-Std 6016A and Op Spec 516, and underwent Naval Center for Tactical Systems Integration certification testing of the system for acceptance and deployment on board the USS Blue Ridge.
- Re-architected substantial portions of previous work to be object oriented for reuse across all tactical data links and to be multi-platform compatible. Supported customer testing of the system at their facilities. Deployed aboard USS Coronado during Fleet Battle Experiment – B to demonstrate system capability and develop interfaces to other systems.
- Developed architecture and majority of user interface (over 50 windows) for the Tactical Data Link - A component of the Joint Maritime Command Information System. This real-time command and control system identifies and tracks the activities of all units in a theater of operations. Duties included all aspects of system development. Wrote a library of common composite widgets for reuse by the team in developing user interfaces. Coordinated, supervised, and assisted re-host in C++. Supported customer certification of the system at their facilities.
- Restructured the joint operational tactical system to distinguish between kinds of forces and the symbols used to display them. This architectural revision continues to pay benefits after many years.
Software Lead, Senior Software Engineer1986 - 1993GDE Systems, Inc. (formerly General Dynamics, Data Systems Division)
Technologies: C, Unix
- Led software engineering of a nine-person, $2.5 million, mission planning system, known as the Tomahawk Strike Coordination Module. Duties include all aspects of system development. Wrote technical sections for the proposal. Created rapid prototypes for proof of concept.
- Designed and developed networked, multi-process, multi-user system architecture. Created common graphical user interface widgets using Motif and X. Developed reusable code to make the team more effective.
- Developed inter-process hot-link protocol and information broker for workgroup applications in a distributed computing environment (pub/sub before it was so named). Used TCP/IP for reliable transfer of data, XDR for portable transfer of data in a heterogeneous environment, and a combination of RPC’s and message store-and-forward for high performance.
- Develop automatic system executive generation tool to enable rapid development and integration of multi-process systems.
- Developed a set of complex Motif widgets to increase programmer productivity and consistency of user interface.
- Led software engineering on a mission planning system known as the Air Courses of Action Assessment Model. Duties included all technical aspects of system development. Designed and developed the system architecture. Created common graphical user interface widgets using AIEL, an object-oriented language (a cross between C++ and Smalltalk) to improve team effectiveness. Technical liaison with Argonne National Laboratories and Idaho National Engineering Laboratories. Enhanced capabilities and performance of simulation and graphics packages.
- Drove internal research and development for automatic target recognition using three-dimensional imagery from laser radar. Used object morphology for orientation independent means of identification. Developed as a proof of concept for classifying objects.
- Set requirements, designed, and implemented a hardware circuit analysis system that identifies the potential for anomalous functionality. Developed menu and command-driven user interfaces, custom database, pathfinding algorithms, timing simulation, several reliability analyses and graphics capabilities including network layout, plotting, and editing.
- Wrote GUI, displays, inter-process comms, and system executive for simulation of a secure radio’s hop-set management.
- Led teams performing static software analysis of weapon and flight control software for the Phalanx CWIS, Titan/Centaur DCU, Titan/Centaur INU, and JAS-39 Gripen. Developed prototype software analysis system to assist in the analyses. It includes an Ada lexical analyzer, the structural parser (identifying McCabe’s cyclomatic complexity of modules), cross-reference generator and automatic diagramming capabilities. Discovered system critical logic or implementation errors in all analyses.
- Led team performing static hardware/software integration analysis of the Phalanx CIWS track and fire system. Discovered bug in assembly code, which caused the system to return program execution to unspecified address.