<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (bensheldon)</title>
    <link>https://pinboard.in/u:bensheldon/public/</link>
    <description>recent bookmarks from bensheldon</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="https://www.baldurbjarnason.com/2021/single-page-app-morality-play/"/>
	<rdf:li rdf:resource="https://medium.com/@rickhanlonii/understanding-jest-mocks-f0046c68e53c"/>
	<rdf:li rdf:resource="https://github.com/airbnb/javascript/blob/master/README.md"/>
	<rdf:li rdf:resource="https://mondaybynoon.com/geniusflip-the-script/"/>
	<rdf:li rdf:resource="http://hackflow.com/blog/2015/03/08/boiling-react-down-to-few-lines-in-jquery/"/>
	<rdf:li rdf:resource="http://lunrjs.com/"/>
	<rdf:li rdf:resource="http://blog.keithcirkel.co.uk/why-we-should-stop-using-grunt/"/>
	<rdf:li rdf:resource="http://davidsouther.com/tdd-angular/"/>
	<rdf:li rdf:resource="http://reefpoints.dockyard.com/2014/09/22/javascript-performance-for-the-win.html"/>
	<rdf:li rdf:resource="http://pragmatic-backbone.com/"/>
	<rdf:li rdf:resource="https://gist.github.com/dypsilon/5819504"/>
	<rdf:li rdf:resource="http://caines.ca/blog/2014/06/02/production-quality-node-dot-js-web-apps-part-ii/"/>
	<rdf:li rdf:resource="http://blog.shinetech.com/2013/11/26/backbone-antipatterns/"/>
	<rdf:li rdf:resource="http://blog.sourcing.io/mvc-style-guide"/>
	<rdf:li rdf:resource="http://philipwalton.com/articles/decoupling-html-css-and-javascript/"/>
	<rdf:li rdf:resource="http://code.shutterstock.com/rickshaw/"/>
	<rdf:li rdf:resource="http://feedproxy.google.com/~r/NiceWebType/~3/jbx8dCiftzA/widowtamer"/>
	<rdf:li rdf:resource="https://gist.github.com/1025038"/>
	<rdf:li rdf:resource="http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html"/>
	<rdf:li rdf:resource="http://speakerdeck.com/u/codylindley/p/learn-javascript-the-hard-way"/>
	<rdf:li rdf:resource="http://addyosmani.com/resources/essentialjsdesignpatterns/book/"/>
	<rdf:li rdf:resource="http://codeofrob.com/entries/lessons-learned-building-a-multiplayer-game-in-nodejs-and-webgl.html"/>
	<rdf:li rdf:resource="http://dotdotdot.frebsite.nl/#.T2GwjcK16KI.reddit"/>
	<rdf:li rdf:resource="http://howtonode.org/express-mongodb"/>
	<rdf:li rdf:resource="http://www.tdmarketing.co.nz/blog/2011/03/09/create-marker-with-custom-labels-in-google-maps-api-v3/"/>
	<rdf:li rdf:resource="http://blog.dtrejo.com/scraping-made-easy-with-jquery-and-selectorga"/>
	<rdf:li rdf:resource="http://www.zurb.com/playground/reveal-modal-plugin"/>
	<rdf:li rdf:resource="http://docs.jquery.com/Plugins/Authoring"/>
	<rdf:li rdf:resource="http://www.syamantics.com/js-faq-checking-undefined-isset-and-empty-in-javascript#"/>
	<rdf:li rdf:resource="http://killdream.github.com/blog/2011/10/understanding-javascript-oop/#"/>
	<rdf:li rdf:resource="http://www.gyford.com/phil/links/2011/07/30/"/>
	<rdf:li rdf:resource="http://feedproxy.google.com/~r/briancray/blog/~3/0XbbCZz76_U/"/>
	<rdf:li rdf:resource="http://www.webmonkey.com/2011/01/a-guide-to-html5-features-you-cant-detect/"/>
	<rdf:li rdf:resource="http://idhana.com/2009/03/29/ajax-in-cakephp-with-jquery/"/>
	<rdf:li rdf:resource="http://www.endyourif.com/how-to-add-comments-with-ajax-in-cakephp/"/>
	<rdf:li rdf:resource="http://code.google.com/p/ie7-js/"/>
	<rdf:li rdf:resource="http://mrgan.com/gb/"/>
	<rdf:li rdf:resource="http://jqueryfordesigners.com/"/>
	<rdf:li rdf:resource="http://jqueryfordesigners.com/coda-popup-bubbles/"/>
	<rdf:li rdf:resource="http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/"/>
	<rdf:li rdf:resource="http://photofeld.janwildefeld.de/"/>
	<rdf:li rdf:resource="http://icant.co.uk/articles/from-dhtml-to-dom/from-dhtml-to-dom-scripting.html"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="https://www.baldurbjarnason.com/2021/single-page-app-morality-play/">
    <title>The Single-Page-App Morality Play – Baldur Bjarnason</title>
    <dc:date>2022-01-11T19:08:04+00:00</dc:date>
    <link>https://www.baldurbjarnason.com/2021/single-page-app-morality-play/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript spa</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:a6742db4a68a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:spa"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://medium.com/@rickhanlonii/understanding-jest-mocks-f0046c68e53c">
    <title>Understanding Jest Mocks – Rick Hanlon II – Medium</title>
    <dc:date>2019-03-01T15:45:19+00:00</dc:date>
    <link>https://medium.com/@rickhanlonii/understanding-jest-mocks-f0046c68e53c</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[<blockquote>GitHub is where people build software. More than 28 million people use GitHub to discover, fork, and contribute to over 79 million projects.</blockquote>]]></description>
<dc:subject>react-native javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:ba68c1e488ef/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:react-native"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/airbnb/javascript/blob/master/README.md">
    <title>eS6 javascript style guide from airbnb</title>
    <dc:date>2015-07-14T14:33:25+00:00</dc:date>
    <link>https://github.com/airbnb/javascript/blob/master/README.md</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:5d80a3518ea0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://mondaybynoon.com/geniusflip-the-script/">
    <title>Flip the Script!</title>
    <dc:date>2015-06-03T01:17:59+00:00</dc:date>
    <link>https://mondaybynoon.com/geniusflip-the-script/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[The extension lists all of the JavaScript and CSS on page, allowing you to double click a file to see the source. Using the Cleanup JavaScript button you can de-minify it on the fly. Once it’s cleaned up, you can edit it:]]></description>
<dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:cd163ece7239/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://hackflow.com/blog/2015/03/08/boiling-react-down-to-few-lines-in-jquery/">
    <title>Boiling React Down to a Few Lines in jQuery</title>
    <dc:date>2015-04-21T16:03:08+00:00</dc:date>
    <link>http://hackflow.com/blog/2015/03/08/boiling-react-down-to-few-lines-in-jquery/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[A reminder you don't need React to do 1-way binding and view decomposition with Backbone and LayoutManager. But a nice explanation nonetheless. ]]></description>
<dc:subject>javascript backbone</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:ddb64913ebef/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:backbone"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://lunrjs.com/">
    <title>lunr- JS full text search</title>
    <dc:date>2015-01-06T22:21:30+00:00</dc:date>
    <link>http://lunrjs.com/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript search</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:2a9612655a62/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:search"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.keithcirkel.co.uk/why-we-should-stop-using-grunt/">
    <title>Why we should stop using Grunt &amp; Gulp</title>
    <dc:date>2014-10-30T16:06:07+00:00</dc:date>
    <link>http://blog.keithcirkel.co.uk/why-we-should-stop-using-grunt/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[<blockquote>What if you want to have both checkstyle reports (for ci) and a developer reports for developer usage? There are no rules for the task names you have, other than your own conventions - so we could steal a convention from Grunt, and namespace our tasks with :, like so:</blockquote>]]></description>
<dc:subject>javascript grunt gulp npm nodejs</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:a4aa576c05dd/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:grunt"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:gulp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:npm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:nodejs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://davidsouther.com/tdd-angular/">
    <title>davidsouther.com/tdd-angular/</title>
    <dc:date>2014-10-09T21:08:57+00:00</dc:date>
    <link>http://davidsouther.com/tdd-angular/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[<blockquote>This is a todo app! There are many like it, but this one was written from nothing following as best I was able TDD design processes. Built entirely using Javascript technologies, it also provides a great practical example of how a variety of modern NodeJS tools work together to build a modern app.</blockquote>]]></description>
