I hereby claim:
- I am zipcode on github.
- I am zip (https://keybase.io/zip) on keybase.
- I have a public key whose fingerprint is E325 AF9C 1358 75E7 5804 F35F DE6C 800D 57DC E9F4
To claim this, I am signing this object:
| from functools import wraps | |
| class instancemethod(object): | |
| def __init__(self, f): | |
| self.f = f | |
| def __get__(self, obj, cls=None): | |
| if obj is None: | |
| obj = cls.instance() | |
| @wraps(self.f) |
I hereby claim:
To claim this, I am signing this object:
| javascript:(function(){var g="#gamergate";var f=function(t){return t.split(' ').map(function(w){return w.toLowerCase()==g?w:'butt'}).join(' ')};var es=document.getElementsByClassName("tweet-text");for(var i=0;i<es.length;i++){if(es[i].innerText.toLowerCase().indexOf(g)>0)es[i].innerText=f(es[i].innerText)}})() |
In this guide, I will walk you through the process of adding the html5 scaffold to the vagrant box that the sync engine ships with. This will allow you to try out the app without using our API endpoints.
WARNING: User authentication does not ship with the open source version. Anybody who can see your endpoint can access the API and any emails you have synced to it.
If you're not making changes to the scaffold, why not use the latest and greatest online? Once you've got your API endpoint set up, as per the README head on over to http://inboxapp.github.io/inbox-scaffold-html5/set-app-id.html and use localhost as your app. It'll connect to your local copy of Inbox.
| 'use strict'; | |
| /* | |
| * WARNING: this is TOTALLY INSECURE | |
| * | |
| * An attacker who can embed your page within an iFrame can make arbitrary | |
| * requests. Make sure you're okay with that, or start origin checking. | |
| */ | |
| /* |
| divisor = (x) -> | |
| c = 0 | |
| r = Math.sqrt(x) | |
| p = primes(c) | |
| while p <= r | |
| return p if x % p == 0 | |
| p = primes(++c) | |
| x | |
| isPrime = (x) -> divisor(x) == x |
| declare module "irc" { | |
| import events = require('events'); | |
| export interface Client extends events.EventEmitter { | |
| send(command: string, ...args: string[]): void; | |
| join(channel: string, callback: (arg: any)=>void): void; | |
| part(channel: string, message: string): void; | |
| part(channel: string, callback: (arg: any)=>void, message: string): void; | |
| say(target: string, message: string): void; | |
| ctcp(target: string, type: string, text: string): void; |
| {string, lazy, alt, regex, optWhitespace, seq, succeed} = require "Parsimmon" | |
| lbrace = string '<' | |
| rbrace = string '>' | |
| slash = string '/' | |
| identifier = regex /[a-z-]+/i | |
| opentag = lbrace.then(identifier).skip(optWhitespace).skip(rbrace) | |
| closetag = (tag) -> lbrace.then(slash).then(string tag).skip(rbrace) | |
| selftag = lbrace.then(identifier).skip(optWhitespace).skip(slash).skip(rbrace).map (s) -> "<#{s}/>" |
| function pulse(node, time) { | |
| if (!node) throw new Error("node was falsy"); | |
| if (node.constructor && node.constructor == NodeList) { | |
| var nodes = Array.prototype.slice.call(node); | |
| nodes.forEach(function (node) { pulse(node, time); }); | |
| return; | |
| } | |
| if (!node.style) return; |
| // ==UserScript== | |
| // @name Slack emoji downloader | |
| // @namespace http://zip.sexy | |
| // @version 0.1 | |
| // @description Clickable slack emoji on the config page | |
| // @author @zip | |
| // @match https://*.slack.com/customize/emoji | |
| // @grant none | |
| // ==/UserScript== |