Portfolio

My day job for the last 18+ years has been first creating and then leading the technical writing practice at a software company. If you need technical writing done, this page is a convenient place to evaluate my work in this area. Those interested in my fiction and other writing can safely ignore this page.

Liferay in Action

Liferay in Action is a bit old as computer books go, but I list it first because it’s probably my greatest impact (so far) on the industry.

Liferay Documentation

I created and then ran Liferay’s software documentation practice for 18+ years. During that time, we had two GitHub documentation repositories. The older one is public; the current one is private. I edited every piece of documentation written until I was laid off in April 2026. Since the current repository is private, I’ll link to specific articles I know I wrote. I also created the overall structure of the documentation site and the style guide.

There are different types of documentation. Here’s a diagram to help explain my view on these types:

Documentation types: features (including explanation and steps) and reference, recipes, tutorials and training.

Briefly, if you think of these types as parts of a house, your foundation is features and reference. Features docs can be subdivided into two types: explanation of what the feature is for, and steps for using the feature. Reference docs are lists of each function and what it does. Recipes sit in the middle as the structure of the house. They give instructions for specific cases users want, such as setting up Apache as a reverse proxy. They solve a specific, common problem people need to solve. Tutorials are larger, multi-step projects that combine many features and recipes to produce a specific project, such as building an example web application or, outside the software world, putting a piece of furniture together (i.e., Ikea manuals are tutorials). Training combines several tutorials into an entire course of study. Not pictured, Learning Paths are groups of training courses that lead to certification.

VimStar Documentation

Detailed on the blog here is my experience with writing tools, culminating in my creating VimStar, which is a Neovim distribution. To create its documentation, I first generated it using AI and then wrote about my experience on LinkedIn. If you’re interested in my experience modifying what the AI generated, all the parts are in the link in the previous sentence.

I keep the VimStar documentation up to date as I add features. The docs are hosted via GitHub pages, and a GitHub action publishes them whenever I push a commit.

VimStar

Fiction

Publicizing my fiction is the purpose of this site, so I would be remiss if I didn’t provide links to it in my portfolio:

  • My novel, Providence, can be purchased via the Buy link above.
  • I contributed “The Siege of Acme” to Mammon: Collateral, a collection of stories set in Robert Kroese’s Mammon universe.

Latest Posts

My Road to Writing, Part 8: Reducing Distractions

In parallel with developing this new writing methodology, I started to notice new patterns in myself that I did not like. I was becoming much more easily distractable. I found it harder to concentrate on any given task, and it felt like my productivity was going down. I began to have days that would end and I would scratch my head and wonder, what did I do all day?

My Road to Writing, Part 7: Back to the Beginning

To reiterate: to gain all the benefits of switching to a Git-based editorial process, my team would have to switch to a plain text format. We were now going right back to where Professor Provine had pointed me.