Hey! Thanks for being interested enough to actually check out this page.

I’m Naomi Liu, and I’m a full-stack developer based in Vancouver.

I graduated with a B.Sc Hons in Biology, but realized later on that my real passion was software. In my spare time, I’m usually exploring open-source projects, playing guitar, hiking, or arguing with my cat.

I’m drawn to the creativity and unconventional thinking required by programming, as well as the unconventional approaches you need to take in order to overcome problems. There’s a ton of beauty and hidden meaning behind the semantics of computation, and my goal for this blog is to try and express that in prose/eye-watering snippets.

I write Scala and Rust professionally, and Haskell unprofessionally. I’m experienced in Python, TypeScript, Common Lisp, and of course, HTML and CSS (the only programming languages for true developers.) My personal preference is Haskell, and you’ll find it forms most of the content here. Lately however, I’ve been playing around with OCaml in my spare time, and I might shift focus a little more in that direction down the road.

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 pretty sporadic – sometimes it’s easy to vomit everything into a .md file, other times it takes a few months for ideas to hit me. I’ll usually come back to a post the next day after writing it to make small revisions. And the next day too. And so on, until I feel like there aren’t any more improvements I can make for the time being. 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 using neovim, and I use coc-markdownlint for error-checking. The site is generated using Hakyll, a static site generator written and configured in Haskell. I deploy this site via Github pages, with some CI steps in-between to make sure I don’t break everything when pushing new content.