Skip to content
View PJensen's full-sized avatar

Organizations

@DotNetHack

Block or report PJensen

Report abuse

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

Report abuse
PJensen/README.md

PJensen

Software architect at Harvard Management Company. I design systems that make institutional-scale portfolio management transparent and navigable — bridging human judgment with structured data where the stakes are real.

I've been writing code for thirty years. BASIC in fourth grade, C by sixth, inline x86 assembly by sixteen — plotting pixels to 0xA000 on an 80386 using shift-add multiplication picked up from a book I found at the Salvation Army. The reference books are still in the garage.

Since then: Acadia University (CS), cross-platform systems across GNU/Linux, Win32, HP-UX, and Solaris, sixteen years of C#/.NET, and a long arc through Python, JavaScript, and whatever the problem demands. I care about the layer underneath — the primitives, the state model, the thing hiding below the abstraction everyone's excited about.

I also paint, sculpt, ski, drum, and grow rare medicinal plants. My grandmother taught me to work with my hands across every medium. Each one reinforces the same principle: precision and creativity aren't opposites — they sharpen each other.


Projects

ecs-js — A tiny, deterministic Entity–Component–System core in pure JavaScript. Zero dependencies. No build step. Fourteen source files.

  • Caller-driven ticking — the library has no opinion about time
  • Phase-agnostic system scheduling with topological ordering (before/after declarations)
  • Seeded PRNG (mulberry32) + deferred structural mutations = full determinism
  • Snapshot/restore for time travel, replays, and branching
  • Archetypes, hierarchy management, cross-world entity references
  • Query builder with where, project, orderBy, offset, limit
  • Entity-local scripting via handler tables with event routing and error capture
  • Storage flexibility: map for clarity, soa for throughput

Built for simulations, agent-driven systems, and complex interactive state — not just games, though it handles those too.

Other Projects

JSHack — A spiritual successor to NetHack, built on ecs-js. Roguelike mechanics as an architectural stress test.

DotNetHack — The earlier attempt — a .NET roguelike from 2012 that started the thread.

Deity-JS — A headless mood engine for games, simulations, and operating systems.

Pixel_Buzz_Box — A real-time arcade survival game for the Raspberry Pi Pico featuring a bee collecting pollen in an infinite procedurally-generated world.


Writing

I publish on Substack — essays on system architecture, AI substrate problems, institutional dynamics, and the practice of looking underneath.


   

Pinned Loading

  1. ecs-js ecs-js Public

    Entity–Component–System architecture for JavaScript Zero dependencies. No build step. Deterministic, phase-agnostic, and caller-driven — your loop, your rules.

    JavaScript 3

  2. JSHack JSHack Public

    JavaScript 2

  3. ImageFeedMiner ImageFeedMiner Public

    A system-tray windows application that pulls images from online cameras. By default it's pointed at several views of Mt. Washington.

    C# 1

  4. Elliptic Curves Elliptic Curves
    1
    # Authors: Pete Jensen, Natasha Mandryk (math)
    2
    class ECurve:
    3
     def __init__(self, p, a, b):
    4
     # Define basic variables, coefficients and prime p.
    5
     # (y^2 mod p) = (x^3 + ax + b) mod p
  5. Hex2 Hex2 Public

    Hex game for DOS; written for Borland Turbo C V4.5.2 (last build 2008)

    C 1

  6. DotNetGUI DotNetGUI Public

    Console GUI Framework

    C# 5