Silicon Valley, CA, USA • hello@mattwidmann.net
I enjoy working on low-level systems software and tools that make software understandable.
Experience
Kernel Engineer at Apple Inc. (2015 - Present)
In the Core Runtimes group, I build observability tools that are integrated into the operating system kernel, xnu.
These include a low-level static tracing system called kdebug and the kperf CPU profiler, along with the CPU resource accounting mechanism for threads, processes, and coalitions (i.e. rusage counters).
I also maintain the trace(1) tool and supporting user space libraries that allow higher-level apps like Instruments to inspect the system.
In addition, I work on the hardware performance counter interfaces, which help developers understand how the CPU is executing instructions.
In June 2025, I presented the performance mindset, sampling profilers, Processor Trace, and the improved CPU Counters instrument in Optimize CPU performance with Instruments.
Outside of the kernel, I designed and implemented the performance testing infrastructure to flag performance regressions for all of Darwin. As necessary, I investigate performance regressions across the system. I ported and maintain a Lua-based scripting system for reproducible performance investigations, with a dozen custom Lua libraries for Apple-specific interfaces.
Software Intern at Apple Inc. (2014)
I built a tool to plot hardware performance counter data from instrumented code, as well as a library for performance counter event configuration.
Education
University of Michigan, Ann Arbor (2010 - 2014)
Bachelor of Science in Computer Science
I focused on operating systems at Michigan and was a teaching assistant for the introductory operating systems course. I also took one of the more difficult courses, Advanced Object-Oriented Programming in C++, where we built a maritime shipping simulation.
Skills
Languages: Swift, C, Zig, Rust, Lua, Nix, Objective-C, HTML, CSS
Technologies: UNIX, SQLite, Grand Central Dispatch, SVG, Ansible, ZFS
Topics: OS kernels, tracing, hardware counters, computer performance, statistics, data visualization
Personal Projects
The static site generator for my website, first in Lua, then in Rust, and now in Zig. (2020 - 2025)
Raspberry Pi server deployments in Ansible with custom Prometheus exporters in Go. (2022)
A computer graphics environment in Rust. (2021)
A Rust embedded-hal crate for the Sensirion SPS30 air quality sensor to integrate it with Homebridge. (2020)
A fast topographic contouring algorithm in Lua and then Rust to generate maps for my pen plotter. (2019 - 2021)
Updated on 1 September 2025.