Skip to content

Instantly share code, notes, and snippets.


Khalid Alharbi kalharbi

  • Saudi Arabia
View GitHub Profile
kalharbi / .env.development
Created Aug 29, 2019
User Authentication and Private Routes in React, React-Router, Redux, and Firebase
View .env.development
kalharbi / dummy-dataframe-example.ipynb
Created Sep 25, 2016
Python Pandas - Expand cells containing lists into columns (dummy/indicator matrix)
View dummy-dataframe-example.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
kalharbi /
Created Aug 29, 2016 — forked from zupo/
Split a folder with many files into subfolders with N files.Usage: python path/to/target/folder
# -*- coding: utf-8 -*-
# @author: Peter Lamut
import argparse
import os
import shutil
N = 500 # the number of files in seach subfolder folder
View httprouter-middleware-example.go
package main
import (
// The type of our middleware consists of the original handler we want to wrap and a message
kalharbi /
Last active Oct 13, 2020
Setting up an external Zookeeper Solr Cluster

Setting up an external Zookeeper Solr Cluster

This is a step by step instruction on how to create a cluster that has three Solr nodes running in cloud mode. These instructions should work on both a local cluster (for testing) and a remote cluster where each server runs in its own physical machine. This was tested on Solr version 5.4.1 and Zookeeper version 3.4.6

Installing Solr and Zookeeper

  • Download and extract Solr:
    • curl -O
    • mkdir /opt/solr
kalharbi / gulpfile.js
Created Aug 20, 2015
gulpfile.js with browserify, babelify, watchify, sourcemaps, gulp-connect, and node-notifier
View gulpfile.js
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 / crawler-keywords.txt
Created Aug 10, 2015
Keywords to feed to a mobile apps crawler
View crawler-keywords.txt
AECOM Technology
AK Steel Holding
kalharbi / added_perm.csv
Created Oct 10, 2014
Added Permissions
View added_perm.csv
permission count
android.permission. 2.0
android.permission.ACCESOFS_WIFI_STATE 1.0
android.permission.ACCESS_ASSISTED_GPS 7.0
android.permission.ACCESS_BACKGROUND_SERVICE 2.0
android.permission.ACCESS_CELL_ID 2.0
android.permission.ACCESS_CHECKIN_PROPERTIES 4.0
android.permission.ACCESS_COARSE_LOCATION 1114.0
android.permission.ACCESS_COARSE_UPDATES 7.0
android.permission.ACCESS_CORSE_LOCATION 1.0
kalharbi / log.rb
Created Jul 11, 2014
Ruby Logging - different channels for different levels. Log errors to FILE and all levels to STDOUT.
View log.rb
require 'logging' # gem install logging
require 'singleton'
class Log
include Singleton
attr_accessor :log_file_name
@@file_name = nil
# set log file name
kalharbi / load_ajax.js
Created Jul 2, 2014
PhantomJS - Load dynamic web page content that uses AJAX
View load_ajax.js
// Original code:
* Wait until the test condition is true or a timeout occurs. Useful for waiting
* on a server response or for a ui change (fadeIn, etc.) to occur.
* @param testFx javascript condition that evaluates to a boolean,
* it can be passed in as a string (e.g.: "1 == 1" or "$('#bar').is(':visible')" or