Skip to content

Instantly share code, notes, and snippets.

@kidGodzilla
Last active April 21, 2025 08:11
Show Gist options
  • Save kidGodzilla/7233a4f07e8d9d4c8b2496a2e5a30f3a to your computer and use it in GitHub Desktop.
Save kidGodzilla/7233a4f07e8d9d4c8b2496a2e5a30f3a to your computer and use it in GitHub Desktop.
🐢 Barks Endlessly (2nd order markov chain but barking)
// Barks endlessly in your console (Paste it in)
(function () {
class MarkovChainGenerator {
constructor(tokens, order = 2) {
this.order = order;
this.model = new Map();
for (let i = 0; i <= tokens.length - order; i++) {
const key = tokens.slice(i, i + order).join(',');
const next = tokens[i + order];
if (!next) continue;
if (!this.model.has(key)) {
this.model.set(key, []);
}
this.model.get(key).push(next);
}
}
generate(length = 12) {
const keys = Array.from(this.model.keys());
const start = keys[Math.floor(Math.random() * keys.length)].split(',');
const result = [...start];
for (let i = 0; i < length - this.order; i++) {
const key = result.slice(-this.order).join(',');
const choices = this.model.get(key);
if (!choices) break;
const next = choices[Math.floor(Math.random() * choices.length)];
result.push(next);
}
return result;
}
}
const barks = [
"woof", "woof", "arf", "bark", "bark", "grr", "ruff",
"yip", "yip", "woof", "grr", "woof", "arf", "ruff",
"bork", "roof"
];
const emojis = ["🐢", "πŸ•", "🐩", "🦴", "🐾", "πŸ—―οΈ"];
const generator = new MarkovChainGenerator(barks, 2);
function makeBark(tokenCount = 8) {
const barkTokens = generator.generate(tokenCount);
// Add more emojis, possibly repeated
const numEmojis = Math.floor(Math.random() * 5) + 1;
for (let i = 0; i < numEmojis; i++) {
const emoji = emojis[Math.floor(Math.random() * emojis.length)];
const pos = Math.floor(Math.random() * (barkTokens.length + 1));
barkTokens.splice(pos, 0, emoji);
}
let text = barkTokens.join(' ');
// Apply random format variations
const modifiers = [
t => t.toUpperCase(),
t => t + '!',
t => t + '?',
t => t + '!?',
t => t + ' ' + emojis[Math.floor(Math.random() * emojis.length)],
t => t // no change
];
const variation = modifiers[Math.floor(Math.random() * modifiers.length)];
return variation(text);
}
setInterval(() => {
console.log(makeBark(8));
}, 2000); // Every 2 seconds
})();
@kidGodzilla
Copy link
Author

woof arf ruff 🦴 bork 🐩 🦴 roof!
woof grr woof arf ruff bork πŸ—―οΈ roof 🐢
grr πŸ• woof arf ruff πŸ• bork 🦴 🦴 roof?
woof woof arf bark bark grr ruff yip 🦴!?
bark grr ruff 🐩 yip yip woof grr 🐾 woof πŸ—―οΈ?
bark grr ruff yip πŸ• yip woof grr woof 🐾
yip woof grr woof arf bark πŸ• bark grr 🐾
🐾 πŸ• πŸ—―οΈ bark grr ruff yip 🐢 yip woof grr woof?
GRR RUFF YIP πŸ• πŸ• YIP WOOF 🐢 GRR WOOF ARF 🐾
grr woof arf bark bark grr 🐾 ruff πŸ—―οΈ yip!
🦴 πŸ• yip 🐢 yip 🦴 woof grr 🐢 woof arf bark bark!
🐾 🐢 grr woof arf ruff bork roof πŸ•
ruff yip yip woof grr πŸ• woof arf bark?
ARF RUFF 🐩 BORK ROOF
🐢 ruff bork 🐩 πŸ• 🦴 roof πŸ—―οΈ 🐩
grr woof 🐾 arf 🐩 bark πŸ—―οΈ bark 🐩 grr ruff πŸ—―οΈ yip!
🐢 🐩 woof 🐢 arf bark 🦴 bark grr ruff yip yip?
grr ruff yip yip woof grr woof arf πŸ•
grr ruff 🐩 yip yip woof 🦴 grr woof 🐢 🦴 arf 🐢!
bark bark grr ruff yip πŸ—―οΈ yip woof grr πŸ• πŸ—―οΈ!
🐾 woof grr woof arf 🦴 🦴 bark bark grr 🦴 ruff!?
arf 🐢 ruff bork roof?
ruff 🐾 bork 🐢 🐩 roof 🦴!
yip 🦴 🐩 yip woof grr 🐢 woof 🐩 arf ruff bork πŸ•
yip woof 🦴 grr woof arf bark bark grr!
GRR WOOF ARF 🐩 BARK 🐢 🐢 BARK GRR RUFF YIP
grr 🐢 🦴 🐩 woof arf ruff bork 🐩 πŸ—―οΈ roof
woof πŸ• arf bark bark grr ruff yip yip
yip woof grr woof arf ruff bork πŸ• roof!
grr woof arf bark πŸ—―οΈ bark grr 🐾 🐾 ruff yip 🐾 🦴 πŸ—―οΈ
BARK 🐢 🐾 BARK πŸ—―οΈ GRR RUFF YIP YIP WOOF GRR πŸ—―οΈ
arf bark bark grr ruff 🐢 πŸ—―οΈ 🐢 yip yip 🐢 woof!?
🐾 woof woof arf ruff bork roof?
grr πŸ• ruff πŸ—―οΈ yip yip 🐩 🐾 woof grr woof arf!
🦴 ruff yip yip 🐢 woof grr woof arf ruff?
bark grr ruff yip yip woof grr woof πŸ•!?
grr woof arf bark bark grr 🦴 ruff yip 🦴 πŸ•!
ruff 🦴 πŸ• 🐾 bork roof 🦴 🐢!
woof arf ruff 🐩 πŸ• bork roof 🐩!
arf πŸ• ruff 🦴 bork roof 🐩
🐾 ruff 🐩 yip yip woof 🐢 grr 🐢 woof arf bark!
YIP WOOF πŸ• GRR WOOF ARF 🐩 🐢 BARK πŸ• BARK GRR
woof woof arf 🐩 ruff bork πŸ—―οΈ roof
bark bark grr ruff πŸ—―οΈ yip yip πŸ—―οΈ woof 🦴 🐢 grr!
πŸ• ruff bork roof
arf bark bark grr ruff yip yip woof 🐾!?
ARF πŸ• πŸ—―οΈ RUFF BORK ROOF 🦴 🦴
grr woof 🐾 arf ruff bork roof
woof arf ruff bork roof 🐢 🐩
ruff bork 🐾 🐾 🐾 roof
grr ruff yip 🐾 🐢 yip 🦴 🦴 woof grr woof arf

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