Home > Speakers >

Nathan Jones

Nathan is an active-duty Army officer and instructor at West Point in the Department of Electrical Engineering and Computer Science. Nathan loves building fun or useful electronic devices and then teaching people how they work!

Exception Handling

Status: Coming up in April 2025!

Programmers often focus on designing the "happy path" for their codeā€”the scenario where everything goes smoothly, values are within range, and no timeouts occur. However, this emphasis can come at the expense of a program's robustness: its ability to continue operating effectively when exceptions or unexpected conditions arise.

In this workshop, participants will actively explore run-time options for handling exceptions, including techniques like global and local error indicators, return values, immutable sections of code, goto chains, and try-catch mechanisms. Through hands-on exercises, you'll learn how to implement these approaches with minimal extra code and complexity.

By the end of this workshop, you'll have practical strategies for building more robust and reliable programs, ensuring that your code can gracefully handle the unexpected while maintaining simplicity and clarity.

Go to Session


The Power of a Look-up Table

Status: Available Now

Look-up tables have been speeding up math operations for time immemorial, but there's more to this simple programming "idiom" than just numbers in an array. Join me in this talk as we discover and categorize the different ways we can store and retrieve data from arrays in ways that enable all sorts of fun and useful things, from creating digital music to building jump tables that drive command parsers or finite state machines.

Go to Session


Live Q&A - The Power of a Look-up Table

Status: Available Now

Live Q&A with Nathan Jones for the talk titled The Power of a Look-up Table

Go to Session


Building a Simple Command-Line Interface

Status: Available Now

Adding a command-line interface (CLI) to an embedded device doesn't need to be difficult! In this microtalk, I'll demonstrate how to build a simple CLI over UART using just a few dozen lines of code. We'll finish up by looking at a few improvements to that implementation, as well as some libraries that can allow for some exceedingly capable command-line interfaces.

Go to Session


OOP in C

Status: Available Now

Believe it or not, it's possible (and encouraged!) to use object-oriented programming (OOP) in plain-old C. Object-oriented code exhibits the qualities of abstraction, encapsulation, polymorphism, and inheritance, and these qualities can help make an application easier to write, debug, and change. In this talk, I'll demonstrate how to do achieve these qualities in C, ranging from the simple to the complex. This talk is based entirely on work I share publicly here: https://github.com/nathancharlesjones/Comparison-of-OOP-techniques-in-C.

Go to Session


Live Q&A - OOP in C

Status: Available Now

Live Q&A with Nathan Jones for the talk titled OOP in C

Go to Session