Create a gist now

Instantly share code, notes, and snippets.

@wycats /ligament.js Secret
Created Sep 16, 2011

What would you like to do?
/**
* Copyright (C) 2011 by Yehuda Katz
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
**/
// ligament.js is the smallest, lightest-weight JavaScript MVC framework.
//
// ligament.js requires modern browsers, which provide Object.create.
// Newer browsers are the future, older browsers are the past.
//
// If you really must support older browsers like IE8, you can use the
// hot polyfill for Object.create found at
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create
// Usage:
// MyModel = Object.create(M);
// instance = Object.create(MyModel);
// instance.firstName = "Brendan";
// instance.lastName = "Eich";
//
// Because ligament.js uses *real* prototype inheritance, like Spine, you can add new
// methods to the MVC layers by simply extending MVC objects:
// M.toString = function() { console.log("All models get this method!"); };
// Person = Object.create(M);
// Person.fullName = function() { return this.firstName + ' ' + this.lastName; }
// jeremy = Object.create(Person);
// jeremy.firstName = "Jeremy";
// jeremy.lastName = "Ashkenas";
// jeremy.fullName() //=> Jeremy Ashkenas
//
// That's it! Why deal with all the bloat of JavaScript frameworks. Use ligament.js!
M = {}, V = {}, C = {};
@jedisct1

This comment has been minimized.

Show comment Hide comment
@jedisct1

jedisct1 Sep 16, 2011

Awesome :)

Awesome :)

@akahn

This comment has been minimized.

Show comment Hide comment
@akahn

akahn Sep 16, 2011

I think I'll stick with David Mark's kidneystones.js

akahn commented Sep 16, 2011

I think I'll stick with David Mark's kidneystones.js

@kurko

This comment has been minimized.

Show comment Hide comment
@kurko

kurko Sep 16, 2011

Genius :)

kurko commented Sep 16, 2011

Genius :)

@ryan-blunden

This comment has been minimized.

Show comment Hide comment
@ryan-blunden

ryan-blunden Sep 16, 2011

What's the size of this framework minified?

What's the size of this framework minified?

@honza

This comment has been minimized.

Show comment Hide comment
@honza

honza Sep 16, 2011

Does it support vapor.js?

honza commented Sep 16, 2011

Does it support vapor.js?

@sudarshanbhat

This comment has been minimized.

Show comment Hide comment
@sudarshanbhat

sudarshanbhat Sep 16, 2011

I get jslint errors, you should throw in this comment line

/globals M V C/

I get jslint errors, you should throw in this comment line

/globals M V C/

@rgrove

This comment has been minimized.

Show comment Hide comment
@rgrove

rgrove Sep 16, 2011

Is there a jQuery plugin for this?

rgrove commented Sep 16, 2011

Is there a jQuery plugin for this?

@sneakyness

This comment has been minimized.

Show comment Hide comment
@sneakyness

sneakyness Sep 16, 2011

This isn't running for me in Netscape Navigator 3.0

This isn't running for me in Netscape Navigator 3.0

@erikvorhes

This comment has been minimized.

Show comment Hide comment
@erikvorhes

erikvorhes Sep 16, 2011

Mosaic support, please.

Mosaic support, please.

@markburns

This comment has been minimized.

Show comment Hide comment
@markburns

markburns Sep 16, 2011

Does this work on lynx?

Does this work on lynx?

@jblotus

This comment has been minimized.

Show comment Hide comment
@jblotus

jblotus Sep 16, 2011

did you provide tests?

jblotus commented Sep 16, 2011

did you provide tests?

@romanvbabenko

This comment has been minimized.

Show comment Hide comment
@romanvbabenko

romanvbabenko Sep 16, 2011

@kikito

This comment has been minimized.

Show comment Hide comment
@kikito

kikito Sep 16, 2011

Bah, it doesn't have tests...

kikito commented Sep 16, 2011

Bah, it doesn't have tests...

@jblotus

This comment has been minimized.

Show comment Hide comment
@jblotus

jblotus Sep 16, 2011

also, can we get this as a module for Node?

jblotus commented Sep 16, 2011

also, can we get this as a module for Node?

@casperbp

This comment has been minimized.

Show comment Hide comment
@casperbp

casperbp Sep 16, 2011

@romanvbabenko: Your fork is the opposite of MVC. JavaScript is call-by-sharing for objects. You've created a framework for the GOD object.