<dc:subject>angular javascript backbone</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:5749c4ebc2d9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:angular"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:backbone"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://reefpoints.dockyard.com/2014/09/22/javascript-performance-for-the-win.html">
    <title>JavaScript Performance For The Win</title>
    <dc:date>2014-09-24T23:04:29+00:00</dc:date>
    <link>http://reefpoints.dockyard.com/2014/09/22/javascript-performance-for-the-win.html</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[hot code!]]></description>
<dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:1c34979ce24a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://pragmatic-backbone.com/">
    <title>A pragmatic guide to Backbone.js apps</title>
    <dc:date>2014-08-21T04:39:49+00:00</dc:date>
    <link>http://pragmatic-backbone.com/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[<blockquote>A ranty, opinionated series of easily digestible tidbits
</blockquote>]]></description>
<dc:subject>backbone javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:87b0f9564b19/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:backbone"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://gist.github.com/dypsilon/5819504">
    <title>A badass list of frontend development resources I collected over time.</title>
    <dc:date>2014-06-25T16:27:18+00:00</dc:date>
    <link>https://gist.github.com/dypsilon/5819504</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:c8de61896c31/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://caines.ca/blog/2014/06/02/production-quality-node-dot-js-web-apps-part-ii/">
    <title>Production-Quality Node.js Web Apps : Part II, Detecting Defects - caines.ca</title>
    <dc:date>2014-06-25T15:26:27+00:00</dc:date>
    <link>http://caines.ca/blog/2014/06/02/production-quality-node-dot-js-web-apps-part-ii/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[<blockquote>This is the second part of a three part series on making node.js web apps that are (what I would consider to be) production quality. The first part really just covered the basics, so if you’re missing some aspect covered in the basics, you’re likely going to have some issues with the approaches discussed here.
</blockquote>]]></description>
<dc:subject>nodejs javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:cebb864302bd/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:nodejs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.shinetech.com/2013/11/26/backbone-antipatterns/">
    <title>Backbone Antipatterns | Shine Technologies</title>
    <dc:date>2014-04-07T14:42:34+00:00</dc:date>
    <link>http://blog.shinetech.com/2013/11/26/backbone-antipatterns/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[<blockquote>In this post I’ll cover some of these anti-patterns, as well as some general advice for the new starter. I’ve ordered the anti-patterns roughly by significance from the major to the more trivial. Don’t be too upset if you’ve done something on this list – I’ve made most of these mistakes myself ;)


</blockquote>]]></description>
<dc:subject>backbone javascript bestpractices</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:2d92cb2ec7e9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:backbone"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:bestpractices"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.sourcing.io/mvc-style-guide">
    <title>JavaScript MVC Style Guide</title>
    <dc:date>2014-03-31T15:26:37+00:00</dc:date>
    <link>http://blog.sourcing.io/mvc-style-guide</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[i was going to do a presentation on cleaning up our backbone. and it basically is this.]]></description>
<dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:41cdbf7994b5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://philipwalton.com/articles/decoupling-html-css-and-javascript/">
    <title>Decoupling Your HTML, CSS, and JavaScript — Philip Walton</title>
    <dc:date>2013-08-19T14:53:45+00:00</dc:date>
    <link>http://philipwalton.com/articles/decoupling-html-css-and-javascript/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[In this article I'll talk about how I've learned to decouple my HTML, CSS, and JavaScript. From my experience and the experience of people I know, the best ways to accomplish this are far from obvious, often counter-intuitive, and sometimes go against much of the so-called "best-practices" out there.]]></description>
