Mark Bacon
Architect working on IoT, telecoms and connected embedded systems. These pages hold the guidelines, reference notes, primers and blog posts I write along the way, and the open-source tools I build for docs as code and device engineering.
Sections
GuidelinesEngineering guidelines: how to plan, design, build, review, release and run software.
StandardsCoding and platform standards for C, Python, MISRA, LwM2M and constrained IoT devices.
Templates & ChecklistsChecklists and templates: design, code review, definition of done and ready, defects.
FirmitasA framework for sustainable engineering delivery: why programmes fail, and how to design for success.
PrimersShort introductions to architecture, cloud, IoT, security and methods. The Tech 101s.
GuidesLong-form guides and deep dives: architecture, IoT, cyber security, testing, Git and ways of working.
Architecture HandbookPatterns, principles, API design and governance for software architecture.
GlossaryTerms used across software, IoT and architecture: a page per letter, then numbers and symbols.
Tech RadarThe technologies, tools and methods I adopt, trial, assess or hold.
BlogPosts on software architecture, technical leadership and docs as code.
Projects
py-doc
Markdown technical documentation to Word, PowerPoint, PDF, HTML and web sites. It builds this site.
ctxlogkit
One-call Python logging with context on every line, in text and JSON.
OmniUART
Schema-driven UART protocol tool with a CLI, a script runner and a web UI.
BC660K dashboard
Real-time signal and cell dashboard for a Quectel BC660K NB-IoT modem.
reqtool
Git-backed YAML requirements management with traceability.