asie'projects
last updated 14/07/2023
industry(-adjacent) experience:
- 2019 ~ ongoing: Java web service development at Gdańsk University of Technology
select personal/side projects by technology stack, sorted from most familiar downwards:
- Java: primarily in the Minecraft modding ecosystem, of note:
- Fabric, founder and original lead developer of the full-stack modding toolchain for JVM-based games
- BuildCraft, maintainer of large content mod project from late 2014 to mid-2016
- FoamFix, memory optimization mod based on heap dump analysis
In addition:
- Zima, ASCII image converter for ZZT/MegaZeux
- 64pixels, a pseudo-game I made when I was 13-14 and hold a lot of personal nostalgia for
- C:
- Zeta, a specialized emulator for running ZZT and Super ZZT game creation systems for text-mode DOS on modern platforms (not my best C...)
- Contributions to and ports of various FOSS projects - Angband, atari800, iceball, MegaZeux, pce...
- JavaScript:
- WebAssembly ports of Zeta and MegaZeux (via Emscripten)
- General small-scale coding for personal websites and projects
- C++:
- Contributions to some projects (Ares, LLVM-MOS)
- Retrocomputing:
- Go:
- Node.js (a long time ago:):
- boorushy2, a tablet-optimized, taggable image repository engine
- Greyboard, a multiplayer, HTML5-based drawing canvas
- Other:
- VoIRC, a Nim learning exercise and a silly way to send low-bitrate voice as encoded text
- Lunatic86, an 8086 PC-compatible emulator in Lua and C preprocessor (for faster inlining!)
- In addition to Go, I have used PHP and Python (with Flask and Pelican) for personal web projects.
- Contributions and patches to various open source projects based on personal needs and/or interest (only larger contributions listed below).
detailed personal/side project list:
- sorted chronologically by start year
- contributor/fork roles marked in italics
- minor contributions omitted; most of them are on my GitHub
- 2023:
- [Contributor] Ares - WonderSwan emulation accuracy improvements.
- [Contributor] BlocksDS - many improvements, bugfixes; binary packaging; consulting on toolchain design.
- [Contributor] LLVM-MOS - enhanced 6502 derivative (65C02, HuC6280, etc) code generation and assembly support.
- BootFriend for WS, custom firmware/splash screen replacement introducing serial program boot and a few other features.
- Wonderful, experimental toolchain for the WonderSwan console (NEC V30MZ/80186-based) and WonderWitch operating environment.
- 2022:
- Anipyke, experimental reconstruction of the Anime Web Turnpike
- strive, unfinished NDS/3DS optimized Atari ST emulator
- wasm4-aot, ahead-of-time compiled homebrew port of the WASM-4 fantasy console runtime
- Laworde, popular word-guessing game clone in a fork of the niche ZZT engine, built with a hand-written Python linker for its equally niche scripting language.
- Bad Apple!! for WSwan
- CartFriend for WS, alternative flash cartridge menu focusing on faciliating homebrew development.
- ExtFriend for WS, RP2040-based serial port/digital audio USB adapter for WonderSwan.
- ws-ieepview, internal EEPROM viewer/editor for WonderSwan.
- tinyzoo-ws, WonderSwan port of the ZZT engine.
- 2021:
- ClassicZoo, fork of the original 1991 Turbo Pascal-based ZZT codebase
- Super ClassicZoo, fork of the original Super ZZT codebase
- OpenZoo/C++, C++ learning project and ZZT/Super ZZT engine rewrite attempt with peculiar porting constraints
- ZDemo, demo recording/playback/verification system and leaderboard for ZZT.
- gbsenpai, port of the GB Studio v2 game engine from GB/GBC to GBA
- uxnds, port of the Uxn stack-based virtual machine to the DS/3DS
- FoamFix17, updated version of the Minecraft mod BugfixMod with additional fixes/optimizations for Minecraft 1.7.10
- tinyzoo-gb, experimental project to port the ZZT engine to the GB/GBC
- 2020:
- [Contributor] KevEdit, patches and improvements to the external ZZT world editor
- [Contributor] MegaZeux - NDS/3DS port improvements
- Reconstruction of ZZT and Reconstruction of Super ZZT, authorized decompilations of the ZZT and Super ZZT game engines from 1991
- zzt-pc98, proof-of-concept port of ZZT to the NEC PC-9801
- Twitch Plays ZZT, experimental means to play ZZT in a turn-based non-real-time format via Twitch chat
- Many prototypes involving porting ZZT to more modern languages/systems
- Zima, ASCII image converter for ZZT/MegaZeux
- NitroTracker-unofficial, bugfixed, optimized, improved and DSi-compatible unofficial update of NitroTracker for the NDS
- 2019:
- [Co-developer] fromage - a sandbox voxel engine for the PS1 based on a custom, independent toolchain; implemented logic and helped out with code/utilities
- [Contributor] MegaZeux - Android, Dreamcast, Emscripten ports, awaiting upstream; assistance on Switch port
- csrg2tiny, a CSRG -> Tiny obfuscation mapping format converter
- Debark, simple visual mod based on Unlimited Chisel Works's ideas
- Redstone Minus Redstone, a small Minecraft mod allowing treating redstone power as an energy source
- reverse-remapper, a tool to compare two JARs (one remapped using tools common in the Minecraft modding community) and extract the obfuscation mapping information used
- Voice over IRC, a Nim-based wrapper on codec2 and IRC libraries - created to learn some Nim and implement the joke concept of transmitting very-low-bitrate audio over the IRC protocol
- Prototype port of Zeta to Android, using Kotlin
- 2018:
- [Fork] JNLua - for MovingBlocks/Terasology; an up-to-date version of the JNI-based Lua-on-Java library with Lua 5.3 support, memory limit support, and bugfixes
- [Fork] PCE - rough 3DS port
- [PR] sane-backends - Plustek OpticSlim 2420+ support
- Balanced Clay Tools, Faithless (PoC), InventoryBuoyancy, MAGE, SplashAnimation, StackUp, Tinkered Hegemony - small one-off Minecraft mods
- Biura Animacyjne - Python/Flask-powered index of legally available anime in Poland; required a bit too much maintenance and is currently on hold
- Fabric (second iteration) - full-stack Minecraft/JVM-based game modding toolchain; creator of fabric-loader, parts of other projects, and community/project leader
- ftb-pyramid-reborn-oc - Lua-based code running on the first iteration of Feed The Beast's "Pyramid Reborn" map
- Kallisti - for MovingBlocks/Terasology; abstract, reusable 'fantasy computer' library, primarily targetting an OpenComputers-compatible setup
- Lunatic86 - Lua/C preprocessor (for inlining)-based 8086 PC-compatible emulator; made for a cool-looking video
- MinetestBridge - proof of concept of running Minetest Lua mods within Minecraft
- opencomputers-hires-video-prototype - Java-based video encoder targetting Minecraft Lua computer mod's peculiar text mode GPU, with GUI
- Zeta - Curses/SDL/WebAssembly emulator for running ZZT and Super ZZT on modern platforms; implements purpose-specific idle hacks and other tricks; used on the Museum of ZZT
- 2017:
- 2016:
- [Fork?] MumbleLink issue with incorrect shm_open flags on Linux, due to outdated sources fixed for personal use with a hex editor!
- Fabric (first iteration) - different approach to the above-mentioned game modding toolchain, ultimately failed
- Firstro - small Atari XE intro coded at a demoscene party using an assembler demonstrated there and some homemade Go tools; shown at SillyVenture 2016 and placed poorly because I forgot packers exist (´・ω・`)
- CTIF - image converter for Minecraft computer mods' peculiar text modes
- FoamFix - memory optimization mod for Minecraft; the result of staring at heapdumps for hours while wanting to join a friends' server on little RAM
- funscii - expanded deluxe version of viznut's unscii retrocomputing-geared fixed Unicode font
- modalyzer - tool for gathering and figuring out metadata for Minecraft mods
- personal image/paste servers - quickly written Go/PostgreSQL-based tools
- 2015:
- BTM - in-game Minecraft modding "convention"; my role was of the creator and leader of the project in the first two iterations (July 2015 and January 2016)
- Charset - attempt at a content/"designer" Minecraft mod that mostly did not catch on
- dfplay - 386 Assembly/C player for dfpwm-encoded audio
- hosted a static website hosting service for a niche community until 2018; based on Node.js, later rewritten to Python/Flask
- reimagined-disco - OpenGL in Go performance experiment, small voxel rendering engine
- 2014:
- [Forks] Helped port a lot of Minecraft mods to 1.7.2, officially or otherwise - Chisel, Statues, Immibis' mods, ...
- ASCIImator - inherited an old PHP codebase, fixed security bugs and did minor improvements, then ran out of time to maintain it and make it properly GDPR/etc.-compliant; originally created by karaboz and brutto
- BuildCraft - lead maintainer and primary developer from late 2014 to mid-2016
- Computronics - peripheral expansion mod for Minecraft computer mods
- mesegates, meselamps - experiments in Minetest mods
- Minecraft Drama Generator - simple "replace X with Y" script in PHP which achieved some notoriety and a bunch of clones
- NOVA API - helped kickstart it, but ultimately collapsed under its own ambitions/weight; the goal was to be an abstract Java-based API for voxel environments
- safebatchu - Node.js-based batch downloader for "booru" services
- yuyulinux - having fun with LFS, attempt two
- 2013:
- [Contributor] iceball - buildscript (2013) and Lua (2016) improvements; unfortunately were not enough to restore a good engine
- AsieLauncher - outdated user-friendly Minecraft launcher with delta updates
- boorushy2 - Node.js-based tablet-optimized, taggable image repository engine; created because I wanted to browse pictures on a hi-DPI tablet
- EnderNet - cross-server item transport Minecraft mod
- greyboard - Node.js-based HTML5 "multiplayer whiteboard", used for some time by the "MLP Drawing School" Reddit community
- Modular Computing - my first non-trivial Minecraft mod; first iteration featured a 6502-esque emulator, second - a custom CPU architecture co-designed with GreaseMonkey
- partycannon - small IRC bot in Node.js
- Twili Linux - having fun with LFS, attempt one
- 2011:
- ibnjs - JavaScript-based interpreter for the IBNIZ demoscene virtual machine
- 2010:
- 64pixels (source) - small Java-based sandbox 'video game' with multiplayer support, the result of being stuck with no internet and only a copy of the Java SE 6 documentation; achieved a small fanbase and some fondness among a dozen people
- afCraft - feature expansions to the Minecraft Classic custom server "fCraft"
- 2009:
- WireWorld DS - the first complete, non-trivial, "useful" program I released (with heavy help from #dsdev); WireWorld cellular automata simulator
- Zombie Survival Minecraft server - concept by TheOne, original server code by JTE, patches for zombie survival mine
- Incomplete port of Rocks'n'Diamonds 3.2.4 to the Wii.
- 2008:
- Designed some esoteric programming languages of dubious quality: DOBELA (2008), Stackmill (2010)