Systems programmer · open-source builder

I build software from the inside out.

Languages that can live inside other programs. I/O layers that turn operating-system primitives into dependable services. Tools that carry those ideas into everyday work.

About

Hyung-Hwan Chung

Hyung-Hwan Chung is a systems programmer and long-time open-source developer. His work stays close to the foundations of software—language runtimes, portable C libraries, asynchronous I/O, network services, and the tools needed to operate them.

His public open-source trail reaches back at least to 2009, when he introduced QSEAWK as an embeddable interpreter with a flexible API and minimal platform dependencies. Those priorities continue in today's projects: software that gives an application tighter control without hiding the underlying system.

His contributions also extend beyond his own repositories. The official PECL Subversion changelog credits Chung with fixes and additions covering revision handling, UTF-8 validation, property APIs, repository transactions, memory safety, and portability across machine architectures.

Across this work is a practical approach to engineering: understand the low-level mechanism, make it reusable, and leave the implementation open for others to inspect.

Active work

A continuing thread through the work.

The active work spans language runtimes, asynchronous systems foundations, and practical networking tools. Hawk and Hak explore programmable engines, HIO provides reusable low-level components, and Hodu carries those systems ideas into remote access. Across them runs the same question: how can a complex capability become a clean, portable component?

01

Hawk · Hak

Languages built to live inside systems.

Hawk is the mature side of the language work: a portable AWK interpreter that runs as a command-line tool or embeds into C and C++ applications. It has its own focused runtime, extension modules, and application-facing API.

Hak is the exploratory counterpart. Its compact command-language syntax supports functions, classes, message sends, collections, and other higher-level runtime ideas. Together, Hawk and Hak investigate how much expressive power can fit inside a small, controllable engine.

02

HIO

Build the asynchronous foundation.

HIO works closer to the operating system. It brings sockets, pipes, processes, pseudo-terminals, timers, and event multiplexing under one asynchronous interface, then builds service components for HTTP, FastCGI, DNS, and DHCP on top.

This is the reusable center of the active systems work: isolate platform details, keep control of resources explicit, and give network services a dependable event-driven base.

03

Hodu

Carry the systems work across networks.

Hodu turns low-level networking concerns into a deployable client–server tool. It connects services across network boundaries through TCP forwarding, HTTP-oriented proxies, browser-accessible pseudo-terminals, and SSH terminal sessions.

Where Hawk, Hak, and HIO concentrate on engines and foundations, Hodu follows the same principles outward into an operational service: small components, explicit control, and practical access to remote systems.

04

Earlier work

Projects that formed the path here.

QSE was a broad systems library containing embeddable AWK and sed engines alongside HTTP and foundational utilities. Its AWK work later continued in the more focused Hawk project; QSE itself is now largely inactive.

Codepot brought Subversion repositories, documentation, issues, and releases together in a web workspace. It represents an earlier chapter of practical developer tooling and is no longer under active development.

Moo remains an experimental, Smalltalk-influenced language implementation. For now it serves mainly as a reference while a future rewrite is considered.

Selected projects

Built to be used.
Built to be understood.

Seven projects across language design, systems programming, networking, and developer infrastructure. Every repository is public; the code is part of the explanation.

01

Language · C / C++

hawk

A stable, portable AWK interpreter designed to run on its own or live inside another application.

Hawk keeps the familiar pattern–action model of POSIX AWK, then opens it up as an embeddable C and C++ engine. Its small standard-C core, optional loadable modules, sed engine, and application-facing runtime API make text processing a component—not just a shell command.

  • AWK
  • embeddable
  • portable
  • runtime
02

Systems · C

hio

An asynchronous I/O library for building event-driven network services in C.

HIO gathers the low-level pieces of service software behind one event-oriented interface: sockets, pipes, processes, pseudo-terminals, timers, HTTP and FastCGI, plus protocol components for DNS and DHCP. It is the layer where operating-system details become reusable building blocks.

  • async I/O
  • networking
  • HTTP
  • event loop
03

Language · C

hak

An experimental command language that explores a compact, expression-oriented syntax.

Hak combines command-language directness with richer runtime ideas: functions and lambdas, classes and inheritance, message sends, dictionaries, arrays, lists, byte strings, and variadic calls. It is a laboratory for making an interactive language both concise and extensible.

  • interpreter
  • command language
  • objects
  • expressions
04

Networking · Go

hodu

A client–server networking tool for reaching services and terminals across network boundaries.

Hodu connects remote edges through a control plane and exposes practical access paths: TCP port forwarding, HTTP-oriented proxying, browser-accessible pseudo-terminals, and SSH terminal sessions. It reflects the same low-level networking interests as HIO, expressed in a deployable Go service.

  • proxy
  • port forwarding
  • PTY
  • remote access
05

Language · C

moo

An experimental object-oriented programming language heavily influenced by Smalltalk.

Moo studies a world built around objects and messages: classes, methods, symbols, pool dictionaries, flexible literal forms, and a managed object runtime. The project turns language design questions—representation, dispatch, control flow, and object layout—into working C code.

  • Smalltalk
  • virtual machine
  • objects
  • language design
06

Foundation · C / C++

qse

An embeddable collection of Unix-style text tools and general-purpose systems components.

QSE began as a broad home for AWK, sed, HTTP and foundational utilities. Its interfaces let a host application and an embedded engine reach into one another, while its data structures, streams, memory helpers, and portability work formed a base for later, more focused projects. Hawk is where AWK development now continues.

  • AWK
  • sed
  • library
  • foundation
07

Application · PHP

codepot

A web-based workspace for managing Subversion repositories and the work around them.

Codepot brings source browsing, wiki documentation, issue tracking, release files, and multiple repositories into one interface. It supports database or LDAP authentication and packages the operational side as well, including a ready-to-run container.

  • Subversion
  • web app
  • wiki
  • project management

Also on the bench

Smaller tools, useful edges.

Browse all public repositories

Keep exploring

The repository is the long version of the story.

Build notes, experiments, implementation details, and years of iteration are all there in the open.

Visit GitHub profile