summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--index.html150
-rw-r--r--style.css57
2 files changed, 207 insertions, 0 deletions
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..507478b
--- /dev/null
+++ b/index.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta charset="utf-8">
+ <link rel="stylesheet" href="style.css">
+ <title>Thomas Voss’ CV</title>
+ </head>
+ <body>
+ <header>
+ <h1>Thomas Voss</h1>
+ <ul id="links">
+ <li>
+ <a href="https://www.thomasvoss.com">Website</a>
+ </li>
+ <li>
+ <a href="https://git.thomasvoss.com">Git Repositories</a>
+ </li>
+ <li>
+ <a href="mailto:mail@thomasvoss.com">mail@thomasvoss.com</a>
+ </li>
+ </ul>
+ </header>
+
+ <section>
+ <h2>Competencies</h2>
+
+ <hr>
+
+ <x-entry>
+ <header>Systems- and Low-Level Programming</header>
+ <p>
+ I am very familiar with systems- and low-level
+ programming with lots of experience using languages like
+ C and Assembly along with the revelant build-tools such
+ as <em>Make</em>.
+ </p>
+ </x-entry>
+
+ <x-entry>
+ <header>Fullstack Web Development</header>
+ <p>
+ I’m no stranger to web development either, and I always
+ try to emphasize simplicity when possible. I have
+ worked extensively with backend frameworks
+ like <em>Flask</em>, and I am capable of building
+ effective- and usable frontends without the need to
+ download megabytes of useless- and bloated JavaScript.
+ </p>
+ </x-entry>
+ </section>
+
+ <section>
+ <h2>Education</h2>
+
+ <hr>
+
+ <x-entry>
+ <header>The International School of The Hague</header>
+ <x-time-range>2016–2021</x-time-range>
+ <p>Secondary School</p>
+ </x-entry>
+
+ <x-entry>
+ <header>Delft University of Technology</header>
+ <x-time-range>2021–2022</x-time-range>
+ <p>
+ <abbrev title="Bachelor of Science">BSc</abbrev>
+ Computer Science and Engineering
+ </p>
+ </x-entry>
+ </section>
+
+ <section>
+ <h2>Work Experience</h2>
+
+ <hr>
+
+ <x-entry>
+ <header>LiteBit</header>
+ <x-job-title>Backend Developer</x-job-title>
+ <p>
+ Worked as a backend developer for a crypto-trading
+ platform, primarily using TypeScript and C#. Other
+ tools used include Docker, Kubernetes, and Retool.
+ </p>
+ </x-entry>
+
+ <x-entry>
+ <header>Humanwave</header>
+ <x-job-title>Fullstack Developer</x-job-title>
+ <p>
+ Worked as a fullstack developer writing
+ <abbrev title="Human Resources">HR</abbrev>
+ software. The languages frequently used consisted of
+ CSS, JavaScript, Jinja, Python (WebApp2 & Flask), and
+ Vue. Additionally, GNU gettext and the Po language was
+ used to handle localization. Other tools used include
+ Google App Engine.
+ </p>
+ </x-entry>
+ </section>
+
+ <section>
+ <h2>My Cool Stuff</h2>
+
+ <hr>
+
+ <x-entry>
+ <header>
+ <a href="https://thomasvoss.com/prj/mmv" target="_blank">
+ <code>mmv</code>
+ </a>
+ </header>
+ <x-description>Move Mapped/Multiple Files</x-description>
+ <p>
+ The best tool ever made for renaming- or moving multiple
+ files. I am not exaggerating.
+ </p>
+ </x-entry>
+
+ <x-entry>
+ <header>
+ <a href=""><code>mstatus</code></a>
+ </header>
+ <x-description>A FIFO-based status bar for DWM and Sway</x-description>
+ <p>
+ A status bar written in C that works with the DWM window
+ manager on X11 and the Sway window manager on Wayland. It
+ allows for easy extensibility by allowing the user to send
+ commands via a named-pipe to customize the contents of the
+ status bar.
+ </p>
+ </x-entry>
+
+ <x-entry>
+ <header>
+ <a href="https://git.thomasvoss.com/smallbrain"><code>smallbrain</code></a>
+ </header>
+ <x-description>Optimizing Brainfuck Interpreter in x86 Assembly</x-description>
+ <p>
+ A Brainfuck interpreter written in x86-64 assembly that
+ compiles the given brainfuck source code file into a
+ bytecode. The bytecode is then optimized and finally
+ executed. Also, I did proper error checking.
+ </p>
+ </x-entry>
+ </section>
+ </body>
+</html>
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..31d40dc
--- /dev/null
+++ b/style.css
@@ -0,0 +1,57 @@
+@page {
+ size: auto;
+ margin: 0;
+}
+
+*, *::before, *::after {
+ box-sizing: border-box;
+}
+
+body {
+ display: grid;
+ grid-template-columns: 1fr min(800px, 90%) 1fr;
+ margin: 0;
+ font-size: 1.1rem;
+}
+
+body > * {
+ grid-column: 2;
+}
+
+#links {
+ padding-inline-start: 1rem;
+}
+
+@media (min-width: 480px) {
+ #links {
+ display: flex;
+ width: 100%;
+ justify-content: space-between;
+ padding-inline: 0;
+ }
+
+ #links li {
+ list-style: none;
+ }
+}
+
+x-entry {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+}
+
+x-entry > header {
+ font-weight: bold;
+}
+
+x-entry > :is(x-job-title, x-time-range, x-description) {
+ text-align: right;
+}
+
+x-entry > p {
+ grid-column: span 2;
+}
+
+section > x-entry:not(:last-child) {
+ margin-bottom: 1rem;
+}