1,926 karma · joined September 14, 2008
And, recently, Async JavaScript: http://leanpub.com/asyncjs
I'm available for freelance work on exceptionally interesting projects. I live in Cambridge, MA.
Website: http://trevorburnham.com/
Email: trevorburnham@gmail.com
I do think the idea has a lot of potential, and what StatWing has built is already more complete than what my team managed to build in 3 months. A few suggestions I'd offer based on that experience:
1. Parsing CSVs is easy in theory, but painful in practice, because CSVs in the wild tend to be full of junk. I would provide a JSON API that makes it easy for developers to put data in your system directly, allowing people to build their own CSV parsers for you.
2. Use GitHub as your model. You want people to collaborate around data the same way that developers collaborate around code. Just about every day when I was doing DataBraid, we'd discuss a use case and then say "Oh, GitHub already figured out the right way to do this." The most compelling use case here is that researchers can run different sets of tests on the same data and discuss which approach is the most valid/insightful.
3. Getting to revenue will be hard, but having paying customers will make it much, much easier to attract investment. So find the MVP that people will pay for and put everything else on a "nice-to-have" list.
Best of luck!
Of course, I think it's fair to say that there's more Obj-C code than CoffeeScript being written, but less of it is being open-sourced.
However, Traceur has gained little traction. With the announcement of Dart, it's clear that Google's heart isn't really into the project.
See also: http://stackoverflow.com/questions/6506519/ecmascriptharmony...
This applies to HTML and CSS preprocessors as well: I'd advocate Jade over Haml and Stylus or Less over Sass, simply because Jade and Stylus/Less aren't tied to the Ruby ecosystem. JS is the real deal for "Write Once, Run Anywhere."
The use of CoffeeScript has become fairly widespread at startups (GitHub, 37signals, many YC alums...) but not in larger enterprises. One reason for this is that debugging CoffeeScript requires a "hacker mentality": compile-time errors are often reported with minimal or misleading explanations (e.g. "Unexpected ," when there is no comma on the line, but rather an implicit comma from whitespace); run-time errors have to be manually traced from the compiled JS to the original CoffeeScript.
These flaws are likely to be ameliorated gradually (Jeremy has stated that Source Map support is the primary goal for CoffeeScript 1.4), but this project could improve the debugging situation dramatically in a matter of months. I hope the CoffeeScript community will lend Michael their support.
This is my second book; the first was http://pragprog.com/book/tbcoffee/coffeescript.
I ran a Kickstarter in February to try to attract advance buzz: http://www.kickstarter.com/projects/869786663/async-javascri...
Buzzwords: JavaScript, CoffeeScript, jQuery, Backbone.js, Node.js.
Author of the PragProg book on CoffeeScript and a forthcoming book on Async JavaScript. Interested in solving JavaScript problems and architecting client-side applications.
A sample chapter on Promises, focusing on their implementation in jQuery (1.5+), is available now: http://www.kickstarter.com/projects/869786663/async-javascri...
Caveat emptor: This is a first edition, and updates (both technical and content-wise) are planned for the near future. Feedback is very welcome.
Looking to solve interesting JavaScript (or CoffeeScript) problems.
* I wrote the CoffeeScript book for PragProg.
* I'm avid about Node.js and jQuery.
I've also been getting into iBooks Author lately. My first iBook, "CoffeeScript: An Interactive Reference," is already available on iTunes (http://itunes.apple.com/us/book/coffeescript/id498532763?mt=...). If you have a fresh idea, I'd love to collaborate with you on an interactive book.
It looks very Rails-y with many sensible defaults (e.g. automatic CSRF for forms), but is quite a bit more lightweight. Making Redis a dependency is a smart choice; you need to store all session state, etc. outside of the process in order to cluster a Node app and take advantage of all cores.
Web dev. Wrote the PragProg book on CoffeeScript. Proficient in jQuery and Node.js.
I also enjoy random networking, so if you're in the Harvard/MIT vicinity and you want to talk tech, let's grab coffee. One person got into Y Combinator after asking me for interview tips, so I may be a good luck charm. ;)
Features list needs to give more specifics about RAM, disk space, bandwidth, etc., not just a list of pre-installed software (especially things like Express and Backbone that are trivial for me to bundle with my app when I upload it).
The bullet point about "We don't make you go through a proxy" is useful. You could also brag that WebSockets work—last I checked, this is a big drawback on Heroku.
Is there a reason you refer to Node as "n*d." on the front page, and "nod." on the features page?
When I wrote the PragProg book on CoffeeScript (http://pragprog.com/book/tbcoffee/coffeescript), my aim from the start was to fill common gaps in JavaScripters' knowledge while introducing them to the new language. Brendan Eich himself said in his blurb for the book: "It helps readers become better JavaScripters in the process of learning CoffeeScript."
Far from distracting people from learning JavaScript properly, CoffeeScript is a terrific learning tool.
I am guessing that James Surowiecki does not read Hacker News. Would anyone here care to make the case that iOS is more "open" than the Mac, in any sense?
> This is clearly an extremely advanced level mathematical course, focusing on the Peano axioms for the natural numbers which formalised mathematics in the late 19th century. This course would culminate with Gödel's second incompleteness theorem which shows that the consitency of the Peano axioms cannot be formalised within Peano arithmetic itself.
That's not always efficient. Suppose you want the same lengthy template to be available across several pages which share the same JavaScript. Then it makes a lot more sense to put the template in the JS and serve it once than to put it in the DOM and serve it repeatedly. Also, with the DOM approach, you have to insert data into the template using regex rather than simple str1 + data + str2.
If syntax highlighting is really your major concern, write a simple script that compiles your .html to .coffee (sandwiched with """). Best of both worlds.
return x unless err
return y if condition
...
return z
Keeping all of your "return"s at the start of the line makes it much easier to see, at a glance, what the possible return values of your function are. (And, of course, when you see a "return" in the middle of your function, you know there must be a condition attached.)