Skip to content

Commit 5ff7b0d

Browse files
hyperpolymathclaude
andcommitted
docs(explainme): add EXPLAINME.adoc
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 737b49b commit 5ff7b0d

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

EXPLAINME.adoc

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3+
= Befunge-93 Vault Cracker — EXPLAINME
4+
:toc: preamble
5+
:icons: font
6+
7+
This file maps README.adoc claims to their implementation evidence for
8+
sceptical developers.
9+
10+
== "A satirical UI that demonstrates esoteric programming absurdity vs. overengineered security theater"
11+
12+
[quote, README.adoc]
13+
____
14+
Befunge-93 Vault Cracker is a parody application that simulates an imaginary
15+
"attack" on an overengineered cryptographic vault using the power of Befunge-93.
16+
____
17+
18+
How this is implemented::
19+
The single source file link:src/Bf93-vault-cracker.res[`src/Bf93-vault-cracker.res`]
20+
is a React component written in JavaScript (with a `.res` extension as a parody
21+
of ReScript). It implements The Elm Architecture (TEA) pattern: a `Model`,
22+
`update` function, and `View`. The vault stack is a static array of six
23+
fictional security layers (Ed448, SHAKE3-256, BLAKE3, Kyber-1024, Argon2id,
24+
MFA). Each "crack" step removes one layer from the array and appends an absurd
25+
log message to the attack console. No cryptography is implemented or executed.
26+
27+
Caveat::
28+
The `.res` extension is deliberately misleading parody — the file is plain
29+
JavaScript/JSX, not ReScript. The Befunge-93 grid displayed is ASCII art with
30+
no interpreter behind it.
31+
32+
== "A TEA (The Elm Architecture) demonstration in JavaScript/React"
33+
34+
[quote, README.adoc]
35+
____
36+
A CSS-first, dependency-free single-file component.
37+
____
38+
39+
How this is implemented::
40+
The component loads React via CDN (`<script src="https://unpkg.com/react/...">`)
41+
with no npm, no `node_modules`, no build step. The TEA model is: `model` holds
42+
`{ vault, log, telemetry }`, `update(msg, model)` returns a new model, and
43+
`view(model)` renders JSX. The `serve` justfile recipe starts a Deno static
44+
file server — the only runtime dependency.
45+
46+
Caveat::
47+
Using React via CDN is not the preferred hyperpolymath approach (ReScript is
48+
standard) — this is intentional parody of overengineered setups. A production
49+
hyperpolymath app would use ReScript compiled output.
50+
51+
== "Built for screenshots and laughs, not actual security research"
52+
53+
[quote, README.adoc]
54+
____
55+
Fake metrics (Entropy, Latency, Vibes)
56+
____
57+
58+
How this is implemented::
59+
The `telemetry` model fields are incremented with `Math.random()` multipliers
60+
on each crack step. "Entropy" increases, "Latency" wobbles, "Vibes" are
61+
tracked as a metric. The values have no external meaning.
62+
63+
Caveat::
64+
None. The metrics are exactly as meaningful as advertised.
65+
66+
== Dogfooded Across The Account
67+
68+
[cols="1,2,2", options="header"]
69+
|===
70+
| Technology / Pattern | Used here | Also used in
71+
72+
| TEA (Elm Architecture) pattern
73+
| State management for the vault animation
74+
| link:https://github.com/hyperpolymath/gossamer[gossamer] (window management),
75+
link:https://github.com/hyperpolymath/panll[panll] (panel state)
76+
77+
| Deno static server
78+
| `just serve` development server
79+
| link:https://github.com/hyperpolymath/k9-showcase[k9-showcase],
80+
link:https://github.com/hyperpolymath/a2ml-showcase[a2ml-showcase]
81+
82+
| Justfile recipes
83+
| `serve`, `check`
84+
| Every hyperpolymath repo
85+
86+
| SPDX licence headers
87+
| `// SPDX-License-Identifier: PMPL-1.0-or-later`
88+
| All hyperpolymath source files
89+
|===
90+
91+
== Known Gaps
92+
93+
[CAUTION]
94+
====
95+
The source file uses a `.res` extension but is plain JavaScript/JSX — the
96+
README documents this as intentional parody, but it will confuse ReScript
97+
tooling that scans for `.res` files.
98+
====
99+
100+
No other known gaps. The project delivers exactly what it promises: screenshots
101+
and laughs.

0 commit comments

Comments
 (0)