Skip to content
dgDavid Gray
All work

A processor built from the ground up

Kernel, task scheduler and communication protocol written from nothing, in C and Ada, now in production and distributed globally.

Type
Professional
Year
2021 — present
Built with
C · Ada · RTOS · Bare metal

Most engineers meet the operating system as a given. I started my career on the other side of it.

At Boeing I engineered a processor from the ground up — the kernel, the task scheduler, the inter-processor communication protocol, the lot — in C and Ada for a real-time embedded target. It is now in production and shipping globally.

Why it was hard

Real-time embedded work has no forgiving path. There is no garbage collector to hide an allocation mistake, no orchestrator to restart a crashed process, and no opportunity to push a hotfix once the hardware leaves the building. Every timing assumption has to hold on the worst-case path, not the average one, and every byte of state has to be accounted for.

The scheduler was the part I think about most. Getting deterministic behaviour out of a system with competing periodic and aperiodic tasks is less about clever algorithms and more about being ruthless with the requirements: what genuinely must happen inside the deadline, and what only feels urgent.

What I took from it

Starting at the bottom of the stack permanently changed how I read higher-level code. The “magic” I used to assume was part of every great framework turned out to be somebody else’s careful engineering, made of the same primitives I was writing by hand. That has made me a much less superstitious debugger.

Program details are omitted for obvious reasons. Happy to talk about the engineering at whatever level of abstraction is appropriate.

Let's connect

Have something hard that has to work?

Contract work, a full-time role, or a problem you want a second opinion on — I read every message and reply to the ones that aren't a template.

Email me

Usually replies within 24 hours · St. Louis, Missouri

ESC

Home

Main landing page & highlights

Page

Work

All engineering projects & case studies

Page

Writing

Technical notes & engineering articles

Page

Photos

Photography & outdoor expeditions

Page

About

Background, career timeline & skills

Page

Contact

Email, inquiries & consultation

Page

Copy Email Address

davidgraymi@gmail.com

Action

Toggle Light / Dark Theme

Switch color theme

Action

Download Résumé

Word document (.docx)

Download

Play Wordlet

Launch the Flutter word puzzle in browser

Game

Visit GitHub

github.com/davidgraymi

External

Visit LinkedIn

linkedin.com/in/david-gray-mi

External

A processor built from the ground up

Kernel, task scheduler and communication protocol written from nothing, in C and Ada, now in production and distributed globally.

Professional

Sign Language Interpretation System

Control any smart device with American Sign Language — hand tracking, a gesture classifier and grammar correction, wired together over a client-server link.

Capstone

A system library that runs anywhere

One portable C++ library targeting any RTOS or bare-metal system, packaged with Docker, Bazel and GitLab CI — cutting porting work by 4×.

Professional

Patient Care Portal Triage

An NLP pipeline that routes patient portal messages to the right team and surfaces relevant evidence-based research while they wait for a human.

Research

Bindersnap

GitHub for everyone who doesn't use GitHub — document management, review lifecycle, team collaboration, search and an in-browser editor.

Personal

Wordlet

A word guessing game built in Flutter and compiled to the web — playable right here, no install, no account.

Personal

Reinforcement Learning applied to Tetris

An agent that learns to play Tetris — a genuinely fun excuse to get hands-on with reward shaping.

School

Handwritten digit recognition with weighted KNN

A KNN classifier for handwritten digits, plus a k-value optimizer that collapses repeated distance calculations into a single pass.

School

ID3 mushroom classification

A from-scratch ID3 decision tree that predicts whether a mushroom is edible or poisonous from its attributes.

School

Healthcare length-of-stay estimator

A data mining project predicting how long a patient will stay, from admission-time features.

School

This website

A static site built with Astro, hosted free on GitHub Pages, designed so writing a post costs one markdown file and nothing else.

Personal

I rebuilt this site so that publishing costs one file

The old site was a single 41,000-character index.html. Every change was archaeology. Here is what I replaced it with and why the constraint was maintenance, not design.

Post
to navigate to select
Linear / Raycast mode