Code

Having programmed in Python since 2000, I have created and contributed to numerous open-source tools for both music and data processing. More recently I have been using Rust for high-performance cybersecurity tools.

Featured Code

Fetter IO is web-based platform for tracking Python packages and vulnerabilities.

  • Fetter IO
    Python Supply-Chain Omniscience.
    2025 to present
    Rust, Axum, NextJS, Tailwind

My passion for writing fast and maintainable Python DataFrame code led to the creation of StaticFrame, an immutable alternative to Pandas.

All Code

  • Fetter IO
    Python Supply-Chain Omniscience.
    2025 to present
    Rust, Axum, NextJS, Tailwind
  • Assistant Research
    Daily LLM process to derive a profile from GitHub activity, collect and rate articles based on relevance to that profile, and generate a daily digest posted as an issue.
    2026 to present
    Anthropic API, GitHub API, Python
  • xensieve
    Rust-based implementation of the Xenakis sieve.
    2024 to present
    Rust
  • Fetter
    System-wide Python package discovery, validation, and allow-listing.
    2024 to present
    Rust, OSVDB
  • StaticFrame
    Immutable and statically-typeable DataFrames with runtime type and data validation.
    2018 to present
    Python, NumPy
  • StaticFrame API Search Server
    Search and explore the StaticFrame API with MCP and OpenAPI servers.
    2023 to present
    TypeScript, React, NextJS, Tailwind
  • ArrayKit
    Python C Extensions for StaticFrame.
    2020 to present
    C, NumPy C API, CPython API, Python, NumPy
  • FrameFixtures
    Use compact expressions to create diverse, deterministic DataFrame fixtures with StaticFrame.
    2020 to present
    Python, NumPy
  • function-pipe
    Tools for extended function composition and pipelines in Python.
    2014 to 2017
    Python
  • music21
    A Toolkit for Computer-Aided Musical Analysis and Computational Musicology.
    2009 to 2012
    Python, MusicXML, MIDI

Articles

My writings in software engineering, Python, cybersecurity, and algorithmic music composition have been published in journals, conference proceedings, and popular publishing platforms.

Featured Articles

Find the most vulnerably Python package on your system!

  • What Is the Most Dangerous Python Package on Your System?
    2025

Free-threading is the future of Python.

  • Liberating Performance with Immutable DataFrames in Free-Threaded Python
    2025

