I really don't like writing OpenSCAD code, but it's a useful tool, so I made a wrapper that lets me write python instead to produce OpenSCAD objects.
from scad import *
toy = cube(100) * sphere(67) - sphere(65)
toy = toy.translate(0,0,50)
toys = sum(toy.scale(0.8**i) for i in range(4))
repl(toys)