I am Tony Narlock#

This is my professional website, I’ve been a software developer for 14 years. If you’re not one, what I do likely won’t make sense to you.

I work at tech startups building web-based apps. I use React, TypeScript, and Relay (GraphQL) on the frontend and Python / Amazon Web Services on the backend.

In my spare time I plan, develop, and maintain a fleet of developer tools. For example, tmuxp constructs tmux sessions from a JSON or YAML file. To that end, I’ve also written a book about tmux a few years ago, The Tao of tmux. Another tool I’ve created is cihai, which is built around Unicode’s UNIHAN dataset for Chinese, Japanese, and Korean languages.

I contribute to open source software projects; find me on GitHub, GitLab, OpenHub.

My CV tracks everything I’ve ever done - work, my projects, and open source (I’m a polyglot, there is some C++ in there).

What’s going on in my life as a programmer#

What am I busy with outside of work?

  • September 2022 - One more thing on doctest

    I wrote a doctest module that can parse reStructuredText and markdown:

    Doctest w/ docutils

    It also has a pytest plugin

    On that note, I also made a pytest plugin for libtmux and libvcs:

  • Mid August 2022 - Promises keep coming

    Additionally, test and quality infrastructure has been improved across all projects:

    • libtmux now has comprehensive typings (--strict mypy compliance) as of 0.13.0

    • All projects except vcspull now have basic mypy and doctest support.

  • Early August 2022 - Promises kept (and keep coming)

    libvcs 0.14.0 released w/ typing annotations and doctests.

    Also, added a URL Parser (compare to urlparse) for git, hg, and svn URLs. Extensible using framework tools. Built on dataclasses and uses doctest.

    In the process, “side inventions” (License MIT):

  • June 2022

    • libvcs and vcspull are being rebuilt from the ground up. This will be a fresh take on one of my earliest python projects. What they’ll be using:

      • doctest: actual code demo in documentation which also function as tests

      • mypy: type checking through annotations (PEP 484, PEP 526)

      • dataclasses (experimental): As a library creator, I will put these to the test

      The projects will be a proving ground for quality standards and patterns I’ll adopt across my other and future packages.

  • March 2022

    • All sites moved to new design.

  • June 2021

    • tmux-python (tmuxp + libtmux), vcs-python (vcspull + libvcs), cihai (cihai, cihai-cli, unihan-etl, unihan-db) moved to markdown

  • April 2021

    • Created @social-embed web component / library in TypeScript + LitElement: Homepage, GitHub

  • Feb 2021

See more

Publications#

The Tao of tmux

The Tao of tmux

Available on Leanpub and Kindle (Amazon). Read the book for free on the web.

Language Projects#

cihai.git-pull.com

cihai

United front for creating open, permissive, standardized CJK datasets.

HSKFlashCards.com :height: 150

HSK FlashCards

Study chinese flashcards for Hànyǔ Shuǐpíng Kǎoshì, (New) Practical Chinese Reader and Integrated Chinese

Unix-like Utilities#

tmuxp

tmuxp (中文)

tmux session manager via JSON and YAML file

libtmux

libtmux

pilot tmux with python

vcspull

vcspull

manage and update multiple git / hg / svn projects via JSON or YAML file

libvcs

libvcs

pythonic API for version control systems

Coding around the web#

Porting (Linux-to-BSD)#

Scrapyard#

Experimental code / patches that never made it upstream:

kakoune branches: cmake build support, mini, new-cli (#693), observers, rm-server (serverless kakoune), pybind11 and Boost.Python integration

vis branches: cmake support, C++ support, python integration

sphinx branches: flexible-builder invocation

tmux branches: cmake build support

saltstack + fabric demo: gist

Project templates#

Permissively licensed starter templates you can use to bootstrap your projects.

These are mostly outdated

Frontend#
Cookiecutter#

Presentations#

Industry and Press#

Code Exploration#

Other#