Jerry Sky’s personal notebook

by Jerry Sky

Software is cool.
View this repository on the web or on GitHub.

1. Computer Science

1.1. Environment configuration

My outlook on how to setup a Linux-based Operating System. The “dotfiles” part of this repository.

1.2. Plumbing notes

Notes on various issues that came up during my work and solutions with applicable tools that help in handling them.

1.3. DevOps

Sysadmin, Linux, virtual infrastructure, tooling, all that jazz.

1.4. Web-dev

Everything web development.

1.5. Meta

Not directly related to a specific technology, meta talk.

1.6. Read

List of valuable sources of knowledge.

1.7. Learning platforms

Interactive way of learning stuff.


2. Curriculum Vitae

Based on the AltaCV template.


3. Hardware


4. Arts


5. The arbitrary collection


6. Archive

Archived notes.


7. Some remarks

This repository serves the purpose of one of my main note-taking solutions. Almost all notes on the tools I use and issues that I encounter are documented here, alongside with multiple lists of valuable external resources.

For a long time, I thought that this notebook would be my designated final note-taking solution that will replace all the others. I was wrong, as handwritten notes are still better in some use-cases, or they serve the purpose of being a buffer containing raw thoughts that are not article-worthy yet.

One field where hand-written notes are better is language learning. Freedom of an open non-linear infinite physical space to save pen strokes is very important to me.

7.1. OneNote

A Markdown-based repository is the successor of my previous note-taking solution, which was OneNote. I have since abandoned OneNote for a few simple, but compelling reasons:

For handwritten notes I use Nebo on my iPad. It has excellent set of features amongst which the handwriting recognition feature is most appealing to me, as one can search through a notebook contents like it was written using a keyboard.

7.2. Markdown and LaTeX\LaTeX

A Markdown-based solution is better because it involves just normal text documents — basic, but in most cases sufficient.

After the switch the only thing I was missing, was the ability to write down mathematical expressions. So, the solution that enabled maths in Markdown was LaTeX\LaTeX, because this is the industry standard when it comes to writing maths using a keyboard. Of course, LaTeX\LaTeX is not even mentioned in most specification sheets of various Markdown flavours, but that also is not a problem.

7.3. Workflow

Because Markdown is very loosely defined, it is not uncommon in the Markdown world to add various features that were not intended to be added by the original creator. For example Pandoc, a powerful markup conversion tool, allows for LaTeX\LaTeX expressions in Markdown. You just have to provide some Maths engine that would render out these expressions when converting from Markdown to HTML for example. How I deal with that will be explained later.

For editing Markdown documents I use VS Code with the Markdown All-in-one extension. This enables me to see my documents in both their raw and rendered out forms, as this extension adds a Markdown preview tab that understands LaTeX\LaTeX expressions. It also gives some useful commands, and automatization tools like auto-generating table of contents.

7.4. Website pipeline

As mentioned above, Pandoc allows for LaTeX\LaTeX expressions in Markdown documents. It doesn’t do a great job with converting LaTeX\LaTeX to HTML by default, but you can just tell it to use KaTeX or MathJax.

For presenting my Markdown-based notebook repositories I’m using a GH Action I created that uses Pandoc to render Markdown documents into HTML documents. Apart from Pandoc it also uses Pandoc-KaTeX — a Rust package that renders static HTML pages, instead of leaving raw expressions and letting the client browser render the LaTeX\LaTeX expressions. Such solution is elegant and much more performant, as the output HTML documents do not contain any JavaScript, only CSS that puts the static LaTeX\LaTeX elements into place.

Both of my notebooks (personal notebook and academic notebook) are rendered into websites using VYROW — my GH Action.

You can view them on the web:

7.5. Figures

When it comes to graph drawing or any type of graphical figures it can be done with OneNote, GIMP, any other graphical program or e.g. a note-taking app on a tablet.

An alternative would be to use code blocks. Characters such as \, |, /, _, <, >, , , _, , , , , and all can be used as strokes while regular Latin alphabet characters as e.g. graph nodes.