I just realized something about my patch. It actually counts down, not up (has to do with the recursion). The patch should be changed to the following.
Later, Mark
#N canvas 196 294 600 500 8; #X obj 170 155 t i i; #X obj 236 225 spigot; #X obj 165 324 print; #X msg 197 188 1; #X msg 164 105 bang; #X msg 150 187 0; #X obj 177 217 + 1; #X obj 245 291 < 20; #X obj 164 254 t i i i; #X connect 0 0 5 0; #X connect 0 1 3 0; #X connect 1 0 6 0; #X connect 3 0 6 1; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 6 0 8 0; #X connect 7 0 1 1; #X connect 8 0 1 0; #X connect 8 1 2 0;