Skip to content

Instantly share code, notes, and snippets.


Amir Kadivar amirkdv

View GitHub Profile
amirkdv / csv_rw.php
Last active Aug 29, 2015
simple CSV r/w utility
View csv_rw.php
// First pass at a small CSV r/w utility. Before hacking at this, consider
* extracts the list of fields of a given associative array,
* @param array[][] $data
* @return array[]
* @throws Exception
* if provided associative array is inconsistent
amirkdv / toHtml.php
Created Apr 24, 2014
Convert arbitrary data objects to HTML tables
View toHtml.php
* Render arbitrary nested PHP variables into readable HTML. toHtmlTable()
* accepts an arbitrary variable of any of the following forms:
* - objects are first cast to associative arrays and then rendered as such.
* - arrays are rendered as a table with two columns: keys and values.
* - primitive data types are cast to strings
* Example usage:
amirkdv / mechanic.rb
Last active Aug 29, 2015
Login, click through, and get the data you need from an HTTPS site
View mechanic.rb
#!/usr/bin/env ruby
# Use Mechanize to automatically login, click through, and fetch the data you
# need from an HTTPS site. The following works for the McGill admission portal.
# ruby mechanic.rb
# # Ready for Review
# # Ready for Review
require 'rubygems'
require 'mechanize'
amirkdv /
Last active Aug 29, 2015
Cleanly run commands that require mysql running
# Executes the provided arguments as a shell command with a twist: if mysql is
# not already running: starts mysql, runs the commands, and stops mysql.
# Example usage:
# - mysqldo mysql -u root -p # will open an interactive shell and will stop mysql
# # when you leave the shell
# - mysqldo 'echo "show databases;" | mysql -u root -p"my_password"'
# # note that if your commands involve pipes or anything that the shell
# # interpretter would not pass to mysqldo as arguments, you should wrap the
# # entire command in quotes.

In a fresh checkout:

cat provision
# #!/bin/bash
# echo step 1 >> /report.log
# echo step 2 >> /report.log

docker build -t entrypoint-exp01 .
# ...
amirkdv / Allocate
Last active Aug 29, 2015
Generate deterministic *nix ports for services
View Allocate

Example usage:

$ python
usage: [-r|--resolve] NAME

$ python

$ python
port 31079 is in use by 'nc' (pid: 28569), use --resolve
amirkdv /
Last active Nov 20, 2015
Simple HTTP monitor

POC simple HTTP monitoring script. First build the docker images:

git clone [this-gist] monitor
cd monitor
docker build -t amirkdv/monitor .

Now start the container, and all sites under sites.yaml will be pinged one after another:

docker run -i -t amirkdv/monitor
amirkdv /
Last active Jun 8, 2018
An Evolutionary Model for the Emergence of Scale-Free Biological Networks
#!/usr/env/bin python3
# USAGE: LIB=work_space python3
import random
import sys
import itertools
import math
import networkx as nx
import numpy as np
import os
from ctypes import cdll
amirkdv /
Last active Jun 8, 2018
Statistical Analysis of Coherence in LFP recordings
#!/usr/bin/env python
import sys
import numpy as np
from numpy.fft import rfft, rfftfreq, irfft
from matplotlib import pyplot as plt
from scipy.signal import csd, welch
# install via `pip install git+`
from wavelets import WaveletAnalysis