Compiler from a subset of C to Web Assembly Text (WAT)
A compiler from a subset of C to Web Assembly Text format. While not a full C implementation, it supports loops, conditionals, all of C operators, all primitive types, structs, arrays and pointers while generating a compact, readable and efficient WAT/WASM code.
Download page: https://github.com/kign/c4wa/releases
Calendar/Todo list in ReactJS
Notes for each day, saved into browser local storage.
Live demo: https://kign.github.io/react-cal
JavaFX demo for Game of Life
Conway's Game of Life with JavaFX-based UI, plugging in a C library via JNI.
Web UI for Game of Life on true infinite board
Core algorithm implemented in C and compiled to WASM with c4wa compiler; Javascript-based UI supports Pan/Zoom with multi-touch
Live demo: https://kign.github.io/life-inf
Optimized C library for Game of Life
Used in JNI and Python C interface packages included here; optimized to support up to 120 fps with 1200x1600 board on modern hardware (single-thread mode).
Low-level Python package for Game Of Life API
Integrating C library into Python package, with callback support.
PyPi link: https://pypi.org/project/conway-life
Python package for Game of Life Web UI
An example of using conway-life package, and also a template for Python-based Web UI more generally.
PyPi link: https://pypi.org/project/life-web-ui
Native Web Assembly implementation for Game of Life
Original C implementation done natively in Web Assembly; there is also an interesting performance comparison between native implementation and some popular Web Assembly runtimes.
Live demo: https://kign.github.io/life/life-web.html
Database utilities
Lots of Java code (almost 10,000 lines!), mostly implementing typical database tasks in a uniform way regardless of a backend. Among supported backends are PosgreSQL, MySQL, Redshift, Snowflake, Presto, hive and sqlserver.
There is also a Java RMI-server which keeps JDBC connection alive making it possible to bypass browser authentication on every query, and an advanced interactive shell with table/column name completion, saved history and terminal width-adjusted output formatting.
Bash wrappers for all utilities included.
Billiard game in JavaScript
Fun game, which also is a showcase for an elastic collision algorithm and a TypeScript programming. Elastic collision is implemented in Zig (a very new language which is basically an improved C) compiled into Web Assembly.
Live demo: https://kign.github.io/js-billiard
Xonix
The only project originally written more than 10 years ago. “Xonix” is a very old terminal game I saw back in the high school; when I learned about the original version of Google Web Toolkit making it possible to implement interactive applications on the Web, I used it for this implementation. Code is written entirely in Java and transcoded to JavaScript with GWT v1.
Live demo: https://kign.github.io/xonix
Starwars: simultaneous programming for terminal and for Web
An exercise in Java using lanterna, a popular ncurses library. There is also a Web version with Java to JavaScript transcoding using TeaVM.
Could be adapted to support any other ncurses/terminal games.
Python helper libraries
Large collection of Python utilities, which at some point I decided to accumulate under one published package. Most other projects included here use some utilities from this package.
Among other things, it has an email send utility which works both with a typical SMTP server while also supporting Google Gmail API.
PyPi link: https://pypi.org/project/inetlab
Hebrew calendar
I have written several handy Chrome extensions, but that’s the only one thus far actually published in the Chrome Web Store.
It’s main differentiator vs many other Hebrew calendars available online is that it shows the Hebrew month/year not as an overlay over a Gregorian calendar, but by itself. Visual representation of the 19 year metonic cycle (corresponding to 235 lunar months) is also nice.
Chrome Web Store link: Real Jewish Calendar
Collaborative Programming Board
Not 100% finished, but the idea was to make a collaborative JavaScript programming environment on a simple board, coordinated between participants via a server with a Restful API.
URL shortener service
A fully functional Web shortener implementation written in Python3 (backend) and Bootstrap 5 (UI), using free Google Firestore as NoSQL database backend. Supports authentication with either Google or Microsoft accounts.
Live deployment: ign.us
New comments marker for Dreamwidth.org
While not published, this is a fully functional Google Chrome extension which adds a markup for newly added used comments on popular blogging site Dreamwidth.org