commit d65b929b9a7abda1ae63ba6edf11114d07cd6be8
Author: prescientmoon <git@moonythm.dev>
Date:   Sun Sep 1 00:30:36 2024 +0200

    javascript(omcb-server-clocks): Play around with clock decoding
    
    Signed-off-by: prescientmoon <git@moonythm.dev>

diff --git a/javascript/omcb-server-clocks/data.txt b/javascript/omcb-server-clocks/data.txt
new file mode 100644
index 0000000..46e6b07
--- /dev/null
+++ b/javascript/omcb-server-clocks/data.txt
@@ -0,0 +1,6 @@
+11 3 6 4. 1 9. 6 9 8. 7 8 5 4 7. 5. 1. 2 3. 10 10.
+9. 9 8 7. 8. 2. 3 4. 2 12. 11 10. 12 5.
+9. 8. 9 8 7. 6. 5. 6 4 3 7 10. 3. 2. 10 1 11
+6 11 1 3 ? 9. 9 8. 8 7 7. 3. 4 2. 2 4. 12. 6. 5 11.
+?? 9. 9 8. 8 7. 7 3. 4. 5 5. 6 1. 2. 11 2 4 3 12 6.
+??? 9. 9 8. 8 7. 2. 3 1 10. 11 3. 4 7 10 5. 6. 12 1 12.
diff --git a/javascript/omcb-server-clocks/numbers.txt b/javascript/omcb-server-clocks/numbers.txt
new file mode 100644
index 0000000..e69de29
diff --git a/javascript/omcb-server-clocks/script.js b/javascript/omcb-server-clocks/script.js
new file mode 100644
index 0000000..f951ed0
--- /dev/null
+++ b/javascript/omcb-server-clocks/script.js
@@ -0,0 +1,34 @@
+const fs = require("node:fs");
+
+const data = fs.readFileSync("./data.txt", "utf8");
+
+const numbers = [];
+for (const line of data.split("\n")) {
+  if (line.trim() === "") continue;
+  const numberLine = [];
+  numbers.push(numberLine);
+
+  for (const segment of line.split(" ")) {
+    if (segment.startsWith("?")) continue;
+    const isMid = segment.endsWith(".");
+    const num = parseInt(segment);
+    // if (isMid) numberLine.push((num - 1) * 2 + 1);
+    // else numberLine.push((num - 1) * 2);
+    if (isMid) numberLine.push(12 + num - 1);
+    else numberLine.push(num - 1);
+  }
+}
+
+const alphabet = "abcdefghijklmnopqrstuvwxyz";
+
+for (let shift = 0; shift < alphabet.length; shift++) {
+  for (const line of numbers) {
+    let res = "";
+    for (const num of line) {
+      res += alphabet[(num + shift) % alphabet.length];
+    }
+    for (let i = 0; i < res.length; i++)
+      if (res.substr(i).startsWith("doit")) console.log(res);
+  }
+  console.log(" ");
+}