Johnson Sun Software Developer

About Me Experiences Publications Projects Talks Patches

About Me

Hello, I'm a student pursuing Master's degree in Computer Science (CS) at National Tsing Hua University (NTHU).
I develop software and tools in my free time:

  • If you often read papers on arXiv, arxiv-utils can improve your user experience.
  • If you use TensorBoard for logging, tbparse can parse the logged events for you.
I'm currently interested in Reinforcement Learning (RL) & Robotics, and conduct research under the joint lab of ElsaLab@NTHU & NVIDIA AI Technology Center (NVAITC). Click here for a list of my publications. If you have any question or just want to say hi, feel free to email me!

Experiences

Employment

  • Deep Learning Intern at NVIDIA (Nov. 2019 - Present)
    • Conduct research on Reinforcement Learning (RL) / Robotics.
  • Penetration Tester at NTHU (Oct. 2019 - Dec. 2022)
    • Find vulnerabilities and provide solutions.
  • Research Assistant at NTHU (Mar. - Jun. 2019)
    • Work on Continuous Deployment (CD) for Raspberry Pi.
  • Teaching Assistant at NTHU (2018 - 2021)
    • Deep Reinforcement Learning (Spring 2021)
    • Introduction to Parallel Programming (Spring 2021)
    • Design and Analysis of Algorithms (Fall 2019)
    • Logic Design Laboratory (Fall 2019)
    • Introduction to Programming I & II (Fall 2018 - Fall 2020)

Education

  • National Tsing Hua University (Sept. 2017 - Present)
    • Pursuing M.S. in Computer Science.
    • B.S. in Computer Science. (Graduated in June 2021)
  • Taipei Municipal Jianguo High School (Sept. 2014 - Sept. 2017)

Honors & Awards

  • Dr. Mei Yi-Chi Memorial Prize (2021)
    The highest honor for college graduates at NTHU.
  • Student Cluster Competition (SCC19) (2019)
    2nd highest total score out of 16 teams worldwide, competed in Denver, US.
  • Course Project Competitions (2017 - 2021)
    1st place in 5 course project compeititions.

Additional Experiences

  • Lead of Development of Mei-Chu Hackathon (2019)
    I managed 10 people to develop 4 projects for the main event, and assisted 6 companies in holding pre-hackathon workshops & determining their hackathon theme.
  • Session Chair of ICML (2021)
    • on Bandits Track (in Reinforcement Learning)
    • on Security and Transparency Track

Publications

ASP-DAC 2023

Hardware Design

Bo-Wun Cheng, En-Ming Huang, Chen-Hao Chao, Wei-Fang Sun, Tsung-Tai Yeh, Chun-Yi Lee, "COLAB: Collaborative and Efficient Processing of Replicated Cache Requests in GPU," accepted as regular paper in Asia and South Pacific Design Automation Conference (ASP-DAC), 2023. (peer-reviewed, proceeding: TBA)

SASIMI 2022

Hardware Design

Bo-Wun Cheng, En-Ming Huang, Chen-Hao Chao, Wei-Fang Sun, Tsung-Tai Yeh, Chun-Yi Lee, "Remote Access Tag Array for Efficient GPU Intra-Cluster Data Sharing," accepted as short paper in Synthesis and System Integration of Mixed Information Technologies Workshop (SASIMI), 2022. (peer-reviewed, proceeding: SASIMI)

ICLR 2022 & GTC 2022

Generative Models

Chen-Hao Chao, Wei-Fang Sun, Bo-Wun Cheng, Yi-Chen Lo, Chia-Che Chang, Yu-Lun Liu, Yu-Lin Chang, Chia-Ping Chen, Chun-Yi Lee, "Denoising Likelihood Score Matching for Class-conditional Iterative Image Generation," accepted as full paper in International Conference on Learning Representations (ICLR), 2022. (peer-reviewed, proceeding: Open Review, arXiv, Code on GitHub)

ICML 2021

Reinforcement Learning

