Skip to content

Instantly share code, notes, and snippets.

View pgilad's full-sized avatar
🔭

Gilad Peleg pgilad

🔭
View GitHub Profile
@pgilad
pgilad / hasEvery.lodash.js
Last active August 29, 2015 14:00
Check if a collection has truthy values for keys
//to validate if a collection has all the desired keys and they are truthy:
var hasEvery = function(desiredKeys, collection) {
return _.all(desiredKeys, _.result.bind(collection, collection));
};
var desiredKeys = ['hello', 'there', 'isIt'];
var collection = { hello: 1, there: 1, isIt: true};
hasEvery(desiredKeys, collection);
//-> true
@pgilad
pgilad / exposes.md
Created May 25, 2014 10:32
Client exposes API

An API for website's Exposes

Purpose

Imagine you had a Chrome/Firefox/IE? extension that can use the same keys to handle the same basic actions throughout every web page you visit.

Lets assume your are visiting google.com and search for Js Slider. Now you want to move to the next page of results. Currently you have to click Next Page.

But what if Google implements their very own keyboard keys for their search. So they decide that if your press Ctrl+Alt+N you move to the next page. But what if Bing makes it Ctrl+Alt+P? And Yahoo makes it Cmd+Alt+N?

@pgilad
pgilad / res.sh
Created October 27, 2014 13:23
Curl and get only response code
curl -sL -w "%{http_code}" "http://somesite.com" -o /dev/null
@pgilad
pgilad / pip-upgrade.py
Created October 25, 2015 09:46
pip upgrade all packages
import pip
import subprocess
for dist in pip.get_installed_distributions():
call_str = "pip install --upgrade {0}".format(dist.project_name)
print
print "Upgrading {}".format(dist.project_name)
subprocess.call(call_str, shell=True)
@pgilad
pgilad / pre-commit
Created June 30, 2015 06:36
Precommit git hook
#!/bin/sh
JS_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E "(.js|.es6)$")
if [ "$JS_FILES" = "" ]; then
exit 0
fi
pass=true
for file in $JS_FILES; do
@pgilad
pgilad / env.php
Created February 28, 2016 09:34
Env.php that loads yml and json files from env-config and returns the accumulated configuartion
<?php
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE ^ E_STRICT);
if (function_exists('newrelic_disable_autorum')) {
newrelic_disable_autorum();
}
$files = glob(__DIR__ . '/env-config/*.{json,yml}', GLOB_BRACE);
@pgilad
pgilad / gaInit.js
Last active June 22, 2016 22:15
Google Analytics ga.js for chrome extensions - snippit that doesn't report on development enviornment
//replace UA-XXXXXXXX-X *ONLY* with your real UA Account ID.
//DO not replace the UA-99999999-X with anything, as that is the point of this.
var _gaq = _gaq || [];
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = 'https://ssl.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
:args `ag -l word`
:argdo %s/word/newWord/gc | w
@pgilad
pgilad / worker.conf
Created October 10, 2016 08:17
Blazemeter worker and scheduled worker `.conf` for supervisord
[program:gilad-worker]
command=php /home/gilad/vol/www/a.blazemeter.com/vendor/kamisama/php-resque-ex/bin/resque
directory=/home/gilad/vol/www/a.blazemeter.com
autorestart=true
autostart=true
startretries=10000
stderr_logfile=/var/log/blazemeter/%(program_name)s-error.log
stdout_logfile=/var/log/blazemeter/%(program_name)s.log
@pgilad
pgilad / optim-log-likelihood.R
Last active December 9, 2016 08:39
Using R optim to find maximum log likelihood with a V(Theta) and gradient
setwd("~/Documents/MA Statistics/Statistical Models A/targil 4")
H <- matrix(c(0, 2, 4, 6, 8, 2, 0, 2, 4, 6, 4, 2, 0, 2, 4, 6, 4, 2, 0, 2, 8, 6, 4, 2, 0), byrow = TRUE, nrow = 5)
X <- as.matrix(read.table("./targ3dat.txt", quote = "\"", comment.char = ""))
n <- nrow(X)
d <- ncol(X)
S <- sum(apply(X, 1, crossprod))
calculate_V <- function(theta) {
psi <- theta[1:d]