Harrison Nicholls

Headshot

About

I’m a 2023 Steve Jobs Archive Fellow with a B.A. in Computer Science and minor in Music from Reed College. I specialize in software, cryptography, theoretical CS, and designing user-centric tools.

ToneGram: Grammar-Based Music Composition

I’m building a novel approach to music composition using generative grammars that puts artists at the center of the composing process. While many new digital composition tools focus on leveraging AI trained on existing musical works, ToneGram proposes a different - but still generative - approach that preserves creative ownership.

Watch SJA Talk

For much of my life, I’ve played the violin and composed music, which led to this work exploring the intersection of computer science and creative expression. My idea in creating ToneGram is to apply Context-Free Grammars to music composition through an accessible, user-friendly platform.

A grammar is a set of replacement rules that transform an initial symbol into a sequence of other symbols according to a specific structure. My observation through my music-making experience was that musical phrases have structure that can be described grammatically. With ToneGram, these symbols represent musical elements—from individual notes to entire phrases or song structures. As the composer, you design the grammar that generates music with the characteristics you want.

ToneGram will include a collaborative dimension where users can contribute fragments to a public archive, with other users building grammars that incorporate these fragments into their own works. This way, in contrast to the problematic use of works without permission as training data for AI music generation, the original fragment authors are credited automatically.

This project is currently in private development with a collaborator.

Project Overview PDF with description of features and stack

Visual Samples

Generating

Generating Music

Editor

Midi Editor

Rules

Rule Creation

Redesign

Redesign

Undergraduate Thesis: Formal Verification of Google’s QUIC Protocol

My undergraduate thesis at Reed College focused on formal verification of cryptographic key exchange protocols. I used Tamarin Prover, a language for protocol-level formal verification, to analyze the security properties of Google’s QUIC protocol.

Internet communication occurs over unsecured networks where many parties can view and manipulate messages sent over public channels. Cryptography aims to protect these communications from malicious actors. While cryptographers can reasonably prove properties of individual cryptographic components (schemes) on paper, guaranteeing security when these components are combined into larger systems (protocols) becomes increasingly complex.

In my work, I demonstrated how formal verification can be applied to automate security proofs, making it feasible to analyze both small-scale projects and large, complex real-world protocols like QUIC where manual analysis would be impractical.

Experience

Cryptography Standards Lab (Penumbra)

Information Security Engineer, full time (2024-current)

  • Developing internal tool suite, including a fully local, full-stack RAG pipeline for document management and information retrieval on sensitive documents, and many more automation and data-handling projects in python
  • Performing analysis and evaluation of cryptographic modules and entropy sources according to NIST cryptography standards. This role involves heavy documentation + code review and technical writing

Steve Jobs Archive Fellowship

Fellow (2023-2024)

  • Design and development of ToneGram, a novel generative grammar-based music composition tool
  • Presented work at the SJA final retreat

Reed College

B.A. in Computer Science, Minor in Music ('23)

SLAC (Stanford Linear Accelerator Center)

Technology Innovation Directorate Internship (Summers 2020-2022)

  • Interned at SLAC in the Technology Innovation Directorate division throughout college
  • Contributed lots of Python code to SLAC's internal tools, libraries, and projects. Work included contributions to a medical device, a telescope sensor array, and a live sensor readout tool