\documentclass[a4paper,openany]{article}

%% {{{ Preamble
%% {{{ Packages

\usepackage[dutch]{babel}
\usepackage[utf8]{inputenc}
\usepackage[a-3u]{pdfx}

\usepackage{verbatim}
\usepackage{titlesec}
\usepackage{xcolor}
\usepackage{enumitem}
\usepackage{fancyhdr}
\usepackage{tabularx}
\usepackage{latexsym}
\usepackage{marvosym}
\usepackage[empty]{fullpage}
\usepackage{hyperref}
\usepackage[normalem]{ulem}
\usepackage{lipsum}

\usepackage[T1]{fontenc}
%\usepackage[sfdefault]{FiraMono}
\usepackage{FiraMono}
\renewcommand*\familydefault{\ttdefault}

%% }}}
%% {{{ Customisation

\input glyphtounicode
\pdfgentounicode=1
\urlstyle{same}

% {{{ Margin
\pagestyle{fancy}
\fancyhf{}

\renewcommand{\headrulewidth}{0in}
\renewcommand{\footrulewidth}{0in}

\setlength{\tabcolsep}{0in}

\addtolength{\oddsidemargin}{-1cm}
\addtolength{\topmargin}{-1cm}

\addtolength{\textwidth}{1cm}
\addtolength{\textheight}{1cm}

\raggedbottom{}
\raggedright{}
%% }}}

\titleformat{\section}
  {\scshape\Large}{}
    {0em}{\bfseries\color{blue}$::$ }[\color{black}\titlerule\vspace{0pt}]

\titleformat{\subsection}
  {\scshape\large}{}
    {0em}{\color{blue}$::$ }

\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}

\renewcommand{\ULdepth}{2pt}

%% }}}
%% {{{ Macros
\newcommand{\btpp}{ \begin{tabular}{p{3.5cm}@{\hspace{0.1cm}}p{13.4cm}} }

\newcommand{\etpp}{ \end{tabular} }

\newcommand{\resumeSectionType}[3]{
  \item\begin{tabular*}{0.96\textwidth}[t]{
    p{0.15\linewidth}p{0.02\linewidth}p{0.81\linewidth}
  }
    \textbf{#1} & #2 & #3
  \end{tabular*}\vspace{-2pt}
}

\newcommand{\resumeHeadingListStart}{
  \begin{itemize}[leftmargin=.5cm, label={}]
}
\newcommand{\resumeHeadingListEnd}{\end{itemize}}

\newcommand{\uhref}[2]{\href{#1}{\uline{#2}}%
}

\newcommand{\uurl}[1]{\uline{\url{#1}}%
}

%% }}}
%% }}}

\begin{document}

\begin{center}
    \textbf{\Large Curiculum Vitae}
\end{center}

\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
  \textbf{\Huge Marty Sluijtman \vspace{2pt}} &
  Location: Tilburg, Noord Brabant, Netherlands \\
    & Date of Birth: 2001-06-13\\
  \uhref{https://voidcruiser.nl}{voidcruiser.nl} $|$
    \uhref{https://docs.antimattercloud.nl}{docs.antimattercloud.nl} \\
  \uhref{https://gitlab.com/EternalWanderer}{GitLab.com/EternalWanderer} &
  Email: \uhref{mailto:marty.wanderer@disroot.org}{marty.wanderer@disroot.org} \\
\end{tabular*}

\section{Introduction}

I've been aware of Linux from quite a young age. In my household there has
always been at least one computer running Ubuntu. When I was around 18 years
old, I decided to properly check it out. I installed it on a USB thumb drive to
try it out without having to commit. It took me a week of running Ubuntu like
this before I shrank down my Windows installation to make room for a Windows
10/Ubuntu dual boot configuration. I ended up using Windows only to run a few
games that I couldn't get to work on Linux no matter what I tried.

\section{Education}

\btpp
2018-2023 & \textbf{SiNTLUCAS - Game development}
            Here I learned the basics of C\# and the Unity Game engine. During this time I also
            discovered my passion for Linux; teaching myself the basics of Linux systems administration
            in my free time.
\etpp

\section{Work Experience}

\btpp
May 2022 - March 2023 & \textbf{Internship at Tilburg University under LIS UNIX Infra}.
                        Here I worked on the management of 300 Debian GNU/Linux servers;
                        In particular I did the following:
                        \begin{itemize}
                            \item wrote a hand full of Nagios monitors in POSIX
                                Shell
                            \item wrote a set of tools to ensure both backup
                                solutions stay in sync with the desired state in
                                POSIX Shell en GNU Make.
                        \end{itemize}\\
\etpp

\section{Languages}

\subsection{Spoken Languages}
\resumeHeadingListStart
\resumeSectionType{Dutch}{:}{Native}
\resumeSectionType{English}{:}{B2}
\resumeHeadingListEnd

\subsection{Computational Languages}
\resumeHeadingListStart
\resumeSectionType{Programming}{:}{Go, Haskell, C\#}
\resumeSectionType{Scripting}{:}{POSIX Shell, Nix}
\resumeSectionType{Markup}{:}{Graphviz/Dot, \LaTeX{}, HTML, CSS}
\resumeSectionType{Misc}{:}{GNU Make}
\resumeHeadingListEnd

In my free time since SiNTLUCAS I picked up Go and started to learn Haskell
because both languages seemed interesting to me. I wrote a few projects in Go. I
am in the process of rewriting them in Haskell.

\section{Hobby Projects}
\subsection{Radio}
I have an internet radio playing music 24/7 with a publicly available frontend.
It makes use of MPD to play the music; Icecast2 to manage the stream and
buffering; and Nginx manages the reverse proxies to
\uurl{https://antimattercloud.nl/radio} and
\uurl{https://radio.antimattercloud.nl/}
\subsection{Personal Websites}
I host two personal websites generated using the Hugo static site generator.

One of them is a wiki of sorts written with the goal of explaining several
concepts relating to digital privacy and security. The topics on this site are
topics I found myself frequently explaining to friends. The goal for
this website being to refer people to this website, rather than to spend time
verbally explaining it to them, thus saving time and serving as a reference.
\medskip
\newline
\uurl{https://docs.antimattercloud.nl}
\medskip
\newline
The other serves as my personal blog.
\medskip
\newline
\uurl{https://voidcruiser.nl}
\medskip
\newline
The source code for my blog can be found
\uhref{https://gitlab.com/EternalWanderer/voidcruiser.nl}{here} and the Hugo
theme can be found \uhref{https://gitlab.com/EternalWanderer/vugo}{here}.

\subsection{ownCloud}

I host a private \uhref{https://owncloud.com}{ownCloud} instance for family and
friends. This instance is ran inside of a few docker containers, managed using
docker-compose.

\subsection{Git}

I have my own Git server running on my home server. The goal here being to both get a
better understanding of how Git works, as well as not having to depend on large,
pre-existing infrastructure to host my repositories.

\subsection{Matrix server (synapse and conduit)}

I used to host a \uhref{https://matrix.org/}{Matrix} server for a few years, but
ended up rarely using it.

\subsection{XMPP server (prosody)}

I used to host an \uhref{https://xmpp.org/}{XMPP} server for a few years, but
much like the Matrix server, it ended up underutilised.

\subsection{SearxNG}

I run a lightly customised SearxNG instance over on
\uurl{https://voidcruiser.nl/searx} in a docker container. I use this as my
daily search engine.

\subsection{Phone Customisation}

None of my phones still run their stock operating system. Most of the run
LineageOS, an Android ROM that -- by default -- doesn't have any Google
applications or services. Those that support it run GrapheneOS, a hardened
Android fork which goes above and beyond.

\subsection{Owncast}

I host an \uhref{https://owncast.online/}{Owncast} instance on a NixOS server to
be able to stream gameplay every now and then for friends.

\subsection{Dungeons \& Dragons tools}

I play Dungeons \& Dragons every now and then with a group of friends.
Traditionally, Dungeons \& Dragons is in quite a literal sense a `pen and paper
RPG'. Personally, I got tired of having to deal with an ever-growing pile of
paper and decided to see if there were any existing digital tools. While there
are plenty, none of them \textit{quite} suited my needs, so I wrote my own in
Go.

\begin{itemize}
    \item \uhref{https://gitlab.com/EternalWanderer/dice-roller}{dice-roller}
    \item \uhref{https://gitlab.com/EternalWanderer/sheet-parser}{sheet-parser}
\end{itemize}

I have the goal of rewriting both of these in Haskell for the intellectual
exercise.

\subsection{Alpine Linux packages}

I maintain a few Alpine Linux packages in my own repository, which can be found
over at \uurl{https://alpine.voidcruiser.nl}.

\end{document}
% vim:foldmethod=marker
