Software is cool.
View this repository on the
web or on GitHub.
My outlook on how to setup a Linux-based Operating System. The “dotfiles” part of this repository.
Notes on various issues that came up during my work and solutions with applicable tools that help in handling them.
Sysadmin, Linux, virtual infrastructure, tooling, all that jazz.
Everything web development.
Not directly related to a specific technology, meta talk.
List of valuable sources of knowledge.
Interactive way of learning stuff.
Based on the AltaCV template.
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.
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.
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 , because this is the industry standard when it comes to writing maths using a keyboard. Of course, is not even mentioned in most specification sheets of various Markdown flavours, but that also is not a problem.
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 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 expressions. It also gives some useful commands, and automatization tools like auto-generating table of contents.
As mentioned above, Pandoc allows for expressions in Markdown documents. It doesn’t do a great job with converting 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 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 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:
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.