hashcott@hanoi:~$

#misc

Hello, world

Where this started, and where it's going.

package main

import "fmt"

func main() {
	fmt.Println("Hello, world")
}

Every programmer’s first program says the same thing. It’s a strange tradition when you think about it: before we know how to do anything useful, we teach the machine to wave.

So, hello. I’m Hạnh.

The first edit

I didn’t come to code through a class or a book. I came to it through a borrowed phone.

My dad owned a Nokia 3110C, and I used it, without asking, to play games. Downloads crawled in over 2G, and more than once a “free” game turned out to be a trap that quietly charged an SMS fee. Somewhere in that world of cheap WAP pages I found a forum post that showed how to open a game’s .jar file and change what was inside.

I changed some text in Ninja School, repackaged it, and it ran. Nothing I’ve shipped since has felt quite as magical as seeing my own words appear inside someone else’s game.

Learning by breaking things

What followed was years of tinkering with no plan. I rewrote dialogue and weapon names in games to impress my friends. I built WAP sites on Xtgem and WapSeo by uploading code I didn’t understand, watching it fail, and trying again until it didn’t. HTML and CSS sank in by repetition rather than study. Pascal and C showed up in high school. Then the platforms I’d been playing on shut down, and I drifted away from it for a while.

A second start

University began with a disappointment: I missed my first choices and landed in the IT program at Thuyloi University. It turned out to be the right place.

In my first year I joined the Student Informatics Contest with almost nothing to my name but loops and conditionals. My teacher, Mr. Trương Xuân Nam, took a chance on me anyway. A month of daily practice later I was competing at the National Student Olympiad in Informatics, and I left with third prize. That result taught me something I still rely on: starting behind is not the same as staying behind.

From there I went through Python, Node.js and PHP, built things with Laravel, and started working as a web developer.

What I do now

Today I’m a full-stack developer in Hanoi, mostly writing Go and TypeScript. What I enjoy most is the same thing that hooked me on that Nokia: taking something that bothers me and making it behave. Lately that has meant encrypted DNS that just works, steadier ping for games, a better webcam on Linux, and MCP servers that let AI agents talk to real tools. They’re all on the home page.

I also spend a lot of my day working alongside AI agents such as Claude Code, Codex and Cursor, and I expect to write about that here.

This site is where I’ll announce new releases and share what I learn along the way. Thanks for reading the first post.

$ cd ~