NCC
Simple language compiler in C. Supports: arithmetic, strings, integer variables, basic I/O, relational expressions, logical expressions, if/else, and while loops. Source files are read entirely into memory. Lexer handles identifiers, integers, float constants, string literals with escape sequences, operators, and line/block comments. Parsing uses recursive-descent architecture to produce AST. Arithmetic, relational, and logical expressions handled according to traditional precedence and associativity rules. AST is walked post-order. x86 ASM is written directly into a byte array using stack model. Final program casted to function pointer and called. Utilizes short-circuit evaluation.
christopher-benson.com
This site. Focused on minimal styling. Total payload hovers between 10-15kb. A combination of scripts and makefile is used to build locally, with templates for website header and footer to reduce boilerplate.
ReadMetric
Research project that aimed to uncover relationship between GitHub README quality and overall project popularity. Data was scraped using GraphQL and REST API combination due to GHTorrent being dead. API ordering presented issue, GitHub orders repos that get requested through any one single metric. Implemented random fetching. Absurdly-made READMEs affected quality metrics. Outliers needed manual review, even after an automatic pass. Educational repos had absurd fork counts, a popularity metric. Influencer repos also presented unbiased popularity metrics. Ultimately, found no correlation.
Fennec
PyQt6 chess renderer. Supports PGN and FEN format translations. Includes basic Stockfish engine integration.
typ
CLI typing practice program utilizing suckless practices. Written in C99. Inspired by Monkeytype.
Huskie Motorsports Site / Newspage
Main landing page for all things Huskie Motorsports. Decap/Hugo CMS newspage for news page.