- Hong Kong / Singapore
- 06:01
(UTC +08:00) - https://github.com/SOF3
- https://keybase.io/sofe
- https://discord.com/users/390090409159950338
- PHP: I mainly worked with projects related toPocketMine-MP during secondary school.Since PHP wasunfortunately selectedas the language for PocketMine-MP, the related projects used PHP as well.
- Rust: Most of my personal projects are in Rust since 2019.I also engage on the rust language community discord regularly.
- Go: I have been working on Kubernetes-related projects in ByteDance,where Go is the first class language (also quite unfortunately).
- jq: I use jq for all scripting only involving deterministic computation.
- Python: I use Python as my calculator app and makeshift plotting tool.
- Linux: i 👏 use 👏 arch 👏 btw 👏 (with GNOME).
- Bash: My login shell is Bash.
- Neovim: My setup ishere.
- And I ssh over tmux over mosh over iTerm2 when I am stuck with a MacBook.
- Git: I always prefer merge commits over rebasing.Force-pushing branches that have been checked out by other people is a crime.
Just some stickers like everyone else does because why not
I have started jotting down some of my weird opinionsin thewiki of this personal repo.
- I have started a lot of open-source projects for personal interest,but many are incomplete because of lack of time and financial support.Incomplete projects are marked as ⏳.
- Each section is sorted in descending order of my personal affection for the projects.Projects beyond a certain threshold of personal affection are not listed here.
- Only projects where I am/was a maintainer are listed here.Search on GitHubfor a full list of my external contributions.
- await-generator, a PHP library that enables async/await pattern.
- thisrc, a PHP extension that observes the refcount of the
$this
object without inducing side effects
- portrait, a Rust proc-macro framework to write trait-aware proc-macro attributes such as impl-by-delegation.
- wordvec, a Rust library providing a thin and small vector with only 1/3 memory footprint of smallvec and comparable performance.
- include-flate, a Rust macro for attaching constants as deflated strings in the executable.
- dirmod, a Rust macro to smartly detect modules to include.
- phar.rs, a Rust library for the PHAR (PHp ARchive) format. Also includes a WASM app and a CLI command for phar manipulation.
- xylem, a Rust framework for statetul type conversion (a post-deserialize processing stage).
I have also created numerous tiny libraries in Rust,but those generally have very ad-hoc purposesand are not known to have any real users other than myself.Checkcrates.io for a full list of my crayon crates.
- rwlock-promise, a JavaScript library that implements mutually-exclusive and shared-exclusive locks with a Promise API
- enclavlow, my final year project that performs Java flow analysis to verify SGX data security.
These projects (and only these projects) are related to my work at ByteDance.
- Kelemetry, an observability tool to provide global control plane tracing for Kubernetes.
- Podseidon, a Kubernetes webhook to protect pod deletion in multi-cluster microservices.
- KubeAdmiral, a multi-cluster orchestrator and scheduler for Kubernetes.
- KubeZoo, a lightweight multi-tenancy solution for Kubernetes.
- PocketMine-MP, a reverse-engineered Minecraft server software.
- PocketMine-MP has a huge ecosystem of plugins, and most of my work in earlier years were related to developing tools and cohesion of the ecosystem,such as dependency management, build tools and common-dependency APIs.
- PocketMine-MP is an ancient project started in 2012. Some of my contributions include introducing modern tools and paradigms to the project.
- ⏳dynec, an ECS library that focuses on type safety and optimized for specific scenarios.
- ⏳Traffloat, a logistics simulation game written in Rust.
- ⏳omniatc, an open-source air traffic control simulator game in Rust.
I was a member of theHKU Robocon Team.
I developed these small apps for personal use over the years.
- AndTransfer, a simple Android app that shares files to anytransfer.sh server.
- Mentamatics, an app for practising mental arithmetic calculation.
- MySQLClientCompact, a small MySQL browser.
- bthint, to tell people to ``` their code blocks when asking for help.
- orbs.bot, a fan project that reverse engineers the API of the webgame orbs.it and mirrors live games
More about myself:
- I started coding in 2013, previously known as@PEMapModder,but I stopped using that account in an unsuccessful attemptto detox from my programming addiction in 2016 (which ended up to be a Hydra).
- I studied stuff related to computer science, statistics and mathematics in the University of Hong Kong,but I never got good grades in mathematics and never even liked statistics, so just forget it.
- I have been working in ByteDance since 2021 on Kubernetes and scheduling.
Interests:
- Please nerd snipe me with content related to aviation and classical music.
- I don't like working on problems without a deterministic solution.Thus, none of my projects are related to statistical learning, AI or LLMs.
- I never monetize my personal projects.I never work on anything directly related to e-commerce, advertisement.I will never work on anything directly related financial investment and trading.
PinnedLoading
- await-generator
await-generator PublicWrite code in async/await style in PHP using generators.
- include-flate
include-flate PublicA variant of include_bytes!/include_str! with compile-time deflation and runtime lazy inflation
If the problem persists, check theGitHub status page orcontact support.
Uh oh!
There was an error while loading.Please reload this page.