Growing with the Web

Projects

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.

Luna Paint for VS Code

Released
Links:

A raster graphics image editor extension for VS Code, enabling editing images inside your code editor.

xterm.js

Started
Links:

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.

node-pty

Started
Links:

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.

sorting-visualiser

Launched
Links:

A JavaScript library that visualises sorting algorithms. It is written in JavaScript and uses Snap.svg to draw and animate the algorithms.

Sorting visualiser was built to help readers get a better understanding of the algorithms by animating each comparison and element manipulation.

Visual Studio Code

Started
Links:

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-touch

Launched
Links:

A tiny JavaScript library that makes the title attribute of <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.

tag-explorer

Open sourced
Links:

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.

Korean Vocab Widget

Released
Links:

An Android widget to help learners of the Korean language that rotates through a list of English words with their corresponding Korean translations.

pathfinding-visualiser

Started
Links:

A web app that visualises pathfinding algorithms such as A* and Djikstra's, using various backing data structures. It is built on Polymer and js-data-structures.

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.

Beautemia.com

Launched
Links:

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.