If you have a look at his examples, they seem like reasonable questions too; they're not "turning a string of numbers into math problems", they're practical demonstrations of applications of the different technology stacks. If I were hiring a freelancer for a project, I'd probably do something like this with the option of just showing me some past work instead.
I've honestly never hired a carpenter or mechanic for a business before; from what I understand though there's usually a short probation period at the start where they're paid but can be let go summarily. This is the same kind of situation, only it's a shorter period.
While I agree with you that homework-style pre-screenings aren't something I like, I think for a lot of people it's hard for prospective employers to look at previous work, since it may be proprietary. Also, this is for a contractor role, and he says he pays their full rate for this homework assignment.
This is certainly preferably to wierd programming quizzes and coding on a whiteboard in front of silent people who give no clue as to what basis they are judging you. At least this guy gives you requirements and you know that you must provide a working application within an hour. Very clear targetted goal to aim for.
I generally solve this issue by paying the developer for the programming challenge. Usually, it's something that benefits the project that I'm working on. Then, if I hire them, it's a pretty easy transition.
So what if I find a bad dev or two and lose a bit of money. The good devs way more than make up for the investment in the bad ones.
I have been encumbered by IP agreements for years that make showing my code to anyone seriously problematic. Even talking about certain architectures can be borderline.
The author is saying you could have avoided working with any of the crappy carpenters, if you had paid them to make something dead simple in an hour as part of evaluating them.
I was interviewing with someone that wanted me to make an example sentiment analyzer for twitter and facebook to get hired. But he wanted someone to do it for free, I of course wanted money to do that.
You wouldn't ask a carpenter to make you a closet before you decide if you want to hire them, you look at the other houses they've created (at least, you should. There's a lot of crappy carpenters out there, and it feels like I've worked with them all). You don't ask your mechanic to change your oil for free, and then MAYBE you'll let them fix your car. So why is this just the status quo for software developers now? I have a job and family, why the hell would I want to spend my free time jumping through hoops for you when you could easily look at all the work I've already done?
I dunno, just my $0.02. I've been asked to do a lot of dumb programming challenges before job interviews, and I'm over it. I'm a professional and my time is valuable, why would I want to waste it figuring out how many ways you can turn a string of numbers into math problems?
/rant. Whew.