Wei-Fang Sun, Cheng-Kuang Lee, Chun-Yi Lee, "DFAC Framework: Factorizing the Value Function via Quantile Mixture for Multi-Agent Distributional Q-Learning," accepted as spotlight paper in International Conference on Machine Learning (ICML), 2021. (peer-reviewed, presented online, proceeding: PMLR, arXiv, Code on GitHub)

AAMAS 2021 & GTC 2021

Reinforcement Learning

Wei-Fang Sun, Cheng-Kuang Lee, Chun-Yi Lee, "A Distributional Perspective on Value Function Factorization Methods for Multi-Agent Reinforcement Learning," accepted as extended abstract in International Joint Conference on Autonomous Agents and Multi-agent Systems (AAMAS), 2021. (peer-reviewed, presented online, DOI: 10.5555/3463952.3464196, proceeding: IFAAMAS)

IEEE TPDS 2020

High Performance Computing

Wei-Fang Sun, Hung-Hsin Chen, Shao-Fu Lin, Yuan-Ching Lin, Jing-Wei Wu, En-Te Lin, Jerry Chou, "Critique of Computing Planetary Interior Normal Modes with a Highly Parallel Polynomial Filtering Eigensolver by SCC Team from National Tsing Hua University," accepted as full paper in IEEE Transactions on Parallel and Distributed Systems (TPDS) Special Issue on the Reproducibility Challenge, 2020. (peer-reviewed, presented in Denver, U.S., DOI:10.1109/TPDS.2021.3051725)

EWiLi 2019 (ESWeek)

Embedded Systems

Wei-Fang Sun, Shih-Hsien Chan, Zhe-Ting Liu, Yu-Hung Yeh, Pai H. Chou, "Quatros: A Preemptive Multithreaded Embedded OS for Education," accepted as full paper in Embedded Operating Systems Workshop (EWiLi), 2019. (peer-reviewed, presented in New York, U.S., DOI: 10.1145/3412821.3412829)

Projects

python
14 Nov 2022

Org2iCal

Generate an iCalendar (.ics) file based on a OrgMode (.org) file.

emacs org-mode python
python
26 Oct 2022

UR10Reacher

UR10 Reacher Reinforcement Learning Sim2Real Environment for Omniverse Isaac Gym/Sim.

omniverse isaac-sim omni-isaac-gym usd python
python
15 Sep 2022

DofbotReacher

Dofbot Reacher Reinforcement Learning Sim2Real Environment for Omniverse Isaac Gym/Sim.

omniverse isaac-sim omni-isaac-gym usd python
elisp
24 Jul 2022

Dot Emacs

My Emacs Configuration.

emacs org-mode elisp
c#
01 Feb 2022

Speech to Windows Input

Perform speech-to-text (STT/ASR) with Azure speech service and simulate keyboard to input the recognized text.

windows c# azure
python
31 Aug 2021

TBParse

Load tensorboard event logs as pandas DataFrames for scientific plotting.

python tensorboard pytorch tensorflow tensorboardx pypi
js
18 Jul 2021

MathJax Tooltips

Support overlapping tooltips for MathJax.

javascript
shell
28 Jul 2020

Linux Scripts

My Linux scripts.

linux shell zsh oh-my-zsh
tutorial
22 Feb 2020

C Tutorial

C Tutorial site in blog post / Q&A style.

c
webext
03 Sep 2019

ArXiv Utils

A browser extension to support meaningful titles for tabs and PDF downloads on arXiv. Also supports tab search.

webextension javascript
c++
25 May 2019

2D Tower Defense Engine

An Object-Oriented 2D game library written from scratch. Includes a 2D tower defense game that supports enemy path-planning and homing missiles.

c++ allegro5
ahk
05 Apr 2019

AutoHotkey Scripts

My AutoHotkey scripts.

windows autohotkey
ts
24 Jan 2019

Take Back the Colors

A 2D platformer game about a rabbit swinging through the jungle with its carrot to save her village by retrieving the color crystal.

typescript phaser
verilog
20 Nov 2018

Handwritten Digit Recognition Painter

A real-time handwritten digit recognition painter implementation on Basys 3 Artix-7 FPGA.

fpga python c# c++ verilog vivado
c#
22 Apr 2018

Screen Color Inspector

