Commit Graph

  • cf900b3409 images: bust CF cache for the de-watermarked art; add the dewatermark tool main jwright 2026-08-25 18:20:29 +10:00
  • 4a8552c408 images: remove generator watermark from all published art jwright 2026-08-25 18:00:38 +10:00
  • b5e0b25667 site update: cover art for the learn-site case studies; publish untrusted-in-a-vm (SECURITY #7) jwright 2026-08-25 17:24:51 +10:00
  • c5b1044d7a projects: add The Mirror pull-through registry case study; wire cover art for both learn-site projects jwright 2026-08-25 09:18:11 +10:00
  • 8d394fe2c7 nav hover: glow instead of the underline bar, and give keyboard focus the same glow jwright 2026-08-18 11:04:27 +10:00
  • 21616762e6 nav: add a Learn tab pointing at the teaching site, and drop the scroll-spy underline - tracking the active section as you scrolled read as clunky, so the underline is hover-only now; also refresh the public CV jwright 2026-08-18 10:05:49 +10:00
  • f6b683713e publish the public CV and fix the availability check to resolve from the project root - Vite rewrites module URLs at build so the relative walk never found public/ jwright 2026-08-18 09:56:59 +10:00
  • b6d3d4487a offer the CV download in the contact section too, so a recruiter who scrolls straight there can grab it jwright 2026-08-18 09:50:21 +10:00
  • dd2207bfa6 add the exploded cluster as a project with a live link to learn.bztmon.com jwright 2026-08-18 09:40:58 +10:00
  • 51d1ccb149 README: describe the JS that actually ships instead of claiming zero, and note why the site still works with JS disabled jwright 2026-08-18 02:03:57 +10:00
  • 36444c3424 corrections from Jonathon: Unimus and NetBox were different jobs on different infrastructure, so NetBox comes out of the network project entirely; the Google migration was off GCP and Google Workspace onto Windows AD, Microsoft 365 and Azure; the ERP refresh included daily COBOL green-screen work; contact line kept in one place jwright 2026-08-18 01:54:49 +10:00
  • 7cbc3629a6 second pass: name the real GPU mechanism (resource request schedules, init container gates startup, probes track runtime health), scope the network DR and reversibility claims to what config backup actually gives you, drop production-grade, and colour the education hash instead of the first letter jwright 2026-08-18 01:50:07 +10:00
  • c07f8433dc revert the homepage JSON-LD: application/ld+json is still an inline script under script-src 'self', and the no-inline-script posture is worth more than the structured data jwright 2026-08-18 01:36:33 +10:00
  • 0f85bd9870 add Person and WebSite structured data on the homepage so a search for the name resolves to the right engineer jwright 2026-08-18 01:15:24 +10:00
  • 6155aca055 bastion post: drop the host address and the list of credentials it holds - the architecture makes the point without the inventory jwright 2026-08-18 01:13:57 +10:00
  • 573e7a6002 blog: give each post its own closing heading instead of sixteen sections called 'The principle' jwright 2026-08-18 01:12:54 +10:00
  • 25425d6f6a portfolio pass: correct the CSP claim to match what nginx sends, rename the project outcome label, plain-english the projects intro and bio, standardise on Argo CD and single-touch, drop the education filler line jwright 2026-08-18 01:11:25 +10:00
  • 7542ae2665 turn off smartypants so the rendered pages stay ascii jwright 2026-08-17 23:23:31 +10:00
  • 43188589ab sweep the last typographic punctuation out of the components and data files jwright 2026-08-17 23:21:38 +10:00
  • 3cfd59a464 copy pass: straighten quotes and arrows, thin the dash asides, drop the app-count caption from the constellation jwright 2026-08-17 23:12:42 +10:00
  • 78e8740408 deps: clear the nanoid and ip-address high advisories flagged by the audit gate jwright 2026-08-17 02:08:03 +10:00
  • e90bf177a5 blog: open the EDGE AI, AUTOMATION and OBSERVABILITY arcs jwright 2026-08-17 01:50:25 +10:00
  • 6c0d7643a6 gitignore python bytecode jwright 2026-08-05 02:02:11 +10:00
  • 3a13cff1fa gitignore local blog-workshop tooling jwright 2026-08-04 12:31:44 +10:00
  • df72a22952 docs: refresh README for the current layout; ASCII sweep on SECURITY.md jwright 2026-08-04 03:45:58 +10:00
  • f89957370e gitignore local staging jwright 2026-08-04 03:28:31 +10:00
  • d26e981d7a blog: expand the series to six pillars; add the catalogue generator jwright 2026-08-04 03:21:49 +10:00
  • cbfc4007cf projects: cover art on the dossier cards, replacing the sketch thumbnails jwright 2026-08-03 17:57:44 +10:00
  • cd08cd04c1 projects: cover art on every case study jwright 2026-08-03 17:53:25 +10:00
  • ba81705a39 projects: drop the two diagram refs that never had files jwright 2026-08-03 17:34:07 +10:00
  • 99fd652569 projects: author the missing network-fleet diagram (was a 404 on the case study) jwright 2026-08-03 17:32:52 +10:00
  • afba75dd3a capabilities: keep the video-analytics line vendor-neutral jwright 2026-08-03 16:58:14 +10:00
  • f7e64cebe5 capabilities: proof-points fill the tall tiles; headers rebalanced to the flagship weight jwright 2026-08-03 16:54:53 +10:00
  • 6c7e577633 blog: three curated series across the whole catalogue + badge on post pages jwright 2026-08-03 16:47:07 +10:00
  • 6ea2582a66 blog: heroes belong in frontmatter - fix the five new posts jwright 2026-08-03 08:24:22 +10:00
  • 317e5230b6 deps: clear the audit gate (astro 7.0.10 + transitive fixes); reword one-doorman past the secret scan jwright 2026-08-02 23:34:17 +10:00
  • 521cc2f066 blog: publish five posts - landing-on-cilium, sleep-half-the-fleet, clone-not-keys, stage-the-locks, one-doorman-many-doors jwright 2026-08-02 23:17:31 +10:00
  • 91b3cff67a blog: publish three posts — observe-first-deny-second, snat-ate-my-source, no-ssh jwright 2026-07-14 18:43:32 +10:00
  • a0d71388c4 constellation: seamless animation loops — dash offset aligned to the 136px pattern period (dots no longer jump at the seam), radar ring fades in instead of popping jwright 2026-07-13 15:32:09 +10:00
  • 3217d779b3 constellation: key to the right edge (left clips on narrow heroes), bat-gloss swatch for core/services jwright 2026-07-13 15:16:24 +10:00
  • 94698c6315 constellation: intel accent for alfred + elfastc, compute colour key, drop the stale kate caption jwright 2026-07-13 15:00:11 +10:00
  • 87cfe78ffc blog: publish three posts — backup restore drills, the bastion pattern, split-horizon DNS-01 (heroes + diagrams) jwright 2026-07-09 15:02:17 +10:00
  • 2896f89af3 footer: unify the receipt + identity into one terminal session panel; fix HEAD sha in container builds (GIT_SHA build-arg) jwright 2026-07-09 14:04:54 +10:00
  • 908d311e5c fix(skills): collapse bento spans at 2-col breakpoint, not 720px jwright 2026-07-03 23:56:07 +10:00
  • 0d05aae721 blog: republish 2 edited posts, dossier thumbnails 4-6, new post broker-pattern jwright 2026-07-03 21:12:52 +10:00
  • c162f2e4e7 nav: phone tabs on a compact second row - zero-JS, scrollable, no hamburger jwright 2026-07-03 20:47:09 +10:00
  • de7c257ab7 hero: wrap the fleet-fact bar on phones - nowrap+max-content busts a 390px viewport jwright 2026-07-03 20:16:52 +10:00
  • 71c3f00618 facelift: the Bat-Computer redesign - constellation hero, bento, dossiers, receipt jwright 2026-07-03 20:08:12 +10:00
  • 4e13bf596c facelift: fix light-theme scrims/thumbs - :global() the data-theme overrides feat/batcomputer-facelift jwright 2026-07-03 19:50:18 +10:00
  • 8a7ca88c40 facelift polish: native cross-document view transitions + og regen jwright 2026-07-03 19:47:03 +10:00
  • de12f028eb facelift: blog index - featured security-series opener + image-led grid jwright 2026-07-03 19:46:07 +10:00
  • 8d955aa802 facelift: the scroll story - bento capabilities, dossier cards, series badges, GitOps receipt jwright 2026-07-03 19:43:45 +10:00
  • 65ba1ec7dc facelift: fleet constellation hero + Bat-Computer type/token layer jwright 2026-07-03 18:58:49 +10:00
  • 08bab080b1 nav: stop tabs sticking lit on Projects/Blog pages jwright 2026-06-29 19:54:30 +10:00
  • dae9bbc91a nav: animate Projects/Blog underlines + coherent directional slide jwright 2026-06-29 19:46:46 +10:00
  • 7c300faec8 home: fix nav active-section at page bottom + exact progress bar; add blog tags to Writing jwright 2026-06-29 19:08:17 +10:00
  • 257af5d22e home: add Writing section; fix scroll-progress snap + nav underline reverse jwright 2026-06-29 18:53:35 +10:00
  • 880b9daeac projects: reword index tagline; split global infra into estate + network-automation jwright 2026-06-29 18:32:29 +10:00
  • a685789322 blog: drop duplicate inline hero on secret-zero jwright 2026-06-29 18:13:32 +10:00
  • 61642e8db8 blog: add secret-zero bootstrap diagram; clean up hero images jwright 2026-06-29 18:05:03 +10:00
  • bed2dbaa1f blog: add outbound + secret-zero hero images jwright 2026-06-29 17:47:23 +10:00
  • 354475a453 blog: hero images + publish secret-zero jwright 2026-06-29 17:37:40 +10:00
  • d8a147aabe ui: design polish — themed scrollbar, focus-ring glow, card depth jwright 2026-06-28 23:32:04 +10:00
  • f6d92e5c87 ui: Motion-driven animation layer (motion.dev) jwright 2026-06-28 23:23:58 +10:00
  • 5d439752de ui: retheme favicon + OG card to the cyan→magenta theme jwright 2026-06-27 23:01:41 +10:00
  • 0c93328a2d ui: vivid electric nameplate — fix invisible hero title in light mode jwright 2026-06-27 21:28:30 +10:00
  • ef1719c84e ui: keep the board visible in light mode + bust diagram cache jwright 2026-06-27 21:19:13 +10:00
  • e264f673d7 fix(ui): readable light mode over the board backdrop jwright 2026-06-27 21:15:08 +10:00
  • 8702c8a293 ui: re-theme architecture diagrams to the cyan→magenta palette jwright 2026-06-27 21:10:17 +10:00
  • b7c91081b2 fix(ui): scroll-coupled backdrop pan that works in every browser jwright 2026-06-27 21:02:46 +10:00
  • af7e0287d4 fix(ui): backdrop now moves in every browser jwright 2026-06-27 20:54:08 +10:00
  • 2aae7c287e ui: backdrop pan — monotonic top→bottom drift jwright 2026-06-27 20:47:36 +10:00
  • 9e177dcc41 ui+content: zoom the backdrop + de-dupe blog titles jwright 2026-06-27 20:42:02 +10:00
  • 99455d0168 chore(deps): upgrade Astro 6.4 → 7.0 (Vite 8) jwright 2026-06-27 20:42:02 +10:00
  • 03b0cf7c7f feat(ui): electric Bat-Computer redesign — cyan→magenta theme jwright 2026-06-27 20:31:48 +10:00
  • d64f528ff7 Merge pull request 'docker: digest-pin the node:22-bookworm-slim build base' (#2) from mirror/node-digest-pin into main jwright 2026-06-23 11:01:59 +00:00
  • dc42d31595 docker: digest-pin the node:22-bookworm-slim build base jwright 2026-06-23 20:47:02 +10:00
  • c5d9da9092 Merge pull request 'blog: 'The most secure credential is the one you never mount'' (#1) from blog/workload-least-privilege into main jwright 2026-06-23 09:20:50 +00:00
  • b18c6589bf blog: 'The most secure credential is the one you never mount' jwright 2026-06-23 19:17:03 +10:00
  • cbb82eb97b Add SSO+2FA and outbound-exposure posts with Excalidraw architecture diagrams; Diagram component serves outlined SVGs jwright 2026-06-22 16:26:15 +10:00
  • 1c87af560d ci(bump-digest): force-push the ephemeral deploy branch (idempotent re-runs) jwright 2026-06-17 23:33:34 +10:00
  • 2592b5680b ci(bump-digest): bound PR-open curl + make it non-fatal so runs go green jwright 2026-06-17 23:02:27 +10:00
  • 9919e20850 gitignore: broaden secret patterns (env/keys/certs/credentials/kubeconfig) jwright 2026-06-17 22:52:30 +10:00
  • 08fb56935d contact: low-latency phrasing for the get-in-touch lead (LinkedIn + email) jwright 2026-06-17 22:47:09 +10:00
  • 939962aeeb footer: add CC BY-NC-SA 4.0 content license + low-latency contact line jwright 2026-06-17 22:14:08 +10:00
  • 1c956d6ec4 Hero: fix title descender clipping (g); CI: rename PR token var so Gitea's auto GITEA_TOKEN doesn't 401 the branch step jwright 2026-06-17 20:54:57 +10:00
  • 18ed7458c3 CI: per-user digest file path (avoid /tmp collision between manual + runner) jwright 2026-06-17 20:51:08 +10:00
  • 1dc9c82cb3 Links: trailing-slash internal URLs (no dir-redirect → kills the :8080/cached-301 issue) jwright 2026-06-17 20:48:06 +10:00
  • a729484c7a Hero/OG: Platform & Infrastructure Engineer, RHEL-led tagline with ▸; fix :8080 links (relative nginx redirects) jwright 2026-06-17 20:35:51 +10:00
  • 3fd0a9a729 CI: retry buildah build/push (resilient to transient registry 502s) jwright 2026-06-17 20:27:59 +10:00
  • f132303d6d CI: use upload-artifact@v3 (Gitea), best-effort so it never blocks deploy jwright 2026-06-17 20:23:40 +10:00
  • fbad7a18db CI: digest-bump pushes a branch for manual PR (no broad token needed) jwright 2026-06-17 20:11:13 +10:00
  • 74cbf3af26 Add HSTS header at the origin (host-scoped, no includeSubDomains) jwright 2026-06-17 19:38:05 +10:00
  • 83edaf5975 M5: publish seam + CI/CD pipeline jwright 2026-06-17 17:20:54 +10:00
  • c1db5cec86 M4: security pass — strict CSP, header split, build-time scan jwright 2026-06-17 17:12:57 +10:00
  • cb76a87c36 M3: theme-aware SVG architecture diagrams + hero motion jwright 2026-06-17 17:02:22 +10:00
  • 22f482d89a M2: content collections — case studies, blog, RSS, tags, sitemap jwright 2026-06-17 16:56:46 +10:00
  • 720d579386 Switch public contact email to live.com.au (matches CV) jwright 2026-06-17 16:45:28 +10:00
  • ae207eb79d Populate site with real CV data; restyle OG subtitle jwright 2026-06-17 16:44:03 +10:00
  • 2d4b6ea097 Initial portfolio site: Astro + Tailwind MVP jwright 2026-06-17 16:22:53 +10:00