<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[CoffeeScript Cafe]]></title>
  
  <link href="http://coffeescriptcafe.com/" />
  <updated>2012-02-17T10:04:20-05:00</updated>
  <id>http://coffeescriptcafe.com/</id>
  <author>
    <name><![CDATA[Stephen Ball]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/coffeescriptcafe" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="coffeescriptcafe" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title type="html"><![CDATA[Coffee Taster: an easy CoffeeScript playground]]></title>
    <link href="http://coffeescriptcafe.com/blog/coffee-taster-an-easy-coffeescript-playground/" />
    <updated>2012-02-15T21:18:00-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/coffee-taster-an-easy-coffeescript-playground</id>
    <content type="html">&lt;p&gt;I&amp;#8217;ve been meaning to write a series of CoffeeScript examples and tutorials for
this blog, but I always get hung up on explaining how to setup a consistent and
easy CoffeeScript tutorial environment. So I wrote my own.&lt;/p&gt;

&lt;!-- more --&gt;


&lt;p&gt;&lt;a href="https://github.com/sdball/coffee-taster"&gt;Coffee Taster&lt;/a&gt;
is a small project to serve as an easy to install, easy to use
CoffeeScript playground. You just clone the project, &lt;code&gt;bundle install&lt;/code&gt;, open
index.html in a browser, &lt;code&gt;rake watch&lt;/code&gt;, and then code CoffeeScript.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s great because it means that I&amp;#8217;ll be able to code my CoffeeScript tutorials
and examples against a known environment we can all use.&lt;/p&gt;

&lt;p&gt;Feedback would be awesome, let me know how it works for you.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=BEwkoiN6gnI:1lxhPNqwAxg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=BEwkoiN6gnI:1lxhPNqwAxg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Freshly Brewed CoffeeScript Issue #4]]></title>
    <link href="http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-4/" />
    <updated>2012-01-25T12:39:17-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-4</id>
    <content type="html">&lt;h2&gt;News&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://paper.li/dmohl/1314620036"&gt;The CoffeeScript Daily&lt;/a&gt;
Keep up with the very latest in CoffeeScript news via this great link aggregator.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Articles&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.fogcreek.com/the-trello-tech-stack/"&gt;The Trello Tech Stack&lt;/a&gt;
Brett Kiefer summarizes Trello&amp;#8217;s current tech stack: CoffeeScript, Backbone, HTML5 pushState, Mustache, socket.io and websockets, node.js, HAProxy, Redis, MongoDB.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Presentations&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://vimeo.com/35258313"&gt;Better JS with CoffeeScript - Sam Stephenson (37signals)&lt;/a&gt;
Sam Stephenson relates how CoffeeScript results in faster, cleaner JavaScript. He gets into the why of CoffeeScript, benefits of the language, list comprehensions, classes and inheritance, bound functions, command line usage, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://shreyankg.fedorapeople.org/jsfoo/jsfoo.html#slide1"&gt;Shreyank Gupta&amp;#8217;s notes from a CoffeeScript presentation&lt;/a&gt;
&lt;a href="http://twitter.com/shreyankg"&gt;Gupta&lt;/a&gt;&amp;#8217;s notes are a nice, quick summary of a lot of CoffeeScript niceties.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Tutorials&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.templatemonster.com/2012/01/20/coffeescript-introduction-tutorials/"&gt;Introduction to CoffeeScript (+Useful Tutorials)&lt;/a&gt;
A nice collection of CoffeeScript tutorials.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=9gu07RtJ7l4:5hUY2gY5IyE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=9gu07RtJ7l4:5hUY2gY5IyE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Freshly Brewed CoffeeScript Issue #3]]></title>
    <link href="http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-3/" />
    <updated>2012-01-17T09:00:06-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-3</id>
    <content type="html">&lt;h2&gt;Articles&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://openmymind.net/2012/1/15/Understanding-CoffeeScript-Comprehensions/"&gt;Understanding CoffeeScript Comprehensions&lt;/a&gt;
If you have a ruby background and are coming to CoffeeScript then comprehensions are probably pretty foreign looking bits of syntax. &lt;a href="http://openmymind.net/about.html"&gt;Karl Seguin&lt;/a&gt; takes us through the basics.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Presentations&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.infoq.com/presentations/CoffeeScript;jsessionid=85E4A4C237D4AEB8EACA39FDED2662FC"&gt;CoffeeScript, the Rise of &amp;#8220;Build Your Own JavaScript&amp;#8221;&lt;/a&gt;
&lt;a href="https://github.com/jashkenas"&gt;Jeremy Ashkenas&lt;/a&gt; (the developer of CoffeeScript) introduces CoffeeScript, the reasoning behind its development, and takes us through some of the language features. The presentation is for a general audience and would be a great link if you need to introduce someone to CoffeeScript.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Tutorials&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://blog.james-carr.org/2012/01/16/blog-rolling-with-mongodb-node-js-and-coffeescript/"&gt;Blog Rolling with MongoDB, Node.js and Coffeescript&lt;/a&gt;
&lt;a href="http://blog.james-carr.org/about/"&gt;James Carr&lt;/a&gt; takes us through a step-by-step tutorial to build a blog using some of our favorite technologies. James also includes BDD using mocha. Nice!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://agiliq.com/blog/2012/01/writing-jquery-plugins-using-coffeescript/"&gt;Writing jQuery plugins using CoffeeScript&lt;/a&gt;
A quick tutorial that shows us how easy it is to write a jQuery plugin using CoffeeScript.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://autotelicum.github.com/Smooth-CoffeeScript/interactive/interactive-coffeescript.html"&gt;Interactive Smooth CoffeeScript&lt;/a&gt;
It&amp;#8217;s the book Smooth CoffeeScript but with all the code sections as interactive widgets! If you are learning CoffeeScript this is well worth reading/playing. Here&amp;#8217;s the &lt;a href="http://autotelicum.github.com/Smooth-CoffeeScript/interactive/interactive-coffeescript.html#functions"&gt;chapter on functions&lt;/a&gt;. See that yellow box with the function example code in it? Yeah, you can edit that and see the results live. Super cool.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=pKzrILrrTwQ&amp;amp;feature=youtu.be"&gt;CoffeeScriptLineMatcher youtube demonstration&lt;/a&gt;
&lt;a href="https://github.com/showell"&gt;Steve Howell&lt;/a&gt; show us how to use &lt;a href="https://github.com/showell/CoffeeScriptLineMatcher"&gt;CoffeeScriptLineMatcher&lt;/a&gt; (see below).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.catswhocode.com/blog/tutorials-and-snippets-to-get-started-with-coffeescript"&gt;Tutorials and snippets to get started with CoffeeScript&lt;/a&gt;
Jean-Baptiste Jung has collected a bunch of handy CoffeeScript tutorials into this post. If you want to branch our your CoffeeScript then head here and pick something cool.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Code&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/showell/CoffeeScriptLineMatcher"&gt;CoffeeScriptLineMatcher&lt;/a&gt;
A really great tool by &lt;a href="https://github.com/showell"&gt;Steve Howell&lt;/a&gt; that matches up CoffeeScript lines with those of the generated JavaScript. Really handy for debugging or just for learning more about how CoffeeScript transpiles. Be sure to check out Steve&amp;#8217;s &lt;a href="http://www.youtube.com/watch?v=pKzrILrrTwQ&amp;amp;feature=youtu.be"&gt;youtube demonstration&lt;/a&gt; if you want a quick introduction.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/charliesome/coffee-script-pure"&gt;coffee-script-pure&lt;/a&gt;
A CoffeeScript compiler in pure Ruby.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;One More Thing&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/joyent/node/pull/2472/commits"&gt;An amazing pull request rewriting Node.js in CoffeeScript&lt;/a&gt;
Which may, in fact, be entirely too much awesome.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=S6XlcvfhVGI:OQqVMIl6DCI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=S6XlcvfhVGI:OQqVMIl6DCI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Freshly Brewed CoffeeScript Issue #2]]></title>
    <link href="http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-2/" />
    <updated>2012-01-04T13:55:36-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-2</id>
    <content type="html">&lt;h2&gt;Weekly News&lt;/h2&gt;

&lt;p&gt;No CoffeeScript news over the holidays I guess.&lt;/p&gt;

&lt;h2&gt;Articles&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/raganwald/homoiconic/blob/master/2011/11/YouAreDaChef.md#readme"&gt;Separating Concerns in CoffeeScript using Aspect-Oriented Programming&lt;/a&gt; - How to implement aspect oriented programming in CoffeeScript to get DRY code by &lt;a href="https://github.com/raganwald"&gt;Reg Braithwaite&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://lucumr.pocoo.org/2011/12/22/implicit-scoping-in-coffeescript/"&gt;The Problem with Implicit Scoping in CoffeeScript&lt;/a&gt; - An article by &lt;a href="http://lucumr.pocoo.org/about/"&gt;Armin Ronacher&lt;/a&gt; describing a fundamental problem he sees with global variable scoping in CoffeeScript.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Presentations&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.parleys.com/#st=5&amp;amp;id=2925&amp;amp;sl=0"&gt;Parleys.com - HTML5 with Play/Scala, CoffeeScript and Jade&lt;/a&gt; - A presentation on using HTML5, the Play Framework, Scala, CoffeeScript, and Jade to build web applications by &lt;a href="http://raibledesigns.com/rd/page/about"&gt;Matt Raible&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Tutorials&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://metaphysicaldeveloper.wordpress.com/2011/12/20/implementing-minecraft-in-webgl/"&gt;Implementing Minecraft in WebGL (and CoffeeScript)&lt;/a&gt; - An article on how to implement basic features of Minecraft using WebGL and CoffeeScript by &lt;a href="http://metaphysicaldeveloper.wordpress.com/about-me/"&gt;Daniel Ribeiro&lt;/a&gt;. Very cool!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://agiliq.com/blog/2011/12/coffeescript-for-python-programmers/"&gt;Coffeescript for Python programmers&lt;/a&gt; - Shabda Raaj takes us through some simple CoffeeScript/Python syntax examples. It&amp;#8217;s great to see just how little changes between the two languages.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Code and Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://coffeescriptcookbook.com/"&gt;CoffeeScript Cookbook&lt;/a&gt; - A CoffeeScript community sourced book by &lt;a href="http://coffeescriptcookbook.com/authors"&gt;a bunch of CoffeeScript developers&lt;/a&gt;. From the basics of strings and arrays to jQuery, databases, and metaprogramming: the CoffeeScript Cookbook has plenty to offer and is a great resource.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/jashkenas/coffee-script/pull/1942"&gt;Tame&lt;/a&gt; - A &lt;strong&gt;huge&lt;/strong&gt; pull-request into CoffeeScript on GitHub by &lt;a href="https://github.com/maxtaco"&gt;Maxwell Krohn&lt;/a&gt; to add &amp;#8220;await&amp;#8221; and &amp;#8220;defer&amp;#8221; statements into CoffeeScript. Good-Bye callback hell?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://shpaml.webfactional.com/misc/RosettaCoffee/code.htm"&gt;Collated CoffeeScript examples from Rosetta Code&lt;/a&gt; - CoffeeScript examples from RosettaCode formatted into a single page by &lt;a href="https://github.com/showell"&gt;Steve Howell&lt;/a&gt;. A great resource for digging through lots of examples.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vesln/times"&gt;times&lt;/a&gt; - A ruby-like times operator for CoffeeScript by &lt;a href="https://github.com/vesln"&gt;Veselin Todorov&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=ZHa2kRqyE4A:nnj_x2b8ipY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=ZHa2kRqyE4A:nnj_x2b8ipY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Freshly Brewed CoffeeScript Issue #1]]></title>
    <link href="http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-1/" />
    <updated>2011-12-21T09:00:08-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-1</id>
    <content type="html">&lt;h2&gt;Weekly News&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jashkenas/coffee-script/compare/1.1.3...1.2.0"&gt;CoffeeScript 1.2.0 released&lt;/a&gt; - That link shows all the git commits from 1.1.3 to 1.2.0 (oldest first). You can also checkout the &lt;a href="http://coffeescript.org/#changelog"&gt;official CoffeeScript changelog&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Articles&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://blog.davidpadbury.com/2010/12/09/making-macros-in-coffeescript/"&gt;Making Macros in CoffeeScript&lt;/a&gt; - An interesting experiment by &lt;a href="http://blog.davidpadbury.com/about-me/"&gt;David Padbury&lt;/a&gt; testing if it&amp;#8217;s possible to easily alter CoffeeScript code before it&amp;#8217;s compiled.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://vimeo.com/33246634?"&gt;CoffeeScript is for Closers&lt;/a&gt; - &lt;a href="http://userinexperience.com/?page_id=575"&gt;Brandon Satrom&lt;/a&gt; gives us a great presentation on the why of CoffeeScript and how to get started using it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Tutorials&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tutorialzine.com/2011/10/ios-homescreen-coffeescript/"&gt;Creating an iOS-like Home Screen with CoffeeScript&lt;/a&gt; - A nice and complete tutorial detailing how to replicate an iOS &amp;#8220;home screen&amp;#8221; using CoffeeScript, jQuery, and the &lt;a href="https://github.com/dotmaster/Touchable-jQuery-Plugin"&gt;Touchable jQuery plugin&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Code and Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/clutchski/coffeelint?"&gt;coffeelint&lt;/a&gt; - Sure CoffeeScript brews into lint-checked JavaScript; but have you ever wanted to make sure that your CoffeeScript itself is as clean and well-formed as it could be? CoffeeLint by &lt;a href="http://codeinthewild.com/"&gt;Matt Perpick&lt;/a&gt; could be just what you&amp;#8217;re looking for.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://rosettacode.org/wiki/Category:CoffeeScript"&gt;Rosetta Code CoffeeScript Examples&lt;/a&gt; - A great list of example CoffeeScript code for a wide range of programming topics. If you feel like contributing or just want a pointer for a small problem to practice CoffeeScript with, check out their &lt;a href="http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_CoffeeScript"&gt;Tasks not implemented in CoffeeScript&lt;/a&gt; list and code them up.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.coffeescriptlove.com/"&gt;CoffeeScript Love&lt;/a&gt; - A fan blog dedicated to the &amp;#8220;little language that compiles into JavaScript&amp;#8221;. Another (ahem) good resource for keeping up-to-date with CoffeeScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://coffeescript.codeschool.com/"&gt;Code School - CoffeeScript&lt;/a&gt; - Expanding on their excellent JavaScript, jQuery, Rails, HTML, and Ruby tutorials: Code School has added CoffeeScript. I&amp;#8217;ve been quite impressed with the presentation and quality of their courses and this looks like no exception.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Op/Ed&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://oscargodson.com/#!/article/55075016"&gt;Writing Eloquent JavaScript Without CoffeeScript&lt;/a&gt; - &lt;a href="http://oscargodson.com/#!/about/"&gt;Oscar Godson&lt;/a&gt; makes a case for getting some of the syntax benefits of CoffeeScript by being clever about JavaScript syntax.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://ryanflorence.com/2011/2012/case-against-coffeescript/"&gt;A Case Against Using CoffeeScript&lt;/a&gt; - &lt;a href="http://ryanflorence.com/contact/"&gt;Ryan Florence&lt;/a&gt; argues that CoffeeScript isn&amp;#8217;t a good idea because it separates the programmed code from the executed code thus increasing the difficulties debugging and maintaining the codebase. A lot of his points depend on subjective arguments, but it and its &lt;a href="http://news.ycombinator.com/item?id=3349670"&gt;discussion on Hacker News&lt;/a&gt; are well worth a read.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://net.tutsplus.com/articles/interviews/should-you-learn-coffeescript/?"&gt;Should You Learn CoffeeScript?&lt;/a&gt; - An amazing panel discussion by a good group of programmers ranging from CoffeeScript promoters to naysayers. Seriously, both the above Ryan Florence and Oscar Godson are included as well as Jeremy Ashkenas, Brendan Eich, and Trever Burnham. If you are at all interested in CoffeeScript (and I&amp;#8217;m betting you are) this is an amazing read.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=b6s6v5arxkU:Ua-QvAKn4TM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=b6s6v5arxkU:Ua-QvAKn4TM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Freshly Brewed CoffeeScript Issue #0]]></title>
    <link href="http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-0/" />
    <updated>2011-12-16T12:54:48-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/freshly-brewed-coffeescript-issue-0</id>
    <content type="html">&lt;p&gt;Hey, &lt;a href="http://peterc.org/"&gt;Peter Cooper&lt;/a&gt; is a smart guy and &lt;a href="http://javascriptweekly.com/"&gt;JavaScript Weekly&lt;/a&gt; is exceedingly awesome. Let&amp;#8217;s see if CoffeeScript has enough traffic to merit a weekly post of news and links.&lt;/p&gt;

&lt;h2&gt;Issue #0?&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;ve got a backlog of CoffeeScript links to get out. This issue covers my links older than a week, Issue #1 will be following shortly with the latest in CoffeeScript news, articles, and resources.&lt;/p&gt;

&lt;h2&gt;Code and Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://adamjspooner.github.com/coffeescript-meet-backbonejs/?"&gt;CoffeeScript, Meet Backbone.js: A Tutorial&lt;/a&gt; - A five part Backbone.js and CoffeeScript tutorial by &lt;a href="http://www.adamjspooner.com/"&gt;Adam Spooner&lt;/a&gt;. It starts at &amp;#8220;Hello, Backbone!&amp;#8221; and builds to greater complexity. Its designed to be cloned (or forked) from Github and followed locally, not just read from the site.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://doihavetousecoffeescriptinrails.com/"&gt;Do I Have To Use CoffeeScript In Rails?&lt;/a&gt; - A joke by &lt;a href="http://jasonseifer.com/"&gt;Jason Seifer&lt;/a&gt; :&lt;code&gt;-&lt;/code&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://autotelicum.github.com/Smooth-CoffeeScript/SmoothCoffeeScript.html"&gt;Smooth CoffeeScript&lt;/a&gt; - A very, very nice introductory book on CoffeeScript by E. Hoigaard. The book is completely open source and freely available. The site nicely provides a set of links for readability integration. Smooth CoffeeScript attempts to be an evolution of &lt;em&gt;Eloquent JavaScript&lt;/em&gt; by Marijn Haverbeke; as such it&amp;#8217;s a great introduction to JavaScript/CoffeeScript in general.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://arcturo.github.com/library/coffeescript/"&gt;The Little Book on CoffeeScript&lt;/a&gt; - Another completely open source CoffeeScript book by &lt;a href="http://alexmaccaw.co.uk/"&gt;Alex MacCaw&lt;/a&gt;. It&amp;#8217;s also a great introduction to the basics of the language and a good go-to reference. The &amp;#8220;Bad Parts&amp;#8221; section is a good overview of CoffeeScript pitfalls to watch out for.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/lukaszkorecki/coffeetags"&gt;CoffeeTags&lt;/a&gt; - A simple tool for generating Ctags compatible CoffeeScript tags so you can easily explore CoffeeScript projects in vim.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=auYfLpoEmIQ:dP4uzixYFmI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=auYfLpoEmIQ:dP4uzixYFmI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[jQuery event binding in CoffeeScript]]></title>
    <link href="http://coffeescriptcafe.com/blog/jquery-event-binding-in-coffeescript/" />
    <updated>2011-12-14T20:01:58-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/jquery-event-binding-in-coffeescript</id>
    <content type="html">&lt;p&gt;Let&amp;#8217;s say you want to write a small bit of CoffeeScript to do something simple like show an ajax spinner image when the user submits a given form. The powers of jQuery and CoffeeScript combine to give us:&lt;/p&gt;

&lt;h2&gt;CoffeeScript&lt;/h2&gt;

&lt;div&gt;&lt;script src='https://gist.github.com/1479276.js?file=ajax_loader.coffee'&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;pre&gt;&lt;code&gt;$(document).ready -&amp;gt;
  $('form').submit -&amp;gt;
    $(this).find('.ajax-loader').show()
&lt;/code&gt;&lt;/pre&gt;&lt;/noscript&gt;&lt;/div&gt;


&lt;h2&gt;Compiled JavaScript&lt;/h2&gt;

&lt;div&gt;&lt;script src='https://gist.github.com/1479276.js?file=ajax_loader.js'&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;pre&gt;&lt;code&gt;$(document).ready(function() {
  return $('form').submit(function() {
    return $(this).find('.ajax-loader').show();
  });
});
&lt;/code&gt;&lt;/pre&gt;&lt;/noscript&gt;&lt;/div&gt;


&lt;p&gt;Not too fancy right?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key things to notice in this example&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-&amp;gt;&lt;/code&gt; starts a new function&lt;/li&gt;
&lt;li&gt;whitespace delineates the functions&lt;/li&gt;
&lt;li&gt;no semicolons&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;View this
&lt;a href="http://coffeescript.org/#try:%24(document).ready%20-%3E%0A%20%20%24('form').submit%20-%3E%0A%20%20%20%20%24(this).find('.ajax-loader').show()%0A"&gt;jQuery binding example on coffeescript.org&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Update: Improved CoffeeScript example from Nihad Abbasov&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/NARKOZ"&gt;Nihad Abbasov (Narkoz)&lt;/a&gt; shared an improved version of the CoffeeScript binding. The code structure can be chained into a clean line of CoffeeScript and &lt;code&gt;@&lt;/code&gt; can replace &lt;code&gt;this&lt;/code&gt;. Very nice!&lt;/p&gt;

&lt;div&gt;&lt;script src='https://gist.github.com/1479276.js?file=improved_ajax_loader_from_narkoz.coffee'&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;pre&gt;&lt;code&gt;$ -&amp;gt; $('form').submit -&amp;gt; $(@).find('.ajax-loader').show()&lt;/code&gt;&lt;/pre&gt;&lt;/noscript&gt;&lt;/div&gt;



&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=3nUIB4Nh-OM:0_EH9SNEDTc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=3nUIB4Nh-OM:0_EH9SNEDTc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Setting up your Mac OS X CoffeeScript Development Environment]]></title>
    <link href="http://coffeescriptcafe.com/blog/your-mac-osx-coffeescript-development-environment/" />
    <updated>2011-12-06T12:39:38-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/your-mac-osx-coffeescript-development-environment</id>
    <content type="html">&lt;p&gt;If you want to independently write CoffeeScript (i.e. outside of Rails or another framework that automatically supports CoffeeScript) you&amp;#8217;ll need to install a CoffeeScript compiler.&lt;/p&gt;

