Skip to content

Instantly share code, notes, and snippets.

@punchagan
punchagan / backend_fogbugz.py
Created January 16, 2014 15:02
GTG Backend for FogBugz
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# Getting Things GNOME! - a personal organizer for the GNOME desktop
# Copyright (c) 2008-2013 - Lionel Dricot & Bertrand Rousseau
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
@punchagan
punchagan / practice.dot
Last active January 2, 2016 00:29
Practice Sessions flow chart
digraph {
label="Ideas for practice for 1 or 2 players."
labelloc="top"
node[shape="box", style="rounded"]
start; end;
node[shape="box", style="solid"]
wait2;condition;find_pole;kung_fu;yes_lying;usual;
node[shape="parallelogram", style=""]
@punchagan
punchagan / scrape_google_groups.py
Last active February 19, 2022 13:23
A simple script to scrape a google group.
import json
from os.path import exists
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import TimeoutException
class GoogleGroupsScraper(object):
""" A simple class to scrape a google group. """
@punchagan
punchagan / import-links-as-posts.py
Last active December 25, 2015 11:39
Scripts to import blog from o-blog to Nikola.
@punchagan
punchagan / avg_pore_dia.py
Created October 13, 2013 13:13
A simple script to calculate average pore diameter.
""" A simple script to calculate average pore diameter.
Written for Ayush on 13th Oct 2013.
Usage: python avg_pore_dia.py </dir/containing/pore-files>
This script assumes that the pore files are .txt files. Point the
script to a directory containing all your pore files, and it should
print out the average pore diameter from all the files.
@punchagan
punchagan / nikola-tag-completion.el
Last active December 23, 2015 11:29
Tag completion for Nikola in emacs
;; Get tags used in the nikola site, using the tags plugin.
(defun nikola-tags-get ()
"Get the current tags in the site, given the site path."
(let* ((nikola-command
"/home/punchagan/.virtualenvs/ultimatesport/bin/nikola")
(nikola-site (file-name-directory
(directory-file-name
(file-name-directory
(or (buffer-file-name (current-buffer)) "/")))))
(tags (shell-command-to-string
@punchagan
punchagan / fetch_gh_issues.py
Created August 15, 2013 12:59
Simple Issue fetching from GitHub
import github
import codecs
from getpass import getpass
passwd = getpass()
gh = github.Github('punchagan', passwd)
o2b = gh.get_repo('punchagan/org2blog')
open_issues = list(o2b.get_issues(state='open'))
@punchagan
punchagan / gh-ipynb.user.js
Last active October 8, 2017 00:02
GitHub IPynb rendering
// ==UserScript==
// @name GitHub IPynb rendering
// @namespace ghipynb
// @version 0.3.1
// @description Renders raw IPython notebooks on GitHub using nbviewer and Frames!
// @license WTFPL
// @match *://*.github.com/*
// @match *://github.com/*
// @match *://gist.github.com/*
// @grant none
@punchagan
punchagan / gh_to_csv.py
Created October 18, 2012 05:26
Github issues to a CSV file.
#!/usr/bin/env python
# Written for an import to Pivotal Tracker
from github import Github
FMT = 'Story,Labels,Story Type,Created at,Requested By,Owned By,Description,Comment'
PT_GH_map = {
'story': 'title',
'labels': 'labels',
'story type': 'type',
@punchagan
punchagan / issue_plot.py
Last active October 11, 2015 16:38
Simple script to plot Github turn around time
#!/usr/bin/env python
from github import Github
from datetime import datetime
from pylab import plot, show, figure, legend, title, ylabel
def set_repo_name(repo_name, username):
if '/' in repo_name:
return repo_name
else:
return "%s/%s" %(username, repo_name)