Contributing

Contributions are very welcome. Please file issues or submit pull requests in our GitHub repository. All contributors will be acknowledged.

Setup

Command Action
commands show available commands
build rebuild site without running server
serve build site and run server
profile profile compilation
bib rebuild HTML version of bibliography
lint check project
style check Python code style
reformat reformat unstylish Python code
pack create a release
unpack make required files after unzipping mccole.zip
clean clean up stray files

Layout

FAQ

What is this for?
I wrote a short SQL tutorial in 2024, and am currently working on one about systems programming and another about research software design. I was initially going to use the template I built for the JavaScript and Python versions of Software Design by Example, but realized I could slim it down, speed it up, and make it prettier. Some people knit some play video games, I like to type…
Why Ark?
Jekyll is the default for GitHub Pages, but very few data scientists use Ruby so previewing changes locally would require them to install and use yet another language framework. In addition, GitHub Pages doesn’t allow arbitrary extensions for security reasons, so the only way to implement things like bibliography citations and glossary references is to use its (rather verbose) inclusions and (rather clumsy) scripting features.
Why Make?
It runs everywhere, no other build tool is a clear successor, and, like Jekyll, it’s uncomfortable enough to use that people won’t be tempted to fiddle with it when they could be writing content.
Why hand-drawn figures rather than Graphviz or Mermaid?
Because it’s faster to Just Effing Draw than it is to try to tweak layout parameters for text-to-diagram systems. If you really want to make developers’ lives better, build a diff-and-merge tool for SVG: programmers shouldn’t have to use punchard-compatible data formats in the 21st Century just to get the benefits of version control.
Why McCole?
Because it was my father’s middle name. He was my high school English teacher for five years (it was a small town), and I learned most of what I know about writing from him.