1,894 karma · joined March 8, 2010
I'd like to see less discussion of "David" and "Zed"'s peccadillo on this site. A cult around someone's personality flaws is just as vapid as a cult around someone's personality. The well-worn proverb goes, "Great minds discuss ideas; average minds discuss events; small minds discuss people."
http://www.yesodweb.com/blog/2010/09/enumerators-tutorial-pa...
An iteratee is essentially just a function that takes an input symbol and returns either a final state value or another iteratee.
I use an @gmail.com address because I don't want to worry about getting spam-foldered when I email a new client. I don't have a business license because sole proprietorships don't need them in CA or anywhere else I've worked. I've never furnished my own consulting agreement because every company I work with already has one they're comfortable with. I only gathered the other paraphernalia of freelancerhood after a long period of being too busy with freelance work to do so.
Notwithstanding false negatives like myself, these heuristics might help you identify who among your consultants cannot be persuaded to become an employee. But they're a poor proxy for judging diligence, reliability, or any of the other qualities you should be measuring by portfolio work and references.
I found the (imperative : recipe :: functional : equation) analogy to be apt, especially for the lay audience. I agree that it may not be up to the task of contextualizing certain language features (like referential transparency; "the cook will always make the exact same cake if you give it the same stuff"), but like OOP, many of those features are not inherent to either of imperative or functional programming, and not important in understanding the difference.
I will be interested to see how scripting Redis with Lua measures up to that solution. The separate daemon would have the overhead of protocol handling for each communication with Redis, but it could also be written in a compiled language, a language with better concurrency support, etc. It would also be trivially sandboxed from the Redis server.
Bank of America, for example, foils 1Password by spreading login across two forms and using a custom, non-machine-discoverable "submit" button in one of them.
But if OP is expecting a lifetime of learning, he might want to push a new autorelease pool for each iteration.
That's not to say that Silicon Valleyspeak is not the practical choice for this particular situation. But I'd rather not see that become the standard for how native speakers speak.