All Articles

  • What Is the Most Dangerous Python Package on Your System?
    2025
  • Liberating Performance with Immutable DataFrames in Free-Threaded Python
    2025
  • Do More with NumPy Array Type Hints: Annotate & Validate Shape & Dtype
    2025
  • Guarantee a Locked & Reproducible Environment with Every Python Run
    2025
  • System-Wide Python Package Control: Enforce Allow Lists & Find Vulnerabilities
    2024
  • Improving Code Quality with Array and DataFrame Type Hints
    2024
  • Faster DataFrame Serialization
    2024
  • Type-Hinting DataFrames for Static Analysis and Runtime Validation
    2023
  • Memoizing DataFrame Functions
    2023
  • The Performance Advantage of No-Copy DataFrame Operations
    2022
  • One Fill Value Is Not Enough: Preserving Columnar Types When Reindexing DataFrames
    2022
  • StaticFrame from the Ground Up: Getting Started with Immutable DataFrames
    2022
  • Using Higher-Order Containers to Efficiently Process 7,163 (or More) DataFrames
    2022
  • Ten Reasons to Use StaticFrame instead of Pandas
    2020
  • Boring Indices & Where to Find Them: The Auto-Incremented Integer Index in StaticFrame
    2019
  • Two Pioneering Projects from the Early History of Computer-Aided Algorithmic Composition
    Computer Music Journal 2011
  • The music21 Stream: A New Object Model for Representing, Filtering, and Transforming Symbolic Musical Structures
    Proceedings of the International Computer Music Conference 2011
  • Analytical and Compositional Applications of a Network-Based Scale Model in music21
    Proceedings of the International Computer Music Conference 2011
  • music21: A Toolkit for Computer-Aided Musicology and Symbolic Music Data
    Proceedings of the International Society for Music Information Retrieval Conference 2010
  • Modeling Beats, Accents, Beams, and Time Signatures Hierarchically with music21 Meter Objects
    Proceedings of the International Computer Music Conference 2010
  • The Interrogator as Critic: The Turing Test and the Evaluation of Generative Music Systems
    Computer Music Journal 2009
  • Sonifying Sieves: Synthesis and Signal Processing Applicatinos of the Xenakis Sieve with Python and Csound
    Proceedings of the International Computer Music Conference 2009
  • Python at the Control Rate: athenaCL Generators as Csound Signals
    Csound Journal 2008
  • Serial RSS Sound Installation as Open Work: The babelcast
    Proceedings of the International Computer Music Conference 2007
  • Automata Bending: Applications of Dynamic Mutation and Dynamic Rules in Modular One-Dimensional Cellular Automata
    Computer Music Journal 2007
  • The Xenakis Sieve as Object: A New Model and a Complete Implementation
    Computer Music Journal 2005
  • Navigating the Landscape of Computer-Aided Algorithmic Composition Systems: A Definition, Seven Descriptors, and a Lexicon of Systems and Research
    Proceedings of the International Computer Music Conference 2005
  • An Open Design for Computer-Aided Algorithmic Music Composition: athenaCL
    Ph.D. Dissertation, New York University 2005
  • Ornament as Data Structure: An Algorithmic Model based on Micro-Rhythms of Csángó Laments and Funeral Music
    Proceedings of the International Computer Music Conference 2003
  • Prokaryotic Groove: Rhythmic Cycles as Real-Value Encoded Genetic Algorithms
    Proceedings of the International Computer Music Conference 2002

Talks

I have given presentations at numerous national and international conferences, both in music and software engineering.

Featured Talks

This talk explores the strange relationship of static typing in Python.

  • The Paradox of Statically Typed Python and Polymorphic C
    PyBeach USA 2025

TypeVarTuple is novel typing construct in Python.

  • Elastic Generics: Flexible Static Typing with TypeVarTuple and Unpack
    PyCon USA 2025

All Talks

  • The Paradox of Statically Typed Python and Polymorphic C
    PyBeach USA 2025
  • Elastic Generics: Flexible Static Typing with TypeVarTuple and Unpack
    PyCon USA 2025
  • Out-Performing NumPy is Hard: When and How to Try with Your Own C-Extensions
    SciPy 2023
  • Building NumPy Arrays from CSV Files, Faster than Pandas
    PyCon USA 2023
  • Employing NumPy's NPY Format for Faster-Than-Parquet DataFrame Serialization
    PyCon USA 2022
  • Why Datetimes Need Units: Avoiding a Y2262 Problem & Harnessing the Power of NumPy's datetime64
    PyData Global 2021
  • The Best Defense is not a Defensive Copy (lightning talk starting at 18:25)
    PyData LA 2019
  • Fitting Many Dimensions into One The Promise of Hierarchical Indices for Data Beyond Two Dimensions
    PyData LA 2019
  • A Less Kind, Less Gentle DataFrame (lightning talk starting at 53:00)
    PyCon USA 2019
  • StaticFrame, like Pandas but safer
    TalkPython['Podcast'] 2019
  • StaticFrame: An Immutable Alternative to Pandas
    PyData LA 2018

Music Composed

Starting in the mid 1990s I composed experimental music in a variety of mediums, including acoustic, electronic, and computer music.

Featured Music Composed

A goal of this work was immersive textures of color and noise. To this day I enjoy the immersive space this work creates.

One of my favorite acoustic compositions, this work explores a variety of rhythmic environments.

All Music Composed

About

More about this site.
  • Biography
  • Site History
  • About the Flexatone

flexatone.net site v6.0.0. Copyright 1996-2026. Post comments or questions at the flexatone-comments GitHub repository.