Johannes Sasongko’s blog

Projects

Most of my projects are on GitLab, although GitHub still has a few as well. Some of the interesting ones are:

Play chords! [source]

Music notes & chords player for the Web. The unique selling point of this is that the chords are presented in Roman numeral notation with variable key (see Roman numeral analysis). It's also one of the very few projects I've seen that use the browser AudioContext API to generate tones instead of playing audio samples.

envf

Tool to launch other programs with modified environment variables, written in Rust. It does the same thing as the Unix env tool, with the addition of being able to read variables from files, not just from the command line.

Calculator [source]

Web-based, fully client-side scientific calculator based on Math.js. I use this for most of my calculation needs nowadays, including for when I need to know what 2 miles in km is.

Exaile [source]

Desktop music player written in Python. This is the only non-personal project that I am currently involved in, though not very actively any more. I started contributing back in 2007 when online music wasn't a thing.

scoop-fsearch

Alternative search tool for the Scoop package manager. Because the built-in search is a bit slow (used to be even slower) and lacking information.

objtree

Binary dependency analyser, showing recursive dependencies of libraries and executables in tree format. The only reason this exists is because lddtree from the pax-utils project doesn't support Windows binaries.

Python AST Browser

Tool to visualise the abstract syntax tree of a Python or Hy file. This can be thought of as a graphical version of ast.dump.

Older projects

A long time ago I used to be active in two other free/open-source software projects: K-Meleon (under the handle "rmn", maintaining the Searchbar plugin and doing plenty of testing and bug triaging) and Ruby.NET (doing coverage/unit testing and bugfixing). I don't have anything to do with either project any more, but you may still see me talking passionately about Web browsers or programming languages/environments.