Skip to content

Hacking Legends (Series Two) at /hacking-legends - #5

Merged
ralyodio merged 2 commits into
masterfrom
worktree-hacking-legends
Aug 16, 2026
Merged

Hacking Legends (Series Two) at /hacking-legends#5
ralyodio merged 2 commits into
masterfrom
worktree-hacking-legends

Conversation

@ralyodio

@ralyodio ralyodio commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Adds a second, in-progress card set to the same site, with /hacking-legends as its landing page.

What's here

  • src/data/hacking.ts — hand-curated 30-name working roster: Kevin Mitnick, John Draper, Robert Tappan Morris, Mudge, Kevin Poulsen, Emmanuel Goldstein, The Mentor, Dark Tangent, Dan Kaminsky, Cliff Stoll, Shimomura, Phiber Optik, Susan Thunder, Adrian Lamo, Gary McKinnon, c0mrade, Weld Pond, Katie Moussouris, Joanna Rutkowska, lcamtuf, Solar Designer, HD Moore, Barnaby Jack, Charlie Miller, Chris Valasek, Samy Kamkar, geohot, MalwareTech, Karsten Nohl, Moxie Marlinspike.
  • RosterCard — an art-less proof card (placeholder plate, rarity tier, impact bar, tap-to-expand scouting report), so the roster is reviewable before any portrait is commissioned.
  • /hacking-legends — work-in-progress hero, progress bars computed from the data (roster drafted 29/30, cards locked 10/30, artwork 0/30), the roster grid, selection criteria, nomination CTA.
  • Nav gains Hacking Legends; The Set renamed Series One now that there are two. Home page gets a Series Two teaser band.

Editorial choices worth a look

  • No invented quotes. Series One cards carry a quote field that reads as generated blurb rather than anything the person said. These are living (and recently deceased) people with strong feelings about being misquoted, so Series Two uses a note field in clearly editorial voice instead.
  • Convictions are stated plainly. Mitnick, Morris, Poulsen, Lamo, James, Kamkar, Hotz and Hutchins all have legal history and the cards say so. Documenting the history is not endorsing it — that's written into the selection criteria on the page.
  • Per-card status (locked / draft / candidate) drives the progress bars, so the page stays honest as the set fills in. Art count is 0/30 and derived from the data, not hardcoded.

Verification

pnpm build passes (TypeScript clean, /hacking-legends prerendered static). Rendered in headless Chromium at 1440px and 390px and reviewed the screenshots — which caught the bug in the second commit: <button> inherits align-items: center from the UA stylesheet, so every row inside the card shrink-wrapped (art placeholders sized differently per card, 001ICONIC ran together, footer didn't spread). Fixed and re-verified.

Unrelated pre-existing nit

The homepage hero kicker renders "Series One · 47 legends" from cards.length, but the stat strip right below hardcodes 50. Not touched here.

🤖 Generated with Claude Code

Second set, marked in progress and built in public on the same site.

- src/data/hacking.ts: hand-curated 30-name roster (Mitnick, Draper,
  Morris, Mudge, Poulsen, Goldstein, The Mentor, Dark Tangent, Kaminsky,
  Stoll, Rutkowska, lcamtuf, HD Moore, Moxie and more) with per-card
  status so the set can ship copy before art exists. No invented quotes:
  the editorial line is a `note` field, not an attribution.
- RosterCard: art-less proof card with a placeholder plate, rarity tier,
  impact bar and a tap-to-expand scouting report.
- /hacking-legends: landing page with a work-in-progress hero, live
  progress bars (drafted / locked / illustrated), the working roster,
  selection criteria and a nomination CTA.
- Nav gains "Hacking Legends"; "The Set" renamed "Series One" now that
  there are two. Home page gets a Series Two teaser band.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

1 finding(s)

MEDIUM: 1

Severity Rule Location
MEDIUM js-credential-logged scripts/migrate.mjs:16

Snippets are redacted; ThreatCrush never prints matched credential material.

Buttons carry `align-items: center` from the UA stylesheet, so every row
inside the card shrink-wrapped: art placeholders came out a different
size on each card, the number and rarity ran together as "001ICONIC",
and the footer status/label pair sat adjacent instead of spread.

Caught on a real render, not in review.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ralyodio
ralyodio marked this pull request as ready for review August 16, 2026 17:24
@ralyodio
ralyodio merged commit a8508be into master Aug 16, 2026
4 checks passed
@ralyodio
ralyodio deleted the worktree-hacking-legends branch August 16, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant