In this talk I will try to explain (with illustrations) what closures are, what 'this' is and how it relates to closures, how callbacks can be confusing and how confusion can be avoided.
Once you're comfortable and think you've understood 'this', I'll throw call and apply at you. When we emerge on the other side, there will be unicorns and pixie dust :)
Streamer library, which suggests opinionated stream definition / pattern and utilizes core library, that makes asynchronously recursive, pure function <3 possible without spaghetti code ninjas!
Tales of adventures using server side jquery and json instead of a templating language. How server side jquery works, and why server side jquery is useful. Benchmark results comparing this technique to other templating systems. Finally a discussion on how to integrate it with other systems.
Data.js tries to provide an API on top of graph data, that makes it easy to access and group data into objects suitable for both server and client side application tasks.
By allowing to use the same API to construct your domain objects, both on the client and on the server side, Data.js allows for code (and domain knowledge) reuse. Data.js features a query interface, data-transformations (like clustering), validations, realtime updates as well as a CouchDB backend for persistence.
No matter what I tried, for years it seemed that there was nothing to get me out of bed in the morning. After having almost given up, one day I realized that node.js was the answer to all my troubles.
Over the last decade, we've seen a dramatic shift in the way that the web is used. Now, we have more content generated by everyday users than ever before — and that's an exponential increase. We now know thanks to a lot of research that time definitely does equal money, in more ways than one. Initially it was just a reference to developer or human time, then a reference to the page-load speed affecting sales, now we're moving rapidly towards a web where users want to be able to share and communicate in closer to realtime than ever before.
In the past, we've tried to hack together functionality for this, which worked reasonably well, but now we have WebSockets and platforms like Node.js, which make the realtime web ever more accessible to developers. As the public consumption of the realtime web increases, so will users expectations of how quickly things should happen on the web.
Finally, we can add validation rules to our form elements, which provides in-browser validation on submit. But what if we want to use Ajax?
HTML5 defines DOM interfaces with the components we need to validate the form ourselves. It's easy and fun!
The Unhosted project defines a standard for cross-origin storage of user data. The idea is quite simple: write your html5 app without the ajax-backend. Write only the app. Then, the domain where that user's data is stored is discovered based on the user address (user@host) with which the user logs in.
I will talk about why I built whenever, why it's cool, show some examples and show where I've used it in practice.
29th September 2011