Junghyun Nam (남정현)
E-mail: | [email protected] |
Telegram: | @cr0sh |
GitHub: | @cr0sh |
LinkedIn: | 남정현 |
Blog: | blog.cro.sh |
Last updated: 2023-02-02
Also available on https://cro.sh/me
I'm living in Seoul, Korea.
For now I'm not actively searching jobs but inbound job offers are appreciated.
I'm on an alternative supplementary service as skilled industrial personnel, ending on July 30th, 2023. Hence I can only work full-time on designated companies non-remotely by the Office of Military Manpower Administration of Korea.
저는 현재 보충역 산업기능요원으로 복무 중이며 예상 소집해제일은 2023년 7월 30일입니다.
Education
Seoul National University 2019.03 ~ leave in absense
Currently on undergraduate courses majoring in Computer Science & Engineering.
- GPA: 3.9/4.3 (not finalized)
- Credits: 45/41 (not finalized)
Also double-majoring in Statistics.
Sejong Science High School 2016.03 ~ 2019.02
Work Experiences
Hyperithm (https://hyperithm.com) 2021.08 ~ current
Hyperithm is a leading digital assets manager in Asia, based on Japan and Korea.
- Head of Infrastructure
- Maintaining the overall cloud infrastructure based on AWS and GCP.
- Developed and maintaining a HFT-optimized cryptocurrency exchanges data feed.
- Keywords: Asynchronous Programming, Rust, Tokio, HTTP, WebSocket.
- Maintaining additional infrastructures like L7 proxy clusters for the cryptocurrency data feed.
- Keywords: NGINX, AWS ECS
- Designed & managed development of a trading strategy management
infrastructure.
- (think stripped-down version of ECS or EKS with some internal niche feature demands).
- Keywords: Rust, AWS CloudFormation, AWS S3
- Developed & maintaining an DevOps toolkit for AWS infrastructures, featuring seamless 1Password integration with AWS credentials management.
Research Intern at CARES Lab 2021.03.26 ~ 2021.06.30
Started as SNU UROP(undergraduate research opportunities program) on February, then switched to paid intern on March.
Worked on RustFTL, a (partial) Rust port of the FEMU SSD emulator.
Rewrote FTL(flash translation layer) part of FEMU into Rust and reported about use of Rust on embedded systems focusing on safety, performace impact, and idiomacy of Rust code on FTL structures.
The final report and documentation were constructed with mdBook and rustdoc.
Engineering Intern at CN.AI 2020.08.01 ~ 2020.08.28
Constructed data pipeline for deep audio classifier with PyO3 and HDF5 to boost training speed.
Developed a demo website with StyleGAN2 which synthesizes 'median face' from given two facial images.
- The model is pretrained with FFHQ dataset on TensorFlow, and communicates with backend with a simple TCP server.
- The backend is written in Golang with its standard
net/http
module and the Gorilla web toolkit. - The frontend is based on React.
Skills
Programming Languages
- Rust(primary): Tokio and related async ecosystem packages, aws-sdk-rust
- Golang:
net/http
, Bolt(embedded KV store) - C
- TypeScript: Mostly React
- Python: Tkinter, requests, Bolt(Slack SDK)
- Other misc. languages w/ basic experiences: C++, Java(JVM, Android), Dart(pre-2, Flutter), OCaml
DevOps
Have managed several on-premise solutions such as Jenkins, a security management platform (private)
Experiences:
- CI/CD pipeline with AWS EC2, EC2 Image Builder, ECR, etc.
- Layer-7 HTTP proxy clusters with AWS EC2 Launch Template, ECS, ECR, etc.
- Fine-grained access control of EC2 instances with AWS Systems Manager Session Manager and IAM.
Linux & Systems Programming
Experiences:
- Embedded Linux development with Raspberry Pi(1B+, Zero W, 3B+) and Buildroot.
- Kernel hacking including implementing custom syscalls and task schedulers.
Blockchain & DeFi
Knowledges:
- General consensus mechanisms, e.g. Proof-of-Work, (naïve) Proof-of-Stake and their variants like Proof-of-History, Byzantine Fault Tolerance, etc.
- How decentralized finance works and their sub-categories: money markets, DEXes, yield aggregators, stablecoins, etc.
- Cross-chain/multi-chain/layer-2 ecosystems: Wormhole, Cosmos, Polkadot, Arbitrum, ZKSync, etc.
- Intuitive understanding of zero-knowledge proofs and their applications on blockchains.
Invested on some of projects mentioned above.- Track record? Please don't ask.
Machine Learning & Computer Vision
Knowledges:
- Basic concepts like regressions and classifications, nerual networks, regularization, gradiant descent methods, etc.
- CV topics such as convolutional neural networks and their variants, autoencoders, generative adversarial networks and their variants, etc.
Full Stack Development
Experiences:
- Obviously, this résumé page.
- WebAssembly application with Rust and deploying onto a web demo page.
- Next.js applications for 1) monitoring and data visualization, 2) simple CRUD demonstration.
- Hobby-level web backend with Rust and Golang
- Serverless applications(e.g. Cloudflare Workers) with Rust and WebAssembly, which is announced for public use.
Personal Projects
Nerf Rust, Serde, Tokio, Tower, Hyper, HTTP
A HTTP request framework with tower-rs
intergration.
Its main purpose is to do an experiment about refactoring a company-private cryptocurrency
exchanges
API into composable tower::Layer
s, achieving:
- Switchable HTTP client backends.
- Configurable rate limits (provided by
tower-rs
). - Multiplexed HTTP clients (provided by
tower-rs
). - Mock
testing paired with
axum
. - Automatic throttling based on API responses with remaining rate limits (TODO).
lzn Rust, Web Scraper, SQLite, Diesel ORM
A Lezhin/Naver Webtoon scraper. Was private in the past for ethical reasons, and made public recently as the bot protection mechanism has changed so the scraper is not working. Only saves 'free' episodes.
Features:
- SQLite-backed storage (may be easily switchable into other RDBs e.g. Postgres/MySQL/etc.)
- Embedded web server for local use.
- Performs authentication to bypass some protections on CDN.
- Exports into comic viewer formats(basically zipped sequence of images).
LC-3 Toolsets Rust, LC-3, CLI, WebAssembly, PEG
A Rust implementation of Little Computer-3 tools, including:
lc3-rs
: A LC-3 ISA implementation(simulator).lc3dbg
: A command-line debugger with mem/reg inspection and rewinding.lc3asm
: An full-featured LC-3 assembler.lc3p2atest
: Fuzzer for Computer Concepts undergraduate course's project #2 assignment.lc3web
: WASM-compiled LC-3 playground on browser. Try it online
Kaimak ES2015 Proxy, Web3(Metamask), Chrome Extension
A Kaikas-Metamask bridge Chrome extension. Its purpose is to use the Ledger hardware wallet with Kaikas extension on Klaytn DApps, as most of which do not support Metamask.
pc.cro.sh Cloudflare Workers, Rust, WebAssembly, React, Material UI
A MapleStory(an online MMORPG game) settings store. Technically this is a public key-value store with:
- Data validation(should be a valid game configuration with windows registry export format)
- AES-256 data encryption, performed only on client side with WASM(the configuration seems to store somewhat sensitive information)
- Bot protection with reCAPTCHA V2
- Cloudflare Workers & Workers KV backed: capital efficiency
- Material style web UI
find.cro.sh TypeScript, React, Fuse.js, Web Scraping, Chrome Extension
An inventory/storage search engine for MapleStory.
This service consists of two components:
- A Chrome extension which indexes the user's account inventories/storage items via script injection. The index is then exported into JSON.
- find.cro.sh: a React webapp which fuzzy-searches the items of an imported index.
zandam Rust, WebAssembly
A generator of encrypted self-extracting single-file HTML documents with an embedded WebAssembly blob. Predecessor of pc.cro.sh.
Writeup available in Korean: https://blog.cro.sh/posts/embedding-wasm-in-html
Talks
Introduction to NIZK Proofs
https://blog.cro.sh/slides/introduction-to-nizk-proofs-20220307.pdf
Rust 비동기 프로그래밍 (Asynchronous Rust Programming)
https://blog.cro.sh/slides/async-rust-programming-20220801-redistributable.pdf
Languages
- Korean: Native
- English: Business level
Acknowledgement
The favicon of this page was generated using following graphics from Twitter Twemoji:
- Graphics Title: 1f4f0.svg
- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji)
- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f4f0.svg
- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)