cv-website

Personal website and CV
git clone https://git.in0rdr.ch/cv-website.git
Log | Files | Refs | Pull requests | README | LICENSE

commit f185dfd7e14db49c3d853db33fe29263fe2a0082
parent 8653af03ed43a53f1da8c012ff29948c3018ffdb
Author: Andreas Gruhler <andreas.gruhler@adfinis.com>
Date:   Tue, 20 Aug 2024 17:32:18 +0200

feat: add txt/pdf versions

Diffstat:
M_config.yml | 3++-
M_includes/nav.html | 10+++++++++-
Aassets/pdf/cv-gruhler.pdf | 0
Massets/scss/_layout.scss | 7++++++-
Aassets/txt/.cv-gruhler.txt.swp | 0
Aassets/txt/cv-gruhler.txt | 261+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mindex.html | 6+++---
7 files changed, 281 insertions(+), 6 deletions(-)

diff --git a/_config.yml b/_config.yml @@ -1,6 +1,7 @@ # Site settings title_left : "CV" -title_right : "" # default: "" +title_txt : "txt" +title_pdf : "pdf" description : "Andreas Gruhler" keywords : "in0rdr, Andreas, Gruhler, CV" url : https://cv.in0rdr.ch # site url diff --git a/_includes/nav.html b/_includes/nav.html @@ -1,6 +1,14 @@ <nav class="nav"> <div class="container"> - <h1 class="logo"><a href="{{ '/' | relative_url }}">{{ site.title_left }}<span>{{ site.title_right }}</span></a></h1> + <h1 class="logo"> + <a href="{{ '/' | relative_url }}">{{ site.title_left }}</a> | + <span class="txt"> + <a href="{{ '/assets/txt/cv-gruhler.txt' | relative_url }}">{{ site.title_txt }}</a> + </span> + <span class="pdf"> + <a href="{{ '/assets/pdf/cv-gruhler.pdf' | relative_url }}">{{ site.title_pdf }}</a> + </span> + </h1> <ul class="navbar"> <li><a href="{{ '/about/' | relative_url }}">{% octicon person %}<span> about</span></a></li> <li><a href="https://write.in0rdr.ch">{% octicon log %}<span> blog</span></a></li> diff --git a/assets/pdf/cv-gruhler.pdf b/assets/pdf/cv-gruhler.pdf Binary files differ. diff --git a/assets/scss/_layout.scss b/assets/scss/_layout.scss @@ -62,6 +62,10 @@ hr { float: right; } +pre.tag-cloud { + font-size: rem(12); +} + .link { color: $blue-color; padding-bottom: .05em; @@ -107,8 +111,9 @@ hr { line-height: 28px; font-weight: 300; - span { + span a { font-weight: 700; + color: $blue-color; } } diff --git a/assets/txt/.cv-gruhler.txt.swp b/assets/txt/.cv-gruhler.txt.swp Binary files differ. diff --git a/assets/txt/cv-gruhler.txt b/assets/txt/cv-gruhler.txt @@ -0,0 +1,261 @@ +(last updated 2024-08-20) + +Name: Andreas Gruhler +Location: Zurich (Switzerland) +Email: andreas.gruhler@adfinis.com +GPG KeyID: 0x26D2EDA0CF306829 +URL: cv.in0rdr.ch + +Professional Experience +======================= + +Dec 2018 – now +Senior System Engineer +Adfinis AG, Zurich + +- Project manager and tech lead of small teams (3 to 4 people) for multiple + projects at the customer site +- Technology owner for HashiCorp Vault: Product documentation, best practices, + security issues, roadmap & service development, coordination & communication + with vendor and Adfinis teams +- Operations, incident management, on-call and technical support +- Pre-sales (offers & estimations) and solution architecture support +- Automation and secrets management projects (e.g., GitLab, Vault): + Requirements engineering, architecture & design, self-service, client + integrations in various environments (hybrid cloud, on-prem, AWS, Azure, + Google, etc.), platforms (VM, Kubernetes, OpenShift) and industries with DevOps + methodology (e.g., GitOps and CI/CD) +- Build and introduce MaxScale and MariaDB database architecture on RHEL at + Swiss telco +- Architecture & design, development and operations of a computing platform for + a Swiss school (Nextcloud, Collabora Online, ProxySQL, MariaDB, Galera) +- Maintenance and support for customer SLA systems and services +- Contributions (code, support) to various upstream open source projects +- Public talks at various meetups & conferences, customer presentations, demos, + blog posts + +Apr 2018 – Aug 2018 +IT Project Management Internship +Mobilize Financial Services (formerly, "RCI-Finance"), Zurich + +- IT project management support +- Preparation and documentation of project meetings and workshops +- Create status reports, test plans and templates +- Support integration testing and roll-out of new business tool + +May 2017 – Jan 2018 +Software Developer +qiio (formerly, Smart Home Technology GmbH), Zurich + +- Software development with focus on IoT on Microsoft Azure +- JavaScript (Sails.js) and C# programming with Azure and .NET framework +- Development of an Azure microservice for cost analysis +- Visualizations with Power BI + +Mar 2016 – Jun 2016 +Internship in Financial Services / Advisory IT Risk and Assurance +EY, Zurich + +- Contribute to project of Fraud Investigation & Dispute Services (FIDS) +- Evaluation and review of emails and documents according to legal criteria +- Adminstrative tasks and support of counselor and team + +Jun 2013 – Jun 2015 +IT-Support +Accelerom AG, Zurich + +- Maintenance of server infrastructure (data server, VPN, Samba shares, web + server, backup server, data synchronization, marketing software, networks, + firewall, windows user accounts and workstations, email, intranet) +- Ensure smooth operations of live analysis and management tool (incidient + management) +- Hardware support and installation +- Software engineering for MarketConnex-Software with Java (Groovy/Grails) and + JavaScript + +Jun 2014 – Sep 2014 +Software Engineering Internship +Fachhochschule Nordwestschweiz (FHNW), Brugg + +- Software Engineering Internship at Fachhochschule Nordwestschweiz (FHNW) at + the Institute for Data Science (formerly, "4D-Technologies") +- SCRUM-based software development with Java (Groovy/Grails) and JavaScript for + KTI project "CAFAIO: Crossmedial Analytics Framework with Artificial + Intelligence and Optimization" +- Extend the existing MarketConnex-Software with a collaboration platform to + discuss customer touchpoints + +Education +========= + +Dec 2022 – Mar 2023 +Aspirant Swiss Snowsports Association (SSSA) + +2015 – 2018 +Master in Information Systems +University of Zurich (UZH) + +- Master thesis: A Reputation and Reward Scheme for a Cooperative, Multi-domain + DDoS Defense +- Explore design, implementation and evaluation of a blockchain-based + reputation and reward scheme to incentivize participants and penalize + malicious peers in a cooperative defense +- Master project: Blockchain in Automotive Industry +- Elicit requirements for a novel digital car dossier, resulting in a prototype + with Hyperledger Fabric + +Aug 2016 – Dec 2016 +Exchange Semester +Nanyang Technological University (NTU), Singapore + +- Algorithms & Theory of Computing +- Informational Biology + +2012 – 2015 +Bachelor in Information Systems +University of Zurich (UZH) + +- Bachelor thesis: Investigation of Resource Reallocation Capabilities of KVM + and OpenStack +- Review concepts and evaluate tools to reallocate memory, CPU cycles, disk I/O + and network bandwidth on the hypervisor layer +- Document existing resource reallocation capabilities of the Kernel-based + Virtual Machine (KVM) hypervisor module +- Explore mechanisms to facilitate similar tasks on the orchestration layer + with an experimental OpenStack Compute (nova) extension + +2011 – 2012 +Military Service +Swiss Army + +- Serve the "FU Ber Kp 104-2" + +2007 - 2011 +High school +Seelandgymnasium Biel + +- Study focus "Physics and Mathematics" + +Research Experience +=================== + +Sep 2018 – Nov 2018 +Research Assistant Communication Systems Group (CSG) +University of Zurich (UZH) + +- Research in the area of blockchain, distributed ledgers and reputation + systems + +Teaching Experience +=================== + +Dec 2022 – Mar 2023 +Aspirant Swiss Snowsports Association (SSSA) +Swiss Ski School Savognin + +- Organize and realize skiing lessons for beginners and advanced skiers +- Teaching and guidance for private and group classes of 4 to 6 adults or up to + 12 kids on the mountain +- Hold lessons in German, English and French +- Support with demonstrations, shows and other touristic activities + +Sep 2018 – Nov 2018 +Teaching Assistant Communication Systems Group (CSG) +University of Zurich (UZH) + +- Teaching assistant for the Communications Systems Lab under guidance of Bruno + Bastos Rodrigues and Prof. Dr. Burkhard Stiller at the CSG +- Develop and conduct Communication systems (ComSys) lab sessions with students + +Publications +============ + +Gruhler, Andreas, Bruno Rodrigues, and Burkhard Stiller. +"A Reputation Scheme for a Blockchain-based Network Cooperative Defense." +2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2019. + +Co-Authored Blog Posts +====================== + +Nov 2023 +Secret zero with ACME + +- https://adfinis.com/en/blog/secret-zero-with-acme + +Jun 2023 +HashiDays Munich 2023 + +- https://adfinis.com/en/blog/hashidays-munich-2023 + +Dec 2022 +HashiCorp Vault on Exoscale Scalable Kubernetes Service (SKS) + +- https://adfinis.com/blog/hashicorp-vault-on-exoscale-scalable-kubernetes-service-sks + +Jul 2021 +How to Manage Secret Keys with HashiCorp Vault + +- https://adfinis.com/en/blog/how-to-manage-secret-keys-with-hashicorp-vault + +Mar 2021 +Database Clustering with Galera Cluster and Galera Manager + +- https://adfinis.com/en/blog/database-clustering-with-galera-cluster-and-galera-manager + +Jul 2019 +HashiConf Europe 2019 + +- https://adfinis.com/en/blog/hashiconf-europe-2019 + +Public Speaking +=============== + +Jun 2024 +PGDay 2024 lightning talk: PostgreSQL in the snow + +- Schedule: https://www.pgday.ch/2024/#schedule +- Slides (p. 38): https://www.pgday.ch/common/slides/2024_Lightning_Talks_Swiss_PGDay_2024.pdf +- Code: https://code.in0rdr.ch/myheats +- Demo: https://myheats-demo.p0c.ch +- It was demonstrated how the scoring process for freestyle events (e.g., + slopestlye ski/snowboard) can be improved with a live-updating leaderboard . + The leaderboard makes use PostgreSQL publications to continuously refresh the + current ranking. The Supabase platform enables rapid prototyping. + +Dec 2022 +Zürich HashiCorp User Group (HUG): +Build, run and manage with Zero Trust on a Swiss Cloud + +- Meetup: https://www.meetup.com/zurich-hashicorp-user-group/events/289349205 +- Presentation: https://cv.in0rdr.ch/assets/pdf/HashiCorp_Vault_Enterprise_on_Exoscale.pdf +- Demo code: https://github.com/adfinis/sks-vault-demo +- Vault Deployment on Exoscale Scalable Kubernetes Service (SKS) +- Deploy Vault on Exoscale SKS with ArgoCD. In this short rundown we will + provision a Kubernetes cluster on Exoscale (SKS), install ArgoCD and use that + to spin up HashiCorp Vault Enterprise. At the end of this session, you will + also be able to leverage the best practices around the "App of Apps" approach + for your projects, which we already use at Adfinis to manage the lifecycle of + mulitple apps across clusters and customers. + +Jun 2019 +Ansible Meetup Bern + +- Meetup: https://www.meetup.com/ansible-bern/events/262121854 +- Ansible Meetup Bern: Traceable, fast and open - Ansible learnings from the + capital city +- A stack of open source components is being built for the public + administration. The Red Hat stack could demonstrate its strengths in many + ways. A main advantage is Ansible for day 1 and day 2 operations. Some + processes could be optimized to save precious time and tax money. + +Certifications & Badges +======================= + +- Credly Badges: https://www.credly.com/users/andreas-gruhler/badges + - Cilium Cluster Mesh + - Cilium IPv6 Networking and Observability + - HashiCorp Certified: Vault Operations Professional + - CKA: Certified Kubernetes Administrator + - HashiCorp Certified: Terraform Associate (003) + - AWS Certified Solutions Architect – Associate +- Holopin Badges: https://www.holopin.io/@in0rdr#badges diff --git a/index.html b/index.html @@ -77,7 +77,7 @@ title: Home {% octicon link-external %} List of contributions (UZH) </a> </div> - <div class="container"> + <div class="container" id="blogposts"> <h2>Co-Authored Blog Posts</h2> {% for post in site.posts %} {% if post.categories contains "blog" %} @@ -97,7 +97,7 @@ title: Home {% endif %} {% endfor %} </div> - <div class="container"> + <div class="container" id="speaking"> <h2>Public Speaking</h2> {% for post in site.posts %} {% if post.categories contains "speaking" %} @@ -108,7 +108,7 @@ title: Home {% endif %} {% endfor %} </div> - <div class="container"> + <div class="container" id="certs"> <h2>Certifications & Badges</h2> <ul> <li><a href="https://www.credly.com/users/andreas-gruhler/badges">Credly Badges</a></li>