Skip to content
View PDGGK's full-sized avatar

Highlights

  • Pro

Block or report PDGGK

Report abuse

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

Report abuse
PDGGK/README.md

Hi, I'm Jason (Zihan Dai) 👋

Bachelor's student @ University of Melbourne | CS & AI & Data Science

Apache open-source contributor. Google Summer of Code 2026 with Apache IoTDB.


🌍 Open Source

Google Summer of Code 2026 — Apache IoTDB. I built the ThingsBoard × IoTDB 2.x table-model integration, mentored by an IoTDB PMC member, and have continued maintaining it since: the iotdb-thingsboard-table module, table-model support in the Grafana data source plugin, the Grafana build migration off grafana-toolkit, the user and migration guides, and an ingestion-throughput benchmark.

Mostly correctness work found by reading source rather than picking off an issue tracker — resources leaked on failure paths, values that break a contract at a boundary, error handling that discards the original failure. Where a regression test can isolate the defect I add one, and mutation-check it by reverting the fix against the base commit to confirm the new test goes red.

Project What it is Merged
apache/paimon Lake format for streaming and batch 25
apache/opendal Unified data access layer 22
apache/iotdb-extras IoTDB ecosystem integrations — GSoC 2026 13
apache/beam Distributed data processing 12
apache/shardingsphere Distributed database middleware 8
debezium/debezium-platform Change data capture 4
apache/iotdb-client-nodejs IoTDB Node.js client 4
opencv/opencv Computer vision library 3
apache/seatunnel Data integration platform 3
apache/iotdb-client-go IoTDB Go client 3
apache/iotdb Time-series database 3
apache/iceberg Open table format 1

A few of them:

  • paimon#9408 — a partition hash of Integer.MIN_VALUE stays negative through Math.abs and selects a negative shuffle channel.
  • shardingsphere#39611 — converting a pre-epoch date to a protobuf timestamp derived the seconds by truncating division, naming the second above the one the value falls in, while getNanos is a non-negative offset into it.
  • iotdb#17212 — periodic system-metrics collection could leave child processes unreaped; fixed the cleanup and the interrupt handling.

I also take part in design discussion on dev@iotdb.apache.org — proposals of my own on the Node.js session pool, the Grafana plugin's version policy, and table-model support for the Flink connectors, plus other people's threads on aggregate function design, IPv6 endpoints and the Rust client SDK.


🤖 LLM & AI Research

Project Description Tech Stack
FusionSQL Text-to-SQL solution with BGE-M3 fusion retrieval (table-level ∪ column-level), achieving 95.7% recall rate Python, BGE-M3, Qwen, FlagEmbedding
text2sql_research Text-to-SQL with graph structure & RAG Python, LangChain, Graph DB
LLM-Research-Internship-2025 Technical notes on LLM alignment & prompt engineering Markdown
2024_ai_intership_log AI system development: multimodal ad review with ReAct architecture Python, FastAPI, LangChain, Docker

🔧 Engineering Projects

Project Description Tech Stack
MarsCode_Winter_project Heimdallr: Full-stack frontend monitoring system with SDK, backend & dashboard TypeScript, Vue, MySQL

📊 Data Science

Project Description Tech Stack
EODP-project Crime rate prediction in Victoria using socio-economic factors Python, Jupyter, Scikit-learn

📚 Course Projects

Project Description Tech Stack
OOSD-project Shadow Donkey Kong: 2D arcade game with enemy system Java, Bagel Engine
ads-project2 Algorithm & data structure implementations C

Tech Stack

Languages: Java · Python · Go · TypeScript · Rust · C · SQL

Data infrastructure: Apache Paimon · Iceberg · Beam · SeaTunnel · IoTDB · ShardingSphere · OpenDAL · Debezium

AI/ML: PyTorch · LangChain · Transformers · RAG · ReAct

Backend: FastAPI · Node.js · MySQL

Tools: Docker · Git · Maven · Jupyter

Pinned Loading

  1. MarsCode_Winter_project MarsCode_Winter_project Public

    TypeScript 4

  2. 2024_ai_intership_log 2024_ai_intership_log Public

    czsj 实习技术博客

    2