Open Source Contributions

Building, testing, and sharing tools people can own.

← Back to Home

Why Open Source?

Today, we have unprecedented access to information and creativity. Yet much of modern technology remains closed, controlled, and difficult for everyday people to truly own.

I believe in building and supporting open systems — tools that anyone can use, modify, and extend — because true empowerment comes from understanding and ownership.

Merged upstream

Contributions to the wider community

Accepted work in open-source projects beyond my own repositories.

RISC-V · Unified Database

Made LD/SD definitions depend on XLEN

Merged

Corrected the machine-readable ISA definitions so ld and sd are defined by I on RV64 and by Zilsd on RV32.

  • Updated both doubleword load and store definitions.
  • Passed Unified Database schema validation across the architecture files.
  • Merged into the official RISC-V Unified Database on August 20, 2026.

GUN · peer-to-peer database

Added audio to the browser streaming example

Merged

I extended GUN's basic browser streaming example so peers could share microphone audio alongside video, making the example a more complete demonstration of real-time media over GUN.

  • Added audio capture and playback to examples/basic/stream.html.
  • Contributed 53 lines to the official example.
  • Merged into the official GUN repository on July 25, 2025.

GUN · graph database

Reproduced a late-subscription sync gap

Merged

I turned an intermittent synchronization problem from real-world use into a repeatable PANIC regression test. The test creates a relay, writes a dynamic index from one browser, starts a second browser later, and verifies that the initial .map().on() subscription receives every indexed record without a reload.

  • Added a 177-line automated browser test and configurable load controls.
  • Documented the load-sensitive results across the repository build and published release.
  • Merged into the official GUN repository on August 1, 2026.

Submitted upstream

Work under review

Current patches and pull requests submitted to upstream projects. When accepted, they move into the merged section above.

Sipeed · LicheePi 4A

Documented the mainline TH1520 GPU stack

Open PR

Documented the upstream PowerVR BXM-4-64 graphics path for the LicheePi 4A, including the exact firmware and Linux/Mesa driver references needed to distinguish the mainline stack from older system-image graphics paths.

  • Links directly to upstream Linux firmware and Linux/Mesa PowerVR documentation.
  • Documents the Vulkan → Zink → OpenGL/WebGL browser path and practical vulkaninfo, glxinfo, and eglinfo acceleration checks.
  • Validated with git diff --check and submitted with DCO sign-off.

GUN · SEA encryption

Preserved raw strings during decryption

Open PR

Added an opt-in skipParse path to SEA.decrypt so JSON-looking plaintext can be recovered exactly as encrypted without changing the default parsing behavior.

  • Updated the canonical SEA bundle, extracted decrypt module, and TypeScript declarations.
  • Added regression coverage; the upstream SEA test suite passes.

RISC-V · Glossary

Generated an extension-name reference from UDB

Open PR

Added the requested abbreviation-to-long-name reference for RISC-V extensions, generated from Unified Database metadata instead of maintaining a second hand-written list.

  • Refreshed against 172 current UDB extension files, including Zvfbfa, Zvfofp4min, and Zvfofp8min.
  • Keeps the generated AsciiDoc committed so normal glossary builds remain standalone.

libimobiledevice · build system

Fixed Python 3 discovery on systems without a python command

Open PR

Fixed Autoconf ordering so systems that provide python3 but not python can reach Automake's Python 3 discovery before the Python development check runs.

libimobiledevice · CI

Removed obsolete distutils use from macOS CI

Open PR

Replaced the macOS workflow's explicit distutils.sysconfig imports with Python's supported standard-library sysconfig module.

libimobiledevice · documentation

Corrected the LGPL license-file reference

Open PR

Corrected the README so its LGPL 2.1 reference points to COPYING.LESSER rather than the GPL text in COPYING.

libimobiledevice · Debian/Ubuntu docs

Removed an obsolete libtatsu source-build note

Open PR

Removed the stale instruction saying libtatsu-dev must be built from source now that it is available from current Debian and Ubuntu repositories.

Debian · PulseAudio

Removed an unnecessary bash-completion shebang

Patch sent

Submitted a focused packaging patch for Debian bug #763139 removing the unnecessary shell shebang from the PulseAudio bash-completion snippet.

Debian · PulseAudio

Aligned client.conf with Debian autospawn default

Patch sent

Submitted a patch for Debian bug #1017800 so the commented client.conf example reflects Debian autospawn = no default.

Debian · PulseAudio

Fixed stale README.Debian configuration guidance

Patch sent

Submitted a Debian-native patch removing the stale reference to /etc/default/pulseaudio while preserving the valid client.conf guidance.

This is a living record. New upstream submissions are added while they are under review and moved to “Merged upstream” when accepted.

Active research and prepared work

Work in progress and contribution research

Useful open-source work that is not yet an upstream submission, kept here so the public record includes meaningful research, validation, and prepared contributions.

tinygrad · bounty #3039

Built a human-authored associative-scan workbench

Research only

Created a dedicated workbench for reasoning about tinygrad's associative-scan bounty without contributing AI-authored tinygrad code. The page tracks acceptance criteria, correctness cases, benchmark goals, implementation notes, and a definition-of-done checklist for a personally authored patch.

  • Respects tinygrad's explicit no-AI contribution rule.
  • Tracks edge cases including odd lengths, reverse scans, multiple axes, and non-commutative operations.
  • Includes a browser-local notes and checklist workflow for human implementation.

GUN · reliable network reads

Prepared a reliable-network-read contribution in the fork

Prepared

Prepared and validated a focused GUN contribution around reliable network reads, keeping the work in my fork while upstream submission tooling is unresolved.

  • Reused the existing GUN work instead of opening a duplicate implementation.
  • Kept the contribution visible and reviewable in a pull request in my fork.
  • Upstream submission remains pending; no unnecessary maintainer outreach was sent.

Community participation

Learning and contributing in public

Public discussions, field reports, and hands-on learning within open communities.

Debian · RISC-V community

Shared installation research across emerging RISC-V boards

Mailing list

I joined Debian's public RISC-V discussion around installing mainline Debian on the StarFive VisionFive 2, comparing the effort with my Sipeed LicheePi 4A and sharing Debian's board-installation resources.

Libre-SOC · open hardware

Participated in the development community

Community

From May through August 2024, I participated in Libre-SOC's development list while getting its HDL workflow running, discussing supported Debian environments, and exploring how an open business could help sustain open hardware development.

Projects I Believe In

What I'm Building

Through 3dvr.tech and TommyOS, I'm developing new systems that anyone can use — portable, self-hosted, open-source tools that help people create, communicate, and build their dreams anywhere in the world.

The future is not owned — it's shared.