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 / GeoCoordinates.java
Created September 28, 2023 09:13
Java Map lookup example
package geoCoordinatesMap;
final class GeoCoordinates {
private final double latitude;
private final double longitude;
public GeoCoordinates(double latitude, double longitude) {
this.latitude = latitude;
this.longitude = longitude;
}
@kalharbi
kalharbi / OuterClass.java
Last active May 3, 2023 15:44
what seems to be a bug in getDeclaredConstructors(). Will check back later.
public class OuterClass
{
private int x;
private OuterClass(int x){
this.x =x;
}
public static void main( String[] args )
{
// Should print 1 constructor not 2
System.out.println(OuterClass.class.getDeclaredConstructors().length); // prints 2
@kalharbi
kalharbi / .env.development
Created August 29, 2019 20:44
User Authentication and Private Routes in React, React-Router, Redux, and Firebase
REACT_APP_DEV_API_KEY=XXX
REACT_APP_DEV_AUTH_DOMAIN=XXX
REACT_APP_DEV_DATABASE_URL=XXX
REACT_APP_DEV_PROJECT_ID=XXX
REACT_APP_DEV_STORAGE_BUCKET=XXX
REACT_APP_DEV_MESSAGING_SENDER_ID=XXX
REACT_APP_DEV_ID=XXX
@kalharbi
kalharbi / dummy-dataframe-example.ipynb
Created September 25, 2016 17:04
Python Pandas - Expand cells containing lists into columns (dummy/indicator matrix)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@kalharbi
kalharbi / folder_splitter.py
Created August 29, 2016 21:37 — forked from zupo/folder_splitter.py
Split a folder with many files into subfolders with N files.Usage: python folder_splitter.py 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
@kalharbi
kalharbi / httprouter-middleware-example.go
Last active May 27, 2022 01:42
Example of using a middleware with [httprouter](https://github.com/julienschmidt/httprouter)
package main
import (
"fmt"
"github.com/julienschmidt/httprouter"
"log"
"net/http"
)
// The type of our middleware consists of the original handler we want to wrap and a message
@kalharbi
kalharbi / zookeeper-solr-cloud.md
Last active February 22, 2022 02:58
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 http://archive.apache.org/dist/lucene/solr/5.5.3/solr-5.5.3.tgz
    • mkdir /opt/solr
@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 / crawler-keywords.txt
Created August 10, 2015 05:01
Keywords to feed to a mobile apps crawler
2d
3M
3d
AECOM Technology
AES
AGCO
AK Steel Holding
AM
AMR
ATT
@kalharbi
kalharbi / added_perm.csv
Created October 10, 2014 17:58
Added Permissions
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