Skip to content

Instantly share code, notes, and snippets.

View eldadfux's full-sized avatar
🎵
<b>CODE IS POETRY</b>

Eldad A. Fux eldadfux

🎵
<b>CODE IS POETRY</b>
View GitHub Profile
@IceCreamYou
IceCreamYou / percentile.js
Last active November 17, 2022 01:54
Utility functions to calculate percentiles and percent ranks in a JavaScript array.
// Returns the value at a given percentile in a sorted numeric array.
// "Linear interpolation between closest ranks" method
function percentile(arr, p) {
if (arr.length === 0) return 0;
if (typeof p !== 'number') throw new TypeError('p must be a number');
if (p <= 0) return arr[0];
if (p >= 1) return arr[arr.length - 1];
var index = (arr.length - 1) * p,
lower = Math.floor(index),
@claudiosanches
claudiosanches / test.php
Last active April 8, 2025 20:36
Regex for test credit card brand
<?php
// Test cards
$cards = array(
'378282246310005', // American Express
'371449635398431', // American Express
'5078601870000127985', // Aura
'5078601800003247449', // Aura
'30569309025904', // Diners Club
'38520000023237', // Diners Club
@jesperborgstrup
jesperborgstrup / RecurringJob.php
Last active February 27, 2024 19:06
Quick way to perform recurring jobs with php-resque-scheduler
<?php
use Resque;
use ResqueScheduler\ResqueScheduler;
/**
* Base class for recurring Resque jobs.
*
* Jobs must implement the recurrentSetUp(), recurrenctPerform(), and recurrentTearDown()
* methods instead of the normal setUp(), perform(), and tearDown() methods.
*
@mikelehen
mikelehen / generate-pushid.js
Created February 11, 2015 17:34
JavaScript code for generating Firebase Push IDs
/**
* Fancy ID generator that creates 20-character string identifiers with the following properties:
*
* 1. They're based on timestamp so that they sort *after* any existing ids.
* 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.
* 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).
* 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the
* latter ones will sort after the former ones. We do this by using the previous random bits
* but "incrementing" them by 1 (only in the case of a timestamp collision).
*/
@magnetikonline
magnetikonline / dumprequest.php
Last active March 21, 2025 08:29
PHP script to dump full HTTP request to file (method, HTTP headers and body).
<?php
// https://gist.github.com/magnetikonline/650e30e485c0f91f2f40
class DumpHTTPRequestToFile {
public function execute($targetFile) {
$data = sprintf(
"%s %s %s\n\nHTTP headers:\n",
$_SERVER['REQUEST_METHOD'],
$_SERVER['REQUEST_URI'],
$_SERVER['SERVER_PROTOCOL']
@ranacseruet
ranacseruet / VideoStream.php
Last active March 18, 2025 14:40
PHP VideoStream class for HTML5 video streaming
<?php
/**
* Description of VideoStream
*
* @author Rana
* @link http://codesamplez.com/programming/php-html5-video-streaming-tutorial
*/
class VideoStream
{
private $path = "";
@cjthompson
cjthompson / RobustPDO.php
Created February 3, 2014 19:52
Extended PDO class that detects dropped connections and reconnects
<?php
class RobustPDO extends PDO
{
/** Call setAttribute to set the session wait_timeout value */
const ATTR_MYSQL_TIMEOUT = 100;
/** @var array */
protected $config = [];
/** @var bool For lazy connection tracking */
@tott
tott / ip_in_range.php
Created November 27, 2013 22:46
php check if IP is in given network range
/**
* Check if a given ip is in a network
* @param string $ip IP to check in IPV4 format eg. 127.0.0.1
* @param string $range IP/CIDR netmask eg. 127.0.0.0/24, also 127.0.0.1 is accepted and /32 assumed
* @return boolean true if the ip is in this range / false if not.
*/
function ip_in_range( $ip, $range ) {
if ( strpos( $range, '/' ) == false ) {
$range .= '/32';
}
@sergigp
sergigp / gist:5504930
Last active January 25, 2021 10:12
small benchmark between curl, multicurl and file_get_contents. Results: CURL: 7.37 s // MULTI CURL: 1.93 s // FILE GET CONTENTS: 25.94 s
<?php
$data = array(
'http://www.marca.com',
'http://www.wowebook.be',
'http://www.meneame.net',
'http://www.google.com',
'http://www.elpais.es',
'http://www.reddit.com',
'http://www.digg.com',
@krimdomu
krimdomu / gist:3490661
Created August 27, 2012 17:36
Using Rex Templates
#######################
# Rexfile
#######################
task "test", sub {
my @arr = ("one", "two", "three");
my %hash = (
name => "foo",