{"issue":{"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"state":"closed","milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/dfe88469b75efc87cbcbbbc2a975850a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"dfe88469b75efc87cbcbbbc2a975850a","url":"https://api.github.com/users/mcandre","login":"mcandre","id":5316},"labels":[],"updated_at":"2011-11-18T04:22:31Z","assignee":null,"closed_at":"2011-11-18T04:22:31Z","comments":1,"url":"https://api.github.com/repos/bos/strange-loop-2011/issues/5","body":"I don't know where else to post this, so I'll use the Issues tab. This isn't a trouble ticket but a gushing commendation.\r\n\r\nYeah so I'm RWH-LYAH fanboy. It's rather nice to know you can be successful using an obscure language at your own startup.\r\n\r\nWow, I can't believe I can fill in the talking points in the slideshow. The delete-badly-typed-code bug. This is a Haskeller's Haskell talk.\r\n\r\nYet it's also a business talk, something that is too often neglected in the programming world. Have you heard David Heinemeier Hansson's talk, [The secret to making money online](http://www.youtube.com/watch?v=0CDXJ6bMkMY)?\r\n\r\nWhat I love most about Haskell: Functional Programming, Solid Code, Big Data and David's talk is the practical advice. Put a decent pricetag on your services. Write better libraries. I really took to heart the idea that if you're not satisfied with pre-existing libraries, you should build your own.\r\n\r\nSo:\r\n\r\n * Common Lisp https://github.com/mcandre/cl-quickcheck\r\n * Smalltalk https://github.com/mcandre/quicksmash\r\n * Node.js https://github.com/mcandre/node-quickcheck\r\n * Factor https://github.com/mcandre/factcheck\r\n\r\nThere's one thing I'm not satisfied with. I'd like to see the ports autodetecting the types required by properties, but Haskell seems to be the only language that can do this, for obvious reasons.\r\n\r\nSomeone made a Python port, qc, and it uses type annotations to skirt around this. But for really complex types, you need closures to generate them, so I'm sticking with the current design for now.","html_url":"https://github.com/bos/strange-loop-2011/issues/5","title":"Fantastic presentation","number":5,"id":1703138,"created_at":"2011-09-21T17:49:00Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/76d19f57f5d4c2d36f1f417c5ac5beae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76d19f57f5d4c2d36f1f417c5ac5beae","url":"https://api.github.com/users/bos","login":"bos","id":23374},"updated_at":"2011-11-18T04:22:31Z","url":"https://api.github.com/repos/bos/strange-loop-2011/issues/comments/2785665","body":"Thanks for the nice comments, @mcandre!\r\n","id":2785665,"created_at":"2011-11-18T04:22:31Z"}}