HINGON MIU

Wear a Mask. Save Lives.

Master of Science

Carnegie Mellon University, Pittsburgh, PA

Electrical & Computer Engineering

2015 - 2016

Bachelor of Science

Carnegie Mellon University, Pittsburgh, PA

Electrical & Computer Engineering

Computer Science

2011 - 2015

Teaching Assistant

18-549: Embedded Systems Design

Guided 4 teams (Acoustic Phantom , osu!Gosu , OuiCan , Watchdog ) of graduating seniors to complete capstone projects.
2016

18-349: Embedded Real-Time Systems

Designed exams and ARM based kernel labs on Raspberry Pi to cover interrupts handling, supervisor/user mode switching, system calls, context switching, task scheduling and real-time synchronization.
2015

Operating System

Unix Kernel

Implementation of multi-threaded x86 kernel from scratch with virtual memory address spaces via paging, privilege levels, preemptive multitasking, system calls and device drivers for keyboard, console and timer. Optimization of reducing fork overhead with copy-on-write virtual memory management.

User Level Thread Library

Implementation of thread management library with thread-crash exception handler, mutexes, condition variables, semaphores and readers/writers locks in C and x86 instruction set.

Bootloader

Implementation of two-stage bootstrapping in x86 16-bit real mode, including switching into protected mode and loading a multiboot compliant kernel.

Unix Shell

Implementation of Unix command shell that supports job control and I/O redirection.

Computer Graphics

Optimized GPU Raytracer

Implementation of state-of-the-art GPU raytracer with optimized parallel bounding volume hierarchies.

CPU Raytracing

Implementation of recursive raytracer for eye rays, shadow rays, reflected rays and transmission rays with OpenMP parallelism.

Optimized Photon Mapping

Implementation of photon mapper with KD-tree storage and nearest-neighbor search to achieve caustics and global illumination.

Fast Subdivision Algorithm

Implementation of optimized subdivision to recursively refine the surfaces of given 3D polygonal meshes.

3D Physics Engine

Implementation of animated 3D physical bodies with gravity, collisions, spring forces and friction.

Machine Learning

Matrix Factorization

Implementation of parallelized iterative matrix factorization algorithm with Spark that maximizes computation time and minimizes network I/O latency for each executor core.

Computer Vision

GPU Images Stitching

Implementation of interest point detection for video object tracking by scale-invariant feature transform algorithm with runtime analysis of MATLAB implementation on CPU versus parallelized CUDA implementation on GPU.

Image Segmentation

Implementation of partitioning digital image into regions of pixels with parallel minimum spanning tree algorithm in Standard ML.

Computer Security

MD5 Hash Attack

Implementation of identifying MD5 collisions to produce executables of arbitrary length that hash to the same MD5 value while produce markedly different outputs such that it allows corrupting files even with MD5 hash verification. Two Linux 32-bit executable examples are available for download.

Buffer Overflow Attack

Implementation of exploiting vulnerable buffers to overflow function’s return address on call stack with address of subroutine in executable memory. This specific "return-to-libc" attack redirects program counter to standard C library and spawns command shell to execute arbitrary commands.

DES Encryption Attack

Implementation of exploiting loopholes in PKCS#5 padding scheme to hack DES block cipher algorithm in CBC mode.

Anonymity Network

Implementation of anonymizing network communication by redirecting encrypted traffic through random Tor relays.

Mobile Phone Viruses

Study on spreading patterns of bluetooth viruses, multimedia messaging services viruses and hybrid viruses.

Blockchain

Bitcoin Mixing Service

Implementation of REST API Bitcoin mixing service of breaking Bitcoin traceability between sender address and receiver address that manages Bitcoin and Monero addresses via Coinbase and Monero Wallet, exchanges Bitcoin with Monero and mixes Monero via ShapeShift and XMR.TO.

Laundering with Bitcoin

Implementation of laundering through obfuscation of sources of funds that exchanges Bitcoin via Coinbase, encrypts traffic and disguises IP via Tor, manages wallets and addresses via Blockchain and mixes Bitcoin via PrivCoin.

SPV Client

Implementation of Bitcoin SPV protocol that requests Merkle branch from full node proxy to verify Merkle root for validating a transaction belongs to a block and then computes block depth for transaction security.

Blockchain Query Service

