diff --git a/src/components/TalkCard.astro b/src/components/TalkCard.astro new file mode 100644 index 0000000..6f28dcb --- /dev/null +++ b/src/components/TalkCard.astro @@ -0,0 +1,170 @@ +--- +import TagPill from "./TagPill.astro"; + +type TalkLinks = { + video?: string; + slides?: string; + notes?: string; + repo?: string; +}; + +type Props = { + year: number; + venue: string; + title: string; + topics: readonly string[]; + links: TalkLinks; +}; + +const { year, venue, title, topics, links } = Astro.props; +--- + +
+ +
+
+ {year} + {venue} +
+

+ + {title} + +

+ +
+ { + links.video && ( + + + Video + + ) + } + { + links.slides && ( + + + Slides + + ) + } + { + links.notes && ( + + + Notes + + ) + } + { + links.repo && ( + + + Repo + + ) + } +
+
+
diff --git a/src/content/legal/imprint.md b/src/content/legal/imprint.md deleted file mode 100644 index 037cb7e..0000000 --- a/src/content/legal/imprint.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Imprint ---- - -#### Information pursuant to § 5 TMG - -April Rieger -(please add your full postal address here if legally required) - -E-Mail Address: [april.rieger@yahoo.com](mailto:april.rieger@yahoo.com) - ---- - -#### Liability for Contents - -As service providers, we are liable for own contents of these websites according to Sec. 7, paragraph 1 German Telemedia Act (TMG). However, according to Sec. 8 to 10 German Telemedia Act (TMG), service providers are not obligated to permanently monitor submitted or stored information or to search for evidences that indicate illegal activities. - -Legal obligations to removing information or to blocking the use of information remain unchallenged. In this case, liability is only possible at the time of knowledge about a specific violation of law. Illegal contents will be removed immediately at the time we get knowledge of them. - ---- - -#### Liability for Links - -Our offer includes links to external third party websites. We have no influence on the contents of those websites, therefore we cannot guarantee for those contents. Providers or administrators of linked websites are always responsible for their own contents. - -The linked websites had been checked for possible violations of law at the time of the establishment of the link. Illegal contents were not detected at the time of the linking. A permanent monitoring of the contents of linked websites cannot be imposed without reasonable indications that there has been a violation of law. Illegal links will be removed immediately at the time we get knowledge of them. - ---- - -#### Copyright - -Contents and compilations published on these websites by the providers are subject to German copyright laws. Reproduction, editing, distribution as well as the use of any kind outside the scope of the copyright law require a written permission of the author or originator. Downloads and copies of these websites are permitted for private use only. The commercial use of our contents without permission of the originator is prohibited. - -Copyright laws of third parties are respected as long as the contents on these websites do not originate from the provider. Contributions of third parties on this site are indicated as such. However, if you notice any violations of copyright law, please inform us. Such contents will be removed immediately. diff --git a/src/content/legal/privacy.md b/src/content/legal/privacy.md deleted file mode 100644 index 7681ff8..0000000 --- a/src/content/legal/privacy.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Privacy ---- - -Your privacy is important. This policy describes how information is handled when you use the site at `aprilrieger.github.io`. - -I only ask for personal information when it is needed to respond to a specific inquiry (for example, if you email me or connect on a professional network). I collect it by fair means, with your knowledge and consent, and I use it only for the purpose stated in the conversation. - -I do not sell personal data. I do not run invasive tracking on this static site. - -This website may link to external sites that are not operated by me. Please be aware that I have no control over the content and practices of those sites and cannot accept responsibility for their privacy policies. - -If you have questions about how I handle personal information, contact me via the email listed on the [Contact](/contact) page. - -This policy is effective as of May 2026 and may be updated as the site evolves. diff --git a/src/pages/talks.astro b/src/pages/talks.astro new file mode 100644 index 0000000..d27a02a --- /dev/null +++ b/src/pages/talks.astro @@ -0,0 +1,61 @@ +--- +import BaseLayout from "../layouts/BaseLayout.astro"; +import TalkCard from "../components/TalkCard.astro"; +import TopHeroCard from "../components/TopHeroCard.astro"; +import { siteConfig } from "../site.config"; + +const talks = siteConfig.talks; +const title = `Talks · ${siteConfig.name}`; +const count = talks.length; +--- + + +
+ +
+

