I am Tony Narlock
This is my professional website. I've been a software developer for over 17 years. If you're not in the field, what I do might not make much sense to you.
I work at tech startups, building web-based applications. On the frontend, I use React, TypeScript, and Relay (GraphQL), and on the backend, Python and Amazon Web Services.
In my spare time, I plan, develop, and maintain a suite of developer tools. For instance, tmuxp, which constructs [tmux] sessions from a JSON or YAML file. A few years ago, I also wrote a book about tmux, titled "The Tao of tmux". Another tool I've created is cihai, based on Unicode's UNIHAN dataset, which supports Chinese, Japanese, and Korean languages.
I actively contribute to open-source software projects. You can find me on GitHub, GitLab, CodersRank, and OpenHub.
My CV documents everything I've ever done - professional work, my projects, and open-source contributions (I'm a polyglot; there's even some C++ in there).
What's going on in my life as a programmer
What am I busy with outside of work?
2025
February 2025
libtmux
libtmux: Support for context managers have landed in v0.44.0, enabling automatic cleanup of servers, sessions, windows, and panes in tmux.
January 2025
social-embed
social-embed: Began overhauling of embed providers to be extendable.
2024
December 2024
CV
CV overhauled
social-embed
social-embed: Experiment with new doc gen and package manager:
- Documentation: Moved from docusaurus to starlight, an Astro-based documentation generator.
- Package manager: Moved from yarn classic to pnpm.
Publications
-
The Tao of tmux
Book on tmux terminal multiplexer
Learn tmux, including:
- Session management
- Window and pane navigation
- Scripting and automation
Language Projects
Unix-like Utilities
Web Projects
Featured content
Coding around the web
- My ports for the FreeBSD operating system on portscout
- My issues for FreeBSD in Bugzilla
- Software porting from Linux to BSD on my FreeBSD Wiki Page
- Unofficial tally / roster of open source contributions on [OpenHub]
- GitHub @tony for recent / current coding
Porting (Linux-to-BSD)
- Elementary Algorithms – Book of Elementary Algorithms and Data structures #16
- pymux – tmux(1) clone in python #34
- aseprite – Cross-platform sprite / pixel art editor #888 #893
- tmux-mem-cpu-load memory, CPU and load averages for tmux status lines #30
- uMario_Jakowski – Super Mario NES clone in SDL2 and C++. Add CMake and get building on FreeBSD and OS X #1
- spdlog - C++11 logger #254
- python-cmake-buildsystem - CMake buildsystem for CPython #133 #136
- nanogui - C++11 gui library for opengl #128 #147
- pyston - An open-source Python implementation using JIT techniques #1072, #1073, #1085
- libpypa - Python parser implemented in pure C++ #50
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
- react-typescript-vanilla-starter: Webpack v4
- vue-typescript-vanilla-starter: Vue 2.x, Webpack v4
Cookiecutter
- cookiecutter-pypackage - Bootstrap python packages
- cookiecutter-flask-pythonic - Flask project
Presentations
- Guest Speaker @ Fullstack Academy (YC S12) at 1871 (Feb 2017)
- Guangzhou LUG software freedom day @ Sun Yat-sen University (May 2013)
Industry and Press
- Opensource.com mentions The Tao of tmux (Feb 2017)
- Japanese tech blog mentions The Tao of tmux (Jan 2017)
- Bugsnag Engineering using tmuxp (Nov 2016)
- Pragmatic Coders dev shop on configuring tmux sessions with tmuxp (Dec 2015)
- tmuxp featured on OneThingWell Nov 2013 and June 2014
Code Exploration
- reST, docutils, sphinx, readthedocs (Updated Feb 09, 2015)
Other
- Leather - PSA on why leather is cool
Donate
Like my open source projects and learning resources? Your support is appreciated!
Emboldening virtue, the Junzi
- To be a righteous person (君子 jūn zǐ), as opposed to (小人 xiăorén)
What makes a good gentleman-scholar in Confucius' eyes?
- Be coherent: "How did we get here?", "How do these things connect?"
- Tolerate ambiguity
- Treat matters in proportion to the issue
- Secure attachment