Skip to content

Instantly share code, notes, and snippets.

View ranaroussi's full-sized avatar

Ran Aroussi ranaroussi

View GitHub Profile
@ranaroussi
ranaroussi / 00-pandas-profiling.ipy
Created February 6, 2016 13:37
pandas_profiling shorthand for ipython
# Place this script in
# ~/.ipython/profile_default/startup
# -------------------------------------------
import pandas_profiling
from pandas.core.base import PandasObject
def df_profile(df):
return pandas_profiling.ProfileReport(df)
@ranaroussi
ranaroussi / premarket.py
Last active April 21, 2022 17:24
Retrieve Pre-Market data from Google Finance (python 3.x)
"""
Retrieve Pre-Market data from Google Finance
Ported to Python 3.x
Original code by Dr. Pawel Lachowicz
http://www.quantatrisk.com/2015/05/07/hacking-google-finance-in-pre-market-trading-python/
"""
import requests
import json
from time import sleep
@ranaroussi
ranaroussi / api.py
Created December 22, 2015 11:10 — forked from alanhamlett/api.py
Serialize SQLAlchemy Model to dictionary (for JSON output) and update Model from dictionary attributes.
import uuid
import wtforms_json
from sqlalchemy import not_
from sqlalchemy.dialects.postgresql import UUID
from wtforms import Form
from wtforms.fields import FormField, FieldList
from wtforms.validators import Length
from flask import current_app as app
from flask import request, json, jsonify, abort
@ranaroussi
ranaroussi / roll_ipython_in_aws.md
Created October 15, 2015 05:23 — forked from iamatypeofwalrus/roll_ipython_in_aws.md
Create an iPython HTML Notebook on Amazon's AWS Free Tier from scratch.

What

Roll your own iPython Notebook server with Amazon Web Services (EC2) using their Free Tier.

What are we using? What do you need?

  • An active AWS account. First time sign-ups are eligible for the free tier for a year
  • One Micro Tier EC2 Instance
  • With AWS we will use the stock Ubuntu Server AMI and customize it.
  • Anaconda for Python.
  • Coffee/Beer/Time
@ranaroussi
ranaroussi / ib-controller-init
Last active April 24, 2016 10:07 — forked from aidoom/ib-controller-init
IBContoller init script
#! /bin/sh
### BEGIN INIT INFO
# Provides: IBController
# Short-Description: starts instance of IBController
# Description: starts instance of IBController using start-stop-daemon
### END INIT INFO
# IBController
IBC_PATH="/path/to/IBController"
@ranaroussi
ranaroussi / gist:8684488
Created January 29, 2014 09:29
standalone document "ready" function
function docReady(callback, bubble) {
var addListener = this.addEventListener || this.attachEvent,
removeListener = this.removeEventListener || this.detachEvent
if (document.readyState === "complete" || document.readyState === "loaded" || document.readyState === "interactive") {
callback();
return;
}
@ranaroussi
ranaroussi / gist:7748105
Created December 2, 2013 11:16
js userAgent parser
navigator.agent = (function() {
var ua = navigator.userAgent, ver;
// browser
var browser = ua.match(/(opera|chrome|safari|firefox|msie|trident)\/?\s*(\.?\d+(\.\d+)*)/i);
if (browser && (ver = ua.match(/version\/([\.\d]+)/i)) !== null) browser[2] = ver[1];
var bver = browser[2].split('.');
// os
@ranaroussi
ranaroussi / CLI color output
Created November 19, 2013 08:52
PHP function to output colorful text via CLI
function outputCLI($text, $color=null) {
$colors = array(
'BLACK' => "0;30m",
'GRAY' => "1;30m",
'LIGHTGRAY' => "0;37m",
'BLUE' => "0;34m",
'LIGHTBLUE' => "1;34m",
'GREEN' => "0;32m",
'LIGHTGREEN' => "1;32m",
'CYAN' => "0;36m",
@ranaroussi
ranaroussi / bindEvent.js
Created October 10, 2013 08:52
cross browser addEventListener
// as prototype
Object.prototype.bindEvent = function(event, callback, bubble) {
var elem = this,
addListener = elem.addEventListener || elem.attachEvent,
removeListener = elem.removeEventListener || elem.detachEvent,
eventName;
// custom "event" for ready
if (event === 'ready') {
eventName = document.addEventListener ? "DOMContentLoaded" : "onreadystatechange";
@ranaroussi
ranaroussi / multi_mysqli.php
Created October 10, 2013 08:51
Connect to multiple mysql servers. $db = new multi_mysqli(array('host1', 'host2'), 'root', '123456', 'test');
<?php
/**
* Multi-Server MySQLi class
* Givan a list of MySQL hosts, the client will connect to the first available server
* $servers can be an string for single server, or, for multiple server, use an array or comma-separated list
*/
class multi_mysqli extends mysqli {
// example from: http://php.net/manual/en/mysqli.real-connect.php
public function __construct($servers=array(), $username='', $password='', $database='test') {