Chats with James 013 - Ryan Summers

In this episode, James chats with Ryan Summers about the process of developing protocols, the guidelines of working in safety critical and embedded engineering.

Originally recorded on 2023-08-03. more

Chats with James 012 - Sophia Turner

James has been working on mnemOS, a hobby-grade operating system written in Rust, in his free time. Check out the repo here, and read about the history and current progress on OneVariable's blog.

In this episode, James chats with Sophia about the intricacies of writing programming languages, what makes designing programs fun, strategies for defining goals, and more.

Originally Recorded on 2023-29-06. more

Mnemos moment - Search for a Shell

A screenshot of a monochrome simulated display, showing forth code

This post continues catching up on the current status of mnemos, a hobby-grade OS written in Rust.

The last post covered the basics of the OS and why it exists. This post explores the work that gave mnemos an interactive, forth-inspired, user shell. more

This Moment in mnemos

A logo with the text "mnemos" over a quill

Recently, work on mnemos has started up again, and we have made a pretty exciting amount of progress in a relatively short amount of time.

This is a recap (or introduction!) of where I left off with mnemos at the end of 2022. more

Phase Locked State Machines

I work a lot with systems that talk to other systems. Technically, this puts them in the class of distributed systems, but unlike databases or something similarly complex, it's usually some kind of PC (laptop, webserver), talking to some kind of embedded system (a USB device, a sensor).

Regardless of complexity, these systems need to talk to each other to achieve some goal: obtaining sensor data, changing configuration values, etc. For many simple cases like these, we can think of these systems as "phase locked" - they are two systems that move state-to-state at the same time.

This post explores a technique I've found, and that I think is useful (and fun?) for specifying protocols in Rust. Prefer to jump straight to the code? It's here on github. more
< < Back