Skip to content

Instantly share code, notes, and snippets.

@lucharo
Created January 15, 2026 23:38
Show Gist options
  • Select an option

  • Save lucharo/8626bd82def24a3d99cef94bc79cd06c to your computer and use it in GitHub Desktop.

Select an option

Save lucharo/8626bd82def24a3d99cef94bc79cd06c to your computer and use it in GitHub Desktop.
Lango Matrix Rain Demo
<!DOCTYPE html>
<html>
<head>
<title>Lango Sandbox Demo</title>
<style>
body { background: #0a0a0a; margin: 0; overflow: hidden; font-family: monospace; }
canvas { display: block; }
.info { position: fixed; top: 10px; left: 10px; color: #0f0; font-size: 14px; }
</style>
</head>
<body>
<div class="info">🦞 Lango's Matrix Rain - Generated in Docker Sandbox</div>
<canvas id="c"></canvas>
<script>
const canvas = document.getElementById('c');
const ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
const chars = 'をむウエγ‚ͺγ‚«γ‚­γ‚―γ‚±γ‚³γ‚΅γ‚·γ‚Ήγ‚»γ‚½γ‚Ώγƒγƒ„γƒ†γƒˆγƒŠγƒ‹γƒŒγƒγƒŽγƒγƒ’γƒ•γƒ˜γƒ›γƒžγƒŸγƒ γƒ‘γƒ’γƒ€γƒ¦γƒ¨γƒ©γƒͺルレロワヲン0123456789LANGO';
const fontSize = 16;
const columns = canvas.width / fontSize;
const drops = Array(Math.floor(columns)).fill(1);
function draw() {
ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#0f0';
ctx.font = fontSize + 'px monospace';
for (let i = 0; i < drops.length; i++) {
const char = chars[Math.floor(Math.random() * chars.length)];
ctx.fillStyle = Math.random() > 0.98 ? '#fff' : '#0f0';
ctx.fillText(char, i * fontSize, drops[i] * fontSize);
if (drops[i] * fontSize > canvas.height && Math.random() > 0.975) drops[i] = 0;
drops[i]++;
}
}
setInterval(draw, 33);
window.onresize = () => { canvas.width = window.innerWidth; canvas.height = window.innerHeight; };
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment