By Thomas Darr (@trdarr), with love.
“How has no one yet written a tutorial for deploying Hubot on @digitalocean? cc @beyroutey”
— Miles Grimshaw (@milesgrimshaw), 10 Dec 2013
chef-server-ctl stop | |
chef-server-ctl kill | |
chef-server-ctl cleanse | |
chef-server-ctl uninstall | |
pkill -9 -u opscode | |
pkill -9 -f postgres | |
pkill -9 -f beam | |
pkill -9 -f /opt/chef | |
rm -rf /etc/opscode /etc/chef /opt/opscode /opt/chef /var/chef | |
rm -rf /etc/chef-server /etc/chef /opt/chef-server /opt/chef /root/.chef /var/opt/chef-server |
By Thomas Darr (@trdarr), with love.
“How has no one yet written a tutorial for deploying Hubot on @digitalocean? cc @beyroutey”
— Miles Grimshaw (@milesgrimshaw), 10 Dec 2013
When the directory structure of your Node.js application (not library!) has some depth, you end up with a lot of annoying relative paths in your require calls like:
const Article = require('../../../../app/models/article');
Those suck for maintenance and they're ugly.
server { | |
listen 80; | |
server_name subdomain.example.com; | |
access_log /var/log/nginx/example.access.log; | |
location / { | |
if ($http_origin ~* (https?://.*\.example\.com(:[0-9]+)?)) { | |
set $cors "true"; |
https://github.com/djvirgen/virgen-acl Simple and elegant, create your own checks. No middleware?
https://github.com/OptimalBits/node_acl Use as middleware, create your own roles and access. Great choice.
https://github.com/tschaub/authorized Similar to connect roles... but a bit more robust? you can create roles and action, and associate many roles with that action
var kue = require('kue'), | |
jobs = kue.createQueue(), | |
util = require('util'), | |
noop = function() {}; | |
jobs.CLEANUP_MAX_FAILED_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days | |
jobs.CLEANUP_MAX_ACTIVE_TIME = 1 * 24 * 60 * 60 * 1000; // 1 day | |
jobs.CLEANUP_MAX_COMPLETE_TIME = 5 * 24 * 60 * 60 * 1000; // 5 days | |
jobs.CLEANUP_INTERVAL = 5 * 60 * 1000; // 5 minutes |
$(function () { | |
"use strict"; | |
// for better performance - to avoid searching in DOM | |
var content = $('#content'); | |
var input = $('#input'); | |
var status = $('#status'); | |
// my color assigned by the server | |
var myColor = false; |
/* Instantiate the global sp object; include models & views */ | |
var sp = getSpotifyApi(1); | |
var auth = sp.require('sp://import/scripts/api/auth'); | |
var permissions = ['user_actions.music']; | |
var app_id = '126891607432106'; | |
var request_url = 'https://graph.facebook.com/me/music.listens'; | |
auth.authenticateWithFacebook(app_id, permissions, { | |
onSuccess : function(accessToken, ttl) { |