Skip to content
View MysteryBlokHed's full-sized avatar
💬
💬

Highlights

  • Pro

Organizations

@hackermancool @color-js @uOttawaSESA

Block or report MysteryBlokHed

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.

Content in all repositories owned by your account will be closed.
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
MysteryBlokHed/README.md

Computer Engineering student at the University of Ottawa.

What I work on

color.js - co-maintainer

Color conversion and manipulation library by the editors of the CSS Color specifications. Over 8 million weekly downloads on npm, 2.3k stars.

I was invited to help maintain it alongside a handful of other great developers. I wrote the library's TypeScript definitions, then moved them into the JavaScript source as JSDoc so the published declarations are generated rather than hand-maintained. I also review the incoming community PRs.

nixpkgs - package maintainer

[20+ PRs merged](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Amerged+author%3AMy steryBlokHed). I wrote the NixOS service module for kiwix-serve (with a VM integration test), which closed a feature request that had been open for years, enabled Darwin builds for the Kiwix suite, and fixed the shared Gradle update script under structured attributes so automated package updates work again.

Definitely Typed - contributor and reviewer

100+ PRs authored, 200+ reviewed, 45 type definition packages maintained.

SESA website - development lead

The site for uOttawa's Software Engineering Students' Association: a bilingual Next.js Turborepo monorepo on tRPC and Drizzle ORM. I built most of it and now also lead the club's other devs, delegating work, reviewing PRs, and getting new members up to speed.

Cluecards

Live site · Source · Rust, WebAssembly, Svelte, TypeScript

Automatic inference for the board game Clue: you record what you see at the table, and it works out everything that logically follows.

I expected this to be relatively straightforward and it turned out to be a pretty interesting problem, requiring me to come up with a bunch of inference techniques to derive info from the game state. I ended up deriving eight original ones, and I've written up the reasoning behind each in Inference.md Hopefully it's as interesting to read as it was to write.

The engine started in TypeScript and now lives in Rust compiled to WebAssembly, which was my first time using WASM. Hands are encoded as 64-bit bitmasks and constraints propagate to a fixed point. Murder probabilities come from backtracking over every deal consistent with what's known. It's roughly 30× faster than the original TypeScript version, even after adding several more (and more expensive) inference techniques on top. Every technique is regression-tested against replayed games, asserting the full engine state after each suggestion.


GitHub Stats

Most Used Languages

Pinned Loading

  1. color-js/color.js color-js/color.js Public

    Color conversion & manipulation library by the editors of the CSS Color specifications

    JavaScript 2.3k 97

  2. NixOS/nixpkgs NixOS/nixpkgs Public

    Nix Packages collection & NixOS

    Nix 26k 20k

  3. cluecards cluecards Public

    Automatic inference for interactions in Clue (Cluedo).

    TypeScript

  4. uOttawaSESA/sesa-website uOttawaSESA/sesa-website Public

    The monorepo for the official SESA website.

    TypeScript 5

  5. DefinitelyTyped/DefinitelyTyped DefinitelyTyped/DefinitelyTyped Public

    The repository for high quality TypeScript type definitions.

    TypeScript 51.4k 30.4k