Skip to content
View drflamemontgomery's full-sized avatar

Block or report drflamemontgomery

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
drflamemontgomery/README.md

Ashton Warner - Computer Systems Engineering Student

I'm a Computer Systems Engineering student from New Zealand interested in low-level software, embedded systems, and compiler tooling.

I primarily work in C and enjoy exploring systems programming, where software interacts with hardware and operating systems. My current projects include USB development with TinyUSB, compiler extensions using GCC plugins, and building developer tools such as CLT, a lightweight C testing framework.

Current Interests

  • Embedded systems
  • USB protocols
  • Linux kernel development
  • Compiler tooling
  • Operating systems
  • C programming

Development Environment

  • Arch Linux
  • Vim
  • GCC toolchains
  • Git
  • GDB

About C

C has been my primary language since 2018. I enjoy its simplicity, explicitness, and control over how software is structured and executed.

I enjoy exploring software design patterns in C while maintaining explicit control over memory layout, resource management, and program structure.

Currently Working On

  • Participating in open-source projects, including Linux kernel development and learning upstream contribution workflows.
  • Extending TinyUSB with USB Hub support.
  • Improving CLT functionality, including compiler compatibility and additional assertion support

Featured Projects

  • TinyUSB Hub Support

    • Implementing USB Hub functionality in TinyUSB, including descriptors and downstream port enumeration following the USB 2.0 specification
  • CLT - C Lightweight Testing Framework

    • A modular C testing framework that keeps unit tests alongside production code while excluding them from release builds
  • GCC Struct Inheritance Plugin

    • GCC plugin implementing experimental inheritance-style extensions for C structure types

Writing

I occasionally write about programming, C, and systems development on Dev.To

Pinned Loading

  1. clt clt Public

    C Lightweight Testing Framework

    C

  2. gcc-flattenstruct gcc-flattenstruct Public

    A custom GCC plugin to flatten struct fields for more OOP style structs

    C

  3. Rosetta Rosetta Public archive

    A Raspberry Pico project for converting HID devices into Controllers

    C 10 2

  4. setup-zig setup-zig Public

    Setup your GitHub Actions workflow with a specific version of Zig