-
Original timestamps for Git
How to commit files to Git with the original timestamp. (Or an alternative to https://githistorygenerator.com/ that can make you less employable by revealing side projects from the last century.) I had a few copies of an old project amiga-scroller on an old hard disk image. The files were checked into...
-
Exploring C++20 coroutines for embedded development
Introduction This post is about using C++ coroutines to suspend and resume functions in real time. The objective is a simple way of building real time tasks using only C++, without the need for an RTOS or operating system kernel. Coroutines are functions that can be suspended and resumed, using...
-
Building a header-only C++20 coroutine runtime
Creating the coroutines runtime infrastructure A simple coroutine example was presented in “C++20 coroutines, header only, without an OS”. This post describes the runtime used for that example in detail. This story is also published on Medium. Summary of the runtime files The runtime for this example is a set...
-
NXP MCUXpresso SDK USBPD Stack
Old Code Restoration This is code I’ve contributed to professionally and delivered to NXP. NXP have released it under the BSD 3-Clause license, so I’ve made a copy for reference: https://github.com/nakane1chome/MCUXpresso-SDK-USBPD-Stack/tree/main I have not included other parts of MCUXpresso, so it is unlikely to compile as-is. About This is a...
-
Housing Rent vs Mortgage Calculator
Ever since reading this Economist article many years ago I’ve been interested in the actual cost of home ownership vs renting, as opposed to the the “rent money is dead money” argument. Some time ago I built a model to evaluate scenarios for myself. The model can be accessed here:...