Skip to content

blog: hold KVM note for editorial review (TIN-2979)#232

Merged
Jesssullivan merged 7 commits into
mainfrom
codex/hide-kvm-post-until-review
Jul 17, 2026
Merged

blog: hold KVM note for editorial review (TIN-2979)#232
Jesssullivan merged 7 commits into
mainfrom
codex/hide-kvm-post-until-review

Conversation

@Jesssullivan

@Jesssullivan Jesssullivan commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • set the SSH/macOS KVM note to published: false
  • generate a publication-hold registry from every explicit published: false frontmatter entry
  • apply that registry to broker/list merging and direct client-route resolution so hydration cannot revive a held slug
  • keep prose, editorial tier, ActivityPub contracts, navigation, layout, and flagship reader UI unchanged

Grounding

The post is currently visible from the checked-in static source. The live Tinyland broker projection has no matching slug today, but broker hydration is additive; the generated hold registry closes that future reappearance path without changing federation or delivery state.

Validation

  • signed commits: 94941d0, bd9824b
  • generator produced 140 published entries and 35 explicit hold slugs; the target slug is present in the hold registry
  • focused broker merge regression covers held broker-only content
  • git diff --check: passed
  • local Prettier could not run because this clean worktree intentionally has no local node_modules; no formatting result is claimed
  • authoritative GF-backed check/build/test/e2e must pass on this exact head before merge
  • PR-environment /blog and direct-route QA is required after fix(ci): dispatch immutable shadow image digest (TIN-2902) #230 restores the shadow handoff

Linear: TIN-2979

@github-actions

Copy link
Copy Markdown
Contributor

📝 Blog Post Review

Found 1 blog post(s) in this PR:

Post Status Date Published Tags Linear
The tiny SSH trick for letting a USB KVM talk to a locked Mac ✏️ Modified 2026-06-23 ❌ Draft macOS, hardware, homelab, usb-protocol, kvm, ssh none

Schema Validation

✅ All posts pass schema validation.

Slash Commands

Command Description
/schedule 2026-03-15 Schedule auto-merge for a date
/publish Set all posts to published: true
/draft Set all posts back to draft
/retitle "New Title" Change a post's title
/review Re-run AI prose review
/suggest-links Find unlinked keywords

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Comparison vs #234 (now closed as superseded, per operator ruling to compare first): this PR is a strict superset and the right durable mechanism — same one-line flip, plus the generated hold registry closes the broker-revival path #234's analysis missed (broker hydration is additive; the coming tier-import wave makes the slug's future broker presence likely). #234's verified blast radius carries over: posts.ts listing/feeds/sitemap filter, search-index generator, and the /blog/[slug] loader all honor the flag; the hub broker is currently absent the slug (140 items). One behavior note for the record: the 35 pre-existing published:false slugs were already statically hidden — the registry only additionally blocks their broker revival, so this is behavior-preserving for them. Recommend merge once GF checks are genuinely green.

@Jesssullivan
Jesssullivan force-pushed the codex/hide-kvm-post-until-review branch from 78b1352 to 366586d Compare July 17, 2026 03:11
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Adversarial final-asset review found and blocked a real publication leak on the prior head: the direct route and indexes returned no post, but the broad Vite Markdown glob still emitted the full unpublished body into a public JS chunk.

Exact head 366586d825448737f10a21f8884eba9f30fed9ce closes that gap:

  • generate-search-index.mts now emits a compile-time loader map containing only explicit published: true sources
  • the slug route imports only from that generated map; the broad import.meta.glob('/src/posts/*.md') is gone
  • the GF Bazel build smoke scans build/_app and fails if the title of any non-published post appears in a client asset
  • current loader parity is 140/140 published search entries; the KVM post is absent

The local developer-machine GF contract correctly refused to run without BAZEL_REMOTE_CACHE; no local compatibility build or ad hoc server was substituted. Hosted npm build is green, and exact-head GF remote gates are queued/running. A fresh independent final-asset review is also in progress.

@Jesssullivan
Jesssullivan force-pushed the codex/hide-kvm-post-until-review branch from 366586d to ac9bba4 Compare July 17, 2026 03:20
@Jesssullivan
Jesssullivan temporarily deployed to blog-shadow-dispatch July 17, 2026 03:31 — with GitHub Actions Inactive
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Exact-head PR-environment QA at 68c4689629493c98d9216764e32696d3d8e6c197:

  • Source workflow 29552429999: success
  • Private receiver 29552715680: success against infra main 57e646a
  • Source digest: sha256:c70ba2370d9f452792d6eeb885e472e661f79848552c40f752149bedc08ff78a
  • Private/runtime digest: sha256:957b881cb9ba533dca9bc977bf75ca736829de4bcaeb269ffd9d12d63657ece6
  • Runtime source-SHA and digest attestation: exact match

gstack browser QA against the tailnet shadow:

  • /blog: 200, no title or link for the held post
  • direct route: 404
  • /feed.xml, /feed.json, /sitemap.xml, and /search-index.json: 200 and omit title/slug
  • Pagefind query: zero results
  • 25 loaded immutable client assets: no title, description, body sentinel, or source filename
  • clean reload: no console errors

The public hold registry necessarily carries the slug so broker hydration can suppress it; it carries no post title/body. No prose or flagship reader UI changed. GF remote gates remain the final merge authority.

Keep source-file lookup keys while generating a statically analyzable Vite glob that excludes held posts and passes svelte-check in the GF Bazel sandbox.

Refs TIN-2979
@Jesssullivan

Copy link
Copy Markdown
Owner Author

