~cnx/site unlisted

site/works.md -rw-r--r-- 7.8 KiB
7d8ce2a7Nguyễn Gia Phong Welcome Firefox 90 4 days ago

#Free Software Works

\toc

#Packaging

#Floating Cheeses

The interplanetary wheels (or floating cheeses) are platform-unique, single-versioned Python binary distributions backed by IPFS for security and reproducibility.

#Nix Packages

I occationally contribute to nixpkgs, a collection of software packages that can be installed with the Nix package manager.

#CLI

#threa

threa is a X11 clipboard manager written in Raku. It synchronizes clipboard and primary selection and stores the history as separate files to facilitate manipulation by third-party tools.

#comp

Curses Omni Media Player is a mpv front-end using curses.

comp screenshot

It has basic media player functions and can to extract playlists from multiple sources such as media sites supported by youtube-dl, local and direct URL to video/audio and its own JSON playlist format.

#pip

pip is a package installer for Python. Summer 2020, I worked on improving its new resolver's networking performance. The final result was not quite satisfying, but I got to meet some really nice and talented people (-;

#Libraries

#Palace

Pythonic Audio Library and Codecs Environment provides common higher-level API for audio rendering using OpenAL:

  • 3D positional rendering, with HRTF support for stereo systems
  • Environmental effects: reverb, atmospheric air absorption, sound occlusion and obstruction
  • Out-of-the-box codec support: FLAC, MP3, Ogg Vorbis, Opus, WAV, AIFF, etc.

Palace wraps around the C++ interface alure using Cython for a safe and convenient interface with type hinting, data descriptors and context managers, following {{pep 8 naming-conventions}} (PascalCase.snake_case).

#Lazip

Lazip is a Python library providing a read-only file-like object lazily mapped to a ZIP file over HTTP via range requests.

#Video Games

#Brutal Maze

Brutal Maze is a thrilling shoot ‘em up game with minimalist art style.

Brutal Maze screenshot

The game features a trigon trapped in an infinite maze. As our hero tries to escape, the maze's border turns into aggressive squares trying to stop per. Your job is to help the trigon fight against those evil squares and find a way out (if there is any). Be aware that the more get killed, the more will show up and our hero will get weaker when wounded.

#Black Shades

I am maintaining Black Shades, a psychic bodyguard FPS written by David Rosen. In Black Shades you control a psychic bodyguard, and try to protect the VIP from a horde of zombies, snipers and other assorted would-be assassins.

#Axuy

Axuy is a minimalist peer-to-peer first-person shooter.

Axuy screenshot

It is a WIP game for me to experiment with various concepts in P2P networking as well as 3D game development.

#Slacker

Slacker is a clone/parody of the popular arcade game Stacker.

#Plugins

#Vicious

Vicious is a modular widget library for window managers, but mostly catering to users of the awesome window manager. It was derived from the old wicked widget library, and has some of the old wicked widget types, a few of them rewritten, and a good number of new ones.

Vicious widget types are a framework for creating your own widgets. Vicious contains modules that gather data about your system, and a few awesome helper functions that make it easier to register timers, suspend widgets and so on. Vicious doesn't depend on any third party Lua library, but may depend on additional system utilities.

#Alful

Alful is a six-line extension making Firefox Quantum open all windows in fullscreen to hide the toolbars in windowed mode (full-screen-api.ignore-widgets = true). All credits go to tazeat, who wrote the original version and suggested the change to achieve the current behavior.

#vim-octave

I am maintaining Octave syntax and indentation support for Vim.

#Localizations

#Simplified Vietnamese Keymaps

I am the author of the simplified Telex and VNI keymaps for Vim and ibus-table.

#Vietnamese Translation of Flare

I have translated the Free/Libre Action Roleplaying Engine (yep, just the engine) to Vietnamese. The translation of the Empyrean Campaign is work in progress---admittedly it does not get enough priority lately.

#Themes

#Add-Waiter

Add-Waiter is a GTK+ 2 and xfwm4 clone of the dark variant of the default GTK+ 3 theme Adwaita. It was created using screenshots of the original theme on GTK+ 3.16.

Add-Waiter screenshot

The theme was released under GPLv2+, although after the redesign of openDesktop.org, such information is no longer available on the website.

#MathieWD

MathieWD is a flat and clean xfwm4 theme that uses colors from the active GTK+ theme. It is inspired by elementary mathematical symbols.

MathieWD screenshot

The theme was released under GPLv2+, although after the redesign of openDesktop.org, such information is no longer available on the website.

#Miscellaneous

Other themes and configurations are cooperated into my personal dotfiles.

#Services

#Acanban

Acanban is a work-in-progress collaboration platform for students and supervisors during group projects and internships. It is built on the ASGI framework Quart and uses Trio for concurrency when interacting with persistency layers RethinkDB and IPFS.

#ComLake

I worked as an intern at USTH ICTLab on a data lake's core API and workers. It also uses IPFS but PostgreSQL was picked for database.