I manage to get rid of line 99.99% of spam with a hidden checkbox. Bots tend to check them, so I just ignore it if it's checked.
I also use the hidden field trick, but I label it phone number and fill it with zeros. Then I hide it with an external stylesheet. I don't actually want a phone field, its a decoy. If it is changed from zeros, it is spam. Most spam bots don't seem to parse external stylesheets.
I've had zero contact form spam with this method. Mind you it is a very low volume site.
I was just having fun with it, making a php-style contact form backend but using node.js. I read lots of those old blog posts you mention.