Show and copy the pixel color HEX code under the cursor.

windows c#
c#
16 Mar 2018

Print Screen

A tool for saving screenshot directly to folder with a single hotkey.

windows c#
c#
06 Mar 2018

Low Level Control

A light-weight library for simulating / blocking mouse and keyboard inputs.

windows c# windows-api nuget
c#
28 Feb 2018

Overlay Window

A library for displaying a transparent overlay on screen.

windows c# monogame nuget
unity
10 Jan 2018

Virtualization

A 3D third person action role-playing game about the adventure of Cynthia traveling between the real and virtual world.

windows uwp unity c# microsoft-store
c++/cli
29 Jan 2015

Push-It

An intellectual puzzle.

android java windows c++/cli ios objective-c google-play app-store
ios
07 Aug 2014

Triangle

An app for learning the four types of triangle centers.

android java windows ios objective-c google-play app-store
android
06 Jun 2014

Double Tap

A minigame.

android java ios objective-c google-play app-store

Talks

  • ASP-DAC (2023)
    • COLAB: Collaborative and Efficient Processing of Replicated Cache Requests in GPU (in Tokyo with English, 20 mins, with @bobcheng15 and @samuel21119)
  • Mahindra University (2022)
    • RL Fundamentals & Mainstream Algorithms (online with English, 1 hr)
  • ICML (2021)
    • DFAC Framework: Factorizing the Value Function via Quantile Mixture for Multi-Agent Distributional Q-Learning (online with English, 5 mins)
  • GTC (2021)
    • A Distributional Perspective on Value Function Factorization Methods for Multi-Agent Reinforcement Learning (online with English, 5 mins)
  • SCC (2019)
    • Critique of Computing Planetary Interior Normal Modes with a Highly Parallel Polynomial Filtering Eigensolver (in Denver with English, 5 mins)
  • EWiLi in ESWeek (2019)
    • Quatros: A Preemptive Multithreaded Embedded OS for Education (in New York with English, 25 mins)
  • Introduction to Programming II (Spring 2019, Spring 2020)
    • Create a 2D Tower Defense Game: OOP game development with C++ and Allegro 5 (in National Tsing Hua University with Chinese, 1 hr)
  • Introduction to Programming I (Fall 2018, Fall 2019, Fall 2020)
    • Create a 2D Shooter Game: Game development basics with C and Allegro 5 (in National Tsing Hua University with Chinese, 2 hrs)
  • Student Association of Computer Science Department (2018)
    • Introduction to Game development with Unity (Part I & II) (in National Tsing Hua University with Chinese, 6 hrs, with @tigerpaws01)

Patches

  • SeleniumHQ/selenium
    • [PRs] Expose browser specific functionalities for remote webdrivers. (2022 - 2023, in-progress)
    • [PRs] Fix errors in documentation. (2022 - 2023, under review)
  • Gallopsled/pwntools
    [PR #2114] Support FinishBreakpoint for GDB API. (2022)
  • binutils-gdb (The GNU Project Debugger)
    • [PR python/29603v3] Disable out-of-scope watchpoints. (2022, under review)
    • [PRs] Fix deletion of FinishBreakpoints. (2022)
  • orthanc/orthanc-python
    [PR] Expose C++ DICOM Storage Commitment SCP Callback to Python. (2022, to be merged)
  • NVIDIA Omniverse Isaac
    [PRs] 10+ internal patch requests. (2021 - 2022)
  • ricktu288/ray-optics
    [PRs] Redesign the user interface and fixed several bugs. (2018)
  • karlicoss/orgparse
    [PRs] Support parsing more duration formats and timestamp cookies. (2021 - 2022)
  • IDSIA/sacred
    [PR #865] Support NVIDIA Multi-Instance GPU. (2022)
  • mmistakes/minimal-mistakes
    [PR #2874] Support sidebar scrolling. (2021)
  • feathersjs/feathers-chat
    [PR #106] Fix XSS vulnerability in user email. (2019)

© Johnson Sun

Build with Jekyll and ❤ by Johnson.

Powered by: particle, devportfolio, cards-jekyll-template.