diff --git a/cv.tex b/cv.tex index fe4a82e..9238a67 100644 --- a/cv.tex +++ b/cv.tex @@ -1,7 +1,6 @@ -\documentclass[a4paper,openany,twoside]{article} +\documentclass[a4paper,openany]{article} %% {{{ Preamble - %% {{{ Packages \usepackage[dutch]{babel} @@ -27,32 +26,29 @@ \renewcommand*\familydefault{\ttdefault} %% }}} -%% {{{ Customisation +%% {{{ Customisation -\input glyphtounicode % converts glyph names to unicode -\pdfgentounicode=1 % ensures pdfs generated are ats readable +\input glyphtounicode +\pdfgentounicode=1 \urlstyle{same} % {{{ Margin -\pagestyle{fancy} % set page style to one configured by fancyhdr -\fancyhf{} % clear all header and footer fields +\pagestyle{fancy} +\fancyhf{} -\renewcommand{\headrulewidth}{0in} % sets thickness of linerule under header to zero -\renewcommand{\footrulewidth}{0in} % sets thickness of linerule over footer to zero +\renewcommand{\headrulewidth}{0in} +\renewcommand{\footrulewidth}{0in} -\setlength{\tabcolsep}{0in} % sets thickness of column separator in tables to zero +\setlength{\tabcolsep}{0in} -% origin of the document is one inch from the top and from and the left -% oddsidemargin and evensidemargin both refer to the left margin -% right margin is indirectly set using oddsidemargin -\addtolength{\oddsidemargin}{-0.5in} -\addtolength{\topmargin}{-0.5in} +\addtolength{\oddsidemargin}{-1cm} +\addtolength{\topmargin}{-1cm} -\addtolength{\textwidth}{1.0in} % sets width of text area in the page to one inch -\addtolength{\textheight}{1.0in} % sets height of text area in the page to one inch +\addtolength{\textwidth}{1cm} +\addtolength{\textheight}{1cm} -\raggedbottom{} % makes all pages the height of current page, no extra vertical space added -\raggedright{} % makes all pages the width of current page, no extra horizontal space added +\raggedbottom{} +\raggedright{} %% }}} \titleformat{\section} @@ -65,7 +61,6 @@ \renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$} -% redefines the underline depth to 2pt \renewcommand{\ULdepth}{2pt} %% }}} @@ -86,8 +81,14 @@ \begin{itemize}[leftmargin=.5cm, label={}] } \newcommand{\resumeHeadingListEnd}{\end{itemize}} -%% }}} +\newcommand{\uhref}[2]{\href{#1}{\uline{#2}}% +} + +\newcommand{\uurl}[1]{\uline{\url{#1}}% +} + +%% }}} %% }}} \begin{document} @@ -98,48 +99,159 @@ \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r} \textbf{\Huge Marty Sluijtman \vspace{2pt}} & - Location: Tilburg, Noord Brabant, The Netherlands \\ - & Date of Birth: 2001-6-13\\ - \href{https://voidcruiser.nl}{\uline{voidcruiser.nl}} $|$ - \href{https://docs.antimattercloud.nl}{\uline{docs.antimattercloud.nl}} \\ - \href{https://gitlab.com/EternalWanderer}{\uline{GitLab}} & - Email: \href{mailto:marty.wanderer@disroot.org}{\uline{marty.wanderer@disroot.org}} \\ + 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 -2019-2023 & \textbf{SiNTLUCAS - Game development} +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}. - Worked on the management of 300 Debian GNU/Linux servers; wrote a set of tools to - ensure the relevancy of the backups.\\ + 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{Lanugages} +\section{Languages} +\subsection{Spoken Languages} \resumeHeadingListStart -\resumeSectionType{Programming}{$::$}{Go, Haskell, C\#} -\resumeSectionType{Scripting}{$::$}{POSIX Shell, Nix} -\resumeSectionType{Markup}{$::$}{Graphviz/Dot, CommonMark, \LaTeX{}, HTML, CSS} -\resumeSectionType{Misc}{$::$}{GNU Make} +\resumeSectionType{Dutch}{:}{Native} +\resumeSectionType{English}{:}{B2} \resumeHeadingListEnd -In my free time since SiNTLUCAS I picked up Go and Haskell because both languages seemed interesting to -me. I wrote several projects in either language. +\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 proxy to -\uline{\url{https://antimattercloud.nl/radio}} +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