I'm in Montreal and I've served as a scrutineer. The system works pretty much as described in the article, but I can add a few details.
The voting section of the ballot is done with blank/white circles on a black background. This way, there is no confusion about making marks outside the lines. One circle and one circle only must have a mark for it to be a valid vote. The ballot is fairly large, maybe four by five inches or so, and that allows plenty of space between circles.
The counterfoils are strips that are torn off the ballot with the help of perforations in the paper. The counterfoils are saved in a plastic bag and the number of counterfoils is compared to the number of cast ballots as part of the process of counting votes. It's a simple process, but there is some human error. When I did it, the two numbers didn't match up. We were off by one or two, as I recall.
The biggest problem we had, and a potential source of fraud the scrutineers can do nothing about, is the list of registered voters. We get a stack of papers stapled together that contain the names and addresses of all voters eligible to vote at our poll (there are several polls at each voting location). This list tells us who has already voted in advance polls. Either some of these are in error or some voters don't remember going to the advance polls, but we had a few cases in which we had to refuse voters because they were marked as having already voted. Some of them got really angry, but there is nothing we at the polls can do about that.
The voting and counting are open to the public and to party witnesses. Anybody can watch the process take place, but it is absolutely hands off for them.
The hand-counting doesn't take very long. Each polling station (ballot box) only has to count a few hundred votes, which is then reported to the officer in charge of the voting location, and so on up the chain. The entire station - ballots, papers, counterfoils, etc. - are sealed in the box with special tape and returned, so that any recounts would be easy to accomplish.