Skip to content

Instantly share code, notes, and snippets.

View fkei's full-sized avatar
😀

fkei fkei

😀
View GitHub Profile
@fkei
fkei / log4js.js.patch
Created March 4, 2011 01:47
Array type check
--- lib/log4js.js.orig 2011-03-04 10:32:06.000000000 +0900
+++ lib/log4js.js 2011-03-04 10:42:24.000000000 +0900
@@ -134,8 +134,8 @@
args = [ ALL_CATEGORIES ];
}
//argument may already be an array
- if (args[0].forEach) {
- args = args[0];
+ if (args[0].constructor.name === 'Array') {
+ args = args[0];
@fkei
fkei / The system's IP address is obtained
Created March 4, 2011 04:59
Mac OSX and Linux support.
#!/usr/bin/env node
var os = require('os');
var osType = os.type();
var search = function() {};
if (osType === 'Darwin') {
var nic = 'en0'; // Mac OSX
@fkei
fkei / node-websocket-server 1.4.03 patch
Created March 31, 2011 09:01
Changes in 1.4.01 from 1.4.02, multibyte character "Connection.prototype.write (data)" has stopped working.
--- lib/ws/connection.js.orig 2011-03-31 16:43:40.000000000 +0900
+++ lib/ws/connection.js 2011-03-31 16:45:33.000000000 +0900
@@ -182,10 +182,10 @@
/*-----------------------------------------------
Various utility style functions:
-----------------------------------------------*/
-function write(connection, data) {
+function write(connection, data, encoding) {
debug(connection.id, 'write: ', (new Buffer(data)).inspect());
if (connection._socket.writable) {
@fkei
fkei / APPNAME
Created July 3, 2011 09:41 — forked from shimondoodkin/APPNAME
init.d script for node.js for debian
#! /bin/sh
# ------------------------------------------------------------------------------
# SOME INFOS : fairly standard (debian) init script.
# Note that node doesn't create a PID file (hence --make-pidfile)
# has to be run in the background (hence --background)
# and NOT as root (hence --chuid)
#
# MORE INFOS : INIT SCRIPT http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit
# INIT-INFO RULES http://wiki.debian.org/LSBInitScripts
# INSTALL/REMOVE http://www.debian-administration.org/articles/28
@fkei
fkei / test.js
Created May 31, 2012 01:59 — forked from shigeki/test.js
socket.io memoryUsage profile with heatbeat by manually gc
var io = require('socket.io').listen(8081);
var parser = require('socket.io').parser;
io.sockets.on('connection', function(socket) {
var pre;
var i = 0;
io.transports[socket.id].parser.on('data', function(p) {
var packet = parser.decodePacket(p);
if(packet.type === 'heartbeat') {
if(global.gc) global.gc();
var memoryUsage = process.memoryUsage();
@fkei
fkei / eventlet_gs_uploader.py
Created July 27, 2012 15:34 — forked from batok/eventlet_gs_uploader.py
A python script to do asynchronous upload to google storage using boto and eventlet libraries
# this program uploads to google storage using boto and eventlet all the jpg files of a selected folder
import eventlet
bcon = eventlet.import_patched("boto.gs.connection")
import glob
FOLDER = "/Users/myself/Documents/" # replace this with your chosen folder
BUCKET_NAME = "whateveryourbucketname" # replace this with your bucket name
def upload(myfile):
c = bcon.GSConnection()
@fkei
fkei / backup.py
Created August 23, 2012 06:27 — forked from rore/backup.py
A script to automate freezing XFS and locking MongoDB and snapshotting EBS volumes
#!/usr/bin/env python
from __future__ import with_statement
import contextlib
import logging
import os
import sys
import urllib2
from boto.ec2.connection import EC2Connection
@fkei
fkei / DefaultKeyBinding.dict
Created September 14, 2012 04:04
xcode keybindings for emacs emulation
{
/* Keybindings for emacs emulation. Compiled by Jacob Rus.
*
* To use: copy this file to ~/Library/KeyBindings/
* after that any Cocoa applications you launch will inherit these bindings
*
* This is a pretty good set, especially considering that many emacs bindings
* such as C-o, C-a, C-e, C-k, C-y, C-v, C-f, C-b, C-p, C-n, C-t, and
* perhaps a few more, are already built into the system.
*
@fkei
fkei / if in
Created March 6, 2013 14:23
Not has_key
>>> items = [1,2,3,4,5]
>>> if 3 in items: print "hit!!"
...
hit!!
>>> list1, list2 = [1,2,3,4,5], [6,7,8,9,10]
>>> for (e1, e2) in zip(list1, list2): print e1, e2
...
1 6
2 7
3 8
4 9
5 10