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) <noreply@anthropic.com>
This commit is contained in:
@@ -87,10 +87,19 @@
|
|||||||
padding:var(--s6);background:var(--bg-elevated);transition:border-color var(--tr),transform var(--tr);
|
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: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{font-size:var(--text-lg);margin-bottom:var(--s2);display:flex;align-items:center;gap:var(--s3);}
|
||||||
.card__title .icon{color:var(--sprout);width:1.1em;text-align:center;}
|
.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__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__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 --- */
|
||||||
.breadcrumb{
|
.breadcrumb{
|
||||||
|
|||||||
+72
-26
@@ -1,30 +1,76 @@
|
|||||||
name: Projects
|
name: Projects
|
||||||
source:
|
source:
|
||||||
- icon: fa-solid fa-building
|
# --- Currently ---
|
||||||
name: Rocky Enterprise Software Foundation
|
- name: Shrug PW Consulting
|
||||||
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.
|
role: Founder & Principal Consultant
|
||||||
url: https://rockylinux.org/about
|
status: current
|
||||||
- icon: fa-brands fa-github
|
description: Infrastructure architecture, automation, and technical advisory for mission-driven orgs — reliable systems on real budgets.
|
||||||
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.
|
|
||||||
url: https://shrugpw.com/
|
url: https://shrugpw.com/
|
||||||
- icon: fa-brands fa-fedora
|
|
||||||
name: Fedora Project
|
- name: shrug.host
|
||||||
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.
|
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/
|
url: https://fedoraproject.org/
|
||||||
- icon: fa-solid fa-cloud
|
|
||||||
name: OpenStack
|
- name: OpenELA
|
||||||
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.
|
role: Technical Steering Committee
|
||||||
url: https://openstack.org/
|
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
|
||||||
|
|||||||
@@ -5,24 +5,41 @@
|
|||||||
<span class="dot dot--pulse" aria-hidden="true"></span> ~/projects
|
<span class="dot dot--pulse" aria-hidden="true"></span> ~/projects
|
||||||
</p>
|
</p>
|
||||||
<h1 class="page-hero__title">{{ .Title }}</h1>
|
<h1 class="page-hero__title">{{ .Title }}</h1>
|
||||||
<p class="page-hero__subtitle">Open source, governance, and infrastructure I help keep running.</p>
|
<p class="page-hero__subtitle">Open source, governance, and the businesses I run — current work and where I've been.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{{- with .Content }}<div class="prose" style="margin-bottom:var(--s10);">{{ . }}</div>{{ end }}
|
{{- with .Content }}<div class="prose" style="margin-bottom:var(--s10);">{{ . }}</div>{{ end }}
|
||||||
<div class="card-grid">
|
|
||||||
{{- range .Site.Data.projects.source }}
|
{{- $current := where .Site.Data.projects.source "status" "!=" "past" }}
|
||||||
<div class="card">
|
{{- $past := where .Site.Data.projects.source "status" "past" }}
|
||||||
<h3 class="card__title"><span class="dot" aria-hidden="true"></span> {{ .name }}</h3>
|
|
||||||
|
<span class="section-label">// currently</span>
|
||||||
|
<div class="card-grid" style="margin-bottom:var(--s16);">
|
||||||
|
{{- range $current }}
|
||||||
|
{{- partial "project-card.html" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{/* Soft consulting CTA — delete this <a> block to remove */}}
|
||||||
|
<a class="card card--cta" href="https://shrugpw.com" rel="noopener">
|
||||||
|
<p class="card__role">// open slot</p>
|
||||||
|
<h3 class="card__title">Your project here?</h3>
|
||||||
<div class="card__body">
|
<div class="card__body">
|
||||||
<p>{{ .description }}</p>
|
<p>I take on a couple of engagements at a time — a migration, a network done right, infrastructure that needs untangling.</p>
|
||||||
{{- with .url }}<p style="margin-top:var(--s3);"><a href="{{ . }}" rel="noopener">{{ . | replaceRE "^https?://" "" | replaceRE "/$" "" }} →</a></p>{{ end }}
|
<p class="card__link">let's talk →</p>
|
||||||
</div>
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{- with $past }}
|
||||||
|
<span class="section-label">// previously</span>
|
||||||
|
<div class="card-grid">
|
||||||
|
{{- range . }}
|
||||||
|
{{- partial "project-card.html" . }}
|
||||||
|
{{- end }}
|
||||||
</div>
|
</div>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{{- $past := eq .status "past" }}
|
||||||
|
<div class="card{{ if $past }} card--past{{ end }}">
|
||||||
|
<h3 class="card__title"><span class="dot" aria-hidden="true"></span> {{ .name }}</h3>
|
||||||
|
<p class="card__role">
|
||||||
|
{{- with .role }}{{ . }}{{ end }}
|
||||||
|
{{- with .when }}<span class="card__when"> · {{ . }}</span>{{ end }}
|
||||||
|
</p>
|
||||||
|
<div class="card__body">
|
||||||
|
<p>{{ .description }}</p>
|
||||||
|
{{- with .url }}<p class="card__link"><a href="{{ . }}" rel="noopener">{{ . | replaceRE "^https?://" "" | replaceRE "/$" "" }} →</a></p>{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user