diff --git a/tex/text.tex b/tex/text.tex index 18d6261..b31b57f 100644 --- a/tex/text.tex +++ b/tex/text.tex @@ -28,6 +28,7 @@ What this write-up is attempting to achieve. The term \emph{Linux} is exclusively used in the meaning of the Linux kernel~\cite{linux}. + \n{2}{GNU/Linux} When talking about an operating system, the term ``GNU/Linux'' as defined by @@ -39,6 +40,7 @@ component, the kernel, the author is taking care to distinguish the two, although writing from experience, colloquially, this probably brings more confusion and a lengthy explanation is usually required. + \n{2}{Containers} When the concept of \emph{containerisation} and \emph{containers} is mentioned @@ -61,6 +63,7 @@ that gets performed with or onto a container, the process should generally be explained in such a way that it is repeatable using any spec-conforming tool that is available and \emph{intended for the job}. + \n{1}{Cryptography primer}\label{sec:cryptographyprimer} Pre-requisites necessary for following up. @@ -193,6 +196,7 @@ choice - \texttt{kitty} on a (at the time of writing) 8 month installation of \textit{Arch Linux (by the way)} using a \texttt{6.3.1-wanderer-zfs-xanmod1} variant of the Linux kernel. + \n{1}{Development} \n{2}{Toolchain} @@ -223,7 +227,7 @@ First, a question of \textit{`Why pick Go for building a web application?'} might arise, so the following few lines will try to address that. -Go~\cite{golang} (or \emph{golang} for SEO-friendliness) is a strongly typed, high-level +Go~\cite{golang} (or \emph{Golang} for SEO-friendliness) is a strongly typed, high-level \emph{garbage collected} language where functions are first-class citizens and errors are values. @@ -233,7 +237,7 @@ pointer arithmetic, inheritance and implicit type conversions, easy-to-read syntax, producing a statically linked binary by default, etc. Due to the foresight of the authors of the Go Authors regarding \emph{the -formatting question} (i.e. where to put the braces, tabs vs.\ spaces, etc.), +formatting question} (i.e.\ where to put the braces, tabs vs.\ spaces, etc.), most of the discussions on this topic have been foregone. Every \emph{gopher}~\footnote{euph.\ a person writing in the Go programming language} is expected to format their source code with the official formatter @@ -246,7 +250,7 @@ formatting standards. \n{2}{Configuration} Every non-trivial program usually offers at least \emph{some} way to -tweak/manage it's behaviour, and these changes are usually persisted +tweak/manage its behaviour, and these changes are usually persisted \emph{somewhere} on the filesystem of the host: in a local SQLite3 database, a \emph{LocalStorage} key-value store in the browser, a binary or plain text configuration file. These configuration files need to be read and checked at @@ -287,6 +291,7 @@ relied on by the user. Dhall offers this in multiple features: enforcing a same-origin policy and (optionally) pinning a cryptographic hash of the value of the expression being imported. + \n{3}{Possible alternatives} While developing the program, the author has also come across certain shortcomings of Dhall, namely long start-up with \emph{cold cache}, which can @@ -324,6 +329,7 @@ as a potentially almost drop-in replacement for Dhall feature-wise, while also resolving the subject issue that was described with Dhall (costly normalisation operations with \emph{cold cache}). + \n{2}{Production} It is, of course, recommended that the application runs in a secure @@ -336,6 +342,7 @@ as with a \emph{golden} image/container), then do not run SSH on it. In an ideal scenario, the host machine would have as little software installed as possible besides what the application absolutely requires. + \n{1}{Application architecture} \n{2}{Data integrity}