Kevin Cyu

Hey there!

Welcome to my personal website, this website is made by papoGen, which is one of my side project!

I'm a network researcher, studied SDN/P4 & network security in my master degree. Also I'm a Node.js player, Qt application/game maker, founder of toolbuddy.


Contact me

Activities

  • 1st E-sport festival (League of legends / Hearthstone) in National Cheng Kung University
    • 2015: Vice convener
  • National Cheng Kung University - Students' union
    • 2016~2017: Minister of IT department
  • Toolbuddy (Github Organization)
    • 2017~Current: Founder

Education

Date Institution Degree
2013 ~ 2017 Nation Cheng Kung University (NCKU), Computer Science Bachelor
2017 ~ 2019 Nation Cheng Kung University (NCKU), Computer Science Master

Languages

  • Mandarin (Native language)
  • English (Medium)

Side Projects

  • Network-related Projects
  • Qt / C++
  • Node.js
  • Embedded System / MCU
  • Virtualization
  • Mathematics

P4 researching

P4 learning and experiment materials. Also make some tutorials/training courses and test environment (via Docker) of P4.

Provide some implementation of P4 in open source environment (BMv2):

  • Basic forwarding
  • Dynamic forwarding
  • ECMP/WCMP
  • L2 learning switch
  • Digest (Feature of P4)
  • MPLS (simplify version)
  • NAT
  • Monitor (leverage counter)
  • Local routing (leverage register)
  • Boardcast/Multicast

Virtual Router

Using tuntap to simulate router port, and implement software router and related network functions with C, and also provide documents on HackMD, support:

  • Basic forwarding
  • L3
    • ARP
  • L4
    • ICMP
  • Simple CLI implementation
    • show command (e.g. show router's statistics)
    • debug command (e.g. show the information of forwarding packets)

★ Node.js

docoGen

Base on LaTeX and Node.js to build fancy paper work.

papoGen

Use Sass/CSS + Pug + Node.js to generate beautiful static website.

LifeGamer - Render Server

Base on Node.js and Pixi.js to build the render engine for Game platform.


★ Qt / C++

local-google-translator

Using Qt to build a self-used translator, a good tool with reading paper.

AngryThings

Clone of Angrybird, TA demo for final project of 2016 course, which is developed by Qt.

BBTAN-on-Qt

Qt tutorials of making an android game - BBTAN, aim to teach the students to have knowledge to develop their game with Qt.

Live demo


★ Embedded System / MCU

2015 - Chrismas Project

Using MSP430 and some electronic materials to construct an electricity Christmas tree! And we design the entire system, which has a programmable lighting pattern! Cheer!


★ Virtualization

WasmVM

Developing a standalone virtual machine which following Webassembly spec, to leverage its memory design, and other advantages. Also we have design some extensible feature for making it a virtual machine.


★ Mathematics

Stochastic process

Record the learning materials of the course - "STOCHASTIC ANALYSIS OF COMPUTER NETWORKS" in National Cheng Kung University.

Skills

Programming Languages

  • C/C++
  • Node.js
  • Shell script
  • Golang
  • P4
  • python

Development Environments

  • GNU/Linux, Freebsd
  • Git
  • Qt (C++)
  • perf
  • gnuplot/graphviz
  • gdb/valgrind

Web Service/Deployment

  • Pixi.js (Html5 Game)
  • MongoDB
  • MySQL
  • Heroku

Network Monitor/Traffic management

  • ntopng
  • mininet

Current Study

I'm currently study on:

  • Software-define network (SDN)
  • P4 (Programming Protocol-Independent Packet Processors)
  • VNF (Virtual network function) offloading on Data plane
  • Congestion control / Load balancing mechanism
  • Anomaly detection in SDN

Work experience

A10 Network (2019.9 ~ Now)

  • Junior Software Engineer, data plane team - TPS (2019.9 ~ 2020.2)
  • Junior Software Engineer, data plane team - CGN (2020.2 ~ Now)

EFACANI Tech. (2018.3~2018.11)

  • Par time Back-end Engineer
  • Development ( electron, node.js, git, heroku )
    • Cryptocurrency trading bot
    • Web Service of trading bot

National Cheng Kung University (2013~2019)

  • C++ program design
    • 2016: Teacher Assistant (Project Developer), develop AngryThings with partner. ( Qt, C++ )
    • 2017: Teacher Assistant (Project Leader), develop LifeGamer - Render Server and design system architecture. (Qt, C++, node.js, pixi.js, git, linux)
    • 2018: Teacher Assistant (Project Leader, System Architect), maintain LifeGamer platform. (node.js, gitlab runner)
    • 2019: Project Leader, System Architect, develop new version of LifeGamer with other members in Toolbuddy. (Golang, stochastic process, nodejs, pixi.js, Qt, C++)
  • Graph Theory (Course No. EE6622E)
    • 2019 Spring: Teacher Assistant, develop fake-mininet for term project.
  • CS Department of NCKU
    • 2017.7 ~ 2019.7: PC Assistant

Top

Created by @ToolBuddy/papoGen(papercss)