Blog
Research notes, technical essays, tutorials, and dispatches from the PhD journey. Written to be useful to other researchers and engineers.
FEATURED
Building a Rust Orchestration Framework for Heterogeneous IoT + ML Systems
How we unified I2C, BLE, and TCP/IP under a single typed envelope format while enabling gradient and weight exchange between autonomous agents. A walkthrough of the Cognitive Mesh MVP codebase.
The Cognitive Mesh: Why Intelligence Should Be a Property of the System, Not the Model
The case for emergence-first distributed AI — moving from model-centric to agent-collective-centric intelligence design. Why centralisation is a structural limitation, not an engineering problem.
ALL POSTS
From Toiminimi to PhD: Structuring a Research Venture in Finland
Practical notes on running a Finnish sole trader research practice while pursuing doctoral research — legal structure, YEL considerations, tax, and managing the split between billable work and academic output.
FLTrust vs Krum vs Bulyan: Choosing a Byzantine-Robust Aggregation Algorithm
A practical comparison of Byzantine-robust federated aggregation algorithms for non-IID, signal-native edge environments. Why I chose FLTrust for the Cognitive Mesh and what the tradeoffs are.
How I2C Works — for AI Engineers Who Have Never Touched Embedded Hardware
A ground-up explanation of the I2C protocol for software/ML engineers crossing into embedded systems. Addressing, timing, the master-slave model, and why it matters for edge AI.
Setting up a Multi-Crate Rust Workspace for Systems Research
How to structure a Rust workspace with multiple crates, enforce layered dependencies, and organise research code so the architecture is visible in the file system.
WiFi CSI-Based Human Activity Recognition: The Signal-Native Benchmark
Why WiFi Channel State Information is a compelling modality for edge AI — no cameras, no explicit consent, ground truth from physical activity. Setting up the HAR benchmark for the Cognitive Mesh evaluation.