&lt;p&gt;The standard compiler used by the community is the Node.js package &amp;#8220;coffee-script&amp;#8221;. You can use it to launch an interactive CoffeeScript session or compile CoffeeScript source files to JavaScript. It also provides tools allowing you to dig in and analyze the source code.&lt;/p&gt;

&lt;p&gt;Here are the steps to get that up and running on Mac OS X. Sorry Windows and Linux folks, I don&amp;#8217;t have tutorials written for those platforms yet. But your steps will essentially be: 1) install Node.js, 2) use npm to install coffee-script.&lt;/p&gt;

&lt;h2&gt;Step 1: Install Homebrew&lt;/h2&gt;

&lt;p&gt;Homebrew makes installing compiled from source software super easy on the Mac. Use it.&lt;/p&gt;

&lt;p&gt;These &lt;a href="https://github.com/mxcl/homebrew/wiki/installation"&gt;official Homebrew installation instructions&lt;/a&gt; will get you setup in no time.&lt;/p&gt;

&lt;h2&gt;Step 2: Install Node.js&lt;/h2&gt;

&lt;p&gt;This one is super easy, just run the following command after you&amp;#8217;ve installed Homebrew.&lt;/p&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;$ brew install node&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;h2&gt;Step 3: Install npm&lt;/h2&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;$ curl http://npmjs.org/install.sh | sh&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;h2&gt;Step 4: Install coffee-script&lt;/h2&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;$ npm -g install coffee-script&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;The &lt;code&gt;-g&lt;/code&gt; flag says to install the package globally. The coffee-script package installs some executable scripts so installing it globally will make running them easier.&lt;/p&gt;