@romanvbabenko: Your fork is the opposite of MVC. JavaScript is call-by-sharing for objects. You've created a framework for the GOD object.

@lunich

This comment has been minimized.

Show comment Hide comment
@lunich

lunich Sep 16, 2011

@romanvbabenko: data sharing between M, V and C never was easier!

lunich commented Sep 16, 2011

@romanvbabenko: data sharing between M, V and C never was easier!

@jm3

This comment has been minimized.

Show comment Hide comment
@jm3

jm3 Sep 16, 2011

will this work with Rails 4?

jm3 commented Sep 16, 2011

will this work with Rails 4?

@tj

This comment has been minimized.

Show comment Hide comment
@tj

tj Sep 16, 2011

perfect! love it.

tj commented Sep 16, 2011

perfect! love it.

@bloudermilk

This comment has been minimized.

Show comment Hide comment
@bloudermilk

bloudermilk Sep 16, 2011

Someone on Twitter said this framework wasn't scalable. My web 3.0 app needs to be scalable.

Someone on Twitter said this framework wasn't scalable. My web 3.0 app needs to be scalable.

@tj

This comment has been minimized.

Show comment Hide comment
@tj

tj Sep 16, 2011

it needs to be coffeescript, cant write js without coffeescript come on now

tj commented Sep 16, 2011

it needs to be coffeescript, cant write js without coffeescript come on now

@neeleshs

This comment has been minimized.

Show comment Hide comment
@neeleshs

neeleshs Sep 16, 2011

This is not enterprise quality. There is no XML configuration for this framework!

This is not enterprise quality. There is no XML configuration for this framework!

@crgwbr

This comment has been minimized.

Show comment Hide comment
@crgwbr

crgwbr Sep 16, 2011

Fyi: This framework only works properly when the user is connected to the server via a Denon Dedicated Link Cable

crgwbr commented Sep 16, 2011

Fyi: This framework only works properly when the user is connected to the server via a Denon Dedicated Link Cable

@robyurkowski

This comment has been minimized.

Show comment Hide comment
@robyurkowski

robyurkowski Sep 16, 2011

I don't have javascript enabled because my grandma said I could get viruses that way. Can I still run this on my geocities page?

I don't have javascript enabled because my grandma said I could get viruses that way. Can I still run this on my geocities page?

@atomantic

This comment has been minimized.

Show comment Hide comment
@atomantic

atomantic Sep 16, 2011

Every language should have this library!

Every language should have this library!

@jblotus

This comment has been minimized.

Show comment Hide comment
@jblotus

jblotus Sep 16, 2011

i guess you could do this with ruby too

jblotus commented Sep 16, 2011

i guess you could do this with ruby too

@lksmth

This comment has been minimized.

Show comment Hide comment
@lksmth

lksmth Sep 16, 2011

does this support canvas?

lksmth commented Sep 16, 2011

does this support canvas?

@jblotus

This comment has been minimized.

Show comment Hide comment
@jblotus

jblotus Sep 16, 2011

i'm also pretty sure the is patented somewhere. hope you got lawyerz

jblotus commented Sep 16, 2011

i'm also pretty sure the is patented somewhere. hope you got lawyerz

@omenking

This comment has been minimized.

Show comment Hide comment
@omenking

omenking Sep 16, 2011

hilarious

hilarious

@rmoriz

This comment has been minimized.

Show comment Hide comment
@rmoriz

rmoriz Sep 17, 2011

why no nosql support?
why no node support?

that's never ever going to be web-scale!

rmoriz commented Sep 17, 2011

why no nosql support?
why no node support?

that's never ever going to be web-scale!

This comment has been minimized.

Show comment Hide comment
@ghost

ghost Sep 17, 2011

Did anyone consider alternatives to MVC? This is not 1990's.

ghost commented Sep 17, 2011

Did anyone consider alternatives to MVC? This is not 1990's.

@spacez320

This comment has been minimized.

Show comment Hide comment
@spacez320

spacez320 Sep 17, 2011

Towards comment asking for browser support; read beneath the copyright.

Towards comment asking for browser support; read beneath the copyright.

@mdesantis

This comment has been minimized.

Show comment Hide comment
@mdesantis