GF failure follow-up on exact head 52e5ee3401ca3455afeccde9eb9bb8c376cc30c0:

  • Root cause: the generated loader map used literal absolute /src/posts/*.md dynamic imports. Vite resolved them, but Bazel's sveltekit_check correctly rejected all 140 imports.
  • Fix: generate a statically enumerated import.meta.glob([...]) containing only published source files. Lookup keys remain the canonical /src/posts/... values used by search-index.json; unpublished files are never included in the module graph.
  • Added a fail-closed generator assertion rejecting a broad /src/posts/*.md glob.

Focused diagnostics on this head:

  • node scripts/run-sveltekit-check-bazel.mjs: PASS, 0 errors (one pre-existing Svelte warning).
  • node scripts/run-sveltekit-vite-build-bazel.mjs: PASS; all 35 unpublished posts excluded from client assets.
  • git diff --check: PASS.

These are preflight diagnostics only. Merge remains gated on current-head GF checks plus a fresh immutable shadow deployment and browser QA.

@Jesssullivan

Copy link
Copy Markdown
Owner Author

GF failure follow-up on exact head :\n\n- Root cause: the generated loader map used literal absolute dynamic imports. Vite resolved them, but Bazel's correctly rejected all 140 imports.\n- Fix: generate a statically enumerated containing only published source files. Lookup keys remain the canonical values used by ; unpublished files are never included in the module graph.\n- Added a fail-closed generator assertion rejecting a broad glob.\n\nFocused diagnostics on this head:\n- checked 3 tinyland projected posts (0 changed)
Search index: 140 posts -> static/search-index.json
Publication holds: 35 slugs -> static/blog-publication-holds.json
Published post loaders: 140 modules -> src/lib/data/blog-post-loaders.generated.ts
pulse snapshot ok (3 items, hash=sha256:fc3b04ec97946d6777e5245040b09a3ead296a9bf4614d0fea7df2d3cfb2ccb7)
Loading svelte-check in workspace: /private/var/folders/z6/7m3zpx6j3x982j_fzwg1lppw0000gn/T/ghio-sveltekit-check-0tcyuw/workspace
Getting Svelte diagnostics...

/private/var/folders/z6/7m3zpx6j3x982j_fzwg1lppw0000gn/T/ghio-sveltekit-check-0tcyuw/workspace/src/routes/blog/+page.svelte:23:35
Warn: This reference only captures the initial value of data. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally (svelte)
const brokerEndpoint = TINYLAND_BLOG_BROKER_STREAM_URL;
const publicationHolds = new Set(data.publicationHolds);

====================================
svelte-check found 0 errors and 1 warning in 1 file
SvelteKit remote check passed: PASS, 0 errors (one pre-existing Svelte warning).\n- checked 3 tinyland projected posts (0 changed)
Search index: 140 posts -> static/search-index.json
Publication holds: 35 slugs -> static/blog-publication-holds.json
Published post loaders: 140 modules -> src/lib/data/blog-post-loaders.generated.ts
Blog stats: 140 posts, 65337 words, 154 tags, 15 code languages
Reading time: < 2 min: 56, 2-5 min: 71, 5-10 min: 8, 10-20 min: 2, 20+ min: 3
Tag pairs: 30 co-occurrence edges
Quarters tracked: 28
Tag graph: 20 nodes, 22 edges -> static/images/tag-graph.svg, static/images/tag-graph-dark.svg
Generated static/photo-gallery.json: 75 photos (62 linked to posts)
pulse snapshot ok (3 items, hash=sha256:fc3b04ec97946d6777e5245040b09a3ead296a9bf4614d0fea7df2d3cfb2ccb7)
vite v8.0.14 building ssr environment for production...
�[2K
transforming...✓ 1093 modules transformed.
rendering chunks...
vite v8.0.14 building client environment for production...
�[2K
transforming...✓ 1222 modules transformed.
rendering chunks...
computing gzip size...
.svelte-kit/output/client/_app/version.json 0.02 kB │ gzip: 0.04 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-400-normal.B4SlG4wx.woff2 18.33 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-700-normal.BfTu9YAt.woff2 18.72 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-600-normal.vJ8oEdKU.woff2 18.77 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-400-italic.BJbyz_Tg.woff2 19.10 kB
.svelte-kit/output/client/_app/immutable/assets/raleway-latin-400-normal.C5eIEfLm.woff2 22.40 kB
.svelte-kit/output/client/_app/immutable/assets/raleway-latin-400-normal.sMcq1OIP.woff 22.46 kB
.svelte-kit/output/client/_app/immutable/assets/raleway-latin-700-normal.BVpQLp0x.woff2 22.69 kB
.svelte-kit/output/client/_app/immutable/assets/raleway-latin-700-normal.JVwBSLev.woff 22.80 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-400-normal.BzhyrSeK.woff 22.93 kB
.svelte-kit/output/client/_app/immutable/assets/fira-code-latin-700-normal.aa0XcSUK.woff2 23.04 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-700-normal.CnzwvVon.woff 23.24 kB
.svelte-kit/output/client/_app/immutable/assets/fira-code-latin-400-normal.DGosTW8U.woff2 23.31 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-600-normal.Ca4fy0Cf.woff 23.36 kB
.svelte-kit/output/client/_app/immutable/assets/inter-latin-400-normal.C38fXH4l.woff2 23.66 kB
.svelte-kit/output/client/_app/immutable/assets/crimson-pro-latin-400-italic.iL-nM4zC.woff 24.06 kB
.svelte-kit/output/client/_app/immutable/assets/inter-latin-700-normal.Yt3aPRUw.woff2 24.35 kB
.svelte-kit/output/client/_app/immutable/assets/inter-latin-600-normal.LgqL8muc.woff2 24.45 kB
.svelte-kit/output/client/_app/immutable/assets/fira-code-latin-700-normal.CbIf1Tvd.woff 29.61 kB
.svelte-kit/output/client/_app/immutable/assets/fira-code-latin-400-normal.C-QZfXAs.woff 29.83 kB
.svelte-kit/output/client/_app/immutable/assets/inter-latin-400-normal.CyCys3Eg.woff 30.69 kB
.svelte-kit/output/client/_app/immutable/assets/inter-latin-600-normal.CiBQ2DWP.woff 31.26 kB
.svelte-kit/output/client/_app/immutable/assets/inter-latin-700-normal.BLAVimhd.woff 31.32 kB
.svelte-kit/output/client/.vite/manifest.json 81.69 kB │ gzip: 9.89 kB
.svelte-kit/output/client/_app/immutable/assets/17.HXAc8rtH.css 0.30 kB │ gzip: 0.19 kB
.svelte-kit/output/client/_app/immutable/assets/7.Cku-eowB.css 0.39 kB │ gzip: 0.23 kB
.svelte-kit/output/client/_app/immutable/assets/activitypub-demo.CaZ5mIrs.css 0.53 kB │ gzip: 0.25 kB
.svelte-kit/output/client/_app/immutable/assets/16.Ddapjm53.css 1.42 kB │ gzip: 0.49 kB
.svelte-kit/output/client/_app/immutable/assets/15.DasBioKb.css 1.66 kB │ gzip: 0.53 kB
.svelte-kit/output/client/_app/immutable/assets/0.DpUnIqy7.css 203.36 kB │ gzip: 23.72 kB
.svelte-kit/output/client/_app/immutable/chunks/DlnVW9YV.js 0.06 kB │ gzip: 0.08 kB
.svelte-kit/output/client/_app/immutable/chunks/xihTtKlq.js 0.06 kB │ gzip: 0.08 kB
.svelte-kit/output/client/_app/immutable/entry/start.DZr9pWpZ.js 0.08 kB │ gzip: 0.09 kB
.svelte-kit/output/client/_app/immutable/chunks/cFewkFtb.js 0.24 kB │ gzip: 0.17 kB
.svelte-kit/output/client/_app/immutable/nodes/9.BtNgX1p4.js 0.48 kB │ gzip: 0.34 kB
.svelte-kit/output/client/_app/immutable/nodes/2.D7Dhru7z.js 0.49 kB │ gzip: 0.35 kB
.svelte-kit/output/client/_app/immutable/chunks/BuFlayix.js 0.64 kB │ gzip: 0.38 kB
.svelte-kit/output/client/_app/immutable/chunks/BQVol0cq.js 0.79 kB │ gzip: 0.48 kB
.svelte-kit/output/client/_app/immutable/chunks/BgV0g9j0.js 0.80 kB │ gzip: 0.45 kB
.svelte-kit/output/client/_app/immutable/chunks/6DCPNn-O2.js 0.84 kB │ gzip: 0.49 kB
.svelte-kit/output/client/_app/immutable/chunks/06xd6vtq.js 0.85 kB │ gzip: 0.47 kB
.svelte-kit/output/client/_app/immutable/chunks/B_4wPi64.js 0.91 kB │ gzip: 0.53 kB
.svelte-kit/output/client/_app/immutable/chunks/CRaWHw4-.js 0.97 kB │ gzip: 0.50 kB
.svelte-kit/output/client/_app/immutable/chunks/3-wKtDaO.js 0.98 kB │ gzip: 0.52 kB
.svelte-kit/output/client/_app/immutable/chunks/BQui4AI8.js 1.02 kB │ gzip: 0.59 kB
.svelte-kit/output/client/_app/immutable/chunks/DdiQlvrq.js 1.02 kB │ gzip: 0.49 kB
.svelte-kit/output/client/_app/immutable/chunks/BrsPpuwT.js 1.03 kB │ gzip: 0.58 kB
.svelte-kit/output/client/_app/immutable/chunks/CjFcMzf2.js 1.04 kB │ gzip: 0.58 kB
.svelte-kit/output/client/_app/immutable/chunks/cy5sZIAf.js 1.09 kB │ gzip: 0.65 kB
.svelte-kit/output/client/_app/immutable/chunks/2L0vn8BC.js 1.09 kB │ gzip: 0.62 kB
.svelte-kit/output/client/_app/immutable/nodes/1.ZJ8ZIad5.js 1.17 kB │ gzip: 0.72 kB
.svelte-kit/output/client/_app/immutable/chunks/BRdVKvob.js 1.17 kB │ gzip: 0.58 kB
.svelte-kit/output/client/_app/immutable/chunks/kNaey6uv.js 1.20 kB │ gzip: 0.68 kB
.svelte-kit/output/client/_app/immutable/chunks/BIU9R1d0.js 1.25 kB │ gzip: 0.69 kB
.svelte-kit/output/client/_app/immutable/chunks/1nqgPxGD2.js 1.31 kB │ gzip: 0.69 kB
.svelte-kit/output/client/_app/immutable/chunks/CgIiVVNA.js 1.32 kB │ gzip: 0.62 kB
.svelte-kit/output/client/_app/immutable/chunks/C3yKpGxB.js 1.32 kB │ gzip: 0.71 kB
.svelte-kit/output/client/_app/immutable/chunks/Dziz2FSh2.js 1.34 kB │ gzip: 0.78 kB
.svelte-kit/output/client/_app/immutable/chunks/6lsxvW752.js 1.35 kB │ gzip: 0.77 kB
.svelte-kit/output/client/_app/immutable/chunks/DTt1bqrk.js 1.36 kB │ gzip: 0.65 kB
.svelte-kit/output/client/_app/immutable/chunks/GUyQslxM.js 1.40 kB │ gzip: 0.73 kB
.svelte-kit/output/client/_app/immutable/chunks/D6E_5Ucp.js 1.52 kB │ gzip: 0.81 kB
.svelte-kit/output/client/_app/immutable/chunks/CnSN0XQC2.js 1.55 kB │ gzip: 0.90 kB
.svelte-kit/output/client/_app/immutable/chunks/Bjy-nbVA.js 1.56 kB │ gzip: 0.85 kB
.svelte-kit/output/client/_app/immutable/chunks/BjQBmt8g2.js 1.58 kB │ gzip: 0.81 kB
.svelte-kit/output/client/_app/immutable/chunks/DJX44RxE.js 1.58 kB │ gzip: 0.91 kB
.svelte-kit/output/client/_app/immutable/chunks/DhIzhPIJ.js 1.59 kB │ gzip: 0.70 kB
.svelte-kit/output/client/_app/immutable/chunks/CaY0mLjf.js 1.59 kB │ gzip: 0.86 kB
.svelte-kit/output/client/_app/immutable/chunks/BObvi3St2.js 1.59 kB │ gzip: 0.78 kB
.svelte-kit/output/client/_app/immutable/chunks/C2SG22-h.js 1.70 kB │ gzip: 0.92 kB
.svelte-kit/output/client/_app/immutable/chunks/CKHeCMOX.js 1.70 kB │ gzip: 0.79 kB
.svelte-kit/output/client/_app/immutable/chunks/Bt6_uvQ9.js 1.75 kB │ gzip: 0.69 kB
.svelte-kit/output/client/_app/immutable/chunks/NpBhmdH3.js 1.84 kB │ gzip: 0.88 kB
.svelte-kit/output/client/_app/immutable/chunks/duZ2voqS.js 1.86 kB │ gzip: 0.98 kB
.svelte-kit/output/client/_app/immutable/chunks/DqAXq-iC.js 1.88 kB │ gzip: 1.02 kB
.svelte-kit/output/client/_app/immutable/chunks/CFOKNHxP.js 1.93 kB │ gzip: 0.88 kB
.svelte-kit/output/client/_app/immutable/chunks/HBQO_5_Q.js 2.02 kB │ gzip: 0.88 kB
.svelte-kit/output/client/_app/immutable/chunks/B8KMEgC6.js 2.10 kB │ gzip: 1.02 kB
.svelte-kit/output/client/_app/immutable/chunks/DeLW-l282.js 2.19 kB │ gzip: 1.20 kB
.svelte-kit/output/client/_app/immutable/chunks/DbkH-QjK.js 2.19 kB │ gzip: 0.90 kB
.svelte-kit/output/client/_app/immutable/chunks/BF7eCCl62.js 2.22 kB │ gzip: 1.02 kB
.svelte-kit/output/client/_app/immutable/chunks/DXnxysvU.js 2.22 kB │ gzip: 1.18 kB
.svelte-kit/output/client/_app/immutable/chunks/NpMoLELE.js 2.23 kB │ gzip: 1.16 kB
.svelte-kit/output/client/_app/immutable/chunks/CGN129Gf.js 2.23 kB │ gzip: 0.82 kB
.svelte-kit/output/client/_app/immutable/nodes/8.BvQjSGBf.js 2.24 kB │ gzip: 1.18 kB
.svelte-kit/output/client/app/immutable/chunks/CkvV0GT.js 2.30 kB │ gzip: 1.08 kB
.svelte-kit/output/client/_app/immutable/chunks/_gpyyTBk.js 2.30 kB │ gzip: 1.22 kB
.svelte-kit/output/client/_app/immutable/nodes/4.CTgPM31y.js 2.34 kB │ gzip: 1.01 kB
.svelte-kit/output/client/_app/immutable/chunks/D_v4NRax2.js 2.35 kB │ gzip: 1.26 kB
.svelte-kit/output/client/_app/immutable/chunks/BvUVF5qF.js 2.52 kB │ gzip: 0.67 kB
.svelte-kit/output/client/_app/immutable/chunks/CFUl78Df.js 2.58 kB │ gzip: 1.40 kB
.svelte-kit/output/client/_app/immutable/chunks/8HCkFuzx.js 2.58 kB │ gzip: 1.24 kB
.svelte-kit/output/client/_app/immutable/chunks/DMu1z5Pw2.js 2.60 kB │ gzip: 1.16 kB
.svelte-kit/output/client/_app/immutable/chunks/BDYOsrcQ2.js 2.61 kB │ gzip: 1.39 kB
.svelte-kit/output/client/_app/immutable/chunks/TwaaDj0O2.js 2.64 kB │ gzip: 1.35 kB
.svelte-kit/output/client/_app/immutable/chunks/CLmbf4nZ.js 2.79 kB │ gzip: 1.21 kB
.svelte-kit/output/client/_app/immutable/chunks/C6LCR763.js 2.81 kB │ gzip: 1.38 kB
.svelte-kit/output/client/_app/immutable/chunks/BvMjGG9x.js 2.82 kB │ gzip: 1.36 kB
.svelte-kit/output/client/_app/immutable/chunks/7GyC5qDX.js 2.90 kB │ gzip: 1.26 kB
.svelte-kit/output/client/_app/immutable/chunks/DS4P9uFU.js 2.91 kB │ gzip: 1.17 kB
.svelte-kit/output/client/_app/immutable/chunks/BMPgl13w2.js 2.92 kB │ gzip: 1.56 kB
.svelte-kit/output/client/_app/immutable/chunks/DUomE8be2.js 2.93 kB │ gzip: 1.40 kB
.svelte-kit/output/client/_app/immutable/chunks/CHqNFmDz.js 3.00 kB │ gzip: 1.34 kB
.svelte-kit/output/client/_app/immutable/chunks/BKkXpckC2.js 3.03 kB │ gzip: 1.57 kB
.svelte-kit/output/client/_app/immutable/chunks/x6LbBGRp2.js 3.18 kB │ gzip: 1.63 kB
.svelte-kit/output/client/_app/immutable/chunks/BM13hmH2.js 3.23 kB │ gzip: 1.50 kB
.svelte-kit/output/client/_app/immutable/chunks/EpAgF1do.js 3.27 kB │ gzip: 1.64 kB
.svelte-kit/output/client/_app/immutable/chunks/B_wH5sZi.js 3.33 kB │ gzip: 1.73 kB
.svelte-kit/output/client/_app/immutable/chunks/DM6I-JsI.js 3.36 kB │ gzip: 1.61 kB
.svelte-kit/output/client/_app/immutable/chunks/DUIDkN5S2.js 3.40 kB │ gzip: 1.60 kB
.svelte-kit/output/client/_app/immutable/chunks/v008ebUs.js 3.41 kB │ gzip: 1.28 kB
.svelte-kit/output/client/_app/immutable/chunks/B_gNy9HF.js 3.48 kB │ gzip: 0.98 kB
.svelte-kit/output/client/_app/immutable/chunks/CSchZxb92.js 3.51 kB │ gzip: 1.49 kB
.svelte-kit/output/client/_app/immutable/chunks/-DwIe2hv2.js 3.52 kB │ gzip: 1.76 kB
.svelte-kit/output/client/_app/immutable/chunks/BD2OTgFx.js 3.53 kB │ gzip: 1.89 kB
.svelte-kit/output/client/_app/immutable/chunks/BFQx8m7z2.js 3.67 kB │ gzip: 1.70 kB
.svelte-kit/output/client/_app/immutable/nodes/18.BKDnZRiB.js 3.74 kB │ gzip: 1.68 kB
.svelte-kit/output/client/_app/immutable/chunks/C_vt40FB2.js 3.74 kB │ gzip: 1.67 kB
.svelte-kit/output/client/_app/immutable/chunks/CIJDVfrN.js 3.80 kB │ gzip: 1.80 kB
.svelte-kit/output/client/_app/immutable/chunks/CzUerz4U.js 3.81 kB │ gzip: 0.77 kB
.svelte-kit/output/client/_app/immutable/chunks/D7QwzSgo2.js 3.86 kB │ gzip: 1.51 kB
.svelte-kit/output/client/_app/immutable/chunks/BkFwD0_h.js 3.94 kB │ gzip: 1.96 kB
.svelte-kit/output/client/_app/immutable/nodes/10.lN6Xik0K.js 3.95 kB │ gzip: 1.73 kB
.svelte-kit/output/client/_app/immutable/chunks/CDsfybpi.js 4.06 kB │ gzip: 2.03 kB
.svelte-kit/output/client/_app/immutable/chunks/BiV9yRhJ2.js 4.08 kB │ gzip: 1.89 kB
.svelte-kit/output/client/_app/immutable/chunks/C4Csj6Tn2.js 4.10 kB │ gzip: 1.47 kB
.svelte-kit/output/client/_app/immutable/chunks/DGnZtwou.js 4.10 kB │ gzip: 1.78 kB
.svelte-kit/output/client/_app/immutable/chunks/Dr3L4WAj.js 4.14 kB │ gzip: 0.92 kB
.svelte-kit/output/client/_app/immutable/chunks/CoL6et_4.js 4.17 kB │ gzip: 1.87 kB
.svelte-kit/output/client/_app/immutable/chunks/BVZyy9Y42.js 4.18 kB │ gzip: 1.24 kB
.svelte-kit/output/client/_app/immutable/chunks/DOyZarO9.js 4.21 kB │ gzip: 2.05 kB
.svelte-kit/output/client/_app/immutable/chunks/B_pOXNAK.js 4.21 kB │ gzip: 1.55 kB
.svelte-kit/output/client/_app/immutable/chunks/DOzXsZ-T.js 4.46 kB │ gzip: 1.66 kB
.svelte-kit/output/client/_app/immutable/chunks/TlYF27rX.js 4.60 kB │ gzip: 1.80 kB
.svelte-kit/output/client/_app/immutable/chunks/D_QfLBfi2.js 4.61 kB │ gzip: 2.11 kB
.svelte-kit/output/client/_app/immutable/chunks/CAQU2j5w.js 4.84 kB │ gzip: 2.43 kB
.svelte-kit/output/client/_app/immutable/chunks/pvJUBorz2.js 4.91 kB │ gzip: 2.32 kB
.svelte-kit/output/client/_app/immutable/chunks/Xi2tMmcp.js 4.95 kB │ gzip: 2.40 kB
.svelte-kit/output/client/_app/immutable/chunks/FQ4wJXGZ2.js 4.99 kB │ gzip: 2.44 kB
.svelte-kit/output/client/_app/immutable/chunks/BBk1J6JG.js 4.99 kB │ gzip: 1.11 kB
.svelte-kit/output/client/_app/immutable/nodes/16.SLAm6phn.js 5.01 kB │ gzip: 2.14 kB
.svelte-kit/output/client/_app/immutable/chunks/COPlayH4.js 5.05 kB │ gzip: 1.36 kB
.svelte-kit/output/client/_app/immutable/chunks/-aVwLf1-.js 5.07 kB │ gzip: 1.95 kB
.svelte-kit/output/client/_app/immutable/chunks/dJCmENMz2.js 5.08 kB │ gzip: 2.25 kB
.svelte-kit/output/client/_app/immutable/chunks/Bbu1azlP.js 5.31 kB │ gzip: 2.40 kB
.svelte-kit/output/client/_app/immutable/entry/app.CO2qJAit.js 5.36 kB │ gzip: 1.96 kB
.svelte-kit/output/client/_app/immutable/chunks/CDxelkDw2.js 5.36 kB │ gzip: 2.51 kB
.svelte-kit/output/client/_app/immutable/chunks/V_l9RowQ2.js 5.44 kB │ gzip: 2.56 kB
.svelte-kit/output/client/_app/immutable/chunks/DzPX_imw2.js 5.45 kB │ gzip: 2.08 kB
.svelte-kit/output/client/_app/immutable/nodes/13.C0BCbdDL.js 5.54 kB │ gzip: 2.38 kB
.svelte-kit/output/client/_app/immutable/chunks/QOHgUTJK2.js 5.74 kB │ gzip: 2.54 kB
.svelte-kit/output/client/_app/immutable/chunks/DM8YEilg.js 5.79 kB │ gzip: 2.46 kB
.svelte-kit/output/client/_app/immutable/chunks/NyhI6VhP.js 5.79 kB │ gzip: 2.89 kB
.svelte-kit/output/client/_app/immutable/chunks/B_vfXawr.js 5.83 kB │ gzip: 1.44 kB
.svelte-kit/output/client/_app/immutable/chunks/BicC-dmR2.js 6.04 kB │ gzip: 2.62 kB
.svelte-kit/output/client/_app/immutable/chunks/CstkXR3D.js 6.06 kB │ gzip: 1.86 kB
.svelte-kit/output/client/_app/immutable/chunks/BN2_plCo.js 6.16 kB │ gzip: 1.76 kB
.svelte-kit/output/client/_app/immutable/chunks/COGsDTby.js 6.40 kB │ gzip: 2.10 kB
.svelte-kit/output/client/_app/immutable/nodes/14.kzhYGiie.js 6.43 kB │ gzip: 2.64 kB
.svelte-kit/output/client/_app/immutable/chunks/DMAhuHIM.js 6.43 kB │ gzip: 2.42 kB
.svelte-kit/output/client/_app/immutable/chunks/BvmGBWsM2.js 6.43 kB │ gzip: 3.13 kB
.svelte-kit/output/client/_app/immutable/chunks/Ce8hd0_U2.js 6.44 kB │ gzip: 1.67 kB
.svelte-kit/output/client/_app/immutable/chunks/DxqMbYIV.js 6.46 kB │ gzip: 0.96 kB
.svelte-kit/output/client/_app/immutable/chunks/B3Ajvp6k.js 6.49 kB │ gzip: 1.85 kB
.svelte-kit/output/client/_app/immutable/chunks/BOm-CIpu2.js 6.56 kB │ gzip: 2.87 kB
.svelte-kit/output/client/_app/immutable/nodes/12.Vg1ynGpc.js 7.01 kB │ gzip: 2.76 kB
.svelte-kit/output/client/_app/immutable/chunks/DJ500s4f2.js 7.02 kB │ gzip: 2.43 kB
.svelte-kit/output/client/_app/immutable/chunks/BmPMefeV.js 7.15 kB │ gzip: 2.31 kB
.svelte-kit/output/client/_app/immutable/chunks/1QRfscSe2.js 7.18 kB │ gzip: 3.07 kB
.svelte-kit/output/client/_app/immutable/chunks/7wtli9SS.js 7.23 kB │ gzip: 2.79 kB
.svelte-kit/output/client/_app/immutable/chunks/Dnei0oEz.js 7.62 kB │ gzip: 3.17 kB
.svelte-kit/output/client/_app/immutable/nodes/3.B_kqzRK9.js 7.74 kB │ gzip: 1.56 kB
.svelte-kit/output/client/_app/immutable/chunks/Bl5ABV9i2.js 8.04 kB │ gzip: 3.80 kB
.svelte-kit/output/client/_app/immutable/chunks/Cq20PEqE2.js 8.34 kB │ gzip: 4.05 kB
.svelte-kit/output/client/_app/immutable/nodes/11.VQi8bleP.js 8.37 kB │ gzip: 3.16 kB
.svelte-kit/output/client/_app/immutable/chunks/BaMPgUhB2.js 8.70 kB │ gzip: 3.26 kB
.svelte-kit/output/client/_app/immutable/chunks/CjibXQd92.js 8.84 kB │ gzip: 4.18 kB
.svelte-kit/output/client/_app/immutable/chunks/Ddc-mAnp.js 8.98 kB │ gzip: 2.94 kB
.svelte-kit/output/client/_app/immutable/chunks/NwWDnbzz.js 9.23 kB │ gzip: 3.06 kB
.svelte-kit/output/client/_app/immutable/chunks/pqp0Zf_e2.js 9.48 kB │ gzip: 3.46 kB
.svelte-kit/output/client/_app/immutable/nodes/17.CeQgb7qD.js 9.50 kB │ gzip: 3.86 kB
.svelte-kit/output/client/_app/immutable/chunks/DqdkXeTA.js 9.70 kB │ gzip: 1.87 kB
.svelte-kit/output/client/_app/immutable/chunks/DZadj5h5.js 10.78 kB │ gzip: 3.35 kB
.svelte-kit/output/client/_app/immutable/chunks/DCL9At0o2.js 11.57 kB │ gzip: 2.55 kB
.svelte-kit/output/client/_app/immutable/chunks/DoOwKGlH.js 12.13 kB │ gzip: 1.78 kB
.svelte-kit/output/client/_app/immutable/chunks/CwMzlk-0.js 13.17 kB │ gzip: 2.59 kB
.svelte-kit/output/client/_app/immutable/chunks/yBD7d_jl.js 13.69 kB │ gzip: 5.50 kB
.svelte-kit/output/client/_app/immutable/chunks/BkZP5GnY2.js 14.79 kB │ gzip: 4.33 kB
.svelte-kit/output/client/_app/immutable/chunks/ONSzE-7z.js 16.30 kB │ gzip: 4.92 kB
.svelte-kit/output/client/_app/immutable/chunks/pyxhEEZ-2.js 19.50 kB │ gzip: 6.08 kB
.svelte-kit/output/client/_app/immutable/chunks/CDkZYixA2.js 20.69 kB │ gzip: 3.69 kB
.svelte-kit/output/client/_app/immutable/chunks/DvIu-pNU2.js 20.88 kB │ gzip: 5.56 kB
.svelte-kit/output/client/_app/immutable/chunks/Cs24W-XO2.js 21.15 kB │ gzip: 7.91 kB
.svelte-kit/output/client/_app/immutable/chunks/C2TmQiLM2.js 23.80 kB │ gzip: 3.82 kB
.svelte-kit/output/client/_app/immutable/nodes/5.Q0OfXd-1.js 25.84 kB │ gzip: 8.23 kB
.svelte-kit/output/client/_app/immutable/chunks/Bu4Grnl0.js 26.10 kB │ gzip: 10.27 kB
.svelte-kit/output/client/_app/immutable/chunks/DdqY4k8O.js 27.44 kB │ gzip: 10.71 kB
.svelte-kit/output/client/_app/immutable/nodes/15.CIZeFco2.js 37.00 kB │ gzip: 11.89 kB
.svelte-kit/output/client/_app/immutable/chunks/DBlbJLPQ.js 37.18 kB │ gzip: 11.75 kB
.svelte-kit/output/client/_app/immutable/nodes/7.BVJ-l9i4.js 43.29 kB │ gzip: 13.23 kB
.svelte-kit/output/client/_app/immutable/chunks/B4EkasRV2.js 44.66 kB │ gzip: 8.00 kB
.svelte-kit/output/client/_app/immutable/chunks/j-Ks6fqx.js 57.39 kB │ gzip: 22.07 kB
.svelte-kit/output/client/_app/immutable/chunks/Cw5HN-0D.js 60.32 kB │ gzip: 14.32 kB
.svelte-kit/output/client/_app/immutable/nodes/6.BfrH7BTJ.js 67.65 kB │ gzip: 23.14 kB
.svelte-kit/output/client/_app/immutable/chunks/BxpaEZNr2.js 77.42 kB │ gzip: 19.82 kB
.svelte-kit/output/client/_app/immutable/chunks/C3kiVM6g2.js 88.77 kB │ gzip: 19.15 kB
.svelte-kit/output/client/_app/immutable/chunks/CpActW642.js 101.42 kB │ gzip: 17.76 kB
.svelte-kit/output/client/_app/immutable/chunks/Bkh6_AxQ.js 118.73 kB │ gzip: 26.30 kB
.svelte-kit/output/client/_app/immutable/nodes/0.BfIcHl4R.js 132.48 kB │ gzip: 39.35 kB

✓ built in 26.78s
computing gzip size...
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-400-normal.B4SlG4wx.woff2 18.33 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-700-normal.BfTu9YAt.woff2 18.72 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-600-normal.vJ8oEdKU.woff2 18.77 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-400-italic.BJbyz_Tg.woff2 19.10 kB
.svelte-kit/output/server/_app/immutable/assets/raleway-latin-400-normal.C5eIEfLm.woff2 22.40 kB
.svelte-kit/output/server/_app/immutable/assets/raleway-latin-400-normal.sMcq1OIP.woff 22.46 kB
.svelte-kit/output/server/_app/immutable/assets/raleway-latin-700-normal.BVpQLp0x.woff2 22.69 kB
.svelte-kit/output/server/_app/immutable/assets/raleway-latin-700-normal.JVwBSLev.woff 22.80 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-400-normal.BzhyrSeK.woff 22.93 kB
.svelte-kit/output/server/_app/immutable/assets/fira-code-latin-700-normal.aa0XcSUK.woff2 23.04 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-700-normal.CnzwvVon.woff 23.24 kB
.svelte-kit/output/server/_app/immutable/assets/fira-code-latin-400-normal.DGosTW8U.woff2 23.31 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-600-normal.Ca4fy0Cf.woff 23.36 kB
.svelte-kit/output/server/_app/immutable/assets/inter-latin-400-normal.C38fXH4l.woff2 23.66 kB
.svelte-kit/output/server/_app/immutable/assets/crimson-pro-latin-400-italic.iL-nM4zC.woff 24.06 kB
.svelte-kit/output/server/_app/immutable/assets/inter-latin-700-normal.Yt3aPRUw.woff2 24.35 kB
.svelte-kit/output/server/_app/immutable/assets/inter-latin-600-normal.LgqL8muc.woff2 24.45 kB
.svelte-kit/output/server/_app/immutable/assets/fira-code-latin-700-normal.CbIf1Tvd.woff 29.61 kB
.svelte-kit/output/server/_app/immutable/assets/fira-code-latin-400-normal.C-QZfXAs.woff 29.83 kB
.svelte-kit/output/server/_app/immutable/assets/inter-latin-400-normal.CyCys3Eg.woff 30.69 kB
.svelte-kit/output/server/_app/immutable/assets/inter-latin-600-normal.CiBQ2DWP.woff 31.26 kB
.svelte-kit/output/server/_app/immutable/assets/inter-latin-700-normal.BLAVimhd.woff 31.32 kB
.svelte-kit/output/server/.vite/manifest.json 132.83 kB │ gzip: 14.77 kB
.svelte-kit/output/server/_app/immutable/assets/_page.HXAc8rtH.css 0.30 kB │ gzip: 0.19 kB
.svelte-kit/output/server/_app/immutable/assets/_page.Cku-eowB.css 0.39 kB │ gzip: 0.23 kB
.svelte-kit/output/server/_app/immutable/assets/activitypub-demo.CaZ5mIrs.css 0.53 kB │ gzip: 0.25 kB
.svelte-kit/output/server/_app/immutable/assets/_page.Ddapjm53.css 1.42 kB │ gzip: 0.49 kB
.svelte-kit/output/server/_app/immutable/assets/_page.DasBioKb.css 1.66 kB │ gzip: 0.53 kB
.svelte-kit/output/server/_app/immutable/assets/_layout.Bj5dXupO.css 199.90 kB │ gzip: 23.61 kB
.svelte-kit/output/server/entries/pages/_layout.ts.js 0.08 kB │ gzip: 0.09 kB
.svelte-kit/output/server/entries/pages/cv/_page.ts.js 0.09 kB │ gzip: 0.09 kB
.svelte-kit/output/server/entries/pages/pulse/lab/_page.ts.js 0.12 kB │ gzip: 0.12 kB
.svelte-kit/output/server/entries/pages/pulse/client/_page.ts.js 0.12 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2017-04-04-603.js 0.12 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-04-27-oes.js 0.12 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-03-23-1607.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-06-24-1768.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-06-24-1820.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-07-11-1784.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-09-06-1984.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2021-11-30-2393.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2020-04-02-ppe-me.js 0.13 kB │ gzip: 0.11 kB
.svelte-kit/output/server/chunks/2024-01-02-accuwix.js 0.14 kB │ gzip: 0.12 kB
.svelte-kit/output/server/entries/pages/pulse/client/brokered-stream/_page.ts.js 0.14 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2017-05-07-mega-langdon.js 0.15 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2023-11-27-turkey-probe.js 0.15 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2016-12-13-waxwing-audio.js 0.15 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2020-06-29-osselc-monday.js 0.15 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2022-05-23-this-and-that.js 0.15 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2017-07-25-mpcnc-it-moves.js 0.16 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2018-05-31-solar-upgrades.js 0.16 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2020-06-04-prius-printers.js 0.16 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2020-07-15-this-that-7-15.js 0.16 kB │ gzip: 0.12 kB
.svelte-kit/output/server/chunks/2017-05-17-rugby-morning-2.js 0.16 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2017-05-03-the-big-len-list.js 0.16 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2020-04-09-convert-heic-png.js 0.16 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2016-12-13-the-audeasy-build.js 0.17 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2017-05-18-rugby-morning-3-6.js 0.17 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2026-05-29-gingersnap-cookies2.js 0.17 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2016-12-13-example-photo-work.js 0.17 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2019-07-05-summer-2019-update.js 0.17 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2020-08-23-purple-prius-parts.js 0.17 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2019-10-30-qemu-for-raspian-arm.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/entries/endpoints/healthz/_server.ts.js 0.18 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2016-12-13-required-custom-tools.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2020-04-05-dm-shields-fusion-360.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2020-10-28-evening-metal-9-14-20.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2021-04-23-morning-metal-4-22-21.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2024-12-31-ligature-test-fixture.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2026-03-12-updated-resume-and-cv.js 0.18 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2026-06-08-glue-you-can-see-in-uv2.js 0.18 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-05-07-hunting-for-trees-birds.js 0.18 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-05-23-birding-at-plumb-island.js 0.18 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2020-03-17-when-it-must-be-windows.js 0.18 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-05-24-840-watts-of-solar-power.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2020-05-18-while-at-a-safe-distance.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2020-06-14-the-ebird-api-regioncode.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2026-04-28-darwin-nic-docs-are-live.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-03-13-sit-spot-n-1-the-gho-talk.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-03-13-pages-fresh-from-the-book.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-03-02-wolf-pine-fox-park-2-22717.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-05-12-wolf-pine-fox-park-silence.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-03-08-how-to-make-a-aws-r-server.js 0.19 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2019-05-01-succession-warblers-and-gis.js 0.20 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-04-10-intro-to-the-aws-cloud-9-ide.js 0.20 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-07-28-shiny-app-specific-repo-live.js 0.20 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2021-01-23-chindogu-ascii-art-i-suppose.js 0.20 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2022-01-01-datasets-plots-graphs-charts.js 0.20 kB │ gzip: 0.13 kB
.svelte-kit/output/server/chunks/2016-12-15-diy-electrostatic-amp-options.js 0.20 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2016-12-14-opportunistic-birding-14122016.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-05-02-langdon-woods-with-kurt-plants.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-05-31-research-year-two-three-photos.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-07-27-new-app-kml-search-and-convert.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2020-09-05-kvm-does-fruit-xcode-from-qemu.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2021-03-18-bits-bobs-mushstools-toadrooms.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-07-27-gallery-of-warblers-in-the-hand.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2019-04-18-warbler-trillers-of-the-charles.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2022-05-15-running-cornells-dla-makerspace.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-05-08-new-business-site-up-and-running.js 0.21 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2018-09-12-github-update-9-12-18-shiny-apps.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2017-05-04-fox-park-to-langdon-morning-birds.js 0.21 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2018-09-01-early-hardware-and-maker-projects.js 0.21 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2018-11-25-deploy-shiny-r-apps-along-node-js.js 0.21 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2019-03-10-querying-kml-data-with-qgis-and-r.js 0.21 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2021-02-17-tmpui-the-merlin-sound-id-project.js 0.21 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2023-03-01-fusion-360-for-3d-printing-w-jess.js 0.21 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2016-12-15-building-electrostatic-earspeakers.js 0.22 kB │ gzip: 0.14 kB
.svelte-kit/output/server/chunks/2019-08-04-persistent-live-ubuntu-for-college.js 0.22 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2016-12-15-beta-how-to-build-the-phone-charger.js 0.22 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-04-19-fox-park-18-41917-in-class-roamings.js 0.22 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2018-04-18-signs-of-thoughts-of-possible-spring.js 0.22 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-04-11-bird-observations-today-langdon-woods.js 0.23 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2020-07-23-ever-tried-to-chrome-remote-ubuntu-xd.js 0.23 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2026-03-04-week-notes-cyborgs-servers-and-sending.js 0.23 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-02-20-wolf-pine-fox-park-1-bonus-winter-birds.js 0.23 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-03-04-wolf-pine-fox-park-3-3317-noon-ish-time.js 0.23 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-03-05-wolf-pine-fox-park-4-3517-noon-ish-time.js 0.23 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-05-04-early-morning-guitar-session-ala-laundry.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2018-06-25-off-grid-file-sharing-with-samba-gl-inet.js 0.24 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2022-02-06-makerspace-financial-reporting-w-ipython.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-04-08-pt-2-reflecting-on-stunt-culture-scooters.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-05-08-pre-dawn-fox-park-lot-walk-birding-by-ear.js 0.24 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-04-05-using-esri-arcgis-arcmap-in-the-aws-cloud.js 0.24 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2020-10-28-asynchronous-http-methods-from-typescript.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2026-04-25-reproducible-host-probes-nix-chapel-dhall.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2024-02-22-i-wrote-a-mutual-aid-mental-health-service.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-03-20-boutique-everything-when-the-hobby-grows-up.js 0.24 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-04-12-fox-park-14-41017-1-if-by-land-16-if-by-ear.js 0.24 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-04-12-fox-park-15-41217-1-if-by-land-17-if-by-ear.js 0.24 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-11-05-recycled-personal-cloud-computing-under-nat.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2019-02-20-installing-chapel-language-on-mac-and-linux.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2026-05-03-was110-fidium-gonetspeed-omci-personalities.js 0.24 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2017-03-12-wolf-pine-fox-park-7-31217-surprise-its-cold.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-07-03-birding-beyond-binos-bird-apps-and-the-guide.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-03-19-ebpp-my-epic-birding-prediction-project-in-r.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2020-04-25-install-adobe-applications-on-aws-workspaces.js 0.25 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2024-05-22-what-have-i-been-up-to-these-last-few-months.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2026-03-21-week-notes-indeterminism-passkeys-and-spring.js 0.25 kB │ gzip: 0.15 kB
.svelte-kit/output/server/chunks/2026-06-08-week-notes-scroll-wheels-and-chasing-the-sun.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-04-03-using-esri-arcgis-arcmap-on-mac-osx-2-methods.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/entries/pages/pulse/_page.ts.js 0.25 kB │ gzip: 0.19 kB
.svelte-kit/output/server/chunks/2019-04-15-open-source-collaboration-and-higher-education.js 0.25 kB │ gzip: 0.16 kB
.svelte-kit/output/server/entries/pages/music/page.ts.js 0.25 kB │ gzip: 0.20 kB
.svelte-kit/output/server/chunks/2017-07-27-gallery-of-my-proper-photos-nh-warbler-research.js 0.26 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-09-12-quick-fix-254-character-limit-in-esri-story-map.js 0.26 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-04-17-fox-park-16-and-17-41617big-toad-small-vireo-yay.js 0.26 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2019-03-21-notes-on-a-free-and-open-source-notes-app-joplin.js 0.26 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2019-10-07-gdal-for-gis-on-unix-using-a-mac-or-better-linux.js 0.26 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2020-12-23-a-boilerplate-for-flask-react-typescript-mongodb.js 0.26 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-03-31-parking-lotsit-spot-fox-park-10-33117-whoos-clues.js 0.26 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-07-16-deploy-a-shiny-web-app-in-r-using-aws-ec2-red-hat.js 0.26 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2016-12-21-develop-limitless-habitual-soithen_soicould
-ethos.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-03-28-wolf-pine-fox-park-9-32617-everyone-is-on-vacation.js 0.27 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2018-05-28-gathering-point-data-using-compass-55-on-apple-ios.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2026-02-26-aperture-tagged-devices-and-the-tsnet-escape-hatch.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2026-05-11-trashmonitor-tailnet-window-into-the-hardware-pile.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2018-06-10-how-to-query-kml-point-data-as-csv-using-qgis-and-r.js 0.27 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2026-04-30-small-zig-libraries-for-apple-shaped-escape-hatches.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-03-30-beaver-dam-quincy-bog-1-33017-the-world-has-gone-mad.js 0.27 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2019-09-30-decentralized-pi-video-monitoring-w-motioneye-batman.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2021-01-02-naive-shenanigans-measuring-distance-to-roi-w-opencv.js 0.27 kB │ gzip: 0.16 kB
.svelte-kit/output/server/chunks/2017-04-08-pt-1-reflecting-on-stunt-culture-theories-and-frisbee.js 0.27 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2017-05-05-new-photopromotional-media-business-pages-in-the-works.js 0.28 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2026-06-09-clearing-canon-5b00-lock-native-key-free-megatank-reset.js 0.28 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2017-04-20-addendum-to-secret-beach-area-natural-history-class-walk.js 0.28 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2016-12-16-music-sketches-2-rethinking-funtwos-guitar-tone-discipline.js 0.29 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2017-03-17-wolf-pine-fox-park-8-31617-someone-bumped-the-snow-machine.js 0.29 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2018-07-23-gdal-for-r-server-on-ubuntu-kml-spatial-libraries-and-more.js 0.29 kB │ gzip: 0.17 kB
.svelte-kit/output/server/chunks/2018-06-24-how-to-generate-convex-hull-polygons-and-centroids-from-kml.js 0.29 kB │ gzip: 0.17 kB
.svelte-kit/output/server/entries/pages/about/_page.ts.js 0.29 kB │ gzip: 0.21 kB
.svelte-kit/output/server/chunks/2016-12-15-music-sketches-1-playing-with-rhythm-division-and-jazzy-chords.js 0.30 kB │ gzip: 0.18 kB
.svelte-kit/output/server/chunks/2017-03-11-wolf-pine-fox-park-6-31017-theoretical-owls-and-real-tree-bark.js 0.30 kB │ gzip: 0.18 kB
.svelte-kit/output/server/chunks/2017-04-03-parking-lotsit-spot-fox-park-12-4317-owling-2-hours-before-sunrise.js 0.31 kB │ gzip: 0.18 kB
.svelte-kit/output/server/chunks/2026-03-04-xram-injection-bypassing-usb-bridge-whitelists-to-recover-nvme-drives.js 0.32 kB │ gzip: 0.18 kB
.svelte-kit/output/server/chunks/2026-03-04-from-bricked-to-recovered-the-story-of-hacking-an-nvme-ssd-back-to-life.js 0.33 kB │ gzip: 0.18 kB
.svelte-kit/output/server/chunks/2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.js 0.33 kB │ gzip: 0.19 kB
.svelte-kit/output/server/entries/pages/blog/_page.ts.js 0.34 kB │ gzip: 0.21 kB
.svelte-kit/output/server/chunks/2017-04-02-wolf-pine-fox-park-10-4117-it-is-a-snow-show-debunking-the-melanistic-dogamount.js 0.35 kB │ gzip: 0.20 kB
.svelte-kit/output/server/chunks/2023-12-18-lets-write-a-simple-efficient-and-fast-flask-based-image-server-in-an-afternoon.js 0.35 kB │ gzip: 0.19 kB
.svelte-kit/output/server/chunks/chunk.js 0.36 kB │ gzip: 0.25 kB
.svelte-kit/output/server/entries/pages/blog/tag/tag/_page.ts.js 0.37 kB │ gzip: 0.25 kB
.svelte-kit/output/server/internal.js 0.40 kB │ gzip: 0.19 kB
.svelte-kit/output/server/entries/pages/photography/_page.ts.js 0.42 kB │ gzip: 0.29 kB
.svelte-kit/output/server/chunks/types.js 0.47 kB │ gzip: 0.31 kB
.svelte-kit/output/server/entries/pages/_page.svelte.js 0.53 kB │ gzip: 0.36 kB
.svelte-kit/output/server/entries/pages/consultancy/_page.svelte.js 0.54 kB │ gzip: 0.36 kB
.svelte-kit/output/server/entries/endpoints/.well-known/webfinger/_server.ts.js 0.85 kB │ gzip: 0.51 kB
.svelte-kit/output/server/entries/pages/_error.svelte.js 0.98 kB │ gzip: 0.53 kB
.svelte-kit/output/server/entries/endpoints/sitemap.xml/_server.ts.js 1.05 kB │ gzip: 0.61 kB
.svelte-kit/output/server/chunks/2017-04-04-6032.js 1.10 kB │ gzip: 0.60 kB
.svelte-kit/output/server/chunks/blog-publication-holds.js 1.13 kB │ gzip: 0.58 kB
.svelte-kit/output/server/entries/endpoints/feed.json/_server.ts.js 1.22 kB │ gzip: 0.67 kB
.svelte-kit/output/server/chunks/2016-12-13-the-audeasy-build2.js 1.27 kB │ gzip: 0.62 kB
.svelte-kit/output/server/chunks/2016-12-15-diy-electrostatic-amp-options2.js 1.29 kB │ gzip: 0.60 kB
.svelte-kit/output/server/chunks/environment.js 1.31 kB │ gzip: 0.57 kB
.svelte-kit/output/server/chunks/2021-04-23-morning-metal-4-22-212.js 1.31 kB │ gzip: 0.65 kB
.svelte-kit/output/server/chunks/2020-06-29-osselc-monday2.js 1.45 kB │ gzip: 0.77 kB
.svelte-kit/output/server/chunks/2020-10-28-evening-metal-9-14-202.js 1.45 kB │ gzip: 0.71 kB
.svelte-kit/output/server/chunks/2018-03-13-pages-fresh-from-the-book2.js 1.45 kB │ gzip: 0.71 kB
.svelte-kit/output/server/chunks/2018-06-24-how-to-generate-convex-hull-polygons-and-centroids-from-kml2.js 1.49 kB │ gzip: 0.63 kB
.svelte-kit/output/server/chunks/2016-12-15-building-electrostatic-earspeakers2.js 1.50 kB │ gzip: 0.66 kB
.svelte-kit/output/server/chunks/2017-05-12-wolf-pine-fox-park-silence2.js 1.53 kB │ gzip: 0.75 kB
.svelte-kit/output/server/chunks/2017-05-05-new-photopromotional-media-business-pages-in-the-works2.js 1.57 kB │ gzip: 0.63 kB
.svelte-kit/output/server/chunks/2018-05-28-gathering-point-data-using-compass-55-on-apple-ios2.js 1.62 kB │ gzip: 0.72 kB
.svelte-kit/output/server/entries/endpoints/feed.xml/_server.ts.js 1.64 kB │ gzip: 0.85 kB
.svelte-kit/output/server/chunks/posts.js 1.65 kB │ gzip: 0.65 kB
.svelte-kit/output/server/chunks/2017-05-18-rugby-morning-3-62.js 1.70 kB │ gzip: 0.74 kB
.svelte-kit/output/server/chunks/2018-03-19-ebpp-my-epic-birding-prediction-project-in-r2.js 1.71 kB │ gzip: 0.71 kB
.svelte-kit/output/server/chunks/load.js 1.78 kB │ gzip: 0.70 kB
.svelte-kit/output/server/chunks/2017-05-04-early-morning-guitar-session-ala-laundry2.js 1.78 kB │ gzip: 0.83 kB
.svelte-kit/output/server/chunks/2018-09-12-github-update-9-12-18-shiny-apps2.js 1.79 kB │ gzip: 0.82 kB
.svelte-kit/output/server/chunks/2020-08-23-purple-prius-parts2.js 1.80 kB │ gzip: 0.86 kB
.svelte-kit/output/server/chunks/2018-07-27-new-app-kml-search-and-convert2.js 1.82 kB │ gzip: 0.91 kB
.svelte-kit/output/server/chunks/2017-05-08-new-business-site-up-and-running2.js 1.84 kB │ gzip: 0.78 kB
.svelte-kit/output/server/chunks/2018-06-25-off-grid-file-sharing-with-samba-gl-inet2.js 1.86 kB │ gzip: 0.91 kB
.svelte-kit/output/server/chunks/2017-04-12-fox-park-14-41017-1-if-by-land-16-if-by-ear2.js 1.86 kB │ gzip: 0.85 kB
.svelte-kit/output/server/chunks/2020-04-02-ppe-me2.js 1.92 kB │ gzip: 0.83 kB
.svelte-kit/output/server/chunks/2016-12-13-waxwing-audio2.js 1.95 kB │ gzip: 0.98 kB
.svelte-kit/output/server/chunks/2020-04-05-dm-shields-fusion-3602.js 1.98 kB │ gzip: 0.99 kB
.svelte-kit/output/server/chunks/2020-05-18-while-at-a-safe-distance2.js 2.01 kB │ gzip: 1.04 kB
.svelte-kit/output/server/chunks/2018-07-28-shiny-app-specific-repo-live2.js 2.06 kB │ gzip: 0.91 kB
.svelte-kit/output/server/chunks/2017-04-12-fox-park-15-41217-1-if-by-land-17-if-by-ear2.js 2.06 kB │ gzip: 0.95 kB
.svelte-kit/output/server/entries/endpoints/blog/tag/tag/feed.xml/_server.ts.js 2.07 kB │ gzip: 0.97 kB
.svelte-kit/output/server/chunks/2017-05-03-the-big-len-list2.js 2.08 kB │ gzip: 1.05 kB
.svelte-kit/output/server/chunks/2026-06-08-week-notes-scroll-wheels-and-chasing-the-sun2.js 2.11 kB │ gzip: 1.05 kB
.svelte-kit/output/server/chunks/2017-05-08-pre-dawn-fox-park-lot-walk-birding-by-ear2.js 2.23 kB │ gzip: 0.93 kB
.svelte-kit/output/server/chunks/2016-12-15-music-sketches-1-playing-with-rhythm-division-and-jazzy-chords2.js 2.24 kB │ gzip: 0.95 kB
.svelte-kit/output/server/chunks/2018-04-18-signs-of-thoughts-of-possible-spring2.js 2.26 kB │ gzip: 0.82 kB
.svelte-kit/output/server/chunks/2023-11-27-turkey-probe2.js 2.28 kB │ gzip: 0.99 kB
.svelte-kit/output/server/chunks/2022-01-01-datasets-plots-graphs-charts2.js 2.29 kB │ gzip: 1.00 kB
.svelte-kit/output/server/chunks/2023-03-01-fusion-360-for-3d-printing-w-jess2.js 2.38 kB │ gzip: 1.16 kB
.svelte-kit/output/server/chunks/2017-07-25-mpcnc-it-moves2.js 2.38 kB │ gzip: 1.00 kB
.svelte-kit/output/server/chunks/2020-04-25-install-adobe-applications-on-aws-workspaces2.js 2.40 kB │ gzip: 1.11 kB
.svelte-kit/output/server/entries/pages/aag/_page.svelte.js 2.44 kB │ gzip: 1.00 kB
.svelte-kit/output/server/entries/pages/blog/tag/tag/page.svelte.js 2.57 kB │ gzip: 1.00 kB
.svelte-kit/output/server/chunks/2017-05-04-fox-park-to-langdon-morning-birds2.js 2.57 kB │ gzip: 1.14 kB
.svelte-kit/output/server/chunks/2020-06-04-prius-printers2.js 2.57 kB │ gzip: 1.03 kB
.svelte-kit/output/server/chunks/2020-07-15-this-that-7-152.js 2.60 kB │ gzip: 1.29 kB
.svelte-kit/output/server/chunks/2018-05-23-birding-at-plumb-island2.js 2.65 kB │ gzip: 0.95 kB
.svelte-kit/output/server/chunks/2017-04-19-fox-park-18-41917-in-class-roamings2.js 2.72 kB │ gzip: 1.32 kB
.svelte-kit/output/server/chunks/2022-05-15-running-cornells-dla-makerspace2.js 2.78 kB │ gzip: 1.21 kB
.svelte-kit/output/server/chunks/2018-09-12-quick-fix-254-character-limit-in-esri-story-map2.js 2.79 kB │ gzip: 1.17 kB
.svelte-kit/output/server/chunks/2017-03-17-wolf-pine-fox-park-8-31617-someone-bumped-the-snow-machine2.js 2.82 kB │ gzip: 1.35 kB
.svelte-kit/output/server/chunks/2018-04-05-using-esri-arcgis-arcmap-in-the-aws-cloud2.js 2.84 kB │ gzip: 1.36 kB
.svelte-kit/output/server/chunks/2017-03-12-wolf-pine-fox-park-7-31217-surprise-its-cold2.js 2.89 kB │ gzip: 1.40 kB
.svelte-kit/output/server/chunks/2018-05-31-solar-upgrades2.js 2.98 kB │ gzip: 1.28 kB
.svelte-kit/output/server/chunks/2017-07-27-gallery-of-warblers-in-the-hand2.js 2.99 kB │ gzip: 0.80 kB
.svelte-kit/output/server/chunks/2024-02-22-i-wrote-a-mutual-aid-mental-health-service2.js 3.13 kB │ gzip: 1.39 kB
.svelte-kit/output/server/chunks/2017-04-20-addendum-to-secret-beach-area-natural-history-class-walk2.js 3.20 kB │ gzip: 1.55 kB
.svelte-kit/output/server/chunks/2019-03-21-notes-on-a-free-and-open-source-notes-app-joplin2.js 3.22 kB │ gzip: 1.49 kB
.svelte-kit/output/server/chunks/2017-05-07-hunting-for-trees-birds2.js 3.24 kB │ gzip: 1.49 kB
.svelte-kit/output/server/chunks/2016-12-16-music-sketches-2-rethinking-funtwos-guitar-tone-discipline2.js 3.24 kB │ gzip: 1.53 kB
.svelte-kit/output/server/chunks/2017-05-02-langdon-woods-with-kurt-plants2.js 3.27 kB │ gzip: 1.51 kB
.svelte-kit/output/server/chunks/2021-02-17-tmpui-the-merlin-sound-id-project2.js 3.29 kB │ gzip: 1.35 kB
.svelte-kit/output/server/chunks/2017-03-02-wolf-pine-fox-park-2-227172.js 3.35 kB │ gzip: 1.69 kB
.svelte-kit/output/server/chunks/2018-05-31-research-year-two-three-photos2.js 3.37 kB │ gzip: 1.39 kB
.svelte-kit/output/server/chunks/2018-11-25-deploy-shiny-r-apps-along-node-js2.js 3.42 kB │ gzip: 1.54 kB
.svelte-kit/output/server/chunks/2022-02-06-makerspace-financial-reporting-w-ipython2.js 3.43 kB │ gzip: 1.29 kB
.svelte-kit/output/server/chunks/2016-12-15-beta-how-to-build-the-phone-charger2.js 3.50 kB │ gzip: 1.48 kB
.svelte-kit/output/server/chunks/2026-03-12-updated-resume-and-cv2.js 3.60 kB │ gzip: 1.76 kB
.svelte-kit/output/server/chunks/2017-03-31-parking-lotsit-spot-fox-park-10-33117-whoos-clues2.js 3.60 kB │ gzip: 1.71 kB
.svelte-kit/output/server/chunks/2018-03-08-how-to-make-a-aws-r-server2.js 3.66 kB │ gzip: 1.63 kB
.svelte-kit/output/server/chunks/2016-12-13-required-custom-tools2.js 3.74 kB │ gzip: 1.86 kB
.svelte-kit/output/server/chunks/2017-04-11-bird-observations-today-langdon-woods2.js 3.78 kB │ gzip: 1.77 kB
.svelte-kit/output/server/chunks/2018-05-24-840-watts-of-solar-power2.js 3.84 kB │ gzip: 1.42 kB
.svelte-kit/output/server/chunks/2016-12-13-example-photo-work2.js 3.87 kB │ gzip: 1.10 kB
.svelte-kit/output/server/chunks/2024-05-22-what-have-i-been-up-to-these-last-few-months2.js 3.91 kB │ gzip: 1.75 kB
.svelte-kit/output/server/chunks/2018-11-05-recycled-personal-cloud-computing-under-nat2.js 3.95 kB │ gzip: 1.74 kB
.svelte-kit/output/server/chunks/2019-04-18-warbler-trillers-of-the-charles2.js 3.98 kB │ gzip: 1.62 kB
.svelte-kit/output/server/chunks/2017-04-17-fox-park-16-and-17-41617big-toad-small-vireo-yay2.js 4.10 kB │ gzip: 2.03 kB
.svelte-kit/output/server/chunks/2016-12-21-develop-limitless-habitual-soithen_soicould
-ethos2.js 4.11 kB │ gzip: 1.89 kB
.svelte-kit/output/server/chunks/2020-04-27-oes2.js 4.11 kB │ gzip: 0.88 kB
.svelte-kit/output/server/chunks/2017-03-28-wolf-pine-fox-park-9-32617-everyone-is-on-vacation2.js 4.25 kB │ gzip: 1.84 kB
.svelte-kit/output/server/chunks/2017-03-05-wolf-pine-fox-park-4-3517-noon-ish-time2.js 4.26 kB │ gzip: 1.81 kB
.svelte-kit/output/server/chunks/2018-04-10-intro-to-the-aws-cloud-9-ide2.js 4.26 kB │ gzip: 1.93 kB
.svelte-kit/output/server/chunks/2019-07-05-summer-2019-update2.js 4.27 kB │ gzip: 1.64 kB
.svelte-kit/output/server/entries/pages/cv/_page.svelte.js 4.29 kB │ gzip: 1.69 kB
.svelte-kit/output/server/chunks/2019-10-30-qemu-for-raspian-arm2.js 4.45 kB │ gzip: 1.55 kB
.svelte-kit/output/server/chunks/2022-05-23-this-and-that2.js 4.48 kB │ gzip: 1.91 kB
.svelte-kit/output/server/chunks/2024-01-02-accuwix2.js 4.48 kB │ gzip: 1.62 kB
.svelte-kit/output/server/chunks/2020-06-24-17682.js 4.50 kB │ gzip: 1.99 kB
.svelte-kit/output/server/chunks/2020-03-17-when-it-must-be-windows2.js 4.50 kB │ gzip: 2.02 kB
.svelte-kit/output/server/chunks/2024-12-31-ligature-test-fixture2.js 4.52 kB │ gzip: 1.02 kB
.svelte-kit/output/server/chunks/index-server.js 4.58 kB │ gzip: 1.62 kB
.svelte-kit/output/server/chunks/2017-04-03-parking-lotsit-spot-fox-park-12-4317-owling-2-hours-before-sunrise2.js 4.61 kB │ gzip: 2.12 kB
.svelte-kit/output/server/chunks/2017-07-03-birding-beyond-binos-bird-apps-and-the-guide2.js 4.62 kB │ gzip: 2.18 kB
.svelte-kit/output/server/entries/pages/pulse/client/brokered-stream/_page.svelte.js 4.65 kB │ gzip: 1.54 kB
.svelte-kit/output/server/chunks/2019-08-04-persistent-live-ubuntu-for-college2.js 4.65 kB │ gzip: 1.36 kB
.svelte-kit/output/server/chunks/2016-12-14-opportunistic-birding-141220162.js 4.67 kB │ gzip: 2.18 kB
.svelte-kit/output/server/entries/pages/photography/_page.svelte.js 4.75 kB │ gzip: 1.66 kB
.svelte-kit/output/server/chunks/2021-11-30-23932.js 4.76 kB │ gzip: 1.76 kB
.svelte-kit/output/server/entries/pages/signal-boosts/_page.svelte.js 4.81 kB │ gzip: 1.70 kB
.svelte-kit/output/server/chunks/2020-07-23-ever-tried-to-chrome-remote-ubuntu-xd2.js 5.09 kB │ gzip: 1.92 kB
.svelte-kit/output/server/chunks/2017-02-20-wolf-pine-fox-park-1-bonus-winter-birds2.js 5.13 kB │ gzip: 2.25 kB
.svelte-kit/output/server/chunks/2017-05-17-rugby-morning-22.js 5.23 kB │ gzip: 1.16 kB
.svelte-kit/output/server/chunks/2017-05-07-mega-langdon2.js 5.25 kB │ gzip: 1.37 kB
.svelte-kit/output/server/chunks/2017-04-08-pt-1-reflecting-on-stunt-culture-theories-and-frisbee2.js 5.44 kB │ gzip: 2.57 kB
.svelte-kit/output/server/chunks/2019-05-01-succession-warblers-and-gis2.js 5.45 kB │ gzip: 2.58 kB
.svelte-kit/output/server/chunks/2026-03-04-week-notes-cyborgs-servers-and-sending2.js 5.47 kB │ gzip: 2.45 kB
.svelte-kit/output/server/chunks/2026-05-11-trashmonitor-tailnet-window-into-the-hardware-pile2.js 5.65 kB │ gzip: 2.38 kB
.svelte-kit/output/server/chunks/2017-04-02-wolf-pine-fox-park-10-4117-it-is-a-snow-show-debunking-the-melanistic-dogamount2.js 5.70 kB │ gzip: 2.56 kB
.svelte-kit/output/server/chunks/anatomy.js 5.92 kB │ gzip: 1.07 kB
.svelte-kit/output/server/chunks/2019-04-15-open-source-collaboration-and-higher-education2.js 5.93 kB │ gzip: 2.67 kB
.svelte-kit/output/server/chunks/2018-07-16-deploy-a-shiny-web-app-in-r-using-aws-ec2-red-hat2.js 6.01 kB │ gzip: 2.70 kB
.svelte-kit/output/server/chunks/2017-03-11-wolf-pine-fox-park-6-31017-theoretical-owls-and-real-tree-bark2.js 6.11 kB │ gzip: 2.23 kB
.svelte-kit/output/server/chunks/2020-04-09-convert-heic-png2.js 6.20 kB │ gzip: 1.54 kB
.svelte-kit/output/server/chunks/2018-09-01-early-hardware-and-maker-projects2.js 6.24 kB │ gzip: 2.68 kB
.svelte-kit/output/server/chunks/github-profile.js 6.24 kB │ gzip: 2.49 kB
.svelte-kit/output/server/chunks/2017-04-08-pt-2-reflecting-on-stunt-culture-scooters2.js 6.32 kB │ gzip: 3.04 kB
.svelte-kit/output/server/chunks/2020-12-23-a-boilerplate-for-flask-react-typescript-mongodb2.js 6.51 kB │ gzip: 1.98 kB
.svelte-kit/output/server/chunks/2020-09-06-19842.js 6.62 kB │ gzip: 2.16 kB
.svelte-kit/output/server/entries/pages/pulse/_page.svelte.js 6.67 kB │ gzip: 1.77 kB
.svelte-kit/output/server/chunks/2017-03-30-beaver-dam-quincy-bog-1-33017-the-world-has-gone-mad2.js 6.68 kB │ gzip: 2.75 kB
.svelte-kit/output/server/chunks/2020-06-14-the-ebird-api-regioncode2.js 6.81 kB │ gzip: 2.51 kB
.svelte-kit/output/server/chunks/2023-12-18-lets-write-a-simple-efficient-and-fast-flask-based-image-server-in-an-afternoon2.js 6.87 kB │ gzip: 1.87 kB
.svelte-kit/output/server/chunks/2021-01-23-chindogu-ascii-art-i-suppose2.js 6.97 kB │ gzip: 1.98 kB
.svelte-kit/output/server/chunks/2017-03-20-boutique-everything-when-the-hobby-grows-up2.js 6.99 kB │ gzip: 3.27 kB
.svelte-kit/output/server/chunks/2018-06-10-how-to-query-kml-point-data-as-csv-using-qgis-and-r2.js 7.03 kB │ gzip: 1.80 kB
.svelte-kit/output/server/chunks/2017-07-27-gallery-of-my-proper-photos-nh-warbler-research2.js 7.04 kB │ gzip: 1.11 kB
.svelte-kit/output/server/chunks/2026-04-30-small-zig-libraries-for-apple-shaped-escape-hatches2.js 7.10 kB │ gzip: 3.00 kB
.svelte-kit/output/server/chunks/schema.js 7.11 kB │ gzip: 2.02 kB
.svelte-kit/output/server/chunks/2019-03-10-querying-kml-data-with-qgis-and-r2.js 7.44 kB │ gzip: 2.54 kB
.svelte-kit/output/server/chunks/2017-03-04-wolf-pine-fox-park-3-3317-noon-ish-time2.js 7.70 kB │ gzip: 3.22 kB
.svelte-kit/output/server/entries/pages/THIRD-PARTY-LICENSES/_page.svelte.js 7.85 kB │ gzip: 1.56 kB
.svelte-kit/output/server/chunks/2018-04-03-using-esri-arcgis-arcmap-on-mac-osx-2-methods2.js 8.19 kB │ gzip: 3.32 kB
.svelte-kit/output/server/entries/pages/music/_page.svelte.js 8.19 kB │ gzip: 2.71 kB
.svelte-kit/output/server/entries/pages/pulse/lab/_page.svelte.js 8.40 kB │ gzip: 2.67 kB
.svelte-kit/output/server/chunks/2026-03-21-week-notes-indeterminism-passkeys-and-spring2.js 8.65 kB │ gzip: 3.94 kB
.svelte-kit/output/server/chunks/2017-03-13-sit-spot-n-1-the-gho-talk2.js 8.78 kB │ gzip: 4.19 kB
.svelte-kit/output/server/chunks/ProfileSidebar.js 8.79 kB │ gzip: 2.17 kB
.svelte-kit/output/server/chunks/activitypub-demo.js 9.04 kB │ gzip: 3.07 kB
.svelte-kit/output/server/chunks/2026-04-28-darwin-nic-docs-are-live2.js 9.08 kB │ gzip: 3.35 kB
.svelte-kit/output/server/chunks/2020-07-11-17842.js 9.28 kB │ gzip: 3.04 kB
.svelte-kit/output/server/chunks/2021-01-02-naive-shenanigans-measuring-distance-to-roi-w-opencv2.js 9.73 kB │ gzip: 3.15 kB
.svelte-kit/output/server/chunks/2020-06-24-18202.js 10.01 kB │ gzip: 1.98 kB
.svelte-kit/output/server/chunks/2018-07-23-gdal-for-r-server-on-ubuntu-kml-spatial-libraries-and-more2.js 10.10 kB │ gzip: 3.60 kB
.svelte-kit/output/server/chunks/2026-06-08-glue-you-can-see-in-uv.js 10.28 kB │ gzip: 4.08 kB
.svelte-kit/output/server/entries/pages/making/_page.svelte.js 10.37 kB │ gzip: 3.20 kB
.svelte-kit/output/server/chunks/shared.js 10.67 kB │ gzip: 3.40 kB
.svelte-kit/output/server/chunks/machine.svelte.js 10.89 kB │ gzip: 3.36 kB
.svelte-kit/output/server/chunks/2021-03-18-bits-bobs-mushstools-toadrooms2.js 11.13 kB │ gzip: 3.43 kB
.svelte-kit/output/server/chunks/2020-03-23-16072.js 11.76 kB │ gzip: 2.61 kB
.svelte-kit/output/server/chunks/exports.js 11.88 kB │ gzip: 3.57 kB
.svelte-kit/output/server/chunks/blogBrokerStream.js 11.93 kB │ gzip: 3.67 kB
.svelte-kit/output/server/chunks/2020-09-05-kvm-does-fruit-xcode-from-qemu2.js 12.59 kB │ gzip: 1.91 kB
.svelte-kit/output/server/chunks/2020-10-28-asynchronous-http-methods-from-typescript2.js 13.68 kB │ gzip: 2.70 kB
.svelte-kit/output/server/entries/pages/blog/slug/_page.svelte.js 14.99 kB │ gzip: 3.70 kB
.svelte-kit/output/server/chunks/2019-10-07-gdal-for-gis-on-unix-using-a-mac-or-better-linux2.js 15.09 kB │ gzip: 4.36 kB
.svelte-kit/output/server/entries/pages/blog/_page.svelte.js 16.03 kB │ gzip: 4.18 kB
.svelte-kit/output/server/chunks/2026-02-26-aperture-tagged-devices-and-the-tsnet-escape-hatch2.js 16.76 kB │ gzip: 5.05 kB
.svelte-kit/output/server/chunks/2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory2.js 20.05 kB │ gzip: 6.21 kB
.svelte-kit/output/server/chunks/2019-09-30-decentralized-pi-video-monitoring-w-motioneye-batman2.js 21.25 kB │ gzip: 3.80 kB
.svelte-kit/output/server/chunks/2026-06-09-clearing-canon-5b00-lock-native-key-free-megatank-reset2.js 21.67 kB │ gzip: 7.99 kB
.svelte-kit/output/server/chunks/2026-05-29-gingersnap-cookies.js 22.33 kB │ gzip: 5.55 kB
.svelte-kit/output/server/entries/pages/blog/slug/_page.ts.js 23.71 kB │ gzip: 4.78 kB
.svelte-kit/output/server/chunks/2019-02-20-installing-chapel-language-on-mac-and-linux2.js 24.25 kB │ gzip: 3.90 kB
.svelte-kit/output/server/chunks/internal.js 28.65 kB │ gzip: 8.32 kB
.svelte-kit/output/server/chunks/utils.js 30.72 kB │ gzip: 8.85 kB
.svelte-kit/output/server/entries/pages/about/_page.svelte.js 31.27 kB │ gzip: 8.01 kB
.svelte-kit/output/server/entries/pages/pulse/client/_page.svelte.js 33.26 kB │ gzip: 9.02 kB
.svelte-kit/output/server/chunks/2026-04-25-reproducible-host-probes-nix-chapel-dhall2.js 44.99 kB │ gzip: 8.21 kB
.svelte-kit/output/server/chunks/stores.js 48.97 kB │ gzip: 14.38 kB
.svelte-kit/output/server/remote-entry.js 55.25 kB │ gzip: 11.97 kB
.svelte-kit/output/server/entries/pages/_layout.svelte.js 71.87 kB │ gzip: 9.26 kB
.svelte-kit/output/server/chunks/2026-03-04-from-bricked-to-recovered-the-story-of-hacking-an-nvme-ssd-back-to-life2.js 77.46 kB │ gzip: 20.68 kB
.svelte-kit/output/server/chunks/2026-03-04-xram-injection-bypassing-usb-bridge-whitelists-to-recover-nvme-drives2.js 88.76 kB │ gzip: 19.61 kB
.svelte-kit/output/server/chunks/2026-05-03-was110-fidium-gonetspeed-omci-personalities2.js 101.49 kB │ gzip: 18.26 kB
.svelte-kit/output/server/index.js 125.32 kB │ gzip: 31.30 kB
.svelte-kit/output/server/chunks/search-index.js 126.54 kB │ gzip: 26.49 kB
.svelte-kit/output/server/chunks/dev.js 147.50 kB │ gzip: 37.47 kB
.svelte-kit/output/server/chunks/feed-utils.js 806.31 kB │ gzip: 253.41 kB

✓ built in 51.60s

Run npm run preview to preview your production build locally.

Using @sveltejs/adapter-static
Wrote site to "build"
✔ done
Generated 148 redirect files.
Generated 301 trailing-slash directory aliases.
Redirect validation passed. 148 entries verified.
Directory index alias validation passed. 301 aliases verified.

Frontmatter validation: 175 posts scanned

Result: 175/175 passed. All frontmatter valid.

BLOG LINK & CONTENT AUDIT

Scanned 175 post files
Total links found: 625
Internal: 145
External: 472
Anchor: 7
Published post slugs: 140

FAIL: Broken Internal Links (page not found) (9)

2017-04-08-pt-1-reflecting-on-stunt-culture-theories-and-frisbee.md:20
Link: /blog/pt-2-reflecting-on-stunt-culture-scooters/
Text: "Next up: Scooters + Youtube = ?"
2018-07-16-deploy-a-shiny-web-app-in-r-using-aws-ec2-red-hat.md:4
Link: /blog/how-to-make-a-aws-r-server/
Text: "a follow-up to my post on how to create an AWS RStudio server"
2019-03-10-querying-kml-data-with-qgis-and-r.md:48
Link: /aag
Text: "AAG poster"
2019-05-01-succession-warblers-and-gis.md:14
Link: /aag
Text: "poster and related materials on the AAG page"
2026-02-26-aperture-and-the-tagged-device-identity-gap.md:110
Link: /blog/bootstrapping-aperture-config-with-tsnet
Text: "Part 2"
2026-02-26-aperture-and-the-tagged-device-identity-gap.md:123
Link: /blog/bootstrapping-aperture-config-with-tsnet
Text: "Continue to Part 2: Bootstrapping Aperture config with tsnet"
2026-02-26-bootstrapping-aperture-config-with-tsnet.md:8
Link: /blog/aperture-and-the-tagged-device-identity-gap
Text: "Part 1"
2026-02-26-bootstrapping-aperture-config-with-tsnet.md:238
Link: /blog/aperture-and-the-tagged-device-identity-gap
Text: "Part 1"
2026-03-12-updated-resume-and-cv.md:18
Link: /aag
Text: "2019 AAG poster"

PASS: Broken Image References (file not in static/) (0)

(none)

FAIL: Relative Links (likely broken, not starting with /) (3)

2026-03-21-week-notes-indeterminism-passkeys-and-spring.md:14
Link: [https://soft.vub.ac.be/amop/](https://code.google.com/archive/p/ambienttalk/
Text: "AmbientTalk - Google Code Archive"
2026-05-03-was110-fidium-gonetspeed-omci-personalities.md:11
Link: Try-bridging
Text: "Linux Bridging"
2026-05-03-was110-fidium-gonetspeed-omci-personalities.md:13
Link: Fidium-was-a-piece-of-cake
Text: "Fidium"

FAIL: WordPress URLs Still in Post Content (transscendsurvival.org) (18)

2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:45
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/winrm-quota-research/#1-default-quota-values-by-windows-version
Text: "seventeen years"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:47
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/winrm-quota-research/#2-quota-behavior
Text: "quota behavior writeup"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:84
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/plugin-quota-analysis/#connection-to-keepassxc-credential-plugin-issues
Text: "credential plugin"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:119
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/winrm-quota-research/#ansible-forks-vs-winrm-quotas
Text: "forks vs quotas problem"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:138
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/plugin-quota-analysis/
Text: "KeePassXC lookups"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:150
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/winrm-quotas/#toggleable-quota-tool
Text: "set those on the fly"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:165
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/winrm-quota-research/#2-quota-behavior
Text: "take effect immediately"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:169
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/
Text: "companion docs site"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:174
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/winrm-quota-research/
Text: "quota research"
Has redirect: false
2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md:183
Link: https://transscendsurvival.org/winrm-molecule-forkbomb-demo/plugin-quota-analysis/
Text: "Plugin quota analysis"
Has redirect: false
2026-04-25-darwin-nic-mac-bastion-usb-oob.md:12
Link: https://transscendsurvival.org/DarwinNicUtil/
Text: "transscendsurvival.org/DarwinNicUtil"
Has redirect: false
2026-04-25-darwin-nic-mac-bastion-usb-oob.md:370
Link: https://transscendsurvival.org/DarwinNicUtil/
Text: "DarwinNicUtil docs"
Has redirect: false
2026-04-30-small-zig-libraries-for-apple-shaped-escape-hatches.md:10
Link: https://transscendsurvival.org/zig-crypto/
Text: "zig-crypto"
Has redirect: false
2026-04-30-small-zig-libraries-for-apple-shaped-escape-hatches.md:11
Link: https://transscendsurvival.org/zig-notify/
Text: "zig-notify"
Has redirect: false
2026-04-30-small-zig-libraries-for-apple-shaped-escape-hatches.md:12
Link: https://transscendsurvival.org/zig-keychain/
Text: "zig-keychain"
Has redirect: false
2026-04-30-small-zig-libraries-for-apple-shaped-escape-hatches.md:13
Link: https://transscendsurvival.org/zig-ctap2/
Text: "zig-ctap2"
Has redirect: false
2026-06-08-glue-you-can-see-in-uv.md:11
Link: https://transscendsurvival.org/tinyland-goo/
Text: "transscendsurvival.org/tinyland-goo"
Has redirect: false
2026-06-09-clearing-canon-5b00-lock-native-key-free-megatank-reset.md:6
Link: https://transscendsurvival.org/canon-megatank-reset
Text: "docs available in mkdocs here"
Has redirect: false

FAIL: Empty Posts (0 words in body) (4)

2017-01-22-the-canon-takes-its-shape.md - "The Canon Takes its Shape!" (0 words)
2017-07-27-gallery-of-my-proper-photos-nh-warbler-research.md - "Gallery of my "proper photos"- NH warbler research" (0 words)
2020-04-12-xoes-fomitopsis-betulina-huperzia-lucidula.md - "xOES: Fomitopsis betulina & Huperzia lucidula" (0 words)
2020-04-12-xoes-plot-review.md - "xOES: Plot Review" (0 words)

FAIL: Short Posts (< 50 words, published only) (21)

2016-12-13-the-audeasy-build.md - "The Audeasy Build" (30 words)
2016-12-15-building-electrostatic-earspeakers.md - "Building Electrostatic "Earspeakers"" (35 words)
2016-12-15-diy-electrostatic-amp-options.md - "DIY Electrostatic Amp Options" (18 words)
2017-04-04-603.md - "Preview: Learning Fusion 360 and Next-Level CAD Craziness" (23 words)
2017-05-05-new-photopromotional-media-business-pages-in-the-works.md - "New Photo/Promotional Media Business pages in the works!" (23 words)
2017-05-17-rugby-morning-2.md - "Rugby Morning #2" (40 words)
2018-03-13-pages-fresh-from-the-book.md - "Pages, fresh from the book" (39 words)
2018-03-19-ebpp-my-epic-birding-prediction-project-in-r.md - "EBPP: My Epic Birding Prediction Project in R" (10 words)
2018-05-28-gathering-point-data-using-compass-55-on-apple-ios.md - "Gathering point data using Compass 55 on Apple iOS" (33 words)
2018-06-24-how-to-generate-convex-hull-polygons-and-centroids-from-kml.md - "How To Generate convex hull polygons and centroids from KML" (18 words)
2019-08-04-persistent-live-ubuntu-for-college.md - "Persistent, Live Ubuntu for College" (30 words)
2020-04-09-convert-heic-png.md - "Convert .heic -> .png" (40 words)
2020-04-27-oes.md - "oes" (30 words)
2020-06-29-osselc-monday.md - "OSS+ELC -> Monday" (28 words)
2020-08-23-purple-prius-parts.md - "Purple Prius Parts" (25 words)
2020-09-05-kvm-does-fruit-xcode-from-qemu.md - "KVM does Fruit: Xcode from QEMU" (26 words)
2020-10-28-evening-metal-9-14-20.md - "...In other news..." (13 words)
2021-02-17-tmpui-the-merlin-sound-id-project.md - "Merlin AI Demos!" (49 words)
2021-04-23-morning-metal-4-22-21.md - "Morning Metal 4.22.21 “Sleepish”" (5 words)
2022-01-01-datasets-plots-graphs-charts.md - "Datasets, Plots, Graphs, Charts" (44 words)
2024-12-31-ligature-test-fixture.md - "Ligature Test Fixture" (17 words)

INFO: Stale Posts (> 3 years old, published only) (118)

2016-12-13-example-photo-work.md - "Example Photo Work" (2016-12-13, 9y old)
2016-12-13-required-custom-tools.md - "Required Custom Tools?" (2016-12-13, 9y old)
2016-12-13-the-audeasy-build.md - "The Audeasy Build" (2016-12-13, 9y old)
2016-12-13-waxwing-audio.md - "Waxwing Audio:" (2016-12-13, 9y old)
2016-12-14-opportunistic-birding-14122016.md - "Opportunistic birding: 14/12/2016" (2016-12-14, 9y old)
2016-12-15-beta-how-to-build-the-phone-charger.md - "(beta) - How to build "The Phone Charger"" (2016-12-15, 9y old)
2016-12-15-building-electrostatic-earspeakers.md - "Building Electrostatic "Earspeakers"" (2016-12-15, 9y old)
2016-12-15-diy-electrostatic-amp-options.md - "DIY Electrostatic Amp Options" (2016-12-15, 9y old)
2016-12-15-music-sketches-1-playing-with-rhythm-division-and-jazzy-chords.md - "Music Sketches 1: Playing with rhythm, division, and jazzy chords" (2016-12-15, 9y old)
2016-12-16-music-sketches-2-rethinking-funtwos-guitar-tone-discipline.md - "Music Sketches 2: Rethinking "Canon in D" "guitar" Discipline & Tone pt. 1" (2016-12-16, 9y old)
2016-12-21-develop-limitless-habitual-soithen_soicould_-ethos.md - "Develop A Limitless & Habitual "SoIThen_SoICould_" Ethos" (2016-12-21, 9y old)
2017-02-20-wolf-pine-fox-park-1-bonus-winter-birds.md - "Wolf Pine @ Fox Park #1 +Bonus Winter Birds" (2017-02-20, 9y old)
2017-03-02-wolf-pine-fox-park-2-22717.md - "Wolf Pine @ Fox Park #2 (2/27/17)" (2017-03-02, 9y old)
2017-03-04-wolf-pine-fox-park-3-3317-noon-ish-time.md - "Wolf Pine @ Fox Park #3: 3/3/17, Noon-ish time" (2017-03-04, 9y old)
2017-03-05-wolf-pine-fox-park-4-3517-noon-ish-time.md - "Wolf Pine @ Fox Park #4: 3/5/17, Noon-ish time" (2017-03-05, 9y old)
2017-03-11-wolf-pine-fox-park-6-31017-theoretical-owls-and-real-tree-bark.md - "Wolf Pine @ Fox Park #6: 3/10/17, Theoretical Owls and Real Tree Bark" (2017-03-11, 9y old)
2017-03-12-wolf-pine-fox-park-7-31217-surprise-its-cold.md - "Wolf Pine @ Fox Park #7: 3/12/17, Surprise! It's Cold" (2017-03-12, 9y old)
2017-03-13-sit-spot-n-1-the-gho-talk.md - "Sit spot #N.1: The GHO Talk" (2017-03-13, 9y old)
2017-03-17-wolf-pine-fox-park-8-31617-someone-bumped-the-snow-machine.md - "Wolf Pine @ Fox Park #8: 3/16/17, Someone Bumped The Snow Machine" (2017-03-17, 9y old)
2017-03-20-boutique-everything-when-the-hobby-grows-up.md - "Boutique everything: When The Hobby Grows Up" (2017-03-20, 9y old)
2017-03-28-wolf-pine-fox-park-9-32617-everyone-is-on-vacation.md - "Wolf Pine @ Fox Park #9: 3/26/17, Everyone Is On Vacation" (2017-03-28, 9y old)
2017-03-30-beaver-dam-quincy-bog-1-33017-the-world-has-gone-mad.md - "Beaver Dam @ Quincy Bog #1: 3/30/17, The World Has Gone Mad" (2017-03-30, 9y old)
2017-03-31-parking-lotsit-spot-fox-park-10-33117-whoos-clues.md - "Parking Lot/Sit Spot @ Fox Park #10: 3/31/17, Whoo's Clues" (2017-03-31, 9y old)
2017-04-02-wolf-pine-fox-park-10-4117-it-is-a-snow-show-debunking-the-melanistic-dogamount.md - "Wolf Pine @ Fox Park #11: 4/1/17, It Is A Snow-Show, Debunking The Melanistic Dogamount" (2017-04-02, 9y old)
2017-04-03-parking-lotsit-spot-fox-park-12-4317-owling-2-hours-before-sunrise.md - "Parking Lot/Sit Spot @ Fox Park #12: 4/3/17, Owling 2 Hours Before Sunrise" (2017-04-03, 9y old)
2017-04-04-603.md - "Preview: Learning Fusion 360 and Next-Level CAD Craziness" (2017-04-04, 9y old)
2017-04-08-pt-1-reflecting-on-stunt-culture-theories-and-frisbee.md - "pt. 1: Reflecting On Stunt Culture (Theories and Frisbee)" (2017-04-08, 9y old)
2017-04-08-pt-2-reflecting-on-stunt-culture-scooters.md - "pt. 2: Reflecting On Stunt Culture (Scooters)" (2017-04-08, 9y old)
2017-04-11-bird-observations-today-langdon-woods.md - "Bird Observations Today- Langdon Woods" (2017-04-11, 9y old)
2017-04-12-fox-park-14-41017-1-if-by-land-16-if-by-ear.md - "Fox Park #14: 4/10/17, "1 if by land, 16 if by ear"" (2017-04-12, 9y old)
2017-04-12-fox-park-15-41217-1-if-by-land-17-if-by-ear.md - "Fox Park #15: 4/12/17, “1 if by land, 17 if by ear”" (2017-04-12, 9y old)
2017-04-17-fox-park-16-and-17-41617big-toad-small-vireo-yay.md - "Fox Park #16 and #17: 4/16/17,Big Toad: Small Vireo. Yay." (2017-04-17, 9y old)
2017-04-19-fox-park-18-41917-in-class-roamings.md - "Fox Park #18: 4/19/17, In Class Roamings" (2017-04-19, 9y old)
2017-04-20-addendum-to-secret-beach-area-natural-history-class-walk.md - "Addendum to "Secret Beach Area" Natural History Class Walk" (2017-04-20, 9y old)
2017-05-02-langdon-woods-with-kurt-plants.md - "Langdon Woods with Kurt: Plants!" (2017-05-02, 9y old)
2017-05-03-the-big-len-list.md - "The Big Len List" (2017-05-03, 9y old)
2017-05-04-early-morning-guitar-session-ala-laundry.md - "Early Morning Guitar Session. ala Laundry" (2017-05-04, 9y old)
2017-05-04-fox-park-to-langdon-morning-birds.md - "Fox Park to Langdon: Morning Birds!" (2017-05-04, 9y old)
2017-05-05-new-photopromotional-media-business-pages-in-the-works.md - "New Photo/Promotional Media Business pages in the works!" (2017-05-05, 9y old)
2017-05-07-hunting-for-trees-birds.md - "Hunting for Trees = BIRDS" (2017-05-07, 9y old)
2017-05-07-mega-langdon.md - "MEGA LANGDON" (2017-05-07, 9y old)
2017-05-08-new-business-site-up-and-running.md - "New Business Site- Up And Running!" (2017-05-08, 9y old)
2017-05-08-pre-dawn-fox-park-lot-walk-birding-by-ear.md - "Pre-dawn Fox Park Lot Walk (Birding by Ear)" (2017-05-08, 9y old)
2017-05-12-wolf-pine-fox-park-silence.md - "Wolf Pine @ Fox Park: Silence?" (2017-05-12, 9y old)
2017-05-17-rugby-morning-2.md - "Rugby Morning #2" (2017-05-17, 9y old)
2017-05-18-rugby-morning-3-6.md - "Rugby Morning #3.6" (2017-05-18, 9y old)
2017-07-03-birding-beyond-binos-bird-apps-and-the-guide.md - "Birding Beyond Binos: 5 Bird apps vs. “the Guide”." (2017-07-03, 9y old)
2017-07-25-mpcnc-it-moves.md - "MPCNC: It moves!" (2017-07-25, 8y old)
2017-07-27-gallery-of-my-proper-photos-nh-warbler-research.md - "Gallery of my "proper photos"- NH warbler research" (2017-07-27, 8y old)
2017-07-27-gallery-of-warblers-in-the-hand.md - "Gallery of "Warblers in the Hand"" (2017-07-27, 8y old)
2018-03-08-how-to-make-a-aws-r-server.md - "How to make a AWS R server" (2018-03-08, 8y old)
2018-03-13-pages-fresh-from-the-book.md - "Pages, fresh from the book" (2018-03-13, 8y old)
2018-03-19-ebpp-my-epic-birding-prediction-project-in-r.md - "EBPP: My Epic Birding Prediction Project in R" (2018-03-19, 8y old)
2018-04-03-using-esri-arcgis-arcmap-on-mac-osx-2-methods.md - "Using ESRI ArcGIS / ArcMap on Mac OSX: 2 methods" (2018-04-03, 8y old)
2018-04-05-using-esri-arcgis-arcmap-in-the-aws-cloud.md - "Using ESRI ArcGIS / ArcMap in the AWS Cloud" (2018-04-05, 8y old)
2018-04-10-intro-to-the-aws-cloud-9-ide.md - "Intro to the AWS Cloud 9 IDE" (2018-04-10, 8y old)
2018-04-18-signs-of-thoughts-of-possible-spring.md - "Signs of Thoughts of Possible Spring?" (2018-04-18, 8y old)
2018-05-23-birding-at-plumb-island.md - "Birding at Plumb Island!" (2018-05-23, 8y old)
2018-05-24-840-watts-of-solar-power.md - "840 Watts of Solar Power!" (2018-05-24, 8y old)
2018-05-28-gathering-point-data-using-compass-55-on-apple-ios.md - "Gathering point data using Compass 55 on Apple iOS" (2018-05-28, 8y old)
2018-05-31-research-year-two-three-photos.md - "Research Year Two: Three Photos" (2018-05-31, 8y old)
2018-05-31-solar-upgrades.md - "Solar upgrades!" (2018-05-31, 8y old)
2018-06-10-how-to-query-kml-point-data-as-csv-using-qgis-and-r.md - "How to Query KML point data as CSV using QGIS and R" (2018-06-10, 8y old)
2018-06-24-how-to-generate-convex-hull-polygons-and-centroids-from-kml.md - "How To Generate convex hull polygons and centroids from KML" (2018-06-24, 8y old)
2018-06-25-off-grid-file-sharing-with-samba-gl-inet.md - "Off-Grid File Sharing with SAMBA / GL.iNet" (2018-06-25, 8y old)
2018-07-16-deploy-a-shiny-web-app-in-r-using-aws-ec2-red-hat.md - "INFO: Deploy a Shiny web app in R using AWS (EC2 Red Hat)" (2018-07-16, 8y old)
2018-07-23-gdal-for-r-server-on-ubuntu-kml-spatial-libraries-and-more.md - "GDAL for R Server on Ubuntu - KML Spatial Libraries and More" (2018-07-23, 7y old)
2018-07-27-new-app-kml-search-and-convert.md - "New App:  KML Search and Convert" (2018-07-27, 7y old)
2018-07-28-shiny-app-specific-repo-live.md - "Shiny App-specific Repo" (2018-07-28, 7y old)
2018-09-01-early-hardware-and-maker-projects.md - "Early Hardware and Maker Projects" (2018-09-01, 7y old)
2018-09-12-github-update-9-12-18-shiny-apps.md - "Github UPDATE 9.12.18:  Shiny Apps" (2018-09-12, 7y old)
2018-09-12-quick-fix-254-character-limit-in-esri-story-map.md - "Quick fix: 254 character limit in ESRI Story Map?" (2018-09-12, 7y old)
2018-11-05-recycled-personal-cloud-computing-under-nat.md - "Recycled Personal "Cloud Computing" under NAT" (2018-11-05, 7y old)
2018-11-25-deploy-shiny-r-apps-along-node-js.md - "Deploy Shiny R apps along Node.JS" (2018-11-25, 7y old)
2019-02-20-installing-chapel-language-on-mac-and-linux.md - "Musings On Chapel Language and Parallel Processing" (2019-02-20, 7y old)
2019-03-10-querying-kml-data-with-qgis-and-r.md - "Querying KML Point Data with QGIS and R" (2019-03-10, 7y old)
2019-03-21-notes-on-a-free-and-open-source-notes-app-joplin.md - "Notes on a Free and Open Source Notes App:  Joplin" (2019-03-21, 7y old)
2019-04-15-open-source-collaboration-and-higher-education.md - "Open Source Collaboration and Higher Education" (2019-04-15, 7y old)
2019-04-18-warbler-trillers-of-the-charles.md - "Warbler Trillers of the Charles" (2019-04-18, 7y old)
2019-05-01-succession-warblers-and-gis.md - "Succession, Warblers, and GIS" (2019-05-01, 7y old)
2019-07-05-summer-2019-update.md - "Summer 2019 Update!" (2019-07-05, 7y old)
2019-08-04-persistent-live-ubuntu-for-college.md - "Persistent, Live Ubuntu for College" (2019-08-04, 6y old)
2019-09-30-decentralized-pi-video-monitoring-w-motioneye-batman.md - "Decentralized Pi Video Monitoring w/ motioneye & BATMAN" (2019-09-30, 6y old)
2019-10-07-gdal-for-gis-on-unix-using-a-mac-or-better-linux.md - "Small Updates to GDAL Notes" (2019-10-07, 6y old)
2019-10-30-qemu-for-raspian-arm.md - "QEMU for Raspian ARM!" (2019-10-30, 6y old)
2020-03-17-when-it-must-be-windows.md - "When it must be Windows...." (2020-03-17, 6y old)
2020-03-23-1607.md - "Some GDAL shell macros from R instead of rgdal" (2020-03-23, 6y old)
2020-04-02-ppe-me.md - "ppe & whatnot" (2020-04-02, 6y old)
2020-04-05-dm-shields-fusion-360.md - "D&M Shields - Fusion 360" (2020-04-05, 6y old)
2020-04-09-convert-heic-png.md - "Convert .heic -> .png" (2020-04-09, 6y old)
2020-04-25-install-adobe-applications-on-aws-workspaces.md - "Install Adobe Applications on AWS WorkSpaces" (2020-04-25, 6y old)
2020-04-27-oes.md - "oes" (2020-04-27, 6y old)
2020-05-18-while-at-a-safe-distance.md - "While at a safe distance..." (2020-05-18, 6y old)
2020-06-04-prius-printers.md - "Prius, Printers" (2020-06-04, 6y old)
2020-06-14-the-ebird-api-regioncode.md - "The eBird API & regionCode" (2020-06-14, 6y old)
2020-06-24-1768.md - "Dover's Enclosure" (2020-06-24, 6y old)
2020-06-24-1820.md - "Parse fdisk -l in Python" (2020-06-24, 6y old)
2020-06-29-osselc-monday.md - "OSS+ELC -> Monday" (2020-06-29, 6y old)
2020-07-11-1784.md - "clipi CLI!" (2020-07-11, 6y old)
2020-07-15-this-that-7-15.md - "This, That, etc" (2020-07-15, 6y old)
2020-07-23-ever-tried-to-chrome-remote-ubuntu-xd.md - "...Ever tried to Chrome Remote ➡️ Ubuntu Budgie? xD" (2020-07-23, 5y old)
2020-08-23-purple-prius-parts.md - "Purple Prius Parts" (2020-08-23, 5y old)
2020-09-05-kvm-does-fruit-xcode-from-qemu.md - "KVM does Fruit: Xcode from QEMU" (2020-09-05, 5y old)
2020-09-06-1984.md - "Obliterate non-removable MDM profiles enforced by Apple's Device Enrollment Program" (2020-09-06, 5y old)
2020-10-28-asynchronous-http-methods-from-typescript.md - "Client-side, asynchronous HTTP methods- TypeScript" (2020-10-28, 5y old)
2020-10-28-evening-metal-9-14-20.md - "...In other news..." (2020-10-28, 5y old)
2020-12-23-a-boilerplate-for-flask-react-typescript-mongodb.md - "some boilerplate code, ?, etc" (2020-12-23, 5y old)
2021-01-02-naive-shenanigans-measuring-distance-to-roi-w-opencv.md - "naive distance measurements with opencv" (2021-01-02, 5y old)
2021-01-23-chindogu-ascii-art-i-suppose.md - "Chindōgu ASCII art" (2021-01-23, 5y old)
2021-02-17-tmpui-the-merlin-sound-id-project.md - "Merlin AI Demos!" (2021-02-17, 5y old)
2021-03-18-bits-bobs-mushstools-toadrooms.md - "Bits & Bobs, Mushstools & Toadrooms" (2021-03-18, 5y old)
2021-04-23-morning-metal-4-22-21.md - "Morning Metal 4.22.21 “Sleepish”" (2021-04-23, 5y old)
2021-11-30-2393.md - "This and that, bits and bobs…" (2021-11-30, 4y old)
2022-01-01-datasets-plots-graphs-charts.md - "Datasets, Plots, Graphs, Charts" (2022-01-01, 4y old)
2022-02-06-makerspace-financial-reporting-w-ipython.md - "Makerspace financial reporting w/ ipython" (2022-02-06, 4y old)
2022-05-15-running-cornells-dla-makerspace.md - "Running Cornell's DLA Makerspace" (2022-05-15, 4y old)
2022-05-23-this-and-that.md - "This and That!" (2022-05-23, 4y old)
2023-03-01-fusion-360-for-3d-printing-w-jess.md - "Fusion 360 for 3d Printing w/ Jess!" (2023-03-01, 3y old)

========================================================================
TOTAL ISSUES: 55

Unpublished-post asset scan passed for 35 posts
SvelteKit/Vite build smoke passed for jesssullivan.github.io; output=/var/folders/z6/7m3zpx6j3x982j_fzwg1lppw0000gn/T/ghio-sveltekit-vite-build-LHPDb5/workspace/build/index.html; mermaid=optional: PASS; all 35 unpublished posts excluded from client assets.\n- : PASS.\n\nThese are preflight diagnostics only. Merge remains gated on current-head GF checks plus a fresh immutable shadow deployment and browser QA.

@Jesssullivan
Jesssullivan temporarily deployed to blog-shadow-dispatch July 17, 2026 03:58 — with GitHub Actions Inactive
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Exact-head immutable shadow proof for 52e5ee3401ca3455afeccde9eb9bb8c376cc30c0:

  • Source workflow: 29553492736, success
  • Private receiver: 29553692602, success
  • Source digest: sha256:60a09e02b4fb929efd2f9c1860b239df01e7e1f5e47a95d08c927a622fcafe7c
  • Private/runtime digest: sha256:125f95f60882103a683a2b1da73e72462de38600f4cd952b9266a266733b73f7
  • Receiver attested exact source SHA and running digest.

gstack browser QA against the tailnet PR environment:

  • /blog: 200; held title and link absent
  • direct route: 404
  • /feed.xml, /feed.json, /sitemap.xml, /search-index.json: 200; held title/slug absent
  • Pagefind query: 0 results
  • 17 loaded immutable JS assets: no title, description, body sentinel, or source filename
  • clean reload: no console errors; loaded requests completed without a failed application request

No reader UI, avatar, stream, Pulse, or constellation files changed. GF remote check/test are green; remote e2e is still the final pending code gate.

Keep the generated published-module list literal and fail closed if a future filename could broaden Vite glob matching.

Refs TIN-2979
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Independent exact-head review caught one pre-merge issue on 52e5ee3: the guard rejected only the exact /src/posts/*.md string, while Vite treats every import.meta.glob entry as a glob pattern.

Signed head 563efd9e06fbed9f6d51e54d6c8ccb364facc0ad now fails generation if any published post path contains glob metacharacters (!, *, ?, brackets, braces, or backslash). That preserves exact-path enumeration even for future filenames.

Focused checks:

  • generator completed: 140 published modules / 35 held slugs
  • glob-guard positive and negative cases: PASS
  • Bazel check harness: PASS, 0 errors
  • Prettier and git diff --check: PASS

The prior shadow proof remains useful evidence for the unchanged generated runtime, but it is not exact-head acceptance. Current-head GF and immutable shadow workflows are restarting; merge remains held until both are green and the shadow is re-QA'd.

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Exact-head review follow-up:

  • Independent review found the previous denylist still admitted extglob syntax such as @(a|b) and +(a|b).
  • Head f93c5a70885c43f76483c7a0c6f2860b56f1f089 replaces that partial denylist with a canonical exact-loader allowlist: only /src/posts/[A-Za-z0-9._-]+.md paths can enter the generated import.meta.glob list.
  • Focused generator, path-guard, Prettier, and SvelteKit check diagnostics pass. The prior 563efd9 GF/shadow runs are intentionally stale; source run 29554566096 was canceled while waiting at the protected environment.
  • Current merge authority is GF run 29554889995 plus immutable source/shadow run 29554890008, followed by browser QA against the exact private receiver.

@Jesssullivan
Jesssullivan temporarily deployed to blog-shadow-dispatch July 17, 2026 04:31 — with GitHub Actions Inactive
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Exact-head immutable shadow QA is complete for f93c5a70885c43f76483c7a0c6f2860b56f1f089:

  • Source run 29554890008 succeeded; source digest sha256:a126f7a7daac427a51910f6de866f93062fecff61ec4f7027c6a8cd13073afc2.
  • App-dispatched infra run 29555092642 succeeded and attested the exact source SHA/run; private runtime digest sha256:c3b465fb1bcfbf5a702b67647ba0978966b934eff0d79abe88195095ee4f5cab.
  • gstack browser: /blog 200 with the held title/link absent; direct route 404; RSS, JSON feed, sitemap, and search index all 200 with no title/slug/body/source leak; Pagefind returns 0; 19 loaded immutable JS assets contain no title/body/source content; a published NVMe post remains 200 with its article/H1; clean listing and positive-control console.
  • The held slug itself remains present only as publication-control data needed to reject broker hydration; no held post content/module is bundled.

The remaining merge gate is exact-head GF run 29554889995 (remote check/test/e2e).

@Jesssullivan
Jesssullivan merged commit 7cd7155 into main Jul 17, 2026
10 checks passed
@Jesssullivan
Jesssullivan deleted the codex/hide-kvm-post-until-review branch July 17, 2026 04:52
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Production source/artifact closeout is green: merge 7cd7155, Cloudflare deploy 29555900418, rollback Pages 29555900408, main CI/GF 29555900425, and production-health all passed. The post is absent from /blog, feeds, sitemap, search/Pagefind, immutable Pages deployments, www, and cache-busted apex.

One stale bare-apex cache object still returns the pre-deploy 200. PR #235 added and merged a fixed-host exact-path purge workflow, but run 29557526031 failed closed because the repository Cloudflare token is invalid (HTTP 401/code 1000). No purge occurred. TIN-2727 carries the replacement-token gate; TIN-2979 remains In Review until the exact bare route is 404.

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Final production proof: the source-level publication hold remains intact, and follow-up PR #239 merged the exact Pages edge guard as 03d3cede. The bare path and trailing-slash variant now return 404/no-store/noindex on both apex and www; /blog and a published control post remain 200. Production Health run 29590519898 is green. TIN-2979 can close on live proof.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant