PinnedDavid TurveneA Portable Ringbuffer Implementation in CThis project demonstrates a small, portable ringbuffer design suitable for embedded projects, Linux device drivers and user-space code. The…Oct 15, 2022Oct 15, 2022
David TurveneUsing Docker for a portable QEMU environmentThis article explores running QEMU in a Docker container to easily build, provision, maintain and run the necessary packages for QEMU…Jun 29, 2023Jun 29, 2023
David TurveneMy Experience Using the Meson Build System Instead of MakeThis article explores using meson to replace make for building artifacts from source code. The artifacts include: executable programs, link…Feb 3, 2023Feb 3, 2023
David TurveneImplementing a Finite State Machine in CThis project demonstrates how to create, manage, drive and regression test a deterministic finite state machine (DFSM). The motivation for…May 12, 2021May 12, 2021
David TurveneImprove Your Bicycle Ride Performance and EnjoymentAs the weather gets warmer, I am (as with every spring) noticing a lot of bicycle riders coming out of hibernation: spinning through parks…Mar 26, 2021Mar 26, 2021
David TurveneQEMU Hardware Interrupt SimulationThis paper describes how QEMU translates and delivers host events as hardware interrupt to a guest kernel.Feb 14, 2021Feb 14, 2021