An xterm emulator written with web technologies that makes it easy to write a terminal emulator for the web. I became a maintainer on the project shortly after starting to work on it. This is one of the projects that powers the VS Code integrated terminal.
This page contains the some of the projects I've developed in my spare time, ordered by release date/when I started contributing. The majority of my open source work is available on GitHub.
A Node.JS library that enables forking pseudoterminals. It was forked from the unmaintained pty.js primarily to improve support for Windows and modern versions of Node. This is one of the projects that powers the VS Code integrated terminal.
VS Code is a lightweight cross-platform text editor from Microsoft. I joined the team in February 2016, but had been contributing to the project since it was open sourced.
<abbr> elements touch accessible. It works by listening to the touchtap-event so the functionality is only exposed on touch-enabled devices. A custom event handler can then be attached to display the tag's content as desired.
A library I wrote for this website to handle searching through tags in an interesting way. It creates a tag cloud that can filter articles by multiple tags. Each tag that is selected will fade tags that are not contained in any of the currently visible articles, this allows the user to narrow down the filter much more easily.
Most of the code samples presented in this website are open source and available on GitHub under the gwtw organisation.
An Android widget to help learners of the Korean language that rotates through a list of English words with their corresponding Korean translations.
Originally named canvas-astar.js, it was initially a much simpler project which only visualised A* with fixed parameters to supplement a technical article I wrote on A*, I expanded the project due to personal interest and to experiment with various development tools.
My spouse's beauty and lifestyle blog. Following a similar story to Growing with the Web, it was started on Blogger with a customised theme and eventually grew beyond what Blogger's system could handle.