Sorry, I was busy creating another thread. So, I didn't see your post.
Hmmm.. I'll think for a while and reply.
OK. Randomly in the sense ?!?
After you write a block, your pointer stays there till you manually move it by reading writing or seeking.
So, you can write a block. Take a break

. Write 100 more. Take another break. Then write 10000 more. And then after final break you may write the rest 384 blocks !
I don't exactly understand what do you mean by RANDOMLY ?!