Skip to content

Instantly share code, notes, and snippets.

@avimar
avimar / auth.tag
Created July 16, 2015 10:41
Example of riotj's router
<auth>
<login if={'login'==opts.action || 'logout' == opts.action} action={opts.action}></login>
<register if={'register' == opts.action}></register>
<change-pass if={'verifyEmail' == opts.action || 'changePass' == opts.action} action={opts.action} uid={opts.uid} data={opts.data}></changePass>
<script>
console.log(opts.action);
if(opts.action=='login' && Cookies.get('apiKey')) riot.route('myAccount');
if(opts.action=='register' && Cookies.get('apiKey')) riot.route('myAccount');
else if(opts.action=="" && Cookies.get('apiKey')) riot.route('myAccount');
@avimar
avimar / ActiveCalls.php
Created July 13, 2010 18:34
SipSorcery REST PHP Code
<?php
$user="USER";
$pass="PASS";
include("SipSorcery.inc.php");
ini_set('session.use_only_cookies',1);
ini_set('session.gc_maxlifetime',31557600);
session_set_cookie_params(24*24*60);
session_start();
it('should round up to the next billing interval', function(){
var cases = [//number, expect, increment
{ n: 4000, e: 6, i:6 },
{ n: 6001, e: 12, i:6 },
{ n: 17999, e: 18, i:6 },
{ n: 1, e: 6, i:6 },
{ n: 62000, e: 66, i:6 },
{ n: 1, e: 1, i:1 },
{ n: 62000, e: 120, i:60 },
];
@avimar
avimar / gist:3146678
Created July 19, 2012 20:42
auto-opper written in node
console.log("Bot Started...");
process.on('uncaughtException', function (err) { console.log('OMG something went really wrong: ' + err); });
var irc = require('irc');
//https://github.com/martynsmith/node-irc
//npm install irc
var MYBOT = {};
MYBOT.channelname = "#node.js";
MYBOT.nick = "ryan_opper";
@avimar
avimar / test-affected-rows.js
Created July 21, 2012 21:31
node-mysql unit test for affected rows
var common = require('../common');
var connection = common.createConnection();
var assert = require('assert');
common.useTestDb(connection);
var table = 'insert_test';
connection.query([
'CREATE TEMPORARY TABLE `' + table + '` (',
'`title` varchar(255),',
@avimar
avimar / gist:3172823
Created July 24, 2012 21:34
nginx reverse proxy node.js
upstream node_js {
server 127.0.0.1:8000;
}
server {
...
...
location ~^/nodejs/ {
@avimar
avimar / index.js
Last active December 17, 2015 08:49
Restify with optional HTTPS redirect
//This allows you to specify a certificate and a key and will create a server that just handles redirects, if you want it.
/*Using let's encrypt to create a free certificate:
cd /root/
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly --webroot -w /my/web/root --email my@email.com -d myDomain.com
//add ssl:certificate location of 'fullchain.pem' and ssl:key location of 'privkey.pem'
*/
@avimar
avimar / gist:5968480
Created July 10, 2013 17:47
Install newrelic with salt-stack on your debian/ubuntu system
#install instructions at https://newrelic.com/docs/server/server-monitor-installation-ubuntu-and-debian
base:
pkgrepo.managed:
- humanname: Newrelic PPA
- name: deb http://apt.newrelic.com/debian/ newrelic non-free
# - dist: precise
- file: /etc/apt/sources.list.d/newrelic.list
- keyid: 548C16BF
- keyserver: subkeys.pgp.net
//using a function-scope `data` variable to save the data
function getData(respondentId) {
var data={};
return Respondent.findById(respondentId)
.then(respondent => {
data.respondent = respondent;
return Box.findById(respondent.box_id)
})
.then(box => {
data.box = box
@avimar
avimar / file.js
Created July 13, 2016 17:55
append a value to the query string
function checkAndSetAccount(){
var q = riot.route.query();
if (Cookies.get('account')==q.account) return;//already done.
if (q.account) {
Cookies.set('account',q.account);
auth.trigger('switchAccount');
}
if (!q.account && Cookies.get('account')!==Cookies.get('accountOriginal')) {//nothing in query string: need to set it
//console.log(window.location)
var newLocation=window.location.hash;