Implementation of REST API Bitcoin Blockchain Query service that parses raw blockchain files, computes block and transaction hashes to verify Merkle root hash and previous block hash, and searches the longest path from genesis block to find main chain.

Storage Systems

Online-Offline Hybrid File System

Implementation of hybrid file system that integrates offline solid-state devices and online cloud storages in C. The file system selectively stores small files in SSD and uses block level duplication to identify the duplicate content in large files so that only unique segments are stored in cloud to reduce cloud storage cost. Also, implementation of taking and restoring snapshots allows file system to undo mistakes and jump to a previous state.

SSD Flash Translation Layer

Implementation of FTL firmware that translates file systems logical block address to SSD physical block address with hybrid log-block mapping, garbage collection and wear leveling.

Network Analysis

Multi-Layer Network Analysis

Bhardwaj K., Miu H., Marculescu R. (2017) Discovering Hidden Knowledge in Carbon Emissions Data: A Multilayer Network Approach. In: Yamamoto A., Kida T., Uno T., Kuboyama T. (eds) Discovery Science. DS 2017. Lecture Notes in Computer Science, vol 10558. Springer, Cham

Facebook Ego-Networks

Analysis of Facebook friendship network in popularity, community structure, clustering and homophily with Gephi network visualization.

Computer Networks

Video Content Distribution Networks

Implementation of video CDN with adaptive video bitrate selection, DNS load balancing (RFC 1035) and OSPF link state routing protocol (RFC 5340) in C.

BitTorrent P2P File Transfer

Implementation of BitTorrent protocol to search for peers and download/upload file chunks using UDP connection (RFC 768) with TCP congestion control protocol (RFC 5681).

Concurrent Web Server

Implementation of HTTP 1.1 web server (RFC 2616) with HTTPS via TLS protocol (RFC 2818) and common gateway interface (RFC 3875) using Berkeley sockets in C.

Web Proxy

Implementation of basic web proxy with POSIX sockets that caches web objects using least-recently-used eviction policy.

Cloud Computing

Fault-Tolerant Dynamic Task Allocation

Analysis of allocating tasks dynamically to asynchronous processes for task coordinations under adversarial settings.

Hadoop YARN Scheduling

Implementation of scheduling policy server paired with Apache Hadoop YARN to handle heterogenous Hadoop job flows using First-In-First-Out, Shortest-Job-First, Earliest-Deadline-First, Preferred-Resource-First and Preferred-Resource-Only policies with customized greedy allocation to minimize starvation for low utility jobs.

IaaS Cloud

Implementation of infrastructure-as-a-service cloud with OpenStack to provide virtual servers, storages and networking resources to customers. Implementation of auto-scaling group service with running hypervisor as nested virtualization on AWS EC2, building loadbalancer OpenStack image, importing instance images using Glance, managing instances using Nova and monitoring instances using Ceilometer.

Embedded Systems

Real-Time Kernel

Implementation of ARM kernel with context switching, fixed priority rate-monotonic scheduling, admission control and real-time synchronization using highest locker variant of priority ceiling protocol.

ARM Interrupts

Implementation of guitar tuner with IRQ handler to set up ARM timer and SWI handlers to support system calls.

Memory Mapped IO

Implementation of UART and SPI peripherals to write driver for MCP3002 Analog-to-Digital converter and implementation of impulse detector with the driver.

Multi-Core Computing

Parallel Breadth-First Search

Implementation of parallel breadth-first search to compute single-source shortest path in unweighted directed graph with shared-address space model using OpenMP.

Parallel Bucket Sort

Implementation of parallel bucket sorting algorithm with message passing model using MPI.

Speech Recognition

Smart Speaker

Implementation of a common household smart speaker that listens and responds to voice commands. The speaker communicates with other speakers through WiFi as it shares recorded user messages and collected sensor data. It also runs facial and speech recognitions to authenticate different users and set up personal profiles managed in central server.

Virtual Assistant

Implementation of offline speech recognition using existing models with CMU Sphinx on Raspberry Pi.

Games

Role-Playing Shooter

Implementation of Pokémon-like treasure hunt game with Tkinter GUI module in Python.

Scrabble

Implementation of multi-player word game with Swing GUI framework in Java.

USB-C

Alumm Pro

First ever Tri-port design for MacBook Pro to utilize Dual USB-C ports: Gbps Ethernet, 8K Display (Mini-DP + HDMI), USB-3 SSD speed, etc.