Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

Credits and copyrights


The base theme of this site is Blackburn, with heavy customization on top. I credit this theme with introducing me to the world of Hugo templating. Copyright (c) 2016 Yoshiharu Yamashita, MIT License.

Table of contents

I shamelessly copied the table of contents from I tweaked some of the styling and reorganized the Javascript, but I essentially appropriated it wholesale. Copyright (c) 2016 Ircama, MIT License. The initial code comes from the Table of Contents Plugin for Bootstrap, Copyright (c) 2015 Aidan Feldman, MIT License.

Libraries, etc.

Contribution Guidelines

Planned Contributions

I use a GitHub project board (which is integrated with issues and pull requests) to track all of the things that I am currently working on, plan to work on soon, or plan to work on eventually. Put simply, this is where you should start if you want to contribute to this site, because this is the roadmap for the future. If you see something you want to help with, I’d be happy to have your assistance.

This is the side of contribution that is structured: groups of people work together to achieve planned goals in an orderly fashion.

Ad Hoc Contributions

Things can also be improved over time without any sort of overarching plan to bind contributions together: “organic growth”, if you will. If there is something about the content or design of the site that you think could be done better, that is valid grounds for contributing. Nothing on this site is off limits – you are free to contribute, as you see fit, in whatever way you want, pending my approval. Below are some examples of what ad hoc contributions could look like.

Example Content Contributions:

  • Eliminating typos
  • Eliminating unecessary verbosity or denseness of prose
  • Improving phrasing, flow, or pacing
  • Adding visual aids, such as diagrams, to enhance comprehension
  • Expanding vague sections or adding additional support for points
  • Anything else you think could make the content better

Example Design Contributions:

  • Improving the desktop UX
  • Improving the mobile UX
  • Improving accessibility
  • Adding customization options for various aspects of the site’s appearance and functionality
  • Anything else you think could make the site better

This is the side of contribution that is unstructured: individuals contribute over time to make the site better.

How To Contribute With Respect To Content

In the menu on all the content pages, I have included an “Edit on Github” link. Clicking on this link, if you have a Github account and are logged in, will let you edit the page on the Github web interface and submit a pull request. Note that there is a “preview” button on Github that lets you see the Markdown file rendered, in case you are not up to speed on all the syntax. Even though you need a GitHub account to propose changes, you need little other knowledge, so once you set up a Github account, you can contribute freely without having to know very much complicated programmer stuff. If you aren’t comfortable contributing in this way, you can also just email improvements to

Of course, you can do things the “old-fashioned” way too, if you’d rather work in a local repository and send pull requests remote. This might be best if you want to use a local Markdown editor and/or you are contributing in a major way (like significantly expanding a section).

How To Contribute With Respect To Design

You can help improve the site itself by submitting pull requests with design improvements. If you are comfortable with web development languages but not GitHub pull requests, you can send implementations to, and I’ll incorporate them into the repository myself. If you aren’t comfortable with web development languages or GitHub pull requests, your ideas are still valuable, and you can send them to that same address.

For pull requests requiring significant amounts of work, it would be a good idea to check with me early on to make sure I approve of the changes or enhancements being considered. I don’t want to put you in a situation where you put a lot of work into something that I wouldn’t ultimately use.

Restrictions on Contribution

I enjoy working with other people – and benefit immensely from constructive criticism and new perspectives – but ultimately, decisions about the direction of this site come down to me. In particular, this means that I alone will choose:

  1. what gets written about
  2. which improvements find their way into the main repository, and
  3. how things are shared and licensed

I want to be transparent about this: all contributions to this site are subject to the three statements above.

Copyright and Terms of Use

The contents of this site are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. Code associated with subprojects will likely be licensed under the GNU General Public License v3 (since I am supportive of forceful copyleft), but sometimes it may be licensed under MIT, Apache, etc. To be sure in any case, you should check the project repositories and their LICENSE files.

Creative Commons License       GNU GPLv3 License