Owen Duckham
About Me

Hello. I am Owen Duckham (he/him), a second year student at Northeastern University studying Computer Science.
Education
Northeastern University
Boston, MA
Bachelors of Science in Computer Science (Candidate)
Bachelors of Science in Computer Science (Candidate)
Orchard Park High School
Orchard Park, NY
Regents Diploma with Advanced Designation with Honors; Mastery in Math & Science
Regents Diploma with Advanced Designation with Honors; Mastery in Math & Science
Experience
Teaching Assistant
- TA for CS 2500 (Fundamentals of Computer Science I) during the Spring, Summer 1, and Fall 2024 semesters.
- Taught labs for Spring and Summer 1 Semesters, and led lab during Fall 2024 Semester.
- Co-designed and implemented core autograding infrastructure
Software Engineering & IT Intern
- Developed internal tooling to help keep track of and analyze manufacturing process defects
- Built on dotnet, using F#. Interfaced with legacy Access Databases.
- Performed penetration testing and wrote a detailed report based on my findings
- Mapped current IT infrastructure; helped design a plan for improvement
- Interfaced with a Keithley source meter over the VISA API. Automated tasks, resulting in 200%+ productivity improvements.
Cashier
Software Engineering Intern
- Collaboratively developed control software for industrial vacuum melting furnaces
- Interacted with a Allen Bradley PLC, monitoring furnace temperature & pressure, controlling crucible movement (allowing for programming pour motions)
- Incorporated a comprehensive user permission system
- Developed modern Windows applications using WPF in C# to replace legacy Visual Basic applications.
- Followed the MVVM pattern, improving maintainability.
- Interacted with a Microsoft SQL database, implemented secure user authentication with hashing and salting
Engineering Intern
- Converted legacy 2D drawing into 3D CAD models
- Improved existing 3D models
- Helped translate electrical diagrams
Projects
Tanzanite (Discord Bot)
- Developed a fully featured moderation and utility bot for Discord
- Includes an auto-moderation system integrating with Discord's native auto-moderation.
- Written in TypeScript and run with Node.JS, utilizing my fork of the discord.js library.
- Additionally uses my updated fork of discord-akairo, @tanzanite/discord-akairo
- Forked discord-akairo and rewrote it in TypeScript, ensuring strong and accurate typings
- Added support for new Discord features such as slash commands
- Improved testing and added data validation
NotEnoughUpdates (Minecraft Mod)
- Core Maintainer for the NotEnoughUpdates Minecraft mod
- NotEnoughUpdates is a popular client-side minecraft mod for the SkyBlock game mode on Hypixel, written for Minecraft 1.8.9
- It contains an item list (similar to NotEnoughItems), various game specific overlays, a custom profile viewer and other QoL features.
- Managed core infrastructure for the project, including backend server, domain, GitHub organization, Discord server
JS Unminifier
- Created a plugin (written in rust) for SWC which reverses many of the effects of JavaScript minification, transpilation, and bundling (from Babel, SWC, Webpack).
- Performed many heuristics to improve the readability of minified code
- Restore literals (minifiers abuse type coercion to replace many literals)
- Convert unnecessary sequence expressions into statements
- often extracting them from other statements (throw, return, if, while, for, etc)
- Convert side-effect only boolean binary expressions back into if statements
- Convert complex ternary expressions into a series of if statements
- Restore code to use newer JS features (optional chaining, default parameters, template strings)
- Allow mapping Webpack module ids for better names when imported
- Rename known generated helper functions (ex. _defineProperty, _createClass)
- Restore minified naming when possible (named exports, named component, destructed assignments)
Magic Racket fork
I forked the Magic Racket Visual Studio Code extension, improving the syntax highlighting for the HtDP Student Languages