Skip to content

Instantly share code, notes, and snippets.

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 / Transparent Proxy to docker
Last active Dec 13, 2017
Transparent Proxy to docker containers
View Transparent Proxy to docker

This is an example of using Linux Kernel's Transparent Proxy to route all TCP traffic to docker containers without having to resort to PROXY protocol which is not supported by some applications (e.g. sshd). To get the demo to work you only need vagrant installed:

git clone [this-gist] tproxy-demo
cd tproxy-demo
vagrant up
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
You can’t perform that action at this time.