Academic Record


2012-2016

National Taiwan University, Bachelor of Computer Science and Information Engineering
Undergraduate thesis: Solving graph domination problem on DH graph using split decomposition

2017-2021

National Taiwan University, Master of Computer Science and Information Engineering
Teaching assistant of System Programming course (2016-2017)

2021-

National Taiwan University, Doctor of Computer Science and Information Engineering (ongiong)

Work Experience


2010 - 2016

Software Developer at CAVEDU Education (CAVEDU 教育團隊)
Developer of AppInventor project [ai2], Authored LeJOS on LEGO NXT book ([lejos-book]).

2016 Jul. - 2017 Jul.

Substitute Military Service at Institute for the Blind of Taiwan (臺灣盲人重建院)
General affairs, develop automatic official documents image to text

2018 Jun. - 2019 Jun.

R&D Assistant at Microsoft Taiwan
Bing’s Reverse Geocoder backend development

2021 Sep. - 2022 Sep.

R&D Assistant at ADLINK Technology Inc.
Develop distributed consensus and traffic control using Zenoh

Publications

(2013) 機器人程式設計與實作:使用 Java / Robotic Programming Design and Practices: Using Java

A book introduces leJOS framework on LEGO NXT robots [lejos].
ISBN: 9789862768228

(2016) Undergraduate thesis: Solving graph domination problem on DH graph using split decomposition

The study focuses on total and paired domination problems on distance-hereditary graph. Discovered an alternative optimal solution to total domination based on split decomposition. The handout can be found in the link.

(2021) Master thesis: Occlusion resistant tracking based on idempotent adjunction relationship between cyber and physical objects

The thesis combines deep learning and formal methods to tackle the occlusion in image tracking-by-detection problem. It developed a method to establish strong relationship among sensor data and learned representations, and achived short-term prediction of vehicle movements based on the material derivative method. The model is trained on completely labeled data is evaluated on partially occluded data. It shows 0.3 meter displacement error in average.

Participated Projects

MIT AppInventor project (2016 - 2018)

Develope robotic features on WYSIWYG Android programming. Developed Lego EV3 and MediaTek MT7697 support [ai2-contrib].

TorFS (2019)

The project exploited free storage by abusing Tor’s Onion service. It provided a virtual file system that stored data blocks as RSA public keys in disguise, and distributed them to the rest of Onoin network. (github)

Hacky Arm (2020)

It designed a robotic arm capable of grabbing objects using RealSense. The software combined computer vision and position estimation of objects using Intel RealSense depth camera, and instructed the arm to grab objects accordingly. (github)

typ (2020)

The project developed the type level programming language for Rust. It achieved compile-time, type-level arithmetic computations. It was developed to pave the way for building type-safe tensor types in Rust. (github)

par-stream (2020)

It developed building blocks for asynchronous parallel data flow for Rust. It was develped to serve image data processing that mix heavy I/O and computation tasks. It provided iterator-style stream combinators to distribute data and scale on workers, and is designed to support Rust’s async/await in nature. (github)

yolo-dl (2020-ongoing)

The project reproduced YOLOv4 object detection model using tch-rs and libtorch in Rust. It was designed with parallel, asynchronous and unordered data flow in mind, provided multi-GPU training, and supports modular deep learning model configurations. (github)

Wayside (2019-ongoing)

The lab project develops a complete data processing system for traffic scenes. The tasks convered data collection, equipment design, data processing pipeline and data analysis. The vision is to provide a data processing pipeline to generate high precision data from LiDAR to aid the performance of camera based models. The project information can be found in the lab page.

Honors & Awards


104 年金盾獎 2nd place (2015)

Reference 行政院國家資通安全會報

102 年金盾獎 潛力無窮獎 (2013)

Reference Web archive for official site

Skills

Experienced in parallel and concurrent systems

Can write CUDA (example), is able to construct concurrent data strucutres from scratch. (example)

Experienced in machine learning

Can design and deploy machine learning models, e.g. SVM (link), image generation models (link), contribute to several machine learning and computer vision libraries, e.g. TensorFlow’s Record File for Rust. (link)

Experienced in secure systems

Participated in several Capture the Flag (CTF) contests in college. Can exploit weakness of a system. ([torfs])

Mathematical background

Studied game theory, combinatorics, abstract algebra, cryptography, computational logic and discrete differential geometry in college. Had an undergraduate thesis on graph theory ([undergraduate-thesis]).

Research Interests

The first class of my reserach is to establish learned data representation with formally verifiable properties. In the recent thesis Occlusion resistant tracking based on idempotent adjunction relationship between cyber and physical objects [master-thesis], it provides a framework to guarantee strong equivalence from learned representation and sensor data, which relationship is inspired from category theory, and describe object motions using a concept from fluid dynamics. The future work is to characterize the scene objects in more constructive manner, maybe using developed methods from differential geometry, and combine it with modern machine learning constructs.

Another research interest is developing distributed decisions on unreliable systems. The recent project with ADLINK developed distributed decision on vehicles, that aims to be efficient and support dynamic memberships. In the project, we provided a decision model based upon CRDT [crdt] with consistency guarantees, and implemented a baseline consensus algorithm based on BFT.

References

  • [ai2] AppInventor project provides WYSIWYG interface for Android programming.

  • [lejos] leJOS is a Java framework to run Java bytecode on LEGO Mindstorms rotobics kit.

  • [ai2-contrib] The pull requests link1 and link2 that add LEGO EV3 and MT7697 support to AppInventor.

  • [crdt]: Conflict-free Replicated Data Type, https://crdt.tech/