From 6c338ada35d2fb52236077e733b2242b216f5ec9 Mon Sep 17 00:00:00 2001 From: Neil Hanlon Date: Sat, 11 Jul 2026 14:09:51 -0400 Subject: [PATCH] Projects: refresh affiliations, group current vs. historical - Group into "// currently" and "// previously"; Rocky Linux + RESF move to a muted, dashed "previously" section (stepped away March 2026) - Tighten all blurbs to a plainer, less corporate voice - Add shrug.host, shrug.games, swamp.club (OG Swamper), RDO/CentOS Cloud SIG (PTL), and Amateur Radio / emcomm (RACES-ARES, CERT); keep OpenELA current - Add a restrained "open slot" consulting CTA card - New project-card partial + card--past / card--cta styles Co-Authored-By: Claude Opus 4.8 (1M context) --- assets/css/components.css | 13 +++- data/projects.yml | 98 ++++++++++++++++++++++-------- layouts/_default/projects.html | 33 +++++++--- layouts/partials/project-card.html | 12 ++++ 4 files changed, 120 insertions(+), 36 deletions(-) create mode 100644 layouts/partials/project-card.html diff --git a/assets/css/components.css b/assets/css/components.css index 050952b..d843389 100644 --- a/assets/css/components.css +++ b/assets/css/components.css @@ -87,10 +87,19 @@ padding:var(--s6);background:var(--bg-elevated);transition:border-color var(--tr),transform var(--tr); } .card:hover{border-color:var(--border-strong);transform:translateY(-2px);} -.card__title{font-size:var(--text-lg);margin-bottom:var(--s3);display:flex;align-items:center;gap:var(--s3);} -.card__title .icon{color:var(--sprout);width:1.1em;text-align:center;} +.card__title{font-size:var(--text-lg);margin-bottom:var(--s2);display:flex;align-items:center;gap:var(--s3);} +.card__role{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--sprout);margin-bottom:var(--s4);} +.card__when{color:var(--text-faint);} .card__body{color:var(--text-muted);font-size:var(--text-base);} +.card__link{margin-top:var(--s3);} .card__body a{text-decoration:underline;text-underline-offset:2px;} +.card--past{background:transparent;border-style:dashed;} +.card--past .dot{background:var(--text-faint);box-shadow:none;} +.card--past .card__role{color:var(--text-faint);} +.card--cta{background:transparent;border-style:dashed;border-color:var(--border-strong);display:flex;flex-direction:column;justify-content:center;} +.card--cta:hover{border-color:var(--russet);transform:none;} +.card--cta .card__title{color:var(--russet);} +.card--cta .card__link{color:var(--russet);font-family:var(--font-mono);font-size:var(--text-sm);} /* --- Breadcrumb --- */ .breadcrumb{ diff --git a/data/projects.yml b/data/projects.yml index 3de4323..995ad44 100644 --- a/data/projects.yml +++ b/data/projects.yml @@ -1,30 +1,76 @@ name: Projects source: - - icon: fa-solid fa-building - name: Rocky Enterprise Software Foundation - description: Board member for the non-profit foundation behind Rocky Linux. Focus on strategic governance, financial oversight, and advancing the mission of community-driven enterprise Linux distribution development. - url: https://rockylinux.org/about - - icon: fa-brands fa-github - name: Rocky Linux - description: Infrastructure architect and core team member for Rocky Linux. Built and maintain all infrastructure from bare metal to cloud services, including CI/CD pipelines, build systems, and supply chain security. Work closely with Release Engineering on next-generation build automation and ensuring security throughout the software supply chain. - url: https://github.com/rocky-linux/ - - icon: fa-solid fa-code-branch - name: OpenELA - description: Technical Steering Committee member for OpenELA, the Open Enterprise Linux Association. Help guide technical strategy and governance for collaborative development of enterprise Linux distributions, focusing on open source supply chain transparency and community collaboration. - url: https://openela.org/ - - icon: fa-solid fa-heart - name: ResolveX - description: Board member and technical advisor for ResolveX, building software and data solutions for crisis call centers including 988 suicide prevention lines and mental health resources. Provide strategic guidance on scaling infrastructure and technology decisions for mission-critical systems. - url: https://resolvex.com/ - - icon: fa-solid fa-handshake - name: Shrug PW Consulting - description: Founder and Principal Consultant providing infrastructure architecture, DevOps automation, and technical advisory services. Specialize in scaling systems for mission-driven organizations, supply chain security, and building reliable infrastructure on constrained budgets. + # --- Currently --- + - name: Shrug PW Consulting + role: Founder & Principal Consultant + status: current + description: Infrastructure architecture, automation, and technical advisory for mission-driven orgs — reliable systems on real budgets. url: https://shrugpw.com/ - - icon: fa-brands fa-fedora - name: Fedora Project - description: Active contributor to Fedora RISC-V SIG and Community Operations (CommOps). Work on infrastructure, packaging ecosystem, build systems, and community tooling. Focus on RISC-V architecture support and community infrastructure reliability. + + - name: shrug.host + role: Founder + status: current + description: Human-scale hosting for small organizations and open source projects. Reliable infrastructure without the enterprise complexity. + url: https://shrug.host/ + + - name: shrug.games + role: Founder + status: current + description: Game server hosting that just works. Built with Taylor and Lexi. + url: https://shrug.games/ + + - name: swamp.club + role: OG Swamper + status: current + description: Early member of the swamp.club community (formerly System Initiative) — model-based infrastructure automation, from back when it was still finding its shape. + url: https://swamp.club/ + + - name: RDO / CentOS Cloud SIG + role: PTL + status: current + description: Leading RDO's transition into the CentOS Cloud SIG — steering where RDO's OpenStack packaging lives and how it ships. + url: https://www.rdoproject.org/ + + - name: OpenStack-Ansible + role: Core reviewer + status: current + description: Reviewing patches and keeping the deployment automation honest for running OpenStack on enterprise Linux. + url: https://opendev.org/openstack/openstack-ansible + + - name: Fedora Project + role: Contributor · RISC-V SIG, CommOps + status: current + description: Packaging, build systems, and community tooling — with a standing effort to get more of Fedora booting on RISC-V. url: https://fedoraproject.org/ - - icon: fa-solid fa-cloud - name: OpenStack - description: Core reviewer for OpenStack-Ansible and contributor to OpenStack-Kolla projects. Support OpenStack integration with Rocky Linux and work in CentOS NFV and Cloud SIGs. Focus on deployment automation, bare metal provisioning, and enterprise Linux integration. - url: https://openstack.org/ + + - name: OpenELA + role: Technical Steering Committee + status: current + description: Governance for a vendor-neutral source of enterprise Linux — supply-chain transparency, less drama. + url: https://openela.org/ + + - name: ResolveX + role: Board member & technical advisor + status: current + description: Infrastructure and scaling advice for a team building software for crisis call centers — 988 and mental-health lines. + url: https://resolvex.com/ + + - name: Amateur Radio & Emergency Comms + role: RACES / ARES · CERT + status: current + description: Volunteer emergency communications — RACES/ARES nets, public-service events, and CERT. When the internet's down, the radio still works. + + # --- Previously --- + - name: Rocky Linux + role: Infrastructure architect · core team + status: past + when: through 2026 + description: Built and ran everything from bare metal to cloud — CI/CD, build systems, supply-chain security — and worked with Release Engineering on next-generation build automation. + url: https://github.com/rocky-linux/ + + - name: Rocky Enterprise Software Foundation + role: Board member + status: past + when: through 2026 + description: Governance, financial oversight, and mission for the non-profit behind Rocky Linux. + url: https://rockylinux.org/about diff --git a/layouts/_default/projects.html b/layouts/_default/projects.html index 457bc96..051b459 100644 --- a/layouts/_default/projects.html +++ b/layouts/_default/projects.html @@ -5,24 +5,41 @@ ~/projects

{{ .Title }}

-

Open source, governance, and infrastructure I help keep running.

+

Open source, governance, and the businesses I run — current work and where I've been.

{{- with .Content }}
{{ . }}
{{ end }} -
- {{- range .Site.Data.projects.source }} -
-

{{ .name }}

+ + {{- $current := where .Site.Data.projects.source "status" "!=" "past" }} + {{- $past := where .Site.Data.projects.source "status" "past" }} + + +
+ {{- range $current }} + {{- partial "project-card.html" . }} + {{- end }} + {{/* Soft consulting CTA — delete this block to remove */}} + +

// open slot

+

Your project here?

-

{{ .description }}

- {{- with .url }}

{{ . | replaceRE "^https?://" "" | replaceRE "/$" "" }} →

{{ end }} +

I take on a couple of engagements at a time — a migration, a network done right, infrastructure that needs untangling.

+
-
+ +
+ + {{- with $past }} + +
+ {{- range . }} + {{- partial "project-card.html" . }} {{- end }}
+ {{- end }}
{{ end }} diff --git a/layouts/partials/project-card.html b/layouts/partials/project-card.html new file mode 100644 index 0000000..b5fd0e7 --- /dev/null +++ b/layouts/partials/project-card.html @@ -0,0 +1,12 @@ +{{- $past := eq .status "past" }} +
+

{{ .name }}

+

+ {{- with .role }}{{ . }}{{ end }} + {{- with .when }} · {{ . }}{{ end }} +

+
+

{{ .description }}

+ {{- with .url }}{{ end }} +
+