Update of English CV

This commit is contained in:
2025-08-20 20:38:13 +02:00
parent ca675cefc8
commit 88c5cb7002
12 changed files with 122 additions and 47 deletions

View File

@@ -1,32 +1,19 @@
# Hi! I'm Tim Huizinga
An Applied Physics student with a passion for programming!
I have always enjoyed programming as a hobby, and would love to make it my career.
Since then I have also combined this hobby with the hardware side of things.
Most recently I have picked up [Rust], and have fallen in love with this programming language.
Ever since I was young I have always been interested in technology, whether it was taking apart (broken) electronics or playing around on my parents computer.
In high school I discovered that I also really liked physics, so that is what I ended up studying, but programming always remained one of my hobbies.
A couple of years ago I picked up the programming language [Rust] and all my personal projects since have been build with it!
I'm also quite experienced with Linux as I have been daily driving it for the past decade at this point.
Making me very familiar with the terminal and the different command line tools available.
And have even been running my own Linux server at home for quite some time now!
I also discovered I enjoyed working with hardware during my minor in Electronics for Robotics and have since worked on a variety of hardware related projects at home as well.
One example would be adding bluetooth audio to my car, which included hacking into the CAN bus to integrate with the normally CD only steering wheel controls.
I'm also a big Linux fan and have run it as my main operating system for well over a decade at this point, I even game in a virtual machine so I technically never have to leave Linux!
This has since expanded to running my own Linux server at home and more recently tinkering with a bare metal Kubernetes cluster at home.
[Rust]: https://rust-lang.org
## Projects
### [Z80 Computer](https://git.huizinga.dev/Z80/Z80)
The first big hardware project that I worked on was building a computer, from the ground up, around the [Z80] microprocessor.
I had to learn a wide range of skills for this project, including things like learning how to design PCBs, programming in assembly, working with [FPGA]s, and learning to operate an oscilloscope.
[Z80]: https://en.wikipedia.org/wiki/Zilog_Z80
[FPGA]: https://en.wikipeida.org/wiki/Field-programmable_gate_array
### [Car Stereo](https://git.huizinga.dev/Dreaded_X/car-stereo)
My Peugeot 207 only has bluetooth for calling, so I decided it would be fun to build my own bluetooth receiver using the [ESP32] microcontroller.
The original goal was to just build an audio receiver and hook it up to the aux port in my glovebox.
However since then I have also connected the [ESP32] to the [CAN bus] of my car, allowing me to use the controls on my steering wheel to control the music.
[ESP32]: https://en.wikipedia.org/wiki/ESP32
[CAN bus]: https://en.wikipedia.org/wiki/CAN_bus
### [Home Automation](https://git.huizinga.dev/Dreaded_X/automation_rs)
I have slowly been converting my house into my very own smart home!
@@ -42,6 +29,30 @@ This was my first real Rust after picking up the language during [Advent of Code
[Rust]: https://rust-lang.org
[Advent of Code]: https://adventofcode.com/
### [Siranga (Greek for Tunnel)](https://git.huizinga.dev/Dreaded_X/siranga)
Sometimes you want to use your fancy new work-in-progress with someone remote, but how would you do this easily and securely?
That is where Siranga comes in, with this tool you can quickly create a new subdomain that connects to a local port on your machine, and all you need: SSH!
When connecting to Siranga over SSH it makes uses of the tunneling capabilities of SSH to forward one of your local ports to Siranga.
At the same time Siranga acts as a webserver and when a connection comes in for a given subdomain it will handle creating the connection through the SSH tunnel.
The authorized SSH keys for each user are retrieved through LDAP and the subdomains are (optionally) protected using ForwardAuth.
In my Kubernetes cluster LDAP is provided by LLDAP and ForwardAuth is provided by my single sign-on provider Authelia.
### [Z80 Computer](https://git.huizinga.dev/Z80/Z80)
The first big hardware project that I worked on was building a computer, from the ground up, around the [Z80] microprocessor.
I had to learn a wide range of skills for this project, including things like learning how to design PCBs, programming in assembly, working with [FPGA]s, and learning to operate an oscilloscope.
[Z80]: https://en.wikipedia.org/wiki/Zilog_Z80
[FPGA]: https://en.wikipeida.org/wiki/Field-programmable_gate_array
### [Car Stereo](https://git.huizinga.dev/Dreaded_X/car-stereo)
My Peugeot 207 only has bluetooth for calling, so I decided it would be fun to build my own bluetooth receiver using the [ESP32] microcontroller.
The original goal was to just build an audio receiver and hook it up to the aux port in my glovebox.
However since then I have also connected the [ESP32] to the [CAN bus] of my car, allowing me to use the controls on my steering wheel to control the music.
[ESP32]: https://en.wikipedia.org/wiki/ESP32
[CAN bus]: https://en.wikipedia.org/wiki/CAN_bus
### [Pico P1](https://git.huizinga.dev/Dreaded_X/pico_p1)
This is my most recent project, as I had recently decided to pick up a [Raspberry Pi Pico W] just to play around with.
I decided to build a device to read out my [DSMR5] based smart meter using it's P1 port and publish the information using [MQTT].
@@ -52,9 +63,3 @@ So far it has been quite a nice experience!
[DSMR5]: https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf
[MQTT]: https://nl.wikipedia.org/wiki/MQTT
### [Inventory System](https://git.huizinga.dev/Dreaded_X/inventory)
As I got more into developing hardware my collection of electronic components also grew and I needed a better way of organizing everything.
I decided that it was a great opertunity to learn React and to develop the frontend of my very own simple inventory management system.
The system uses QR codes to link the physical components to their representation in the mangement system, which contains more information on the specific component like for example datasheets.
It also stores where each of the components is supposed to be stored, which makes it very easy to find components in the future.

3
en.tex
View File

@@ -5,7 +5,7 @@
\newcommand{\OtherSkills}{Other Skills}
\newcommand{\Languages}{Languages}
\newcommand{\Hobbies}{Hobbies}
\newcommand{\Projects}{Projects}
\newcommand{\Projects}{Personal Projects}
\newcommand{\Now}{Now}
@@ -20,4 +20,3 @@
\newcommand{\Maths}{Maths}
\newcommand{\Physics}{Physics}
\newcommand{\Soldering}{Soldering}

View File

@@ -57,7 +57,7 @@
\vspace{6pt}
{\huge Applied Physics Student} % Career or current job title
{\huge Software Developer} % Career or current job title
\end{minipage}
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the first row of icons
\vspace{-\baselineskip} % Required for vertically aligning minipages
@@ -180,7 +180,9 @@
\hfill
\iconsvg{git}{12}{Git}\\
\hfill
\iconsvg{android}{12}{Android Dev}\\
\iconsvg{docker}{12}{Docker}\\
\hfill
\iconsvg{k3s}{12}{K3S}\\
\hfill
\icon{\faMicrochip}{12}{Embedded}\\
\hfill
@@ -196,7 +198,9 @@
\hfill
\iconsvg{react}{12}{React}\\
\hfill
\iconsvg{docker}{12}{Docker}\\
\iconsvg{kubernetes}{12}{Kubernetes}\\
\hfill
\iconsvg{android}{12}{Android Dev}\\
\hfill
\iconsvg{latex}{12}{LaTeX}\\
\hfill
@@ -244,16 +248,17 @@
\vspace{6pt}
\input{latex/project/inventory.{{lang}}.md.tex}
\input{latex/project/pico_p1.{{lang}}.md.tex}
\end{minipage}
\hfill
\begin{minipage}[t]{0.45\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\input{latex/project/car-stereo.{{lang}}.md.tex}
\input{latex/project/siranga.{{lang}}.md.tex}
\vspace{6pt}
\input{latex/project/pico_p1.{{lang}}.md.tex}
\input{latex/project/car-stereo.{{lang}}.md.tex}
\end{minipage}
\hfill

View File

@@ -1,9 +1,11 @@
# Hi! I'm Tim Huizinga
#{blurb.en.md}
## Projects
#{project/automation.en.md}
#{project/siranga.en.md}
#{project/z80.en.md}
#{project/car-stereo.en.md}
#{project/automation.en.md}
#{project/pico_p1.en.md}
#{project/inventory.en.md}

View File

@@ -1,11 +1,11 @@
An Applied Physics student with a passion for programming!
Ever since I was young I have always been interested in technology, whether it was taking apart (broken) electronics or playing around on my parents computer.
In high school I discovered that I also really liked physics, so that is what I ended up studying, but programming always remained one of my hobbies.
A couple of years ago I picked up the programming language [Rust] and all my personal projects since have been build with it!
I have always enjoyed programming as a hobby, and would love to make it my career.
Since then I have also combined this hobby with the hardware side of things.
Most recently I have picked up [Rust], and have fallen in love with this programming language.
I also discovered I enjoyed working with hardware during my minor in Electronics for Robotics and have since worked on a variety of hardware related projects at home as well.
One example would be adding bluetooth audio to my car, which included hacking into the CAN bus to integrate with the normally CD only steering wheel controls.
I'm also quite experienced with Linux as I have been daily driving it for the past decade at this point.
Making me very familiar with the terminal and the different command line tools available.
And have even been running my own Linux server at home for quite some time now!
I'm also a big Linux fan and have run it as my main operating system for well over a decade at this point, I even game in a virtual machine so I technically never have to leave Linux!
This has since expanded to running my own Linux server at home and more recently tinkering with a bare metal Kubernetes cluster at home.
[Rust]: https://rust-lang.org

View File

@@ -0,0 +1,13 @@
---
project:
url: git.huizinga.dev/Dreaded_X/siranga
title: Siranga (Greek for Tunnel)
---
Sometimes you want to use your fancy new work-in-progress with someone remote, but how would you do this easily and securely?
That is where Siranga comes in, with this tool you can quickly create a new subdomain that connects to a local port on your machine, and all you need: SSH!
When connecting to Siranga over SSH it makes uses of the tunneling capabilities of SSH to forward one of your local ports to Siranga.
At the same time Siranga acts as a webserver and when a connection comes in for a given subdomain it will handle creating the connection through the SSH tunnel.
The authorized SSH keys for each user are retrieved through LDAP and the subdomains are (optionally) protected using ForwardAuth.
In my Kubernetes cluster LDAP is provided by LLDAP and ForwardAuth is provided by my single sign-on provider Authelia.

View File

@@ -0,0 +1,13 @@
---
project:
url: git.huizinga.dev/Dreaded_X/siranga
title: Siranga (Greek for Tunnel)
---
Sometimes you want to use your fancy new work-in-progress with someone remote, but how would you do this easily and securely?
That is where Siranga comes in, with this tool you can quickly create a new subdomain that connects to a local port on your machine, and all you need: SSH!
When connecting to Siranga over SSH it makes uses of the tunneling capabilities of SSH to forward one of your local ports to Siranga.
At the same time Siranga acts as a webserver and when a connection comes in for a given subdomain it will handle creating the connection through the SSH tunnel.
The authorized SSH keys for each user are retrieved through LDAP and the subdomains are (optionally) protected using ForwardAuth.
In my Kubernetes cluster LDAP is provided by LLDAP and ForwardAuth is provided by my single sign-on provider Authelia.

1
svg/k3s.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" fill="#FFFFFF"><path d="M114.434 11.875H13.547C6.074 11.898.023 17.949 0 25.422v77.719c.023 7.472 6.074 13.523 13.547 13.546h100.887c7.472-.023 13.523-6.074 13.546-13.546V25.42c-.023-7.472-6.074-13.523-13.546-13.546zM54.078 88.094l-24.621 14.308a6.592 6.592 0 01-9.008-2.386 6.59 6.59 0 012.387-9.008l24.621-14.309a6.587 6.587 0 019.012 2.383 6.593 6.593 0 01-2.39 9.012zm9.688-21.801h-.032a6.59 6.59 0 01-6.558-6.617l.125-28.364a6.587 6.587 0 016.586-6.562h.031a6.59 6.59 0 016.559 6.617l-.125 28.367a6.588 6.588 0 01-6.586 6.559zm43.562 33.703a6.585 6.585 0 01-9 2.41L73.672 88.172a6.589 6.589 0 116.59-11.41l24.656 14.234a6.586 6.586 0 012.41 9zm0 0"/></svg>

After

Width:  |  Height:  |  Size: 723 B

1
svg/kubernetes.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" fill="#FFFFFF"><g><path d="M56.484 55.098c.37.27.82.43 1.31.43 1.2 0 2.18-.95 2.23-2.13l.05-.03.75-13.26c-.9.11-1.8.26-2.7.46-4.93 1.12-9.2 3.55-12.54 6.83l10.87 7.71.03-.01zM55.034 74.528a2.218 2.218 0 00-2.58-1.69l-.02-.03-13.05 2.21a26.15 26.15 0 0010.51 13.15l5.06-12.22-.04-.05c.17-.42.23-.89.12-1.37zM50.694 65.118c.44-.12.85-.38 1.16-.76.75-.94.62-2.29-.28-3.07l.01-.05-9.93-8.88a26.07 26.07 0 00-3.7 16.48l12.73-3.67.01-.05zM60.334 69.018l3.66 1.76 3.66-1.75.9-3.95-2.53-3.16h-4.06l-2.54 3.16zM67.934 53.348c.02.46.18.91.49 1.29.75.94 2.1 1.11 3.06.41l.04.02 10.8-7.66c-4.08-3.99-9.4-6.6-15.15-7.3l.75 13.24h.01zM75.514 72.778c-.17-.03-.34-.05-.51-.04-.29.01-.58.09-.85.22a2.23 2.23 0 00-1.08 2.89l-.02.02 5.11 12.34c4.93-3.14 8.61-7.83 10.54-13.24l-13.16-2.23-.03.04zM65.954 79.318a2.246 2.246 0 00-2.04-1.17c-.77.03-1.5.46-1.89 1.18h-.01l-6.42 11.6a26.16 26.16 0 0014.27.73c.88-.2 1.74-.44 2.57-.72l-6.43-11.63h-.05z"/><path d="M124.544 76.788l-10.44-45.33a8.012 8.012 0 00-4.37-5.43l-42.24-20.18a8.157 8.157 0 00-3.92-.78 8.15 8.15 0 00-3.1.78l-42.24 20.18a8.055 8.055 0 00-4.37 5.43l-10.41 45.34a7.92 7.92 0 001.1 6.14c.14.22.3.43.46.64l29.24 36.35a8.087 8.087 0 006.32 3.01l46.89-.01c2.46 0 4.78-1.11 6.32-3.01l29.23-36.36a7.981 7.981 0 001.53-6.77zm-16.07-.55c-.31 1.35-1.76 2.17-3.26 1.85-.01 0-.03 0-.04-.01-.02 0-.03-.01-.05-.02-.21-.05-.47-.09-.65-.14-.86-.23-1.49-.58-2.27-.88-1.67-.6-3.06-1.1-4.41-1.3-.69-.05-1.04.27-1.42.52-.18-.04-.75-.14-1.08-.19-2.42 7.61-7.58 14.21-14.57 18.33.12.29.33.91.42 1.02-.16.43-.4.83-.19 1.49.49 1.27 1.28 2.52 2.24 4.01.46.69.94 1.22 1.36 2.02.1.19.23.48.33.68.65 1.39.17 2.99-1.08 3.59-1.26.61-2.82-.03-3.5-1.43-.1-.2-.23-.46-.31-.65-.36-.82-.48-1.52-.73-2.32-.57-1.68-1.05-3.07-1.73-4.25-.39-.57-.86-.64-1.29-.78-.08-.14-.38-.69-.54-.97-1.4.53-2.84.97-4.34 1.31-6.56 1.49-13.13.89-18.99-1.37l-.57 1.04c-.43.11-.84.23-1.09.53-.92 1.1-1.29 2.86-1.96 4.54-.25.79-.37 1.5-.73 2.32-.08.19-.22.45-.31.64v.01l-.01.01c-.67 1.39-2.23 2.03-3.49 1.43-1.25-.6-1.72-2.2-1.08-3.59.1-.2.22-.49.32-.68.42-.79.89-1.33 1.36-2.02.96-1.5 1.8-2.84 2.29-4.11.12-.42-.06-1-.22-1.43l.46-1.1c-6.73-3.99-12.04-10.34-14.58-18.21l-1.1.19c-.3-.17-.89-.56-1.45-.51-1.35.2-2.74.7-4.41 1.3-.78.3-1.4.64-2.27.87-.18.05-.44.1-.65.15-.02 0-.03.01-.05.02-.01 0-.03 0-.04.01-1.5.32-2.95-.5-3.26-1.85-.31-1.35.65-2.72 2.14-3.08.01 0 .03-.01.04-.01.01 0 .01 0 .02-.01.21-.05.48-.12.68-.16.88-.17 1.6-.13 2.43-.19 1.77-.19 3.23-.34 4.53-.75.41-.17.81-.74 1.09-1.1l1.06-.31c-1.19-8.22.82-16.28 5.16-22.81l-.81-.72c-.05-.32-.12-1.04-.51-1.46-.99-.93-2.25-1.71-3.76-2.64-.72-.42-1.38-.69-2.1-1.23-.15-.11-.36-.29-.52-.42-.01-.01-.03-.02-.04-.03-1.21-.97-1.49-2.64-.62-3.73.49-.61 1.24-.92 2.01-.89.6.02 1.23.24 1.76.66.17.14.41.32.56.45.68.58 1.09 1.16 1.66 1.77 1.25 1.27 2.28 2.32 3.41 3.08.59.35 1.05.21 1.5.15.15.11.63.46.91.65 4.3-4.57 9.96-7.95 16.52-9.44 1.53-.35 3.05-.58 4.57-.7l.06-1.07c.34-.33.71-.79.82-1.31.11-1.36-.07-2.82-.28-4.59-.12-.82-.31-1.51-.35-2.4-.01-.18 0-.44.01-.65 0-.02-.01-.05-.01-.07 0-1.55 1.13-2.81 2.53-2.81s2.53 1.26 2.53 2.81c0 .22.01.52.01.72-.03.89-.23 1.58-.35 2.4-.21 1.76-.4 3.23-.29 4.59.1.68.5.95.83 1.26.01.18.04.79.06 1.13 8.04.71 15.5 4.39 20.99 10.14l.96-.69c.33.02 1.04.12 1.53-.17 1.13-.76 2.16-1.82 3.41-3.08.57-.61.99-1.18 1.67-1.77.15-.13.39-.31.56-.45 1.21-.97 2.9-.86 3.77.23s.59 2.76-.62 3.73c-.17.14-.39.33-.56.45-.72.53-1.38.8-2.1 1.23-1.51.93-2.77 1.71-3.76 2.64-.47.5-.43.98-.48 1.43-.14.13-.63.57-.9.8a32.75 32.75 0 014.74 10.95c.92 3.99 1.06 7.97.53 11.8l1.02.3c.18.26.56.89 1.09 1.1 1.3.41 2.76.56 4.53.75.83.07 1.55.03 2.43.19.21.04.52.12.73.17 1.5.37 2.45 1.74 2.14 3.09z"/><path d="M86.274 52.358l-9.88 8.84.01.03c-.34.3-.6.7-.71 1.18-.27 1.17.44 2.33 1.58 2.65l.01.05 12.79 3.68c.27-2.76.11-5.62-.55-8.48-.66-2.89-1.77-5.56-3.25-7.95z"/></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -2,6 +2,7 @@
description: With a focus on Quantum Computation focused courses
at: Delft University of Technology
start: 2019
end: 2024
- name: Applied Physics BSc
description: With a minor in Electronics for Robotics

View File

@@ -1,8 +1,8 @@
- name: Applied Physics MSc
description: Met een focus op Quantum Computation gerelateerde vakken.
at: TU Delft
start: 2019
end: 2024
- name: Technische Natuurkunde BSc
description: Met een minor in Electronics for Robotics.

View File

@@ -1,8 +1,43 @@
- name: Consultant
description: |
As a consultant for ALTEN I bring my software development expertise to other companies to help them out with various projects.
But when I between assignments
The goal of this project is to take in measurement data, collected by sending vibrations into the earth and measuring the response in several different location, and performing a process called full wave inversion.
This process makes it possible to gain insight into the speed of the soundwaves underground and could therefore reveal certain properties underground.
I have worked on almost all aspects of this project, ranging from building the User Interface, to refactoring the codebase, to improving the build system and Azure Devops pipeline.
at: ALTEN
start: 2024
- name: Software Developer (via ALTEN)
description: |
At Grimbergen they were working on a robot to mill the rough surface of the walls of the Hubertustunnel in The Hague, but the project started to run out of time.
So a couple of colleagues and I where brought in to turn to project around. During this project the deadlines where very tight, only one month before a big test and demo, and only three months before the project needed to be finished.
During this time I had to quickly learn ROS (Robot Operating System) as I had no prior experience, but within no time I was speed and ended up playing a leading role in ensuring the project was (for the most part) done in time.
As the robot is currently deployed I have taken a maintenance role in the project fixing issues as they popup, while also taking part in the startup phase for the next project.
at: Grimbergen
start: 2025
- name: Software Developer (via ALTEN)
description: |
I was brought in to update the Yocto Linux based embedded Linux distribution running on several of their public transit products to the latest version.
During this project I was essentially the sole developer working on this update and as a result I had a wide range of responsibilities.
This included updating build files so they would build with the new version, testing the new distribution to ensure everything worked, updating the installation tools to ensure compatibility, and modifying the FTDI linux driver to support an odd configuration that was not properly accounted for in the hardware.
At the same time I was also in charge of maintaining the existing distribution and fixing issues in both the old and new distribution when they got reported.
at: SWARCO
start: 2024
end: 2025
- name: Intern
description: |
As intern for ALTEN I mapped out the different parts of the Chengeta Wildlife poacher detection project, developed by previous interns.
Based on this I put together a plan with concrete steps for further development of the project, with focus on intergrating the existing work together.
at: ALTEN Nederland
Based on this I put together a plan with concrete steps for further development of the project, with focus on integrating the existing work together.
at: ALTEN
start: 2023
end: 2024