----- Original Message ----- 
From: "Michael Campbell" <michael_s_campbell / yahoo.com>
To: "ruby-talk ML" <ruby-talk / ruby-lang.org>
Sent: Tuesday, June 10, 2003 8:54 PM
Subject: Re: raa-install: package list update?


> > One feature I'd suggest is: Get rid of all the dots,
> > and replace with either a spinner or a counter.
> 
> Ugh, no thanks.  Dots, or something that doesn't require backspacing
> or otherwise "erasing" something that's already been printed (as
> spinners or counters both do) will work on *all* text mode outputs;
> including for example, emacs shell buffers.
> 
> Doing the quasi-screen-erasure features rely on termcap type
> capabilities, and it ends up looking horrible for outputs that don't
> have it at all, or aren't programmed to do those things.
> 
> Please, keep the dots.  If you find them too many, reduce the number
> of them, but make it "entropic"; don't try to do the fancy stuff. 
> It's sufficient to know that an install is going forward.

When I do this, I use a simple \r (carriage return).
I've never known it to fail or be messy, even on
(ack) MSDOS.

Am I missing something?

For example, here's a contrived bit of code below.
When/where would it fail, besides a hardcopy device
like a 1970s paper terminal or something?

Hal

count = 0
ended = false

Thread.new { sleep 10; ended = true }

Thread.new do
  loop do
    break if ended
    print "#{'%6d' % count} entries processed\r"
    sleep 0.5 + rand
  end
end

loop do
  break if ended
  sleep(0.001*rand)
  count += 7
end