Skip to content

Instantly share code, notes, and snippets.

@GingerBear
GingerBear / state_machine.js
Created October 13, 2013 20:59
JavaScript State Machine
var Events = {
bind: function(){
if (!this.o) this.o = $({});
this.o.bind.apply(this.o, arguments);
},
trigger: function(){
if (!this.o) this.o = $({});
this.o.trigger.apply(this.o, arguments);
}
@GingerBear
GingerBear / add_remove_mongodb_field.js
Last active December 26, 2015 01:39
MongoDB add/remove a field
// Add a field
db.products.update(
{ },
{ $set:
{ quantity: "",
instock: ""
}
},
{ multi: true }
)
@GingerBear
GingerBear / match_type.c
Created December 8, 2013 21:12
Dummy matching of type of in string
#include <stdio.h>
int match_type(char *str, char *type)
{
printf("%s\n", str);
printf("%s\n", type);
int i = 0, j = 0, count = 0;
char tmp1[10];
char c;
while ((c = str[i]) != '\0')
@GingerBear
GingerBear / classes.css
Created January 5, 2016 18:31
crystal blocked selectors
.mobile-ads-300-250,
.mobile-ad-300,
#dynamic_editorial_container,
.section_header.special,
.logosFooter,
.advertising,
.boxbanner,
.ad.articlebig,
.ember-view.ad-slot-wrapper,
#sharebar-modal-redesign,
@GingerBear
GingerBear / csv_stringify_sync.js
Last active March 22, 2016 21:03
csv stringify sync
// from https://github.com/wdavidw/node-csv-stringify/blob/de22cdd8ffd07a02bd916e96a31678581eb33659/lib/index.js#L209
function stringify(line) {
var _line, column, columns, containsEscape, containsLinebreak, containsQuote, containsdelimiter, delimiter, escape, field, i, j, l, newLine, quote, ref, ref1, regexp, shouldQuote, value;
if (typeof line !== 'object') {
return line;
}
columns = null;
if (typeof columns === 'object' && columns !== null && !Array.isArray(columns)) {
columns = Object.keys(columns);
}
@GingerBear
GingerBear / gist:2c80d82720c67cef9d66f7026ee92700
Created April 21, 2016 14:49
start local docker for php
docker run -d -p 80:80 -p 8880:8880 -p 443:443 -i -v '/Users/guanxiongding/Projects:/var/www' -t cores_dev
function stripAccents(str) {
var reAccents = /[àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ]/g;
var replacements = 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY';
return str.replace(reAccents, function (match) {
return replacements[reAccents.source.indexOf(match)];
});
};
@GingerBear
GingerBear / http.MD
Created November 1, 2016 14:09
http.MD

HTTP/0.9

  • only GET
  • only HTML format
  • TCP close after request
GET /index.html
<html>
 Hello World
This file has been truncated, but you can view the full file.
! function(t) {
function e(t) {
function e(e) {
if (o.onerror = o.onload = o.onreadystatechange = null, e) {
var i = s[t];
if (delete s[t], i)
for (; i.length;) i.shift().error.call(null, n)
}
}
var i = document.getElementsByTagName("head")[0],
@GingerBear
GingerBear / gist:641f36fc175def0ca7eba477f86d9ed0
Created March 8, 2017 19:57
inject js to ios that put catch
document.querySelector('#printLink').addEventListener('click', function() {
var iframe = document.querySelector('.printLink-iframe');
if (!iframe) {
iframe = document.createElement('div');
iframe.style.display = 'none';
iframe.classList.add('printLink-iframe');
}
iframe.innerHTML = '<iframe src="/printLink-iframe"></iframe>';
document.body.appendChild(iframe);