Skip to content
View wowkster's full-sized avatar
🖥️
Probably Programming
🖥️
Probably Programming
  • Adom Industries Inc. @adom-inc
  • Texas, USA
  • 04:03 (UTC -05:00)

Highlights

  • Pro

Organizations

@CloaksPlus @SIS16 @leek-lang @summit-guidance @adom-inc @RiptideOS

Block or report wowkster

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.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

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

Report abuse
wowkster/README.md

Hey! My name is Adrian, and I'm a well-rounded software engineer with over 10 years of programming experience. I've been working professionally for the last 5 years and in that time I've worked with a large amount of languages like Rust, C/C++, Java, Javascript/Typescript, PHP, Python, Kotlin, Swift, C#, x86 assembly, and many more. I also have experience with an ever-increasing number of related technologies including React/NextJS, Vue/Nuxt, Tailwind, HTMX, Axum, Express, Fastify, PostgreSQL, MongoDB, Docker, Kubernetes, and Git just to name a few.

Over the years I've had the opportunity to explore many different fields such as web development, mobile development, systems programming, embedded firmware development, game/graphics programming, compiler engineering, operating system development, and many others. Currently I'm employed full-time at Adom Industries Inc. where I work all across the software (and hardware) stack tackling exciting problems in robotics and distributed systems.

wowkster wowkster

Contact

You can contact me on Discord (preferred) at @wowkster or by email at [email protected] for inquiries. If you are contacting me about an issue with a project, please open a GitHub issue on that repository instead. I will tend to it as soon as I can.

Open Source Work Projects

  • kicad_lib - A Rust library for working with Kicad files
  • mcp2518fd - A #![no_std] Rust driver library for the MCP2518FD CAN FD controller
  • tmc2240 - A #![no_std] Rust driver library for the Trinamic TMC2240 stepper motor driver chip
  • ads123x - A #![no_std] Rust driver library for the TI ADS123x series of Delta-Sigma ADC chips

Notable Personal Projects

A from-scratch compiler for a custom systems programming language I'm working on. My goal with this project is to self-host the compiler and then use the language to write a full OS kernel and userspace with no dependencies.

The language itself is inspired by several other languages, notably Rust, C, and C++ with most of the syntax borrowed from Rust.

  • Bootstrap compiler written in Rust
  • Hand-written parser and type checker with a focus on providing good diagnostics
  • Fully custom backend (no LLVM here) with an SSA optimization pipeline
  • Hindley-Milner style type system
  • Manual memory management without many of the footguns
    • Built-in Option and Result types
    • RAII guards for dynamic allocations similar to C++
  • IDE support (LSP and Syntax Highlighting) coming soon
  • Syntax-level macro system coming soon

A implementation of musical floppy drives in Rust

  • Server written in Rust
    • Parses MIDI files
    • Sends MIDI events over USB serial to hardware client
  • Embedded hardware client written in Rust
    • Runs on Raspberry Pi Pico
    • Custom USB serial protocol using CBOR
    • Parallel and interrupt driven floppy drive driver

A 32-bit hobby operating system written in x86 assembly made to explore low level computing and the x86 architecture. It features a multi-stage bootloader which includes FAT12 drivers and a spec compliant BIOS disk IO wrapper. The kernel is still in the very early stages but supports interrupt handling, VGA text mode drivers, and memory paging.

  • Stage 1 bootloader written in x86 assembly
    • BIOS disk IO wrapper
    • FAT12 file system driver
    • Stage 2 loader
    • Error tolerant design with error messages
    • All fits into 512 byte boot sector (448 bytes when you subtract space occupied by BPB)
  • Stage 2 bootloader written in x86 assembly
    • Kernel loader
    • GDT initializer
    • 32-bit protected mode initializer
  • Kernel written in x86 assembly (for now)
    • VGA text mode drivers
    • PIC programming
    • IDT setup
    • Interrupt handling
    • Memory Paging
    • PS/2 Keyboard Drivers

Cloaks+ (Founder/Previously CTO)

A character customization utility for Minecraft

  • Backend in Node/Rust
  • Frontend with Next.js and TS
  • Discord Bot in Discord.js and TS
  • Various Java/Kotlin Plugins
  • Desktop App in Tauri, React, and TS
  • etc

A webstore for stylish pixel art mousepads

  • Backend in TS with Fastify
  • Frontend with Next.js and TS

A CPU graphics library written in pure Rust

  • Supports 2D drawing primatives (lines, circles, triangles, etc)
  • Also has helpers for 3D graphics (depth buffering, projection matrices, etc)

Smaller Side Projects (In various stages of completion)

My GitHub Stats

Wowkster's Top Languages

Pinned Loading

  1. RiptideOS/drip RiptideOS/drip Public

    A compiled systems programming language tailored for operating system development

    Rust

  2. RiptideOS/riptide RiptideOS/riptide Public

    A PoC for an OS kernel written from scratch in Rust. Will eventually be ported to drip.

    Rust

  3. dinOS dinOS Public

    A hobby operating system created to learn more about low level programming

    Assembly 3

  4. floppier floppier Public

    An implementation of musical floppy drives in Rust

    Rust 1

  5. adom-inc/kicad_lib adom-inc/kicad_lib Public

    Rust library for working with KiCad files

    Rust 8 5

  6. adom-inc/mcp2518fd adom-inc/mcp2518fd Public

    #![no_std] Rust library for interacting with MCP2518FD CAN FD controller chips.

    Rust 7 4