Skip to content

Instantly share code, notes, and snippets.

View cyrilis's full-sized avatar
😕
Confusing...

Cyril Hou cyrilis

😕
Confusing...
View GitHub Profile
@cyrilis
cyrilis / handleGlobalShortcut.m
Created April 24, 2015 10:47
Listen and capture Cocoa global shortcut key events, and "eat" them (prevent event trigger)
CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type,CGEventRef event, void *refcon){
// Paranoid sanity check.
if ((type != kCGEventKeyDown) && (type != kCGEventKeyUp) && (type !=
NX_SYSDEFINED))
return event;
NSEvent *e = [NSEvent eventWithCGEvent:event];
// We're getting a special event
@cyrilis
cyrilis / tomorrow-night-eighties.css
Created April 1, 2015 05:56
Tomorrow Night Eighties Code Theme for Github
/*! Tomorrow Night Eighties */
.ace_editor,.highlight {
background-color: #2D2D2D;
color: #CCC;
}
.pl-c {
color: #969896;
font-style: italic;
@cyrilis
cyrilis / colors.sh
Created November 24, 2014 07:03
A ImageMagick Script Can Generate Color Palettes JSON Format. Usage: ./colors.sh IMAGE-PATH COLOR-NUMBERS eg: ./colors.sh /Users/Cyril/Downloads/photo2.jpg 10
dir="." #Set the default temp dir
tmpA1="$dir/spectrumhist_1_$$.png"
tmpB1="$dir/spectrumhist_1_$$.cache"
trap "rm -f $tmpA1 $tmpB1; exit 0" 0 #remove temp files
trap "rm -f $tmpA1 $tmpB1; exit 1" 1 2 3 15 #remove temp files
if [ $# -eq 2 ]
then
colors=$2
else
colors=8
@cyrilis
cyrilis / base64.js
Last active August 29, 2015 14:09 — forked from whatnickcodes/base64.js
// Create Base64 Object
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r
@cyrilis
cyrilis / checkLangSource.coffee
Created November 5, 2014 07:51
Check lang source in nls/lang
fs = require("fs")
path = require('path');
findit = require('findit');
LineByLineReader = require('line-by-line');
langFile = require("../h5-ide/src/nls/en-us/lang")
basePath = path.resolve __dirname, "../h5-ide/src"
# Find all files in h5-ide/src
bindFinder = ()->
finder = findit(basePath)
finder.on 'directory', (dir, stat, stop) ->
@cyrilis
cyrilis / KindleGen.coffee
Created April 23, 2014 15:34
KindleGen_wrapper in node.js
# KindleGen
child_process = require 'child_process'
cmd = child_process.exec
module.exports = (options)->
new KindleGen
KindleGen = (options)->
@source = options.source;
@target = options.target;
@kindlegenDir = __dirname + '/KindleGen/kindlegen_'+process.platform
@cyrilis
cyrilis / github-monokai.css
Last active May 5, 2019 19:41
Github Monokai Code Style
.file-code-line .blob-line-code {
background: #333;
}
.file-code-line .blob-line-nums {
background: #292929;
border-right: 3px solid #707070;
color: #c0c0c0;
}
@cyrilis
cyrilis / api_proxy.js
Created March 19, 2014 15:23
an proxy for resolve crossdomain problem of json api .usage : node api_proxy -d www.sample_domain.com -p 4000
var server = require('http');
var remoteServer = process.argv.indexOf('-d')>0 ? process.argv[process.argv.indexOf('-d')+1]:"www.douban.com";
var listenPort = process.argv.indexOf('-p')>0 ? +process.argv[process.argv.indexOf('-p')+1]: process.env.PORT || 4000;
var http = require('http');
server.createServer(function(q,s){
// console.dir(q);
var headers = q.headers;
headers.host = remoteServer;
q.method === "GET" ? delete headers['Content-length']: console.log('Content-length:',headers['Content-lenght']);
var options = {
@cyrilis
cyrilis / move.js
Created March 16, 2014 18:07
2048 game hacker
/**
* Created by Cyril on 14-3-16.
*/
GameManager.prototype.maxDirection = function (cb) {
var self = this;
var tile;
@cyrilis
cyrilis / app.js
Last active August 29, 2015 13:56
Express set Port in terminal on Development Usave: node app -p *PORT* //eg. node app -p 2222
"use strict";
var app, express, http, setting;
express = require('express');
http = require('http');
app = express();
// Set Port Here
// 'node app -p 4444' will listen on port 4444, rails like
var port = process.argv.indexOf('-p')? +process.argv[process.argv.indexOf('-p')+1]:undefined;
app.set('port', process.env.PORT || port || 4000);