<dc:subject>advice css html javascript webdesgn</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:7e82525f0a5e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:advice"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:html"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesgn"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://code.shutterstock.com/rickshaw/">
    <title>Rickshaw: A JavaScript toolkit for creating interactive time-series graphs</title>
    <dc:date>2012-11-26T05:32:50+00:00</dc:date>
    <link>http://code.shutterstock.com/rickshaw/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>d3 javascript chart</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:dfeeaab0b635/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:d3"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:chart"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://feedproxy.google.com/~r/NiceWebType/~3/jbx8dCiftzA/widowtamer">
    <title>Widow Tamer</title>
    <dc:date>2012-07-05T22:26:53+00:00</dc:date>
    <link>http://feedproxy.google.com/~r/NiceWebType/~3/jbx8dCiftzA/widowtamer</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:7cfb44db6bfd/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://gist.github.com/1025038">
    <title>Gist: An example NodeJS / Mongoose / Express application based on their respective tutorials — Gist</title>
    <dc:date>2012-06-06T20:16:28+00:00</dc:date>
    <link>https://gist.github.com/1025038</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[An example NodeJS / Mongoose / Express application based on their respective tutorials
]]></description>
<dc:subject>nodejs javascript</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:18a1613bc3b3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:nodejs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html">
    <title>Testing Backbone applications with Jasmine and Sinon – Part 1 – Tinned Fruit</title>
    <dc:date>2012-05-11T22:19:40+00:00</dc:date>
    <link>http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript testing</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:f6e637890855/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:testing"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://speakerdeck.com/u/codylindley/p/learn-javascript-the-hard-way">
    <title>Learn JavaScript - The Hard way // Speaker Deck</title>
    <dc:date>2012-04-27T17:57:40+00:00</dc:date>
    <link>http://speakerdeck.com/u/codylindley/p/learn-javascript-the-hard-way</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[lots of readi ]]></description>
<dc:subject>javascript</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:7f9c48a03bce/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://addyosmani.com/resources/essentialjsdesignpatterns/book/">
    <title>Essential JavaScript And jQuery Design Patterns</title>
    <dc:date>2012-04-20T15:55:54+00:00</dc:date>
    <link>http://addyosmani.com/resources/essentialjsdesignpatterns/book/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[Design patterns are reusable solutions to commonly occurring problems in software design. They are both exciting and a fascinating topic to explore in any programming language.  One reason for this is that they help us build upon the combined experience of many developers that came before us and ensure we structure our code in an optimized way, meeting the needs of problems we're attempting to solve.  Design patterns also provide us a common vocabulary to describe solutions. This can be significantly simpler than describing syntax and semantics when we're attempting to convey a way of structuring a solution in code form to others.  In this book we will explore applying both classical and modern design patterns to the JavaScript programming language.]]></description>
<dc:subject>javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:af87954fb368/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://codeofrob.com/entries/lessons-learned-building-a-multiplayer-game-in-nodejs-and-webgl.html">
    <title>Lessons learned building a multiplayer game in NodeJS and WebGL</title>
    <dc:date>2012-04-19T06:13:43+00:00</dc:date>
    <link>http://codeofrob.com/entries/lessons-learned-building-a-multiplayer-game-in-nodejs-and-webgl.html</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[I've uploaded Hoverbattles to its own server on EC2, and it has been running fine with an uptime of over 96 hours so far, and this is great!

http://hoverbattles.com

I've wanted to share a few of the mistakes/lessons learned writing and deploying a multiplayer game built entirely with JavaScript on top of NodeJS and WebGL for a while and this represents an opportune moment to do so.

I've gone with a brain-dump of various related learnings, as well as a couple of periphery items - first off, we'll go with the reason I couldn't keep Hoverbattles up on the old server.]]></description>
<dc:subject>nodejs games javascript</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:04cff31213f0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:nodejs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:games"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://dotdotdot.frebsite.nl/#.T2GwjcK16KI.reddit">
    <title>jQuery.dotdotdot, advanced cross-browser ellipsis for multiple line content.</title>
    <dc:date>2012-03-15T14:27:18+00:00</dc:date>
    <link>http://dotdotdot.frebsite.nl/#.T2GwjcK16KI.reddit</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript jquery</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:a662569a5135/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:jquery"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://howtonode.org/express-mongodb">
    <title>Blog rolling with mongoDB, express and Node.js - How To Node - NodeJS</title>
    <dc:date>2012-03-05T15:51:12+00:00</dc:date>
    <link>http://howtonode.org/express-mongodb</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[In this article I hope to take you through the steps required to get a fully-functional (albeit feature-light) persistent blogging system running on top of node.

The technology stack that we'll be using will be node + express + mongoDB all of which are exciting, fast and highly scalable. You'll also get to use jade and stylus for driving the templated views and styling! We will be using npm to ease the package management and installation issues.

