Skip to content
View Zaneham's full-sized avatar

Block or report Zaneham

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.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

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

Report abuse
Zaneham/README.md

G'day, Kia Ora

I'm Zane. I work on compilers, emulators, and tooling for systems that range from current to older than most countries. Currently contributing to the OCaml native compiler, building GPU compilers, and synthesising historical computers onto silicon.

Built in public. Some of this is preservation, some is practical.


Compiler Contributions

Upstream contributions to production compilers and runtimes:

  • OCaml - Native code compiler backend:
    • #14575 - Native Iatomic_fetch_add across all architectures (amd64, arm64, riscv, power, s390x)
    • #14547 - s390x GOT-indirect calls fix (merged)
    • #14524 - Native Iatomic_fetch_add using s390x LAAG instruction
    • #14515 - Intel CET/IBT support (endbr64 landing pads)
  • z390 - IBM mainframe assembler/emulator. COBOL macro implementations, VSAM enhancements, NIST test suite work
  • tinygrad - RDNA2 emulator support for AMD GPU backend
  • qemu-zane - QEMU fork adding QTSan: binary-only data race detection using shadow memory and vector clocks

Compilers

  • BarraCUDA - Open-source CUDA compiler. Three backends: AMD (RDNA 2/3/4, CDNA3), NVIDIA (PTX), Tenstorrent. 20K+ lines of C99, zero LLVM. Full pipeline: preprocessor, parser, sema, SSA IR, mem2reg, regalloc, binary encoding, ELF emission
  • Karearea - Fortran 77 compiler. 259/259 tests, 735/735 SLATEC files compile. PE-COFF and ELF output. C99, zero dependencies
  • Wasabi - WebAssembly to x86-64 AOT compiler. Direct Wasm-to-native, zero dependencies
  • jovial-compiler - MIL-STD-1589C JOVIAL compiler, built from the original military spec
  • conway - RISC-V to x86-64 binary translator, written in assembly
  • plankalkul-compiler - OCaml compiler for Zuse's 1945 Plankalkül. 2D notation, all 7 loop variants
  • hal-s-compiler - HAL/S compiler (on pause pending HALMAT work)
  • chill-compiler - CHILL to C transpiler
  • coral-66-compiler - Coral 66 compiler. Work in progress

Scientific Computing

  • Moa - Monte Carlo neutron transport code. C99, GPU-accelerated via BarraCUDA. Runs on RTX 4060 Ti (422K particles/sec) and MI300X
  • SLATEC - Modernising the SLATEC numerical library
  • dcuhre - Multi-dimensional adaptive integration
  • odepackzane - ODE solvers

Chip Design

Synthesised to SKY130 130nm. Place and route via OpenROAD.

  • voyager-fds - JPL flight computer. The computer leaving the solar system. 58 gates, fabrication-ready
  • ruru - Probabilistic processor. Distributions as a native data type. PFUSE, POBS, PCMP instructions. 2,237 gates
  • qsim - 8-qubit quantum gate simulator on silicon. 238 gates, 200 MHz

Language Server Protocols

IDE support for legacy languages:

Emulators

Developer Tools

  • Olint - OCaml linter with auto-fix. Think clippy for OCaml
  • Halmat - Resurrecting the HAL/S compiler intermediate language

Historical Languages

Cryptography

  • KW-26-ROMULUS - KW-26 ROMULUS cryptographic equipment
  • dead-reckoning - Digital dead man's switch. Shamir secret sharing, duress codes, encrypted cargo

Mainframe

  • zblas - z/OS native BLAS in HLASM. z13+ vector SIMD, dual calling conventions
  • hlasm-strong-type - VS Code LSP with type checking for registers, labels, and macros
  • hlasm-npp - Column-aware syntax highlighting for Notepad++
  • racf-lsp - IBM mainframe security commands. VS Code integration
  • z390 - IBM mainframe emulator. Core contributor
  • zkvs - Database engine in HLASM
  • hlasm-http - HTTP client in HLASM
  • My-todo-app - Todo app in COBOL

Production:          Python, C, OCaml, Fortran, Java, Julia, various Assemblers
Compiler Internals:  OCaml backend (Lambda → CMM → Mach → asm), QEMU plugin API
GPU:                 AMD GFX9-12 ISA, NVIDIA PTX, HSA runtime, ELF/HSACO
Legacy/Preservation: COBOL, JOVIAL, CMS-2, CORAL 66, CHILL, MUMPS, PL/I, HAL/S, HLASM
Chip Design:         SystemVerilog, SKY130 130nm, OpenROAD, Liberty timing
Emulated Hardware:   IBM System/360, Voyager FDS, Minuteman, Setun-70, Viking Lander
Methodology:         Primary sources. Original manuals. Declassified documentation.

Based in New Zealand. GMT+12/13.

zanehambly@gmail.com

Available for contract work, collaboration, or conversation about legacy systems, compiler development, and safety-critical software. Also looking for an internship as part of my degree with AUT (but it's optional, if you do interesting work feel free get in touch). Right to work in New Zealand, the UK, Australia, and the EU. Willing to relocate.

Pinned Loading

  1. Plankalkuel Plankalkuel Public

    Plan Calculus, but fun!

    Python 7

  2. Wu Wu Public

    Wu is a media forensics toolkit with special support for Legal teams.

    Python 1

  3. BarraCUDA BarraCUDA Public

    Open-source CUDA compiler targeting multiple GPU architectures. Compiles .cu to AMD and Tenstorrent GPU's

    C 1.5k 62

  4. SLATEC SLATEC Public

    A modernisation of the SLATEC library

    Fortran 20

  5. plankalkul-compiler plankalkul-compiler Public

    OCaml compiler for Konrad Zuse's Plankalkül (1945): the world's first high-level programming language

    OCaml 7