Try   HackMD

Portfolio(程式相關作品集)

open source project

spike-vp
Use spike and VCML to build a SystemC virtual platform.
https://github.com/TommyWu-fdgkhdkgh/spike-vp

glog
[Accepted] https://github.com/google/glog/commit/18836106d1fe6893c5cf3db1682b6916fdd4f34c
this patch make glog 50% faster in specific situaltion
thank ᴀᴇsᴏᴘʜᴏʀ for advice.

QEMU
[Ongoing] target/riscv: Align the AIA model to v1.0 ratified spec
https://mail.gnu.org/archive/html/qemu-riscv/2023-08/msg00261.html
[Accepted] hw/intc: If mmsiaddrcfgh.L == 1, smsiaddrcfg and smsiaddrcfgh are read-only.
https://mail.gnu.org/archive/html/qemu-riscv/2023-06/msg00252.html
[Cancel] Refresh the dynamic CSR xml after updating the state of the cpu.
https://mail.gnu.org/archive/html/qemu-riscv/2023-05/msg00454.html
[Ongoing] target/riscv: Add Smrnmi mnret instruction.
https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg05262.html
[Accepted] Fix an infinite loop in Xilinx-AXIDMA.
https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg04796.html
[Duplicated] Fix the type of parent_obj of SiFiveEState.
https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg02863.html
[Code review] The risc-v disassembler.
https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg03771.html
[Accepted] Watchdog Timer for HiFive 1 rev b.
https://lists.gnu.org/archive/html/qemu-riscv/2022-09/msg00167.html

course project of nand2tetris

https://github.com/fdgkhdkgh/nand2tetris

course project of linux kernel internals (NCKU)

Instructor: Jim Huang (黃敬群)

quiz0
https://hackmd.io/@fdgkhdkgh/linux2021-quiz

quiz1 : hideproc
https://hackmd.io/@fdgkhdkgh/hideproc

quiz2 : hazard pointer
https://hackmd.io/@fdgkhdkgh/hp

MediaTek

vAward 2022/05/15
Develop a framework based on GoogleTest to do UnitTest on Modem firmware code

vAward 2021/02/08
Reduce the amount of memory used by internal tools.

Bugs reported

碩士論文:支援多目標的模糊測試,目前的成果

CVE

CVE-2020-35536: GCC: Bug 93027 - ICE: in match_reload, at lra-constraints.c:1060
CVE-2020-35537: GCC: Bug 93015 - [10 Regression] Segmentation fault (ipcp_store_vr_results(void))
感謝吳宗遠同學幫忙向相關機構回報漏洞

binutils

afl + coverage guided combinatorial fuzzing test

[1]https://sourceware.org/bugzilla/show_bug.cgi?id=25191
[2]https://sourceware.org/bugzilla/show_bug.cgi?id=25196
[3]https://sourceware.org/bugzilla/show_bug.cgi?id=25197
[4]https://sourceware.org/bugzilla/show_bug.cgi?id=25200
[5]https://sourceware.org/bugzilla/show_bug.cgi?id=25220
[6]https://sourceware.org/bugzilla/show_bug.cgi?id=25221
[7]https://sourceware.org/bugzilla/show_bug.cgi?id=25444
[8]https://sourceware.org/bugzilla/show_bug.cgi?id=25629
[9]https://sourceware.org/bugzilla/show_bug.cgi?id=25637
[10]https://sourceware.org/bugzilla/show_bug.cgi?id=25648
[11]https://sourceware.org/bugzilla/show_bug.cgi?id=25651
[12]https://sourceware.org/bugzilla/show_bug.cgi?id=25673
[13]https://sourceware.org/bugzilla/show_bug.cgi?id=25675
[14]https://sourceware.org/bugzilla/show_bug.cgi?id=25687
[15]https://sourceware.org/bugzilla/show_bug.cgi?id=25688
[16]https://sourceware.org/bugzilla/show_bug.cgi?id=25699
[17]https://sourceware.org/bugzilla/show_bug.cgi?id=25714
[18]https://github.com/libjpeg-turbo/libjpeg-turbo/issues/441 感謝吳宗遠同學使用 SQ-Fuzz 發現漏洞並進行回報

gcc

prog-fuzz + pure combinatorial fuzzing test

[1]https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93027
[2]https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93015

Phison Electronics intern(群聯電子實習成果)

Slides for project
https://docs.google.com/presentation/d/1nmhN8VAP7qeqrOc40_hIAZnEUT8oYXoEZwv80twyTyU/edit#slide=id.p

course project of Parallel Programming @ NCTU, Fall 2020

Instructor : Prof. Yi-Ping You (游逸平)

lab 1
part 1 : using SIMD simulation instruction set to parallel a simple program
part 2 : using llvm to vectorize a simple program, and answer some question about the "loop-access" pass of llvm.

lab 2
part 1 : simple pthread programming, calculate pi using rejection sampling
part 2 : simple std::thread programming to draw Mandelbrot set, learn how to do efficient parallel coding

course on udemy : Microcontroller Embedded C Programming: absolute beginners

certificate

course project of IC LAB(NCTU)

lab01

lab02

lab03

course project of linux kernel internals (NCKU)

Instructor: Jim Huang (黃敬群)

homework1(lab0-c) journal / github

homework2(fibdrv) journal / github

homework4(khttpd) journal / github

course project of Software-defined networking (NCTU)

A source learning switch with onos
https://github.com/fdgkhdkgh/sdn_lab3

course project of Operating System Design and Implementation(OSDI)(NCTU)

A simple bootable kernel
https://github.com/fdgkhdkgh/nctu_osdi_part2

course project of advanced unix programming(NCTU)

All the labs
https://github.com/fdgkhdkgh/nctu_advanced_unix

Final project : a simple debugger
https://github.com/fdgkhdkgh/simpleDebugger

course project of network programming(NCTU)

All the projects
https://github.com/fdgkhdkgh/nctu_network_programming

course project of operating system(NCTU)

single thread, multi client server & multi thread, multi client server
take a video, using openalpr to detect License Plate, and then send result to the hadoop distributed file system
https://github.com/fdgkhdkgh/os_project

final project of compiler (National Central University)

A Lisp interpreter - Lex and Yacc based.
https://github.com/fdgkhdkgh/a_simple_lisp_interpreter