&lt;p&gt;After that last command you should now have &lt;code&gt;coffee&lt;/code&gt; available as a command. You can test that by running &lt;code&gt;coffee -v&lt;/code&gt;:&lt;/p&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;$ coffee -v
&lt;/span&gt;&lt;span class='line'&gt;CoffeeScript version 1.1.3&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;At this point the &lt;a href="http://jashkenas.github.com/coffee-script/"&gt;official CoffeeScript documentation&lt;/a&gt; is well worth a perusal if you haven&amp;#8217;t seen it already.&lt;/p&gt;

&lt;h2&gt;Step 5: Install the TextMate Bundle&lt;/h2&gt;

&lt;p&gt;You do use TextMate, right? Ok good. Open the terminal and run the following commands.&lt;/p&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;span class='line-number'&gt;4&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;$ mkdir -p ~/Library/Application\ Support/TextMate/Bundles
&lt;/span&gt;&lt;span class='line'&gt;$ cd ~/Library/Application\ Support/TextMate/Bundles
&lt;/span&gt;&lt;span class='line'&gt;$ git clone git://github.com/jashkenas/coffee-script-tmbundle CoffeeScript.tmbundle
&lt;/span&gt;&lt;span class='line'&gt;$ osascript -e 'tell app "TextMate" to reload bundles'&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;If you get the error &lt;code&gt;coffee: command not found&lt;/code&gt; when trying to compile CoffeeScript in TextMate you just need to add &amp;#8220;/usr/local/bin&amp;#8221; to the TextMate path. Like this:&lt;/p&gt;

