Software

A showcase of my personal software projects.

Alpaca Desktop

Alpaca Desktop Screenshot

Experimental OSX menu bar widget for Alpaca (a local proxy supporting NTLM authentication for command line tools). Built to reduce toil involved in installation and configuration for several hundred engineers.

Github

Forward Proxy

$ forward-proxy --binding 0.0.0.0 --port 3182 --threads 2
[2021-01-14 19:37:47 +1100] INFO Listening 0.0.0.0:3182
[2021-01-14 19:38:24 +1100] INFO CONNECT raw.githubusercontent.com:443 HTTP/1.1

Minimal forward proxy in 150LOC and using only standard libraries. Useful for development, testing, and learning. Tests dynamically generate trusted self signed X509 certificates.

Github

React Instagram Feed

React Instagram Screenshot

Simple React component to render a Instagram feed. Used an unofficial integration method to avoid having to use a access token.

Github

Gomem

import "github.com/jamesmoriarty/gomem"
...
process, err := gomem.GetOpenProcessFromName(name)
valuePtr, err := process.ReadUInt32(offsetPtr)
process.WriteByte(valuePtr, value)

A Go library to manipulate Windows processes. Useful for developing process memory based security exploits. Automated tests manipulate and verify its own process memory via Windows APIs.

Github

Cloudformation Cheapest NAT

AWS NAT

Cloudformation for a NAT instance running on Spot. Save thousands on NAT costs every month.

Github

Gohack

Gohack terminal output

Experimental Go language CSGO computer game exploit proof-of-concept. Automated tests use stubbed external processes to avoid needing binary compatibility.

Github

Call Graph

Call Graph presentation slide

A Ruby library to capture execution and create call graphs. Useful for illustrating Law of Demeter violations.

Github

Lisp

$ lisp-repl
ctrl-c to exit
> (begin
(>   (define incf
((>     (lambda (x)
(((>       (set! x (+ x 1))))
(>   (define one 1)
(>   (incf one))
2
>

Minimal Lisp interpreter in 75LOC and using only standard libraries excluding the REPL. Inspired by Google Research Peter Norvig’s Lis.py. A concise implementation using the Ruby programming language.

Github

Nebula

A prototype 2D Javascript space shooter. Simple physics, unit behaviors, parallax effects, and particles.

Github

Scorched Earth

A pure JRuby Scorched Earth clone and using only standard libraries. Implemented with an event-driven architecture. Dynamically generates color pallettes utilizing Triad Mixing and CIE94 color distances. Headless automated tests enabled through null pattern graphics context injection.

Github