Howdy!  I was filtering some files and ran into an anomaly. 
I'm running Ruby 1.6.4 on an old Windows machine. Everything 
was fine when I was manipulating bytes with getc/putc, but that 
seemed too C-ish, so I tried a tweak to a Ruby idiom. Imagine 
my surprise and delight to discover that a file with some bytes 
deleted was larger than the original file!  Ditto for reading.

  count = 0
  f = File.new( ARGV[0], "r")
  f.each_byte do
    count += 1
  end
  f.close

  printf( "%s had %d bytes via .each_byte,\n", ARGV[0], count)
  printf( "while file.stat.size reports %d bytes.\n", File.stat(ARGV[0]).size)

generates the following results:

  H:\ruby >ruby fsize.rb 1MEG.1
  1MEG.1 had 1048553 bytes via .each_byte,
  while file.stat.size reports 1048576 bytes.

Any ideas? Is this a Windows-specific oddity or showing up elsewhere?

TIA, Tyler