&lt;h2&gt;Step 6: Fix &amp;#8220;coffee: command not found&amp;#8221; TextMate Bundle error&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open TextMate&lt;/li&gt;
&lt;li&gt;TextMate &gt; Preferences&lt;/li&gt;
&lt;li&gt;Click the &amp;#8220;Advanced&amp;#8221; tab&lt;/li&gt;
&lt;li&gt;Click &amp;#8220;Shell Variables&amp;#8221;&lt;/li&gt;
&lt;li&gt;Find the &amp;#8220;PATH&amp;#8221; variable and double click its value&lt;/li&gt;
&lt;li&gt;Append &lt;code&gt;:/usr/local/bin&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;At that point your CoffeeScript bundle should behave. No need for a restart.&lt;/p&gt;

&lt;h2&gt;Next Time&lt;/h2&gt;

&lt;p&gt;Alright! You&amp;#8217;ve got a local CoffeeScript environment to play with. Go you!&lt;/p&gt;

&lt;p&gt;Next post we&amp;#8217;ll actually &lt;strong&gt;do&lt;/strong&gt; something with CoffeeScript, and I&amp;#8217;ll show you a technique for quickly incorporating CoffeeScript into a development project.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=8bJ4Vb_fp5Q:cpPxmAugYnQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=8bJ4Vb_fp5Q:cpPxmAugYnQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Opening the CoffeeScript Cafe]]></title>
    <link href="http://coffeescriptcafe.com/blog/new-coffeescript-blog/" />
    <updated>2011-11-28T21:52:03-05:00</updated>
    <id>http://coffeescriptcafe.com/blog/new-coffeescript-blog</id>
    <content type="html">&lt;p&gt;Hi there and welcome to my new blog on CoffeeScript! My name is Stephen Ball. This blog will be focusing on CoffeeScript and a variety of topics such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CoffeeScript Basics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Transitioning from JavaScript to CoffeeScript&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CoffeeScript and jQuery&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CoffeeScript and APIs (e.g. Google Maps)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I want this blog to have something for folks new to CoffeeScript, new to JavaScript, and even new to programming. To do this I&amp;#8217;ll be mixing in step-by-step tutorials, clear examples, and best practice essays.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m still getting everything setup here, so it might be a couple days before the first (actual) post. Things for dropping in!&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=hoOZ6r5wrVU:a9R_vIpe_S0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/coffeescriptcafe?a=hoOZ6r5wrVU:a9R_vIpe_S0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/coffeescriptcafe?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
  </entry>
  
</feed>
