Engineer
Dr. G. Michael Youngblood is a senior interactive systems researcher, engineer, designer, architect, and all-around builder. The first thing to know about him is that he is a generalist that can acquire new technical skills quickly to become a specialist. He has a broad and solid educational background and experiences. His engineering background is in computer science and engineering, which includes electronic and electrical engineering, but he started as nuclear and mechanical engineering technician for the U.S. Navy. He minored in Math and Physics in college.
Dr. Youngblood has spent most of his career in R&d (big R, little d) departments/organizations, his engineering work has primarily been in new development efforts with the goal of either proving a concept or developing a prototype system to support experimentation and eventually serve as the starting point for commercialization.
Statement of Engineering
I am a creator, a maker. I create something from nothing. I turn ideas into reality. Engineering is my passion at all levels whether I am supervising, teaching, designing, or building.
My general approach is bottom-up. I am a firm believer in Gall's Law, "A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system." In my experience it is best to start with the concrete and specific and work towards the more general and abstract. A generalized approach usually comes from the expansion of understanding one gains through solving specific instances. Never try to boil the ocean.
I am a believer in process, but also that process has to be customized for/to the team. I have always worked in an agile/spiral model manner as that is the only way that really made sense. I have mixed feelings about test-driven development. Of course I believe in software tests and profiling, etc, and test-driven development can be powerful (especially in mature code bases with lots of users) , but in some cases it can be too burdensome (e.g., Research, where testing ideas take precedence and the code doesn't have to be bulletproof). The only thing I stand firm on is being principled, and I feel each team and project has to define that for themselves, take ownership, and adhere to those agreed principles. Having process forced seems to rarely work well. In the end, rough consensus and working code is the way forward.
As en engineer, I am also always a student as technologies come and go, and we constantly learn new and better ways to turn ideas into reality.
Languages and Technologies
I use or have experience with the following languages:
Python (2.x - 14 years, 3.x - 3 years)
JavaScript (12 years, ~8 years Node.js)
C/C++ (20+ years)
HTML (20+ years, CSS ~8 years)
Java (13 years, but go back to 1998 with an ACM contest win)
C# (6 years)
Objective-C (4 years)
Lisp/Scheme (3 years)
I also have experience with the following technologies:
Systems and Architectures
Embedded, thin client, thick client, web, cloud, server-client, space (leo) - terrestrial, leo-to-leo, and just about any configuration imaginable
Containers
Docker, Kubernetes
Cloud
Heroku, Amazon Web Services, Google Cloud, Rackspace, Microsoft Azure
Web
Django, Wordpress, Apache, NGINX, Microsoft IIS
Databases
SQL (i.e., Relational): Postgres, MySQL, Oracle
NoSQL (i.e., Document): MongoDB, CouchDB, Redis
Graph: Neo4j, RedisGraph
Cluster/MapReduce: Cassandra, Hadoop
Platforms
Mac OS X, iOS, Android, Linux, Unix, Windows
CPU, GPU, FPGA, PLC, RISC, CISC
Virtualization/Hypervisors
VMWare, Oracle
Game Engines
Unity, Irrlicht, Panda3D, Id Tech 3
Markup
Markdown, JSON, JSON Schema, XML, XML Schema (XSD)
Additional
R, Weka, UML, Cluster/Grid Computing (Condor), Agile Development, Source Control Systems (CVS, Subversion, Mercurial, GIT, Github, Gitlab), Design Patterns, Tableau
A typical project for me these days looks like this (pulled from a current project GitLab) ...
Python Packages and Libraries I Use Often:
SciPy
NumPy
Pillow
Django, or Bottle/Flask for lighter weight web
SQLAlchemy
matplotlib (sometime Seaborn or Bokeh though)
Twisted
Kivy for stand alone or mobile apps
nltk
nose
SymPy
Pattern
Pandas
Machine Learning Specific
Keras, scikit-learn, TensorFlow
Cython
JavaScript Packages, Frameworks, and Libraries I Use Often:
React (interested in moving towards Polymer though)
Node.js
Underscore
MathJS
d3.js
Chart.js
lodash
webpack
Sass
Patents
Granted
US20190196694. "System and Method for Providing Ambient Information to User through Layered Visual Montage." Gregory Michael Youngblood. PARC. 2017.
US20150364026A1. "System and method for automatic objective reporting via wearable sensors." Jonathan Rubin, Gregory Michael Youngblood, Ashwin Ram, Peter L. Pirolli, Jesse Vig, Shane P. Ahern, Lester D. Nelson. PARC. 2014.
US20140310013A1. "Method and a system for providing hosted services based on a generalized model of a health/wellness program." Ashwin Ram, Gregory Michael Youngblood, Peter L. Pirolli, Lester D. Nelson, Jesse Vig, Shane P. Ahern, Jonathan Rubin, Christina Pavlopoulou. PARC. 2013, 2014.
US9594944B2. "Methods and systems for monitoring a worker performing a crowdsourced task." Pramod Sankar Kompalli, Shailesh Vaya, Gregory M Youngblood. PARC. 2013.
Pending
US20170301258A1. "System and method to create, monitor, and adapt individualized multidimensional health programs." Ashwin Ram, Gregory Michael Youngblood, Lester D. Nelson, Anusha Venkatakrishnan, Peter L. Pirolli, Michael K. Silva, JR., Shiwali Mohan. PARC. 2016, 2017.
US20141598. "System And Method To Provide Individualized Health And Wellness Coaching By Crowdsourcing User-generated Goals, Activities, and Conversations ." Ashwin Ram, Lester D Nelson, Gregory M Youngblood, Peter L Pirolli. PARC. 2014.
US20160110315. "Methods and Systems for Digitizing a Document." Shailesh Vaya, Sakyajit Bhattacharya, Sugato Chakrabarty, Gregory M. Youngblood, Kunal Chawla. PARC. 2016.
Research Engineering Projects
Klarigo
from DARPA eXplainable AI Program - COGLE, work done at PARC with Mark Stefik, Bob Krivacic, Jacob Le, and Les Nelson
Klarigo (Esperanto for explanation) provides an explanation interface for users to gain insight into and to develop mental models about choices between potential future drone mission performance outcomes the underlying AI system is making in final performance selection.
This work is addressing explanation need questions for:
What options is the AI considering? Why?
What is the AI not considering? Why?
Exigisi
from DARPA eXplainable AI Program - COGLE, work done at PARC with Mark Stefik, Bob Krivacic, Jacob Le, and Les Nelson
Exigisi (Greek for explanation) provides an interface for an UAS (Unmanned Aerial System) machine learned drone to explain its decisions made along a mission flight. The mission is segmented into different parts each with a different goal and consideration of salient factors. The user can interactively examine the flight or a set of flights interrogating the desiderata of the drone and subsequent task behaviors. Examinations across sets of flights reveals patterns of behavior and drone stimulus-response preferences.
This work is addressing explanation need questions for:
What actions was the AI considering? Why?
What did the AI consider to be important at the time of each action decision? This is known as salience.
MAVSim
from DARPA eXplainable AI Program - COGLE, work done at PARC with Jacob Le
Micro Air Vehicle Simulation comes in a variety of forms. Named after the MAVLink protocol that defines the communication core, MAVSim started as a wrapper around ArduPilot, but has evolved into several version that allow the spectrum of use from actual drone to highly sped-up simulated drones suitable for Deep Reinforcement Learning. The PARC XAI work is exclusively performed in the autonomy domain using MAVSim.
Fittle
Funded by PARC / XIG Explore & Incubate (2012-2014)
Fittle+ Project funded by NSF / NIH Smart and Connected Health (2013-2017)
NutriWalking Project funded by PARC / XIG Explore (2015-2016)
Role: Lead Engineer / Designer / Architect / Researcher in a 6-9 person team
Tech: iOS native app (Obj-C), Android native app, Django/Python Backend
Fittle is a mobile behavior change platform and health challenge exchange. Users choose from a variety of health challenges to accomplish goals via a unique intelligent coaching agent and personalized, engaging user experiences. Fittle transitioned out of research to commercial elements at Xerox at the beginning of 2015.
Fittle+ is the variant of Fittle used to engage the Kaiser-Permanante Hawaii population as part of an NSF/NIH SMart and Connected Health grant.
NutriWalking is a fork post commercial split of Fittle used for continued research on adaptive coaching.
MobSurv
Project funded by PARC / NSF / NSF REU (2013-2016)
Role: Lead Engineer / Designer / Architect / Researcher in a 2-3 person team
Tech: iOS native app (Obj-C), Parse Backend
Mobile Surveys or Surveying the Mob is a project that explores the utility of using visual answers to questions in order to gain more truthful responses. This tool was used to deliver the Ten Item Personality Inventory (TIPI) and compared experimentally to text and other visual forms. MobSurv experiments revealed distinct impacts in response due to context, which could be appropriately leveraged, and an increase in enjoyment and interaction time for users.
Crowd Orchestration
Funded by XIG Explore (2013-2014)
Role: Lead Engineer / Designer / Architect / Researcher in a 3-5 person team
Tech: Android native app, Django/Python Backend
Crowdsourcing is emerging as an important work paradigm, enabling low-cost execution of large numbers of small, online tasks that can be accomplished independently. Many business problems, however, (1) require action in the physical world, and (2) require coordination between individual tasks. This project will develop a new crowdsourcing paradigm, called CrowdOrchestration, to address such problems. Our approach is based on the growth of mobile social media.
The focus of this project is on emergent tasks that have a full or partial real-world, physical component, such as transportation of business documents that are either sensitive or require real signatures quickly between offices (e.g., biz to lawyer or banker). Where courier services often work by hub and spoke systems with often deep queues, it could be more efficient and cost effective to pay (partial) gas costs for someone who is already making a similar trip between the desired locations (or very close-by). Those individuals could be the crowd workers in the proposed system. Other business cases could involve other highly-coordinated tasks such as physical inspections (e.g., property, machinery, items at auction), use of humans in crowd control at big events (e.g., Black Friday sales), use of humans as mobile sensor platforms for identifying crowd sentiment at events and activities, and so forth.
DASFV / PASFV / VASFV
Funded by DARPA (2007-2011)
Role: Research Supervisor for D. Hunter Hale
Tech: C++ using the Computational Geometry Algorithms Library
A novel algorithm developed for decomposing world-space into arbitrary sided high-order polyhedrons for use as navmeshes or other techniques requiring 3D world spatial decomposition. The 3-dimensional Volumetric Adaptive Space Filling Volumes (VASFV) algorithm works by seeding world-space with a series of unit cubes. Each cube is then provided with the opportunity to grow to its maximum extent before encountering an obstruction. VASFV implements an automatic sub- dividing system to convert cubes into higher-order polyhedrons while still maintaining the convex property. This allows for the generation of navigation meshes with high degrees of coverage while still allowing the use of large navigation regions—providing for easier agent navigation in virtual worlds. Compared to the Space-filling Volumes and Automatic Path Node Generation navigation mesh decomposition methods, VASFV provides more complete coverage and a less complex navigation mesh.
PASFV is the planar (2D) version of VASFV.
DASFV, as demonstrated in the video to the left, is the dynamic, realtime decomposition of the environment version. This can be performed in both 2D (planar) and 3D (volumetric).
MAVHome
Funded by NSF (2002-2006) grant ITR 0121297.
Role: Chief Scientist for a rotating group of 4-6 faculty and 8-18 student researchers
Tech: C++ using CORBA across a network of machines and FLTK for interfaces
The MavHome Smart Home project is a multi-disciplinary research project at the University of Texas at Arlington focused on the creation of an intelligent home environment. Our approach is to view the smart home as an intelligent agent that perceives its environment through the use of sensors, and can act upon the environment through the use of actuators. The home has certain overall goals, such as minimizing the cost of maintaining the home and maximizing the comfort of its inhabitants. In order to meet these goals, the house must be able to reason about and adapt to provided information.
Engineering Projects
Enterprise Data Publisher
American Airlines
Role: Software lead for a 5 person cross-functional development team
The Enterprise Data Publisher (EDP) took Passenger Name Records (PNRs) from the batch processing on magnetic tape era to real time integration with the SABRE system. It was written in C++ and utilized a CORBA connection to the SABRE system. Internally it allowed subscribers to register the frequency, buffer size, and delivery format (e.g., MQ, TXT, XML, CORBA Object, etc.) including filtering/processing rules for information delivery.
CBTSP
Motorola Global Telecommunications Solution Sector
Role: Software engineer responsible for requirements analysis, solution design, implementation, and testing. Promoted to Channel Element Services (CES) Team Lead.
Common Base Transceiver Station Platform (CBTSP)
As part of the CBTSP greater team, we developed a comprehensive requirements document to share with our call processing customers that reflected a more detailed view of the 3GPP. Using our CBTSP requirements document, we developed high and low level engineering design documents. As CES team lead, we implemented and delivered the 1.0 version of Channel Element Services for CBTSP 1.0 a month early then led the code review teams for dozens of software parts for the other 3 major components of CBTSP helping the entire project to release on time. CBTSP was the first middleware C++ project at Motorola.
Some parts of the original Channel Element Services live on in every Motorola base station in use today. This is software that has been used in multi-trillions of mobile calls and data transactions globally.
Future Scout
Lockheed-Martin Missiles and Fire Control, Virtual Reality Systems Integration Lab
Role: Software engineer responsible for requirements analysis, solution design ,implementation, and testing in support of high-end military simulation systems .
Future Scout was an reconfigurable engineering simulator consisting of multiple pods (one for each person in a vehicle) that allowed for experimentation and mission rehearsal of different vehicle configurations. This was used by the US and UK Armies to determine the actual requirements for scout vehicles as part of their future force initiatives.
I worked specifically on software involving laser illumination and targeting, designed hardware cable integration and controller management rack mounted units, and develop low-level ADIO drivers for custom controllers.
Delivered a full engineering reconfigurable simulator for ground vehicles to the U.S. Army and to the U.K. Lockheed-Martin Research Organization in Farnborough, England (for use by the UK Army).
Games Research
Greener Challenge
Funded by Shadow Corporation (2011-2012)
Role: Technical and Research Advisor
The save energy initiative will engage our city in reducing energy consumption by 20%, leveraging new SmartGrid technology and interactive digital displays to make energy usage more salient and connected to the everyday lives of local citizens. As part of this effort, the companies in a couple dozen office buildings in the city have agreed to share their energy usage information with the project, and many of these buildings will house digital displays that will have near real-time information about current and recent past energy consumption. We have built Greener Challenge, a mobile and web-based game to motivate citizens to report the actions they’ve taken each day to save energy and contribute to the city's goals. Through the Greener Challenge interface, city professionals register as part of a building or cooperative group, and can challenge one another to take certain green actions such as turning off lights, carpooling, setting the thermostat closer to the outside temperature, or bringing their own coffee cups to work. When participants make energy-conscious decisions and report their actions online or through smart phones, they earn garden gold, and can use it to arrange or add items to their own Greener Challenge garden. Players can enter snapshots of their gardens to the Greener Challenge Showcase, where they can rate and comment on one another’s gardens. Actions reported to Greener Challenge will be tallied along with those taken via the building kiosks in the City, and popular Greener Challenge gardens may sometimes be displayed on the central displays in city buildings.
BehaviorShop
Funded by DARPA (2007-2011)
Role: Technical and Research Advisor for Fritz Heckel
BehaviorShop: An Intuitive Interface for Interactive Character Design
Artificial Intelligence for interactive characters is held back by the difficulty of actually creating those characters. There is a need for intuitive tools which simplify the process of building complex AI characters. In this paper, we present BehaviorShop, a tool for building interactive characters, and the results of a study to test the effectiveness and ease of use of this tool. The majority (80%) of test subjects were able to successfully create a complex character using BehaviorShop. Our results show success with this interface, and the advantage of using the subsumption architecture as a paradigm for character creation.
DASSIEs
Funded by DARPA (2007-2011)
Role: Technical and Research Advisor
First/third-person training simulations in virtual environments have become increasingly used; however, authoring intelligent virtual agents to populate these environments presents a large authorial burden. Our work focuses on building tools to enable rapid creation of intelligent agents for first/third-person game-like environments that enable users with no programming knowledge to develop interactive agents. This is made possible using an intuitive agent architecture known as behavior-based control combined with a user interface employing natural language-like agent specification and an interactive testing during agent development. We present the results of a study indicating that users with no programming experience can successfully design agents using our tool — defined as creating an agent that would carry out at least 80% of role-specific baseline behaviors — after only minimal training in the interface.
The CGUL Toolkit
Role: Technical and Research Advisor for Priyesh Dixit
The Common Games Understanding and Learning Toolkit
Creating an interactive 3D environment can be challenging, in particular because every user (player) will interact with the environment in their own unique manner. Gaining feedback through playtesting is a common method for evaluating an interactive experience. However, the information gathered from playtesting is often subjective and hard to interpret. Visual representation of logged game player data can provide insight in order to discover patterns and behavior that would otherwise be hidden. In this paper, we explored the use of visual data mining and automated data processing to process the logged player data and present the results of finding five unique phenomena in our dataset of 3079 players. These phenomena include pirouettes, flusters, jumpers, learning, and emergent behavior. Using the visual data mining process, we can find occurrences of such behavioral patterns in order to understand player behavior and improve the interactive experience.
Urban Combat Testbed (UCT)
Funded by DARPA Transfer Learning program
Role: Technical and Research Advisor
We extended the open source Quake 3 Arena code base released by Id Software to include modification friendly code segments, art asset blueprints, external agent control and perception interfaces, game interaction logging, and a tool set that allows the creation of test beds for artificial agents. Our current modification work in the Urban Combat Testbed using the Q3 Mod Base is currently being used to study transfer learning in human and agent players and as an AI teaching tool.
UCT was in use in over six major US universities to develop research agents in the exploration of transfer learning which can bootstrap agent knowledge from a source domain to a target domain reducing the amount of learning necessary by an agent and improving solution convergence time. Human player and agent work is being performed using UCT. UCT is also a part of NRLs TIELT.
Games
Incursion
XBox Live Arcade Indie, Released: 5/25/2009
Executive Producer
In Incursion you control immigrants from all over the world. Use resources to train four types of immigrants: the digger, the snipper, the sprinter, and the mine sweeper., You will face treacherous terrain, rivers, barbed-wire fences, border guards, and even landmines! Players will glimpse what so many people all over the world strive for, a chance to start a better life in a new country.
AlphaMorph
XBox Live Arcade Indie, Released: 4/7/2014
Executive Producer
AlphaMorph! Collect energy from your defeated enemies to power and upgrade ship systems. Morph into powerful new forms to complete each stage.
Code Repositories
Personal
GitHub (gmyoungblood) - Personal projects and code releases.
GitLab (gmyoungblood) - Personal projects and code releases. NEWER CODE HERE
Professional
GitHub (gmyoungblood-parc) - External code releases during my tenure at PARC.
GitLab (gmyoungblood-parc) - External code releases during my tenure at PARC.
Many projects I work on do not have a public version, but I am working to openly share everything that I can.
I do prefer GitLab over GitHub, so newer code may be found there.
Other Engineering Tidbits
I hold an FCC Amateur Radio Technician License: KM6JUI, which is used primarily for some CubeSat work I am involved in
I have passed the general Fundamentals of Engineering exam and am eligible to take the PE exam.
Unless otherwise noted, all page and website content Copyright ©️MCMLXX-MMXXIV by G. Michael Youngblood. All Rights Reserved.