Online Presence

My accounts online typically have the username ‘aidanhs’. These are listed on the left in descending order of amount of public activity.


  • (in progress) Docker in Practice - a book on Docker - github pages
  • 2015-09-17 - Submitted more optimisations to the Emscripten asm.js optimizer, resulting in a ~10% speedup - pull request
  • 2015-06-14 - Assisted in making MUSL builds of the Rust compiler work - Makefile pull request Makefile config pull request built-in library config pull request documentation pull request
  • 2015-06-04 - (work) Identified root cause of poorly performing garbage collector in closed-source component of Artifactory, wrote a faster and more efficient replacement GC to avoid downtime until JFrog could address - issue
  • 2015-04-27 - Diagnosed deadlock in Docker by scripting goroutine dump with GDB, submitted fix - issue comment pull request
  • 2015-04-16 - Submitted optimisations to the Emscripten asm.js optimizer, resulting in massive (up to 95%, depending on the input) speedups - pull request 1 pull request 2 pull request 3
  • 2015-04-12 - Released EmPython, a layer of hacks on top of Python to allow it to be compiled for the web with Emscripten. Inspired by a previous attempt (empythoned) but is much simpler - demo page repo
  • 2015-04-07 - Released TclDis, a Tcl bytecode decompiler with a web interface - announcement demo page repo
  • 2015-04-06 - Fixed DEAD_FUNCTIONS in Emscripten by implementing a simple optimiser pass - pull request
  • 2015-03-01 - Released schrotcl, a tongue-in-cheek Tcl extension which returns a different value depending on the context the function is called in, defeating typical expectations of a sane language - rep
  • 2015-02-16 - Released dlgrab, a tool for extracting Docker image layers without using image tars or direct access to Docker internal folders - repo
  • 2014-12-17 - Released tclscan, a tool which hooks into the Tcl parser C API and scans for potential command injections, successfully identifying critical vulnerabilities in live systems for my company - repo
  • 2014-12-15 - Created AsciiDocIde, a web-based tool for editing a folder of AsciiDoc files with live preview, for use with writing Docker in Practice - repo
  • 2014-11-23 - Released update to EmTcl with a toy library for interacting with the DOM from Tcl and another Tcl implementation (JimTcl) available for use - announcement demo page repo
  • 2014-11-20 - Diagnosed slapd memory issue in Docker container by just looking at strace log - issue comment
  • 2014-11-16 - Assisted in the merge of PNaCl LLVM 3.4 into emscripten-fastcomp - issue comment
  • 2014-11-12 - (work) Debugged segfault on stripped binary of internal C application with just the segfault address and access to source by using objdump to get assembly to map the segfault back to source code and then identifying the race condition causing the segfault
  • 2014-08-29 - Released EmTcl, a layer of hacks on top of Tcl to allow it to be compiled for the web with Emscripten - announcement demo page repo
  • 2014-08-14 - Released libtclpy, a library to bidirectionally call between Python and Tcl - announcement repo
  • 2014-06-28 - Submitted optimisation cvs-fast-export as part of an ‘own-time’ work project to investigate the viability of cvs-git migration - merge request
  • 2014-03-25 - Initial open-sourcing of ShutIt, a tool I co-authored as an alternative to the ‘official’ Docker way of building things with Dockerfiles - repo
  • 2014-02-10 - Found UXSS vulnerability in Google Chrome (CVE-2014-1701) - bug report
  • 2013-10-10 - Migrated boomerang to git with reposurgeon - tools repo result repo
  • 2013-08-20 - Fixed bug in Emscripten handling of large Unicode code points - pull request
  • 2013-06-25 - Created EmSnudown, a layer of hacks on top of Reddit’s markdown renderer to allow it to be compiled for the web with Emscripten - repo
  • 2013-03-11 - Made posix shell compatible, given access to repo to review future PRs - pull request
  • 2012-05-18 - (study) Finished final year CS project a FUSE filesystem for ‘social’ encrypted backup with deduplication