This article will be fairly in-depth so you may want to get yourself a rather large mug of whatever beverage you prefer before you settle down :)]]></description>
<dc:subject>nodejs javascript</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:6ca431994599/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:nodejs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.tdmarketing.co.nz/blog/2011/03/09/create-marker-with-custom-labels-in-google-maps-api-v3/">
    <title>Create marker with custom labels in Google Maps API v3 | Uncle Tomm's blog</title>
    <dc:date>2012-03-02T14:13:23+00:00</dc:date>
    <link>http://www.tdmarketing.co.nz/blog/2011/03/09/create-marker-with-custom-labels-in-google-maps-api-v3/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>googlemaps maps javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:a0be273b469e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:googlemaps"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:maps"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.dtrejo.com/scraping-made-easy-with-jquery-and-selectorga">
    <title>Scraping Made Easy with jQuery and SelectorGadget - David Trejo's Thoughts</title>
    <dc:date>2012-02-04T07:18:22+00:00</dc:date>
    <link>http://blog.dtrejo.com/scraping-made-easy-with-jquery-and-selectorga</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[A few days ago I was doing a TON of scraping, and as you know, without the right tools, scraping can be a REAL pain. Out of my pain comes your pleasure — here’s a list of scraping tools and resources which will make your life MUCH easier the next time you need some information from a crufty old website. If you’re short on time, skip to the end and read the tl;dr.]]></description>
<dc:subject>nodejs javascript jquery scraping</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:72f2df9aa50c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:nodejs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:jquery"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:scraping"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.zurb.com/playground/reveal-modal-plugin">
    <title>Reveal: jQuery Modal Plugin from ZURB - ZURB Playground - ZURB.com</title>
    <dc:date>2012-02-03T15:47:53+00:00</dc:date>
    <link>http://www.zurb.com/playground/reveal-modal-plugin</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>jquery javascript webdesign</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:b4d2e6eda368/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:jquery"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://docs.jquery.com/Plugins/Authoring">
    <title>Plugins/Authoring - jQuery JavaScript Library</title>
    <dc:date>2011-10-16T14:21:54+00:00</dc:date>
    <link>http://docs.jquery.com/Plugins/Authoring</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[For more complex and customizable plugins that provide many options, it's a best practice to have default settings that can get extended (using $.extend) when the plugin is invoked. So instead of calling a plugin with a large number of arguments, you can call it with one argument which is an object literal of the settings you would like to override. Here's how you do it.]]></description>
<dc:subject>javascript webdevelopment</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:6abbdc1cf6d3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdevelopment"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.syamantics.com/js-faq-checking-undefined-isset-and-empty-in-javascript#">
    <title>syamantics.com | JS FAQ : Checking undefined, isset and empty in Javascript</title>
    <dc:date>2011-10-16T06:06:13+00:00</dc:date>
    <link>http://www.syamantics.com/js-faq-checking-undefined-isset-and-empty-in-javascript#</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[if(typeof myVar !== ‘undefined’ || myVar) {
  // myVar is defined and not empty
}]]></description>
<dc:subject>javascript webdevelopment</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:6c67774e662d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdevelopment"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://killdream.github.com/blog/2011/10/understanding-javascript-oop/#">
    <title>Understanding JavaScript OOP — Sorella's Basement</title>
    <dc:date>2011-10-11T01:50:49+00:00</dc:date>
    <link>http://killdream.github.com/blog/2011/10/understanding-javascript-oop/#</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>javascript webdevelopment</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:966ae3366938/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdevelopment"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.gyford.com/phil/links/2011/07/30/">
    <title>Links for 30 July 2011</title>
    <dc:date>2011-08-12T15:52:11+00:00</dc:date>
    <link>http://www.gyford.com/phil/links/2011/07/30/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>webdesign javascript jquery</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:9e627aa216c7/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:jquery"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://feedproxy.google.com/~r/briancray/blog/~3/0XbbCZz76_U/">
    <title>Diving deep into javascript logical operators</title>
    <dc:date>2011-04-19T18:18:15+00:00</dc:date>
    <link>http://feedproxy.google.com/~r/briancray/blog/~3/0XbbCZz76_U/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>webdesign javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:d6c0d4613d20/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.webmonkey.com/2011/01/a-guide-to-html5-features-you-cant-detect/">
    <title>A Guide to HTML5 Features You Can’t Detect</title>
    <dc:date>2011-01-09T18:07:32+00:00</dc:date>
    <link>http://www.webmonkey.com/2011/01/a-guide-to-html5-features-you-cant-detect/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>html5 javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:6590212e013f/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:html5"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://idhana.com/2009/03/29/ajax-in-cakephp-with-jquery/">
    <title>AJAX Form submission in CakePHP with jQuery « idhana.com</title>
    <dc:date>2011-01-06T14:00:08+00:00</dc:date>
    <link>http://idhana.com/2009/03/29/ajax-in-cakephp-with-jquery/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>CakePHP jquery Ajax javascript</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:6ec9a4c6de5f/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:CakePHP"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:jquery"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:Ajax"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.endyourif.com/how-to-add-comments-with-ajax-in-cakephp/">
    <title>How to add comments with AJAX in CakePHP | End Your If</title>
    <dc:date>2011-01-05T04:48:34+00:00</dc:date>
    <link>http://www.endyourif.com/how-to-add-comments-with-ajax-in-cakephp/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[In today’s article we are going to create a very basic blog that allows people to create a post and posts comments on that post via AJAX.  We are going to keep it extremely basic and just focus on that actual AJAX functionality.
]]></description>
<dc:subject>php cakephp development ajax javascript</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:bensheldon/b:d14b451b3659/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:php"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:cakephp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:ajax"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://code.google.com/p/ie7-js/">
    <title>ie7-js - Project Hosting on Google Code</title>
    <dc:date>2010-07-17T19:31:40+00:00</dc:date>
    <link>http://code.google.com/p/ie7-js/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[IE7.js is a JavaScript library to make Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6.
]]></description>
<dc:subject>webdesign css library javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:811efcea948c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:library"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://mrgan.com/gb/">
    <title>Glyphboard</title>
    <dc:date>2010-06-25T02:41:19+00:00</dc:date>
    <link>http://mrgan.com/gb/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>css javascript iphone app</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:edf45f4782f2/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:iphone"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:app"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://jqueryfordesigners.com/">
    <title>jQuery for Designers - Tutorials and screencasts</title>
    <dc:date>2010-05-19T02:58:10+00:00</dc:date>
    <link>http://jqueryfordesigners.com/</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>css jquery javascript webdesign</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:edea417d1762/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:jquery"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://jqueryfordesigners.com/coda-popup-bubbles/">
    <title>Coda Popup Bubbles | jQuery for Designers - Tutorials and screencasts</title>
    <dc:date>2008-07-27T00:42:28+00:00</dc:date>
    <link>http://jqueryfordesigners.com/coda-popup-bubbles/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[In particular, Jorge Mesa writes to ask how to re-create their 'puff' popup bubble shown when you mouse over the download image.

In essence the effect is just a simple combination of effect, but there's a few nuances to be wary of.
]]></description>
<dc:subject>javascript drupal panlexicon</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:312d0d23c724/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:drupal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:panlexicon"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/">
    <title>bassistance.de » jQuery plugin: Tooltip</title>
    <dc:date>2008-07-27T00:35:08+00:00</dc:date>
    <link>http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[jQuery plugin: Tooltip
]]></description>
<dc:subject>css design development drupal javascript panlexicon</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:57c90f3b3b52/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:drupal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:panlexicon"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://photofeld.janwildefeld.de/">
    <title>Photofeld - Jan Wildefelds Photoblog (Image reflections)</title>
    <dc:date>2007-01-31T20:05:15+00:00</dc:date>
    <link>http://photofeld.janwildefeld.de/</link>
    <dc:creator>bensheldon</dc:creator><description><![CDATA[Interesting reflection script with the photos
]]></description>
<dc:subject>javascript css webdesign reflection</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:286d85bce9a9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:reflection"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://icant.co.uk/articles/from-dhtml-to-dom/from-dhtml-to-dom-scripting.html">
    <title>From DHTML to DOM scripting - an example of how to replace outdated JavaScript techniques.</title>
    <dc:date>2006-04-17T12:51:56+00:00</dc:date>
    <link>http://icant.co.uk/articles/from-dhtml-to-dom/from-dhtml-to-dom-scripting.html</link>
    <dc:creator>bensheldon</dc:creator><dc:subject>css html tutorial webdesign web dhtml dom javascript</dc:subject>
<dc:identifier>https://pinboard.in/u:bensheldon/b:3cfdb3076044/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:html"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:tutorial"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:webdesign"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:web"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:dhtml"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:dom"/>
	<rdf:li rdf:resource="https://pinboard.in/u:bensheldon/t:javascript"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>