My name is Norman Liu, and I’m a dev from Vancouver. I graduated with a Biology, but realized way too late that my real passion was code. In my spare time, I’m usually exploring open-source projects, playing music, or grinding through LeetCode questions (currently at 600-something).

I love problem solving, mathematics, and programming. I’m drawn to the creativity and unconventional thinking that programming requires, and the ability to build and design a structure myself. It’s way more entertaining than memorizing biochemical signaling pathways from a textbook.

I mainly write my personal projects in Haskell, but I’m attending Hack Reactor (a bootcamp based in SF) currently. I figure there’s more work for TypeScript developers than at the few dozen companies that use Haskell. This blog is a way for me to try and get over my aversion to CSS, and showcase my skills. There’s no JS, though.

The format I’m following is that of the long site, which basically saves me the stress of having to edit to perfection before publishing. My writing cycle is that I come up with ideas, vomit everything into a neat little .md file, and publish. Then I come back to it the next day. And the next day. And so on, until I feel like there aren’t any more improvements I can make for the time being. Imagine paying money for an editor. If I make any typos or egregious errors in my writing, however, please let me know. Everything you need to Contact me is five words back.

All my posts are written in neovim, with markdown linting provided by plugins. The site is generated using Hakyll, a static site generator written and configured in Haskell. Whenever I write an update or new article, I push a commit to the site’s backend repository. CircleCI spins up a Linux VM, takes care of Hakyll’s dependencies, builds the site, then automatically deploys it to the hosted repo. It’s honestly overkill for a static website, and I’m wasting a ton of electricity by delegating this to the cloud.

It saves me 8 lines of typing for each update, though. :)