Jonas Santoso / Code

Jonas Santoso has coded for a living and has been employed as a software engineer at one of Australia's major online retail businesses and the Canva Pty Ltd graphics software business.

Apart from the curated projects below, my GitHub has a few public repositories.


[Click here to view]

Sometimes, technology that is thirty years old or older becomes interesting for various reasons. With the computing power at anyone's disposal today, this technology can often be replicated virtually, as is the case with Bochs emulating old personal computers running MS‑DOS.

I've created a fork of Bochs, and added a feature I wanted to have that was missing. When debugging old software that runs in a VGA graphics mode using a period debugger such as SoftICE, two monitors are required, so one of them can display SoftICE in an MDA text mode. This isn't supported by standard Bochs, so I added MDA text mode emulation which emits a text screen simultaneously to the VGA display.

There's a YouTube video of setting up my Bochs fork and starting a debugging session using SoftICE too.


[Click here to view]

When the 20kbps netlabel was handed over to me, it was a rather disorganized pile of content rendered using PHP with a lot of duplication. Basically, each release had its own PHP script, which was the same for all releases, save for the release‑specific data.

I found this to be unmaintainable, and because my focus with 20kbps was and is preservation, I rewrote the entire netlabel and based it on the Pyramid framework. So now there is a proper database containing all the release data, release pages are rendered using Jinja2 templates, there's an admin interface for my convenience, and best of all, the netlabel still looks and feels exactly the same to the visitor.

There is a YouTube video of me publishing a new release using the admin interface with ease.


[Click here to view]

This was an understanding‑by‑rebuilding effort in order to know the workings of cryptocurrency exchanges. In essence this is an extremely stripped‑down version of a decentralized crypto exchange which realizes token swaps using Uniswap's router.

The web interface was deployed to the InterPlanetary File System (IPFS) through Cloudflare's gateway and is still alive and accessible for as long as the domain is routable. The app enforces that a local node is used though, for we shouldn't inadvertently run something on mainnet that's capable of executing actual token swaps.


[Click here to view]

On a demoscene tangent, this repo is a port of my replay routine to C, and targeting an Emscripten/WASM environment, so the music could be played in the browser. The backstory is that in 2003, I wrote a tracker music program targeting the OPL2 chip (an «AdLib tracker») in pure QuickBASIC, «pure» here meaning that no external libraries were used.

Obviously, I was the only one ever to «seriously» use this. But use it I did, the result of which is preserved in this YouTube video of a web‑musicdisk featuring my Beni Tracker tunes. To my surprise, some people working on the AdPlug library picked up on it and integrated support for my format into their library.