- {project.title} - - {/* Duration */} -
-
- {project.description} -
- - {/* Tech stack */} --
- {project.deliverables.map((item) => (
-
- {item} - ))} -
diff --git a/public/files/alexdaichendt.jpg b/public/files/alexdaichendt.jpg
deleted file mode 100644
index 8afc9ec..0000000
Binary files a/public/files/alexdaichendt.jpg and /dev/null differ
diff --git a/src/assets/me.jpg b/src/assets/me.jpg
deleted file mode 100644
index 8afc9ec..0000000
Binary files a/src/assets/me.jpg and /dev/null differ
diff --git a/src/assets/projects/discretizeui/demo.png b/src/assets/projects/discretizeui/demo.png
deleted file mode 100644
index e002d83..0000000
Binary files a/src/assets/projects/discretizeui/demo.png and /dev/null differ
diff --git a/src/assets/projects/discretizeui/languages.png b/src/assets/projects/discretizeui/languages.png
deleted file mode 100644
index 61c5dc0..0000000
Binary files a/src/assets/projects/discretizeui/languages.png and /dev/null differ
diff --git a/src/assets/projects/discretizeui/tooltip.png b/src/assets/projects/discretizeui/tooltip.png
deleted file mode 100644
index 620437e..0000000
Binary files a/src/assets/projects/discretizeui/tooltip.png and /dev/null differ
diff --git a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_52_AM.png b/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_52_AM.png
deleted file mode 100644
index 6ddfaef..0000000
Binary files a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_52_AM.png and /dev/null differ
diff --git a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_53_AM.png b/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_53_AM.png
deleted file mode 100644
index 7772428..0000000
Binary files a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_53_AM.png and /dev/null differ
diff --git a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_54_AM.png b/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_54_AM.png
deleted file mode 100644
index 67e405f..0000000
Binary files a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_54_AM.png and /dev/null differ
diff --git a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_55_AM.png b/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_55_AM.png
deleted file mode 100644
index ae93465..0000000
Binary files a/src/assets/projects/optimizer/Discretize-Gear-Optimizer-08-05-2025_11_55_AM.png and /dev/null differ
diff --git a/src/assets/projects/videovault/dashboard.png b/src/assets/projects/videovault/dashboard.png
deleted file mode 100644
index a6da330..0000000
Binary files a/src/assets/projects/videovault/dashboard.png and /dev/null differ
diff --git a/src/assets/projects/videovault/edit.png b/src/assets/projects/videovault/edit.png
deleted file mode 100644
index 5ed0e8b..0000000
Binary files a/src/assets/projects/videovault/edit.png and /dev/null differ
diff --git a/src/assets/projects/videovault/frontpage.png b/src/assets/projects/videovault/frontpage.png
deleted file mode 100644
index 3ba456c..0000000
Binary files a/src/assets/projects/videovault/frontpage.png and /dev/null differ
diff --git a/src/assets/projects/videovault/player.png b/src/assets/projects/videovault/player.png
deleted file mode 100644
index 4532b25..0000000
Binary files a/src/assets/projects/videovault/player.png and /dev/null differ
diff --git a/src/components/BaseHead.astro b/src/components/BaseHead.astro
index 57bb16b..9ad5d9b 100644
--- a/src/components/BaseHead.astro
+++ b/src/components/BaseHead.astro
@@ -1,4 +1,6 @@
---
+// Import the global.css file here so that it is included on
+// all pages through the use of the
- Carousel focused. Use Left and Right Arrow keys to change slides. Press T to
- toggle wide mode. Press Escape to exit wide mode.
-
- ))
- }
-
- Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf - diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 - bis 10 TMG sind wir als Diensteanbieter jedoch nicht unter der - Verpflichtung, übermittelte oder gespeicherte fremde Informationen zu - überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige - Tätigkeit hinweisen. -
-- Unser Angebot enthält Links zu externen Websites Dritter, auf deren - Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden - Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten - Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten - verantwortlich. -
-- Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen - Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, - Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der - Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des - jeweiligen Autors bzw. Erstellers. -
-- Letzte Aktualisierung: - {new Date().toLocaleDateString("de-DE")} - -
-- {subtitle} -
- ) - } - -
-
- {project.description} -
- - {/* Tech stack */} -- Im Folgenden möchten wir Sie aufklären, wie Ihre Daten von uns verarbeitet - werden. -
- -
- Verantwortlich im Sinne der DSGVO ist:
- Alexander Daichendt
- Wiesenweg 10a, 85464 Neufinsing
- datenschutz@daichendt.one
-
- Sollten Sie per E-Mail oder über Kontaktformular mit uns Kontakt aufnehmen, - werden die mitgeteilten Daten von uns gespeichert, um Ihr Anliegen zu - bearbeiten. -
- -Zu den verarbeiteten Daten zählen:
-- Wir werden die Daten löschen, sobald die Speicherung nicht mehr erforderlich - ist oder die Verarbeitung einschränken, falls gesetzliche - Aufbewahrungspflichten bestehen. -
- -- Sie haben als betroffene Person, das Recht auf Auskunft, das Recht auf - Berichtigung oder Löschung, das Recht auf Einschränkung der Verarbeitung und - das Recht auf Widerspruch gegen die Verarbeitung Ihrer Daten. Sofern Sie uns - eine Einwilligung erteilt haben, können Sie diese jederzeit mit Wirkung für - die Zukunft widerrufen. -
- -Bitte richten Sie Ihren Widerspruch formlos an die obige Adresse.
- -- Darüber hinaus haben Sie das Recht auf Datenübertragbarkeit. Sie haben - weiter das Recht, sich bei einer Aufsichtsbehörde über die Verarbeitung zu - beschweren. Eine Liste der entsprechenden Behörden finden Sie unter: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html. -
- -- Sollte die Datenverarbeitung nicht auf Einwilligung des Betroffenen - beruhen (siehe Kontaktformular), muss das Widerrufsrecht nicht angegeben - werden (Art. 13 Abs. 2 lit. c DSGVO). -
-- Wir nutzen das Content Delivery Network (CDN) von Cloudflare Germany GmbH, - Rosental 7, c/o Mindspace, 80331 München Deutschland (Cloudflare), um die - Sicherheit und die Auslieferungsgeschwindigkeit unserer Website zu erhöhen. - Dies entspricht unserem berechtigten Interesse (Art. 6 Abs. 1 lit. f DSGVO). - Ein CDN ist ein Netzwerk aus weltweit verteilten Servern, das in der Lage - ist, optimiert Inhalte an den Websitenutzer auszuliefern. Für diesen Zweck - können personenbezogene Daten in Server-Logfiles von Cloudflare verarbeitet - werden. Bitte vergleichen Sie die Ausführungen unter „Hosting". -
- -- Cloudflare ist Empfänger Ihrer personenbezogenen Daten und als - Auftragsverarbeiter für uns tätig. Die entspricht unserem berechtigten - Interesse im Sinne des Art. 6 Abs. 1 S. 1 lit. f DSGVO, selbst kein Content - Delivery Network zu betreiben. -
- -- Sie haben das Recht der Verarbeitung zu widersprechen. Ob der Widerspruch - erfolgreich ist, ist im Rahmen einer Interessenabwägung zu ermitteln. -
- -- Die Verarbeitung der unter diesem Abschnitt angegebenen Daten ist weder - gesetzlich noch vertraglich vorgeschrieben. Die Funktionsfähigkeit der - Website ist ohne die Verarbeitung nicht gewährleistet. -
- -- Ihre personenbezogenen Daten werden von Cloudflare so lange gespeichert, wie - es für die beschriebenen Zwecke erforderlich ist. -
- -- Weitere Informationen zu Widerspruchs- und Beseitigungsmöglichkeiten - gegenüber Cloudflare finden Sie unter: Cloudflare DPA -
- -- Cloudflare hat Compliance-Maßnahmen für internationale Datenübermittlungen - umgesetzt. Diese gelten für alle weltweiten Aktivitäten, bei denen - Cloudflare personenbezogene Daten von natürlichen Personen in der EU - verarbeitet. Diese Maßnahmen basieren auf den EU-Standardvertragsklauseln - (SCCs). Weitere Informationen finden Sie unter: https://www.cloudflare.com/cloudflare_customer_SCCs-German.pdf -
- -- Sofern Sie sich als Besucher weder registrieren noch einloggen, erheben wir - in sog. Logfiles folgende Daten, die Ihr Browser übermittelt: -
- -- IP-Adresse, Datum und Uhrzeit der Anfrage, Zeitzonendifferenz zur Greenwich - Mean Time, Inhalt der Anforderung, HTTP-Statuscode, übertragene Datenmenge, - Website, von der die Anforderung kommt und Informationen zu Browser und - Betriebssystem. -
- -- Das ist erforderlich, um unsere Website anzuzeigen und die Stabilität und - Sicherheit zu gewährleisten. Dies entspricht unserem berechtigten Interesse - im Sinne des Art. 6 Abs. 1 S. 1 lit. f DSGVO. -
- -- Wir setzen für die Zurverfügungstellung unserer Website folgenden Hoster - ein: Cloudflare -
- -- Dieser ist Empfänger Ihrer personenbezogenen Daten und als - Auftragsverarbeiter für uns tätig. Dies entspricht unserem berechtigten - Interesse im Sinne des Art. 6 Abs. 1 S. 1 lit. f DSGVO, selbst keinen Server - in unseren Räumlichkeiten vorhalten zu müssen. -
- -- Sie haben das Recht der Verarbeitung zu widersprechen. Ob der Widerspruch - erfolgreich ist, ist im Rahmen einer Interessenabwägung zu ermitteln. -
- -- Die Verarbeitung der unter diesem Abschnitt angegebenen Daten ist weder - gesetzlich noch vertraglich vorgeschrieben. Die Funktionsfähigkeit der - Website ist ohne die Verarbeitung nicht gewährleistet. -
- -- Neben den Server-Logfiles können auch von der verwendeten Applikation und - deren Plugins personenbezogene Daten verarbeitet werden. Darunter fallen - u.a. die Protokollierung fehlerhafter Anmeldeversuche, oder Zugriffe auf - nicht existierende Seiten (404). Dies sollte überprüft und entsprechend - ergänzt werden. -
- -- Im Falle eine Speicherung, sollte ebenfalls angegeben werden, wie lange - diese erfolgt und ob und ab wann eine Anonymisierung der erhobenen Daten - stattfindet. -
-- Grundsätzlich ist ein Auftragsverarbeitungsvertrag mit dem Hoster - abzuschließen. Das bayerische Landesamt für Datenschutzaufsicht hat für - das Hosting rein statischer Websites eine Ausnahme gemacht. Für den Fall, - dass die Webseite der Selbstdarstellung dient, z.B. von Vereinen oder - Kleinunternehmen, keine personenbezogenen Daten an den Betreiber fließen - und kein Tracking stattfindet, liegt keine Auftragsverarbeitung vor. - Weiter heißt es: „Die Tatsache, dass auch beim Hosting von statischen - Webseiten zwangsläufig IP-Adressen, d.h. personenbezogene Daten, - verarbeitet werden müssen, führt nicht zur Annahme einer - Auftragsverarbeitung. Das wäre nicht sachgerecht. Die (kurzfristige) - IP-Adressenspeicherung ist vielmehr noch der TK-Zugangsvermittlung des - Website-Hosters nach dem TKG zuzurechnen und dient in erster Linie - Sicherheitszwecken des Hosters." (https://www.lda.bayern.de/media/veroeffentlichungen/FAQ_Hosting_keine_Auftragsverarbeitung.pdf) Es sollte deshalb überprüft werden, ob der Hoster Tracking und - Auswertungstools zur Verfügung stellt und ob und wie lange Logfiles - aufbewahrt werden. -
-- Der häufig verwendete Hinweis, dass seitens des Nutzers keine - Widerspruchsmöglichkeit bestehe, entspricht nicht der gesetzlichen - Vorgabe. Wird die Verarbeitung auf das berechtigte Interesse des - Verantwortlichen gestützt (Art. 6 Abs. 1 lit.f DSGVO), so ist das Recht - auf Widerspruch nicht per se ausgeschlossen. Ob dieser jedoch Erfolg hat, - ist im Rahmen einer Interessenabwägung zu ermitteln. Auch wenn in der - Praxis das berechtigte Interesse des Websitebetreibers wohl überwiegen - wird, folgt daraus kein Ausschluss des Widerspruchrechts. Eine solche - Formulierung sollte korrigiert werden, da sie dazu führen kann, dass der - Betroffene an der Ausübung seines Widerspruchrechts gehindert wird. -
- -- Gemäß Art. 13. Abs. 1 lit. e DSGVO, besteht die Pflicht „die Empfänger - oder Kategorien von Empfängern der personenbezogenen Daten" anzugeben. - Häufig wird vertreten, dass vorrangig Empfänger namentlich und mit - Anschrift zu benennen sind und nur hilfsweise auf Kategorien - zurückgegriffen werden darf. Eine andere Auffassung vertritt ein Wahlrecht - zwischen der namentlichen Nennung und der Angabe von Kategorien. (Vgl. - Daum: Pflichtangaben auf Webseiten MMR 2020 643 (646) m.w.N.) Demnach wäre - es ausreichend als Kategorie „Hoster" anzugeben. Für diese Auffassung - spricht jedoch, wenn überhaupt, nur die Übersichtlichkeit. Dem Sinn und - Zweck der Vorschrift entspricht es aber vielmehr den Namen und die - Anschrift anzugeben, zumal dieser im Rahmen des Hostings bereits feststeht - (Vgl. Lorenz: Datenschutzrechtliche Informationspflichten (VuR 2019, 213 - (216)). -
- -- Für die Feststellung der Speicherdauer sollten die Server- und - Applikationseinstellungen überprüft werden, auch um Widersprüche zwischen - den angebenden Zwecken zu vermeiden. So kann es beispielsweise zu - Unstimmigkeiten kommen, wenn angegeben wird, dass nach jeder Sitzung die - Daten gelöscht werden, diese aber gleichzeitig der Stabilität und - Sicherheit dienen sollen. Eine allgemeine Mitteilung, die Daten würden so - lange gespeichert werden, wie es für die angegebenen Zwecke erforderlich - ist, ist nicht ausreichend (Vgl. Simitis/Hornung/Spiecker gen. Döhmann, - Datenschutzrecht, Art. 13 Rn 15). Ausreichend ist aber gem. Art. 13 Abs. 2 - lit a. DSGVO die Angabe von Kriterien für die Festlegung der - Speicherdauer. -
-+ I am a software engineer, Linux enthusiast and a friend of lightweight, + resilient systems. +
++ My journey in the tech world has been a dynamic one. I've immersed myself in + countless projects spanning various video games and, for the past few years, + have been maintaining a small homelab, which ignited a passion for + automating infrastructure. I am a privacy enthusiast and advocate for + non-invasive software. Occasionally, I channel my creativity into building + sleek web applications that prioritize efficiency and usability over visual + clutter, and adhere to web standards and best practices. +
++ Currently, I am available for hire as a freelance Software Engineer, + advising clients in optimizing and creating Web Applications. With a strong + background in various programming languages and frameworks, I specialize in + developing scalable and efficient web solutions tailored to meet the unique + needs of each client. +
++ Contact me here! +
-- I am a privacy-first software engineer passionate about building web - applications that are efficient, user-friendly, and respectful of your - data. -
-- I help clients design and develop sleek, standards-compliant web - solutions, always prioritizing usability over visual clutter. With - hands-on experience in Rust, Node.js and many more, I believe in using - the best tools and technologies for each project, ensuring scalable and - long-term maintainable results. -
-- Ready to collaborate? Get in touch here! -
++ Here are some of the projects I have worked on in the past. They are sorted + by my personal rating of relevancy. Projects done for a company are marked + with the company name and have a special border color. +
+ { + projects + .sort((a, b) => b.complexity - a.complexity) + .map((project) => ( ++ {project.description} +
+ ++ {pub.authors.join(", ")} +
++ "{pub.title}" +
++ {pub.conference || + pub.journal + + ", Volume " + + pub.volume + + ", " + + pub.date + + ", " + + pub.pages} +
+ {pub.location && ( ++ {pub.location}, {pub.date} +
+ )} + {pub.links && ( +{pub.authors.join(", ")}
-- "{pub.title}" -
-- {pub.conference || - pub.journal + - ", Volume " + - pub.volume + - ", " + - pub.date + - ", " + - pub.pages} -
- {pub.location && ( -- {pub.location}, {pub.date} -
- )} - {pub.links && ( -