Skip to content

Instantly share code, notes, and snippets.

@anantn
anantn / Auctionator.lua
Created January 4, 2015 07:10
Auctionator Plugin for Skillet
--[[
Skillet: A tradeskill window replacement.
Copyright (c) 2007 Robert Clark <nogudnik@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
@anantn
anantn / firebase_first_item.js
Last active March 4, 2016 00:04
Firebase: Get the first item in a list. This snippet retrieves only the first item in a list.
function makeList(ref) {
var fruits = ["banana", "apple", "grape", "orange"];
for (var i = 0; i < fruits.length; i++) {
ref.push(fruits[i]);
}
}
function getFirstFromList(ref, cb) {
ref.startAt().limit(1).once("child_added", function(snapshot) {
cb(snapshot.val());
@anantn
anantn / simple_angular.html
Created January 13, 2014 19:38
Simple 2-way binding with AngularJS
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.5/angular.min.js"></script>
</head>
<body ng-app>
<div ng-controller="MyApp">
<input type="text" ng-model="name"/><br/>
<h1 ng-cloak>Hi {{name}}!</h1>
</div>
</body>
@anantn
anantn / gist:8405484
Last active January 3, 2016 03:59
AngularFire Starter
<!doctype html>
<html lang="en" ng-app="chat">
<head>
<meta charset="UTF-8">
<title>AngularFire Chat Demo</title>
<link rel="stylesheet" type="text/css" href="https://www.firebase.com/css/example.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
</head>
<body ng-controller="Chat">
<div>
@anantn
anantn / angular_promise.html
Created April 3, 2013 19:21
An example showing the use of angular $q promises to authenticate a Firebase session and then writing data.
<html ng-app="test">
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.1/angular.min.js"></script>
<script type="text/javascript" src="https://cdn.firebase.com/v0/firebase.js"></script>
</head>
<body ng-controller="Test">
<script typ="text/javascript">
function TestController($scope, $q) {
this._q = $q;
this._scope = $scope;
@anantn
anantn / todomvc_angularFire.diff
Created March 22, 2013 22:46
Changes required to make AngularJS/TodoMVC real-time with angularFire.
diff -ur ../todomvc/architecture-examples/angularjs/index.html examples/todomvc/index.html
--- ../todomvc/architecture-examples/angularjs/index.html 2013-03-15 15:31:06.000000000 -0700
+++ examples/todomvc/index.html 2013-03-22 15:21:00.000000000 -0700
@@ -61,9 +61,10 @@
</footer>
<script src="components/todomvc-common/base.js"></script>
<script src="components/angular/angular.js"></script>
+ <script src="https://cdn.firebase.com/v0/firebase.js"></script>
+ <script src="../../angularFire.js"></script>
<script src="js/app.js"></script>
@anantn
anantn / backfire.diff
Created January 11, 2013 01:52
Changes to needed to make TODOmvc real-time with Firebase <-> Backbone
--- ../backbone/examples/todos/todos.js 2013-01-08 17:02:02.000000000 -0800
+++ todos.js 2013-01-10 17:33:56.000000000 -0800
@@ -1,7 +1,6 @@
// An example Backbone application contributed by
// [Jérôme Gravel-Niquet](http://jgn.me/). This demo uses a simple
-// [LocalStorage adapter](backbone-localstorage.html)
-// to persist Backbone models within your browser.
+// Firebase adapter to persist Backbone models.
// Load the application once the DOM is ready, using `jQuery.ready`:
@anantn
anantn / firefox_ext_iframe.js
Created January 1, 2013 22:04
Creating an iframe in Firefox extension code
if (Components && Components.classes) {
// This means we are in a Firefox extension.
var appShell = Components.classes["@mozilla.org/appshell/appShellService;1"]
.getService(Components.interfaces.nsIAppShellService);
// hiddenDoc will now point to a regular DOM document.
var hiddenDoc = appShell.hiddenDOMWindow.document;
// Create an iframe.
let iframe = hiddenDoc.createElementNS("http://www.w3.org/1999/xhtml", "iframe");
@anantn
anantn / firebase_queue_pop.js
Last active December 10, 2015 01:19
Firebase: Using .push() to maintain a queue and ensuring only one client is able to obtain the head of the queue at a time.
var Firebase = require("./firebase-node.js");
function Queue(ref) {
this._ref = ref;
}
Queue.prototype.pop = function(cb) {
this._ref.startAt().limit(1).once("child_added", this._pop.bind(this, cb));
}
@anantn
anantn / tamejs_gum.js
Created October 18, 2012 01:14
TameJS wrapper for getUserMedia
function myGetUserMedia(constraints, cb)
{
function errCb(code)
{
cb(code, null);
}
function successCb(stream)
{