2023-08-18 22:47:24 +02:00
import Foundation
import SwiftUI
let cvStyle = CVStyle (
pageWidth : 600 ,
2023-08-23 16:17:34 +02:00
accentColor : . init ( 244 , 144 , 0 ) ,
2023-08-18 22:47:24 +02:00
header : HeaderStyle (
height : 100 ,
lineWidth : 1 ,
iconHeight : 20 ,
imageShadowSize : 5 ,
imageBorderWidth : 2 ) ,
columnSpacing : 10 ,
section : . init (
titleSpacing : 10 ,
borderSpacing : 5 ,
borderWidth : 3 ,
bottomSpacing : 10 ,
paragraphSpacing : 5 ) ,
skillStyle : SkillStyle (
iconSize : 20 ,
rowSpacing : 3 ,
verticalTagSpacing : 3 ,
2023-08-20 13:11:13 +02:00
horizontalGap : 3 ,
2023-08-18 22:47:24 +02:00
tagBackground : . gray . opacity ( 0.1 ) ,
tagRounding : 8 )
)
2023-08-20 13:11:13 +02:00
let cvInfoEnglish = CVInfo (
language : " English " ,
2023-08-18 22:47:24 +02:00
top : TopInfo (
imageName : " Cover " ,
name : " Christoph Hagen " ,
tagLine : " Problem solver and creative mind with a favour for interdisciplinary work. " ,
place : " Würzburg, Germany " ,
ageText : " Age 32 " ,
web : " christophhagen.de " ,
email : " jobs@christophhagen.de " ,
phone : " Upon Request " ,
github : " github.com/christophhagen " ) ,
work : . init ( title : " Work experience " , items : [
CareerStation (
time : " Jul 2020 - Jul 2023 " ,
location : " Braunschweig, Germany " ,
title : " German Aerospace Center " ,
subtitle : " Systems engineer " ,
text : " Responsible for aircraft systems and avionics of a high-altitude solar drone, safety, and software. " ) ,
CareerStation (
time : " Mar 2018 - Dec 2019 " ,
location : " Würzburg, Germany " ,
title : " Julius-Maximilians-Universität " ,
subtitle : " Research Assistant " ,
text : " Working on privacy and security technologies in the Secure Software Systems group. " ) ,
CareerStation (
time : " Jul 2017 - Oct 2017 " ,
location : " Tokyo, Japan " ,
title : " National Institute of Informatics " ,
subtitle : " Research Intern (Intelligent Robotics) " ,
text : " Topic: Concept Acquisition through interactions between Humans and Robots " ) ,
CareerStation (
time : " Sep 2014 - Nov 2016 " ,
location : " Würzburg, Germany " ,
title : " Julius-Maximilians-Universität " ,
subtitle : " Research & Teaching Assistant " ,
text : " Teaching exercises and robotics workshops, design of a modular robot arm connector. " )
] ) ,
education : . init ( title : " Education " , items : [
CareerStation (
time : " Oct 2015 - Sep 2017 " ,
location : " Kiruna, Sweden " ,
title : " Luleå University of Technology " ,
subtitle : " M. Sc. in Space Technology " ,
text : " Erasmus Mundus Double Degree Master with courses on robotics, satellite design and control, atmosphere and space physics. " ) ,
CareerStation (
time : " Oct 2015 - Sep 2017 " ,
location : " Espoo, Finland " ,
title : " Aalto University of Electrical Engineering " ,
subtitle : " M. Sc. in Space Robotics and Automation " ,
text : " Thesis topic: A Bluetooth based intra-satellite communication system " ) ,
CareerStation (
time : " Oct 2013 - Aug 2015 " ,
location : " Würzburg, Germany " ,
title : " Julius-Maximilians-Universität " ,
subtitle : " B. Sc. in Aerospace Computer Science " ,
text : " Mobile robotics, satellite subsystems, real-time systems, mathematics and physics. " )
] ) ,
publications : . init ( title : " Publications " , items : [
Publication (
venue : " 33rd Anual INCOSE International Symposium 2023 " ,
title : " Model Based Verification and Validation Planning for a Solar Powered High-Altitude Platform " ) ,
Publication (
venue : " ACM Transactions on Privacy and Security 2022 " ,
title : " Contact Discovery in Mobile Messengers: Low-cost Attacks, Quantitative Analyses, and Efficient Mitigations " ) ,
Publication (
venue : " Network and Distributed Systems Symposium 2021 " ,
title : " All the Numbers are US: Large-scale Abuse of Contact Discovery in Mobile Messengers " )
] ) ,
skills : . init ( title : " Skills " , items : [
SkillsSet (
systemSymbol : . characterBubble ,
entries : [ " German " , " English " ] ) ,
SkillsSet (
systemSymbol : . keyboard ,
entries : [ " Swift " , " C " , " C++ " , " Python " ] ) ,
SkillsSet (
systemSymbol : . display2 ,
entries : [ " iOS " , " Embedded " , " macOS " , " Linux " ] ) ,
SkillsSet (
systemSymbol : . theatermaskAndPaintbrush ,
entries : [ " UI design " , " CAD " , " Woodworking " , " Electronics " , " Photo/Video editing " ] ) ,
SkillsSet (
systemSymbol : . personFillCheckmark ,
entries : [ " Problem solving " , " Decision making " , " Analytical thinking " , " Optimizing " ] )
] ) ,
about : . init ( title : " About " , items : [
" I'm interested in acquiring knowledge and new skills, developing cutting-edge technologies, and finding efficient solutions. " ,
" I usually work on various creative projects, including woodworking, electronics, sewing, and programming. I also love being active in nature. "
] ) ,
2023-08-20 13:11:13 +02:00
footer : " Design by Christoph Hagen, 2023. " )
let cvInfoGerman = CVInfo (
language : " German " ,
top : TopInfo (
imageName : " Cover " ,
name : " Christoph Hagen " ,
tagLine : " Problemlöser und kreativer Kopf mit einer Vorliebe für interdisziplinäre Arbeit. " ,
place : " Würzburg " ,
ageText : " 32 Jahre " ,
web : " christophhagen.de " ,
email : " jobs@christophhagen.de " ,
phone : " Auf Anfrage " ,
github : " github.com/christophhagen " ) ,
work : . init ( title : " Berufserfahrung " , items : [
CareerStation (
time : " Jul 2020 - Jul 2023 " ,
location : " Braunschweig " ,
title : " Deutsches Zentrum für Luft- und Raumfahrt " ,
subtitle : " Systemingenieur " ,
2023-08-23 16:17:48 +02:00
text : " Leitung Flugzeugsysteme und Avionik, Software, und Sicherheitsanalysen einer hochfliegenden Solardrohne. " ) ,
2023-08-20 13:11:13 +02:00
CareerStation (
time : " Mär 2018 - Dez 2019 " ,
location : " Würzburg " ,
title : " Julius-Maximilians-Universität " ,
subtitle : " Wissenschaftlicher Mitarbeiter " ,
2023-08-23 16:17:48 +02:00
text : " Forschung zu Privatsphäre und IT-Sicherheit im Bereich Mobile Messenger " ) ,
2023-08-20 13:11:13 +02:00
CareerStation (
time : " Jul 2017 - Okt 2017 " ,
location : " Tokio, Japan " ,
title : " National Institute of Informatics " ,
2023-08-24 15:34:46 +02:00
subtitle : " Praktikant (Intelligente Robotik) " ,
2023-08-20 13:11:13 +02:00
text : " Thema: Concept Acquisition through interactions between Humans and Robots " ) ,
CareerStation (
time : " Sep 2014 - Nov 2016 " ,
location : " Würzburg " ,
title : " Julius-Maximilians-Universität " ,
2023-09-19 13:51:34 +02:00
subtitle : " Übungsleiter und wissenschaftlicher Mitarbeiter " ,
2023-08-20 13:11:13 +02:00
text : " Leitung von Übungen und Robotikworkshops, Entwurf einer modularen Verbindung für einen Roboterarm. " )
] ) ,
education : . init ( title : " Bildung " , items : [
CareerStation (
time : " Okt 2015 - Sep 2017 " ,
location : " Kiruna, Schweden " ,
title : " Luleå University of Technology " ,
subtitle : " M. Sc. in Space Technology " ,
text : " Erasmus Mundus Double Degree Master mit Kursen in Robotik, Satellitenentwicklung und -kontrolle, Atmosphären- und Weltraumphsyik. " ) ,
CareerStation (
time : " Okt 2015 - Sep 2017 " ,
location : " Espoo, Finnland " ,
title : " Aalto University of Electrical Engineering " ,
subtitle : " M. Sc. in Space Robotics and Automation " ,
text : " Abschlussarbeit: A Bluetooth based intra-satellite communication system " ) ,
CareerStation (
time : " Okt 2013 - Aug 2015 " ,
location : " Würzburg " ,
title : " Julius-Maximilians-Universität " ,
subtitle : " B. Sc. in Luft- und Raumfahrtinformatik " ,
text : " Mobile Robotik, Satellitensysteme, Echtzeitbetriebssysteme, Mathematik and Physik. " )
] ) ,
publications : . init ( title : " Publikationen " , items : [
Publication (
venue : " 33rd Anual INCOSE International Symposium 2023 " ,
title : " Model Based Verification and Validation Planning for a Solar Powered High-Altitude Platform " ) ,
Publication (
venue : " ACM Transactions on Privacy and Security 2022 " ,
title : " Contact Discovery in Mobile Messengers: Low-cost Attacks, Quantitative Analyses, and Efficient Mitigations " ) ,
Publication (
venue : " Network and Distributed Systems Symposium 2021 " ,
title : " All the Numbers are US: Large-scale Abuse of Contact Discovery in Mobile Messengers " )
] ) ,
skills : . init ( title : " Fähigkeiten " , items : [
SkillsSet (
systemSymbol : . characterBubble ,
entries : [ " Deutsch " , " Englisch " ] ) ,
SkillsSet (
systemSymbol : . keyboard ,
entries : [ " Swift " , " C " , " C++ " , " Python " ] ) ,
SkillsSet (
systemSymbol : . display2 ,
entries : [ " iOS " , " Embedded " , " macOS " , " Linux " ] ) ,
SkillsSet (
systemSymbol : . theatermaskAndPaintbrush ,
entries : [ " UI Design " , " CAD " , " Holzverarbeitung " , " Elektronik " , " Foto/Videobearbeitung " ] ) ,
SkillsSet (
systemSymbol : . personFillCheckmark ,
entries : [ " Problemlösung " , " Analytisches Denken " , " Entscheidungsfindung " , " Optimierung " ] )
] ) ,
about : . init ( title : " Über mich " , items : [
" Ich eigne mir gerne neues Wissen und Fähigkeiten an, mag die Arbeit an Zukunftstechnologien, und schätze effizente Lösungen für Probleme. " ,
" Ich arbeite oft an verschiedenen Kreativprojekten, unter anderem Möbelbau, Elektronik, Software, oder Näharbeiten. Außerdem bin ich sehr gerne sportlich in der Natur aktiv. "
] ) ,
footer : " Design by Christoph Hagen, 2023. " )