Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
@SOF3
SOF3
Follow
View SOF3's full-sized avatar

Jonathan Chan Kwan Yin SOF3

a.k.a. SOFe,@chankyin. Infrastructure developer. I Go during the day and Rust at night.My code on GitHub are not affiliated with my company unless specified.

Organizations

@LegendOfMCPE@BlockServerProject@LegionPE@pmt-mcpe-me@Project-Nyx@poggit@pmmp@PMPluginDevelopers@dihydrogen-monoxide@poggit-orphanage@BlockHorizons@m2robocon@pmmp-repo@eviov@traffloat@kubewharf

Block or report SOF3

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more aboutblocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more aboutreporting abuse.

Report abuse
SOF3/README.md

Programming languages

  • 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).

Scripting languages

  • jq: I use jq for all scripting only involving deterministic computation.
  • Python: I use Python as my calculator app and makeshift plotting tool.

Development environment

  • 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.

Statistics

Just some stickers like everyone else does because why not

Personal blog

I have started jotting down some of my weird opinionsin thewiki of this personal repo.

Highlighted projects

  • 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.

General-purpose libraries

PHP

  • 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

Rust

  • 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.

JavaScript

  • rwlock-promise, a JavaScript library that implements mutually-exclusive and shared-exclusive locks with a Promise API

Programming language analysis

  • enclavlow, my final year project that performs Java flow analysis to verify SGX data security.

Cloud

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.

Game development

  • 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.

Robotics

I was a member of theHKU Robocon Team.

Android development

I developed these small apps for personal use over the years.

Discord bots

  • 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

Other accounts

More noise that nobody cares

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

  1. await-generatorawait-generatorPublic

    Write code in async/await style in PHP using generators.

    PHP 120 16

  2. kubewharf/kelemetrykubewharf/kelemetryPublic

    Global control plane tracing for Kubernetes

    Go 274 29

  3. include-flateinclude-flatePublic

    A variant of include_bytes!/include_str! with compile-time deflation and runtime lazy inflation

    Rust 138 7

  4. portraitportraitPublic

    Trait-agnostic derive macros

    Rust 27 1

  5. dynecdynecPublic

    An opinionated ECS-like framework

    Rust 12

  6. wordvecwordvecPublic

    A thin and small vector that can fit data into a single usize.

    Rust 4


[8]ページ先頭

©2009-2025 Movatter.jp