The Shining: typewriter scripting

I wanted to write a simple script to mimic a typewriter typing The Shining’s “All work and no play” lines. I wrote it in python first, but then decided to re-write it in JavaScript. The Python is more complex than it needs to be, but I wanted to practice generators.



Python:

#!/usr/bin/env python3
import time
import random

jack = “All work and no play makes Nick a dull boy. “ PROB_SKIP = 0.01

def sometimes(percent=0.50): return random.random() < percent

def all_work(): while True: for c in jack: if sometimes(PROB_SKIP): continue yield c time.sleep(0.050) time.sleep(0.400)

if name == ‘main‘: for work in all_work(): print(“{work}”.format(work=work), end=” “, flush=True)

Javascript:

function typer(text, n) {
  if (n < (text.length)) {
    document.getElementById(“typer”).innerHTML = text.substring(0, n++);
    setTimeout(function() { typer(text, n) }, 100);
  }
}