Software
A showcase of my personal software projects.
Alpaca Desktop
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.
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 teaching. Automated tests simulate a range of destination scenarios including slow network, stream responses, and X509 certificates.
React Instagram Feed
Simple React component to render a Instagram feed. Used an unofficial client-side integration method to avoid having to use a server-side access token. Archived as a result of Instagram fixing their Cross-Origin-Request policies.
Gomem
import "github.com/jamesmoriarty/gomem"
// Open process with handle.
process, err := gomem.GetOpenProcessFromName("example.exe")
// Read from process memory.
valuePtr, err := process.ReadUInt32(offsetPtr)
// Write to process memory.
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.
Cloudformation Cheapest NAT
Cloudformation for a NAT auto-healing instance running on Spot. Featured in Last Week In AWS.
Gohack
Experimental Go language CSGO computer game exploit. Automated tests use stubbed external processes to avoid needing binary compatibility.
Call Graph
A Ruby library to capture execution and create call graphs. Useful for illustrating Law of Demeter violations.
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.
Nebula
A prototype 2D Javascript space shooter. Simple physics, unit behaviors, parallax effects, and particles.
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.