You'd think the Reader would be the easy one, wouldn't you. After all, they've done the Verifier and the Sequencer and the Writer. How hard could the Reader be?
Pretty hard I guess, because our dynamic duo got all bolluxed up a couple of times here.
First, there's that silly bug they inadvertently added to the code in the first tomato. (Can you spot it?) Finding that bug took them most of the second tomato, and caused them to butcher a lot of perfectly good code in the process. Oh, they got it all back and working, but—well, it was embarrassing.
Then there was the whole problem of the EOF. Somehow they instinctively knew that the EOF was important, but they didn't think through just why it was important. And so they chose a convenient shortcut, and wrote a bunch of code based on that shortcut, only to realize that the shortcut blocked the real need. So they had to back out their code and redo it.
In fact, in this episode, the number of times they had to back out incorrect solution is pretty high. Perhaps they were getting tired.
Programming when you are tired is a losing proposition. Even the most experienced programmers get fatigued.
In the end, however, all is well. The Writer is nearing completion, and all the other major components are complete.