Skip to content

Instantly share code, notes, and snippets.

View kalharbi's full-sized avatar

Khalid Alharbi kalharbi

  • Saudi Arabia
View GitHub Profile
@kalharbi
kalharbi / gulpfile.js
Created August 20, 2015 19:58
gulpfile.js with browserify, babelify, watchify, sourcemaps, gulp-connect, and node-notifier
var gulp = require("gulp");
var gutil = require("gulp-util");
var open = require("gulp-open");
var sourcemaps = require("gulp-sourcemaps");
var notifier = require("node-notifier")
var connect = require("gulp-connect");
var buffer = require("vinyl-buffer");
var source = require("vinyl-source-stream");
var chalk = require("chalk");
var browserify = require("browserify");
@kalharbi
kalharbi / log.rb
Created July 11, 2014 21:30
Ruby Logging - different channels for different levels. Log errors to FILE and all levels to STDOUT.
require 'logging' # gem install logging
require 'singleton'
class Log
include Singleton
attr_accessor :log_file_name
@@file_name = nil
# set log file name
@kalharbi
kalharbi / gist:ac181291ccf7e601927f
Last active August 29, 2015 14:02
Retrieve zip file from MongoDB GridFS and save it in a directory
MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("archives");
GridFS gridGfs = new GridFS(db, "fs");
// search by metadata
BasicDBObject query = new BasicDBObject("metadata.n", "myZipFile")
.append("metadata.ver", "1.2.6");
GridFSDBFile zipFile = gridGfs.findOne(query);
File outFile = new File("/Users/Khalid/git/gists/file.zip");
outFile.createNewFile();
zipFile.writeTo(outFile);
@kalharbi
kalharbi / gist:56dd376fe49c47d9b9be
Created May 6, 2014 05:00
A custom JSON encoder that excludes null or empty pair values.
from json import JSONEncoder
class CustomJsonEncoder(JSONEncoder):
def remove_none(self, data):
if isinstance(data, dict):
return {k:self.remove_none(v) for k, v in data.items() if k and v }
elif isinstance(data, list):
return [self.remove_none(item) for item in data if item]
elif isinstance(data, set):