is_about_page |
---|
true |
I am an undergraduate student of Computer Science.
This website exists for two reasons:
- Preservation, and
- Open Knowledge
Preservation
"He was going to live forever, or die in the attempt."
— Joseph Heller, Catch-22
Are all sunk costs fallacies?
It feels incredibly wasteful to have my notes rot into nothingness after spending so much time and effort on them, so I spend more time and effort on preserving them. At the bare minimum, it's good review for myself.
Open Knowledge
Despite drowning in information, a lot of academic knowledge is locked-up behind textbooks, semester-long subscriptions, and increasing cost-per-credit hours—
—I hope that you'll be inspired to not only preserve, but share your knowledge, too.
I take most of my notes in plaintext (Markdown) during lecture.
In unrelated news, the source of the incessant click-clacking keyboard driving you insane during lecture has yet to be found.
When I want to upload my note(s) to this GitLab repository, I just add them to a folder, like so:
|-cs1300
|--index.md
|--01 - Formal Logic.md
|--02 - Propositional Logic.md
|--etc...
|-cs1400
|--etc...
|-phl2020
|--etc...
The daemon.sh
script can be run with ./daemon.sh
, and it's essentially a wrapper for pandoc
that does multithreading and selective processing.
More Info for Nerds:
daemon.sh
has two states:
- Running: Any Markdown files that are edited get converted into HTML.
- Script starts in this state.
- Uses hashes to detect file edits.
- Cleanup: All files are converted.
<style>
tags are replaced with a<link>
pointing to a sharedstyle.min.css
.
- Script enters this state when being killed (
CTRL+C
)- Converting everything allows changes outside of Markdown edits to propagate (e.g., edits to
template.html
)Note:
daemon.sh
can also be run in oneshot mode with./daemon.sh -o
, where it just does the cleanup process.
Tools Used
- GitLab Pages: GitLab lets you host static websites from Git repositories on GitLab.
pandoc
: Universal document converter. Used to convert Markdown to HTML.- A modified version of the template.html file Pandoc uses to convert Markdown to HTML is used to easily plug in new CSS, JS, and HTML without fiddling with Pandoc options.
awk
: Used for the crackpot HTML minifier.PlantUML
: Tool to create diagrams from plain text.- A simple Lua filter (
plantuml.lua
) is used to turn all embedded PlantUML into embedded SVGs.
- A simple Lua filter (
Gentoo Packages
app-text/pandoc
sys-apps/gawk
media-gfx/plantuml