mdesantis Sep 17, 2011

                                                              CAPTAIN, I CAN SEE
                                                        THE M = {}, V = {}, C = {}; LAND!
                                                 _____|\ .                
                                            _.--| LOL |:  \O.===o                
                                           <____|.----||  ||`                 
                                                  .---''--;;                
                                 The               ;..__..'    _...         
                                  Lulz           ,'/  ;|/..--''    \        
                                   Boat        ,'_/.-/':            :       
                                          _..-'''/  /  |  \    \   _|/|     
                                         \      /-./_ \;   \    \,;'   \    
                                         ,\    / \:  `:\    \   //    `:`.  
                                       ,'  \  /-._;   | :    : ::    ,.   . 
                                     ,'     ::   /`-._| |    | || ' :  `.`.)
                                  _,'       |;._:: |  | |    | `|   :    `' 
                                ,'   `.     /   |`-:_ ; |    |  |  : \      
                                `--.   )   /|-._:    :          |   \ \     
                                   /  /   :_|   ;`-._;   __..--';    : :    
                                  /  (    ;|;-./_  _/.-:'o |   /     ' |    
                                 /  , \._/_/_./--''/_|:|___|_,'        |    
                                :  /   `'-'--'----'---------'          |    
                                | :     O ._O   O_. O ._O   O_.      ; ;    
                                : `.      //    //    //    //     ,' /     
                              ~~~`.______//____//____//____//_______,'~     
                                        //    //~   //    //                
                                 ~~   _//   _//   _// ~ _//     ~           
                               ~     / /   / /   / /   / /  ~      ~~       
                                    ~~~   ~~~   ~~~   ~~~                   
                                                              CAPTAIN, I CAN SEE
                                                        THE M = {}, V = {}, C = {}; LAND!
                                                 _____|\ .                
                                            _.--| LOL |:  \O.===o                
                                           <____|.----||  ||`                 
                                                  .---''--;;                
                                 The               ;..__..'    _...         
                                  Lulz           ,'/  ;|/..--''    \        
                                   Boat        ,'_/.-/':            :       
                                          _..-'''/  /  |  \    \   _|/|     
                                         \      /-./_ \;   \    \,;'   \    
                                         ,\    / \:  `:\    \   //    `:`.  
                                       ,'  \  /-._;   | :    : ::    ,.   . 
                                     ,'     ::   /`-._| |    | || ' :  `.`.)
                                  _,'       |;._:: |  | |    | `|   :    `' 
                                ,'   `.     /   |`-:_ ; |    |  |  : \      
                                `--.   )   /|-._:    :          |   \ \     
                                   /  /   :_|   ;`-._;   __..--';    : :    
                                  /  (    ;|;-./_  _/.-:'o |   /     ' |    
                                 /  , \._/_/_./--''/_|:|___|_,'        |    
                                :  /   `'-'--'----'---------'          |    
                                | :     O ._O   O_. O ._O   O_.      ; ;    
                                : `.      //    //    //    //     ,' /     
                              ~~~`.______//____//____//____//_______,'~     
                                        //    //~   //    //                
                                 ~~   _//   _//   _// ~ _//     ~           
                               ~     / /   / /   / /   / /  ~      ~~       
                                    ~~~   ~~~   ~~~   ~~~                   
@bengillies

This comment has been minimized.

Show comment Hide comment
@bengillies

bengillies Sep 17, 2011

The view and controller objects look pretty complicated to me. Could we get some examples on how to use them please?

The view and controller objects look pretty complicated to me. Could we get some examples on how to use them please?

This comment has been minimized.

Show comment Hide comment
@ghost

ghost Sep 17, 2011

ghost commented Sep 17, 2011

@wjcrowcroft

This comment has been minimized.

Show comment Hide comment
@wjcrowcroft

wjcrowcroft Sep 17, 2011

No documentation / example apps!? I'd never be able to get this past my CTO.

No documentation / example apps!? I'd never be able to get this past my CTO.

@contra

This comment has been minimized.

Show comment Hide comment
@contra

contra Sep 17, 2011

Where are your tests? Why is this not written in coffeescript? BDD? DDD? TDD? Documentation? This needs a lot of work.

contra commented Sep 17, 2011

Where are your tests? Why is this not written in coffeescript? BDD? DDD? TDD? Documentation? This needs a lot of work.

@MattiSG

This comment has been minimized.

Show comment Hide comment
@MattiSG

MattiSG Sep 17, 2011

Nice, but I'm waiting for a micro-framework version of it.

MattiSG commented Sep 17, 2011

Nice, but I'm waiting for a micro-framework version of it.

@n1k0

This comment has been minimized.

Show comment Hide comment
@n1k0

n1k0 Sep 17, 2011

mandatory fork implementing MTV rather than MVC is here https://gist.github.com/11f67cc9851a12190d5c

n1k0 commented Sep 17, 2011

mandatory fork implementing MTV rather than MVC is here https://gist.github.com/11f67cc9851a12190d5c

@DAddYE

This comment has been minimized.

Show comment Hide comment
@DAddYE

DAddYE Sep 17, 2011

Hhahaha

DAddYE commented Sep 17, 2011

Hhahaha

@eliaskg

This comment has been minimized.

Show comment Hide comment
@eliaskg

eliaskg Sep 17, 2011

It's definitely not ready for production.

eliaskg commented Sep 17, 2011

It's definitely not ready for production.

@sebslomski

This comment has been minimized.

Show comment Hide comment
@sebslomski

sebslomski Sep 17, 2011

Is it web-scale?

Is it web-scale?

@MattiSG

This comment has been minimized.

Show comment Hide comment
@MattiSG

MattiSG Sep 17, 2011

Microsoft said it is not the native HTML5 experience.

MattiSG commented Sep 17, 2011

Microsoft said it is not the native HTML5 experience.

@postmodern

This comment has been minimized.

Show comment Hide comment
@postmodern

postmodern Sep 17, 2011

Can someone port this to CoffeeScript?

Can someone port this to CoffeeScript?

@mark-ellul

This comment has been minimized.

Show comment Hide comment
@mark-ellul

mark-ellul Sep 17, 2011

Can someone write a Jquery plugin for this please? ;)

Can someone write a Jquery plugin for this please? ;)

@pedromtavares

This comment has been minimized.

Show comment Hide comment
@pedromtavares

pedromtavares Sep 17, 2011

can you please write a wiki this is bad documentation tnx

can you please write a wiki this is bad documentation tnx

@jeffreyiacono

This comment has been minimized.

Show comment Hide comment
@jeffreyiacono

jeffreyiacono Sep 17, 2011

Can you provide the link to the Todo app that demonstrates Ligament.js usage? ;)

Can you provide the link to the Todo app that demonstrates Ligament.js usage? ;)

@likethesky

This comment has been minimized.

Show comment Hide comment
@likethesky

likethesky Sep 18, 2011

I hear sinew.js is much more modern and cleaner than ligament, which is so, like "early September 2011"...

I hear sinew.js is much more modern and cleaner than ligament, which is so, like "early September 2011"...

@NKjoep

This comment has been minimized.

Show comment Hide comment
@NKjoep

NKjoep Sep 18, 2011

and what about A/B testing? I need a framework for it...

NKjoep commented Sep 18, 2011

and what about A/B testing? I need a framework for it...

@derickbailey

This comment has been minimized.

Show comment Hide comment
@derickbailey

derickbailey Sep 18, 2011

don't forget about the coffeescript version! after all, no javascript mvc framework would be complete without it!

M = new (M = function(){
  this.M = function(){};
})()();

V = new (V = function(){
  this.V = function(){};
})()();

C = new (C = function(){
  this.C = function(){};
})()();

no... sorry... that's the version that coffeescript generated.

don't forget about the coffeescript version! after all, no javascript mvc framework would be complete without it!

M = new (M = function(){
  this.M = function(){};
})()();

V = new (V = function(){
  this.V = function(){};
})()();

C = new (C = function(){
  this.C = function(){};
})()();

no... sorry... that's the version that coffeescript generated.

@mdesantis

This comment has been minimized.

Show comment Hide comment
@mdesantis

mdesantis Sep 18, 2011

and this is the minified version... for those who care about performance

mdesantis commented Sep 18, 2011

and this is the minified version... for those who care about performance

@n1k0

This comment has been minimized.

Show comment Hide comment
@n1k0

n1k0 Sep 18, 2011

okay but is it enterprise-ready?

n1k0 commented Sep 18, 2011

okay but is it enterprise-ready?

@eliperelman

This comment has been minimized.

Show comment Hide comment
@eliperelman

eliperelman Sep 29, 2011

For those that use MVVM and not MVC: https://gist.github.com/34d3bd7be864cced6188
:D

For those that use MVVM and not MVC: https://gist.github.com/34d3bd7be864cced6188
:D

@lmcd

This comment has been minimized.

Show comment Hide comment
@lmcd

lmcd Sep 30, 2011

Doesn't work in VB6

lmcd commented Sep 30, 2011

Doesn't work in VB6

@amoln

This comment has been minimized.

Show comment Hide comment
@amoln

amoln Sep 30, 2011

The fwk needs 'Connect with Facebook/Twitter/LinkedIn' integration.

amoln commented Sep 30, 2011

The fwk needs 'Connect with Facebook/Twitter/LinkedIn' integration.

@giulianoliker

This comment has been minimized.

Show comment Hide comment
@giulianoliker

giulianoliker Sep 30, 2011

My head just explo***BOOOOM***

My head just explo***BOOOOM***

@cayasso

This comment has been minimized.

Show comment Hide comment
@cayasso

cayasso Sep 30, 2011

For those of you asking for testing this beast... wait no more:

console.log((M !== V && V !== C && C !== M) ? 'OK' : 'Not OK');
Who say it is not tested ah ah?
BTW. The test is only supported on modern browsers so no complains please!

cayasso commented Sep 30, 2011

For those of you asking for testing this beast... wait no more:

console.log((M !== V && V !== C && C !== M) ? 'OK' : 'Not OK');
Who say it is not tested ah ah?
BTW. The test is only supported on modern browsers so no complains please!

@oroce

This comment has been minimized.

Show comment Hide comment
@oroce

oroce Oct 2, 2011

is there any 'in the wild' example?

oroce commented Oct 2, 2011

is there any 'in the wild' example?

@rassar

This comment has been minimized.

Show comment Hide comment
@rassar

rassar Oct 5, 2011

this makes no sense. no sense at all! How the hell is this any different from just plain procedural js?

rassar commented Oct 5, 2011

this makes no sense. no sense at all! How the hell is this any different from just plain procedural js?

@MattiSG

This comment has been minimized.

Show comment Hide comment
@MattiSG

MattiSG Oct 5, 2011

@rassar you clearly don't understand the MVC architecture. 🔥

MattiSG commented Oct 5, 2011

@rassar you clearly don't understand the MVC architecture. 🔥

@rassar

This comment has been minimized.

Show comment Hide comment
@rassar

rassar Oct 6, 2011

@MattiSG great, I dont understand. Care you to restate something else that's as obvious as this?
that's WHY I asked the question!!!! Either answer it, or remain silent

rassar commented Oct 6, 2011

@MattiSG great, I dont understand. Care you to restate something else that's as obvious as this?
that's WHY I asked the question!!!! Either answer it, or remain silent

@MattiSG

This comment has been minimized.

Show comment Hide comment
@MattiSG

MattiSG Oct 6, 2011

@rassar Damn, man…

This gist is actually a joke. It makes fun of all the JS frameworks that all sell "MVC" as their main argument and motto, while MVC is an architecture, therefore not dependent on an implementation but rather on the respect of a simple concept: separate your models, views and controllers. Which something as simple as three different JS objects achieves, if used properly by the programmer.
You might have noticed that many comments ask for things even dumber: minified versions, plugins for X (X being whatever framework)… they all make fun of the newly found (~9 months - 1 year) JS frenzy where every framework / to-js-compiled-language has its zealots and it seemed necessary that JS code, to be credible, had a CoffeeScript version, a jQuery version, etc etc.

You may find the documentation at http://en.wikipedia.org/wiki/Sarcasm interesting to understand it better, if necessary. More generally, you might be interested in http://en.wikipedia.org/wiki/Humor. I actually thought you were into it too, as your comment could be understood as ironic (see http://en.wikipedia.org/wiki/Irony, might help).

In the same vein, see also: https://github.com/madrobby/vapor.js .

Is that clear enough an answer for you? :(

MattiSG commented Oct 6, 2011

@rassar Damn, man…

This gist is actually a joke. It makes fun of all the JS frameworks that all sell "MVC" as their main argument and motto, while MVC is an architecture, therefore not dependent on an implementation but rather on the respect of a simple concept: separate your models, views and controllers. Which something as simple as three different JS objects achieves, if used properly by the programmer.
You might have noticed that many comments ask for things even dumber: minified versions, plugins for X (X being whatever framework)… they all make fun of the newly found (~9 months - 1 year) JS frenzy where every framework / to-js-compiled-language has its zealots and it seemed necessary that JS code, to be credible, had a CoffeeScript version, a jQuery version, etc etc.

You may find the documentation at http://en.wikipedia.org/wiki/Sarcasm interesting to understand it better, if necessary. More generally, you might be interested in http://en.wikipedia.org/wiki/Humor. I actually thought you were into it too, as your comment could be understood as ironic (see http://en.wikipedia.org/wiki/Irony, might help).

In the same vein, see also: https://github.com/madrobby/vapor.js .

Is that clear enough an answer for you? :(

@lmcd

This comment has been minimized.

Show comment Hide comment
@lmcd

lmcd Oct 6, 2011

Ignore this @MattiSG troll. ligament.js is a great way of embracing the MVC paradigm in JavaScript.

lmcd commented Oct 6, 2011

Ignore this @MattiSG troll. ligament.js is a great way of embracing the MVC paradigm in JavaScript.

@rassar

This comment has been minimized.

Show comment Hide comment
@rassar

rassar Oct 6, 2011

haha, awesome. I love the way you tought me a little of grammar and worldview...

So I am dumb, big deal. But I did build a app based on this M V C thing, and it worked! hahahahaha

rassar commented Oct 6, 2011

haha, awesome. I love the way you tought me a little of grammar and worldview...

So I am dumb, big deal. But I did build a app based on this M V C thing, and it worked! hahahahaha

@mdesantis

This comment has been minimized.

Show comment Hide comment
@mdesantis

mdesantis Oct 6, 2011

@rassar if you wrote an app based on ligament.js, please share it; ligament.js misses an example app.

@rassar if you wrote an app based on ligament.js, please share it; ligament.js misses an example app.

@n1k0

This comment has been minimized.

Show comment Hide comment
@n1k0

n1k0 Oct 6, 2011

UNSUBSCRIBE

n1k0 commented Oct 6, 2011

UNSUBSCRIBE

@kurko

This comment has been minimized.

Show comment Hide comment
@kurko

kurko Oct 6, 2011

UNSUBSCRIBE +1

kurko commented Oct 6, 2011

UNSUBSCRIBE +1

@likethesky

This comment has been minimized.

Show comment Hide comment
@likethesky

likethesky Oct 6, 2011

@lmcd right on! That @MattiSG is a total troll. I'm so glad I have Ligament.js on my resume. Everyone, please tell ALL recruiters to add Ligament to their keyword searches, if they want to get the hottest JS coders. @rassar please see http://theotherpages.org/quote-14.html for more examples of DWS ( http://acronyms.thefreedictionary.com/Dripping+with+Sarcasm ). @n1k0 @kurko please see https://github.com/account/notifications ("Comments after me on gists") @everyone else: Yeah, the long and the short of it is: we're all bored to tears, couldn't care less, we all know there's one born every minute, so I'm going to put my foot down, take one for the team, you know who you are: you can run but you can't hide, so ideally my post here is the kiss of death for this thread! (@rassar see http://suspense.net/whitefish/cliche.htm ) :-D

@lmcd right on! That @MattiSG is a total troll. I'm so glad I have Ligament.js on my resume. Everyone, please tell ALL recruiters to add Ligament to their keyword searches, if they want to get the hottest JS coders. @rassar please see http://theotherpages.org/quote-14.html for more examples of DWS ( http://acronyms.thefreedictionary.com/Dripping+with+Sarcasm ). @n1k0 @kurko please see https://github.com/account/notifications ("Comments after me on gists") @everyone else: Yeah, the long and the short of it is: we're all bored to tears, couldn't care less, we all know there's one born every minute, so I'm going to put my foot down, take one for the team, you know who you are: you can run but you can't hide, so ideally my post here is the kiss of death for this thread! (@rassar see http://suspense.net/whitefish/cliche.htm ) :-D

@wjcrowcroft

This comment has been minimized.

Show comment Hide comment
@wjcrowcroft

wjcrowcroft Oct 6, 2011

@haochong

This comment has been minimized.

Show comment Hide comment
@haochong

haochong Mar 19, 2014

cool

cool

@juanpastas

This comment has been minimized.

Show comment Hide comment
@juanpastas

juanpastas Aug 14, 2015

Which one should I use? this or ember?

Which one should I use? this or ember?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment