Skip to content

Instantly share code, notes, and snippets.

View possibilities's full-sized avatar

Mike Bannister possibilities

  • AI Life
  • Portland East
  • 02:20 (UTC -05:00)
View GitHub Profile
@possibilities
possibilities / test.html
Last active December 20, 2015 22:48 — forked from anonymous/test.html
<template name="helper_test">
{{#each test_objects}}
<p>Object: {{helper-test this}}</p>
{{/each}}
</template>
(function () {
Backbone.syncWithoutUpload = Backbone.sync
Backbone.syncWithUpload = function(method, model, options) {
// Create iframe
var iframe_id = 'file_upload_iframe_' + Date.now()
, iframe = jQuery('<iframe id="' + iframe_id + '" name="' + iframe_id + '" ></iframe>').hide()
var toForm = function(object, nested) {
inputs = _.map(object,
function(attr, key) {

Seven Principles of Meteor

  • Data on the Wire. Don't send HTML over the network. Send data and let the client decide how to render it.

  • One Language. Write both the client and the server parts of your interface in JavaScript.

  • Database Everywhere. Use the same transparent API to access your database from the client or the server.

  • Latency Compensation. On the client, use prefetching and model simulation to make it look like you have a zero-latency connection to the database.

Talk

Why I got interested Meteor

Guiding principals

Demo

Build Hipchat clone (aka backup business model for Versal)

Git For People Who Want To Git

Terms

Working tree All uncommited changes

Staging area Uncommited changes you've told git you want to include in a commit

Branches

> mrt -p 5555 ~/work/m/tmp/js-yaml 1.9.3p0
Stand back while Meteorite does it's thing
Installing Meteor
branch: https://github.com/meteor/meteor.git#master
Installing smart packages
{
"meteor": {
"branch": "auth",
"patches": [
"https://github.com/meteor/meteor/pull/334.patch"
]
},
"packages": {}
}
(function() {
var firstBlood = true;
Template.foof.moof = function() {
if (firstBlood) {
firstBlood = false;
doShitFirstTimeAround();
} else{
AWSSum = {
load: function(module) {
var awssum = NodeModules.require('awssum');
return awssum.load(module);
},
loadSyncInterface: function(module, className) {
// Get a reference to the original interface
var interface = AWSSum.load(module)[className];