I've been a software engineer for over 20 years. I've worked at a variety of places from UCLA to CUNY to Spotify and now Meta, where I focus on BPF-related things. Outside of work I enjoy cooking, playing the guitar, horology, and taking long walks with my wife and dog.

Presentations

23x

bpftrace: learning to be a language

bpftrace provides a quick and easy way for people to write observability-based eBPF programs, especially those unfamiliar with the complexities of eBPF. We always claimed bpftrace was a "high-level tracing language" for Linux even though it was missing the basic features of a language: composability, primitives to avoid code duplication, and even proper loops. It was also trailing behind the larger, upstream BPF feature set. This talk is about how we're working to transform bpftrace from a box of tools (one-liners) to a language for making new tools.

https://bpftrace.org/

See Presentation
22x

Evolving a DSL: How bpftrace makes language design decisions

On its face, bpftrace is a simple DSL/tracing-tool for writing BPF programs. It abstracts away a lot of the complicated user and kernel space code neccessary to write observability and debugging programs. However, adding new language features/syntax isn't easy. There are a lot of considerations to be made in regards to bpftrace's primary usecases and the classic problem of how much complexity/details to hide from the user.

See Presentation
22x

bpftrace hands on lab

bpftrace is a popular high-level tracing language and CLI tool for Linux systems with a growing user base and an active development community (bpftrace.org). This session will be a practical, hands-on exploration of bpftrace. No former knowledge of bpftrace required. Maintainers will guide you through the key areas of the technology in a series of carefully designed mini-tutorials and corresponding exercises.

See Presentation