+ Speaking +

+

+ Talks +

+
+

+ {siteConfig.talksLead} +

+

+ {count} {count === 1 ? "presentation" : "presentations"} +

+
+ +
+
+

Presentations

+
+
    + { + talks.map((talk) => ( +
  • + +
  • + )) + } +
+
+
+
diff --git a/src/site.config.ts b/src/site.config.ts index b415332..beed5f9 100644 --- a/src/site.config.ts +++ b/src/site.config.ts @@ -26,6 +26,7 @@ export const siteConfig = { calendlyUrl: "" as string | undefined, nav: [ { label: "Projects", href: "/projects" }, + { label: "Talks", href: "/talks" }, { label: "Blog", href: "/blog" }, { label: "Resume", href: "/resume" }, { label: "Contact", href: "/contact" }, @@ -53,6 +54,59 @@ export const siteConfig = { ], footerNote: "Open to senior software engineering roles focused on platform, cloud infrastructure, Kubernetes, and IaC—plus selective consulting—where ownership and measurable impact are explicit.", + talksLead: + "Conference presentations on platform engineering, Kubernetes, and developer experience.", + talks: [ + { + year: 2026, + venue: "Samvera Connect", + title: "From Whack-a-Mole to Edge Protection: Mitigating AI Scraping in Shared Repository Infrastructure", + topics: ["Cloudflare", "Kubernetes", "Terraform/OpenTofu", "DevEx", "Reliability", "Platform Engineering"], + links: { + video: "https://www.youtube.com/watch?v=H89E_KHrK9Q", + slides: "https://github.com/notch8/cloudflare-iac-example/releases/download/fedora-showcase-april-2026/n8-from-whack-a-mole-to-edge-protection.pdf", + }, + }, + { + year: 2023, + venue: "Samvera Developer Training", + title: "Helm Mastery: Transform Your Hyku Deployments with Confidence", + topics: ["Helm", "Kubernetes", "Platform Engineering", "Developer Education", "Deployment Automation"], + links: { + video: "https://drive.google.com/file/d/1P0yL-e2chqWQW8srMlA-jfIYFNz6cHLT/view", + slides: "https://drive.google.com/file/d/1o0FnPvy3fHfG7EzYOE_Jlrv1vtpAIjqW/view", + notes: "https://drive.google.com/file/d/1QxNnRqxv6Rq0a06fntdB4VMKPf4Y_wv3/view", + repo: "https://github.com/notch8/softserv-training-workshops-2023", + }, + }, + { + year: 2022, + venue: "Samvera Connect", + title: "A Tour of the New Hyrax Analytics Features", + topics: ["Analytics", "Product Education", "Hyrax", "Developer Enablement"], + links: { + video: "https://www.youtube.com/watch?v=nJAt3SWb144", + }, + }, + { + year: 2021, + venue: "Samvera Connect", + title: "Expanding Hyku's Versatility with Custom Themes", + topics: ["Frontend Customization", "UX", "Platform Flexibility", "Product Education"], + links: { + video: "https://www.youtube.com/live/F3G1IIZwGNc?si=P4VUQE6w_KXfWI0I&t=8504", + }, + }, + { + year: 2020, + venue: "Samvera Connect", + title: "A Samvera Internship: New to Coding, New to the Community", + topics: ["Onboarding", "Mentorship", "Open Source", "Community", "Developer Education"], + links: { + video: "https://www.youtube.com/watch?v=w42d5LguF4s", + }, + }, + ], } as const; export type SiteConfig = typeof siteConfig;