Matt Widmann
Silicon Valley, CA, USA • hello@mattwidmann.net
I enjoy working on low-level systems software and tools that make programs understandable.
Experience
Kernel Engineer at Apple Inc. (2015 - Present)
In the Core Darwin group, I build profiling and tracing systems 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 give precise information about how the CPU is executing instructions.
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: Rust, C, Swift, Lua, Go, Objective-C, JavaScript, HTML, CSS
- Technologies: UNIX, Mach, SQLite, Grand Central Dispatch, SVG, Ansible, ZFS
- Topics: OS kernels, tracing, hardware counters, computer performance, statistics, data visualization
Personal Projects
-
Raspberry Pi server deployments in Ansible with custom Prometheus exporters in Go. (2022)
-
A computer graphics environment in Rust. (2021)
-
The static site generator for my website, first in Lua and then in Rust. (2020 - 2022)
-
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 22 October 2022.