Hi, I’m Connor Gray 👋.
This website is where I host things I’ve written, mostly about software development.
Ordinary posts are filed away under one of the sections shown below, but occasionally I’ll write off-the-cuff asides about interesting facets of problems I’m working on in my Project Log .
ConnorGray/Diagrams — computational diagramming, with high-level diagram functions making quick, repeatable diagramming easy
ConnorGray/Markdown — a compliant Markdown parser with a symbolic representation for construction and manipulation, as well as Markdown Notebook editor support.
markdown-ast — Rust library for parsing, manipulating, and constructing Markdown as an abstract syntax tree (AST)
clap-markdown — Rust library for generating CLI reference documentation for
clap
apps as Markdown
wolfram-cli — Experimental CLI tool providing a prettier CLI interface to Wolfram
wolfram-client — Rust client library for launching and sending commands to a Wolfram evaluator
md2nb — Markdown to Wolfram Notebook converter CLI program
These pages describe some of the projects I’ve worked on.
These documents are non-narrative collections of techniques and conventions that I’ve learned or developed and have found to be useful.
This document contains a set of templates and content that I use by convention in many of the Rust projects I’ve worked on. This list functions as a checklist that can be referenced when creating a new Rust crate and associated source repository, ensuring projects have a consistent level of quality and polish. If these conventions are useful to you, feel free to follow or adapt them in your projects.
I have a lot of projects that I work on. Over the years, I’ve developed some simple, straightforward conventions that apply across languages and project types. Following these conventions helps lower the “context switching” cost. Many of these practices are essentially arbitrary in their details, but I try to follow them because simply having some convention saves time and increases readability, even if they’re not perfect.
A collection of standards I’ve come across. Standards are nice.
This document contains tips and tricks for writing better documentation. In particular, it focuses on methods for adding better graphical content to documentation.
This document contains an overview of useful features and techniques for implementing apps that leverage the capabilities of Wolfram Notebooks. Several useful conventions are also described.
A collection examining user interface design, that seeks to illustrate the subtle problem of providing a good user experience.
This collection documents various minor “widgets” I’ve built in Wolfram. These widgets are sometimes an interactive graphic to help me understand a problem, or a tool to help me solve that problem.