Skip to content

Instantly share code, notes, and snippets.

@daleobrien
daleobrien / timedelta_utils.py
Created January 17, 2014 03:02
Format a `timedelta` object to a string, such that only the significant portion is displayed.
def timedelta_format(td_object):
'''
Format a timedelta object to a string such that only the significant
portion of it is displayed.
Some examples:
12 days, 12:55:00 -> 12 days
1 day, 12:00:00 -> 1 day
1 day, 1:01:00 -> 1 day, 1 hour
@daleobrien
daleobrien / generate_a_series.sql
Last active August 29, 2015 13:56
Generate a range of date for postgresql
SELECT GENERATE_SERIES('2001-02-16', '2001-03-03', '1 day'::INTERVAL);
@daleobrien
daleobrien / install_start_stop_daemon.sh
Created March 27, 2014 01:47
Install start-stop-daemon
wget http://www.hpcf.upr.edu/web/sites/default/files/start-stop-daemon.c
gcc start-stop-daemon.c -o start-stop-daemon
sudo cp start-stop-daemon /usr/sbin/start-stop-daemon
@daleobrien
daleobrien / list_running_processes.py
Last active August 29, 2015 13:57
List of processes on linux
#!/usr/bin/env python
import os
def list_process():
for pid in os.listdir('/proc'):
if not pid.isdigit():
continue
@daleobrien
daleobrien / gist:43f9086a762b0be744a6
Created May 5, 2014 01:23
Timezones, pytz common
import pytz
import datetime
tz = [(item, datetime.datetime.now(pytz.timezone(item)).strftime('%z') + " " + item) for item in pytz.common_timezones]
sorted(tz, key=lambda x: int(x[1].split()[0]))
for name, off in sorted(tz, key=lambda x: int(x[1].split()[0])):
print name, '\r\t\t\t', off
@daleobrien
daleobrien / gist:9c085b68174bc4d98d8f
Last active August 29, 2015 14:01
Multi threaded map
from multiprocessing import Process, Queue
def mp_map(pfunc, iterable, debug=False):
q = Queue(2)
for i, u in enumerate(iterable):
t = Process(target=lambda q, i, u: q.put([i,
pfunc(u)]), args=(q, i, u))
@daleobrien
daleobrien / gist:36d60bb7e83731d7e217
Last active August 29, 2015 14:04
Nginx - count access by ip
cat access.log | cut -f1 -d ' ' | sort | uniq -c | sort -g -r
@daleobrien
daleobrien / gist:893ab19136eb54d87e61
Created July 24, 2014 00:06
Install for fail2ban
sudo yum -y install fail2ban
sudo chkconfig --add fail2ban
sudo service fail2ban start
@daleobrien
daleobrien / rabbitmq-server
Last active August 29, 2015 14:04 — forked from krmcbride/rabbitmq-server
rabbitmq-server init.d start script.
#!/bin/sh
#
# rabbitmq-server RabbitMQ broker
#
# chkconfig: - 80 05
# description: Enable AMQP service provided by RabbitMQ
#
### BEGIN INIT INFO
# Provides: rabbitmq-server
@daleobrien
daleobrien / s3put
Last active August 29, 2015 14:05 — forked from rubiojr/s3put
#!/usr/bin/env python
import gevent.monkey
gevent.monkey.patch_all()
import boto
import config
import gevent
import gevent.pool
import os