Skip to content

Instantly share code, notes, and snippets.

View seandavi's full-sized avatar

Sean Davis seandavi

View GitHub Profile
@platdrag
platdrag / Threadsafe_iter.py
Last active October 12, 2024 13:57
An example generic wrapper for making any iterator / generator thread-safe compatible with python 3
import threading
'''
A generic iterator and generator that takes any iterator and wrap it to make it thread safe.
This method was introducted by Anand Chitipothu in http://anandology.com/blog/using-iterators-and-generators/
but was not compatible with python 3. This modified version is now compatible and works both in python 2.8 and 3.0
'''
class threadsafe_iter:
"""Takes an iterator/generator and makes it thread-safe by
serializing call to the `next` method of given iterator/generator.
"""
@sharepointoscar
sharepointoscar / 1_kubernetes_on_macOS.md
Created August 17, 2017 16:11 — forked from kevin-smets/1_kubernetes_on_macOS.md
Local Kubernetes setup on macOS with minikube on VirtualBox and local Docker registry

Requirements

Minikube requires that VT-x/AMD-v virtualization is enabled in BIOS. To check that this is enabled on OSX / macOS run:

sysctl -a | grep machdep.cpu.features | grep VMX

If there's output, you're good!

Prerequisites

@montanaflynn
montanaflynn / pget.go
Last active January 17, 2025 17:07
Bounded Parallel Get Requests in Golang
package main
import (
"fmt"
"net/http"
"sort"
"time"
)
// a struct to hold the result from each request including an index
@bhtucker
bhtucker / upsert.py
Last active January 11, 2026 15:59
A demonstration of Postgres upserts in SQLAlchemy
"""
Upsert gist
Requires at least postgres 9.5 and sqlalchemy 1.1
Initial state:
[]
Initial upsert:
@seandavi
seandavi / getPubMetrics.R
Last active January 26, 2020 17:52
Get RCR and citation metrics for a list of pubmed IDs from https://icite.od.nih.gov/analysis
#' Get publication metrics from iCite
#'
#' iCite is a tool to access a dashboard of bibliometrics for papers
#' associated with a portfolio. Users upload the PubMed IDs of articles
#' of interest (from SPIRES or PubMed), optionally grouping them for
#' comparison. iCite then displays the number of articles, articles per
#' year, citations per year, and Relative Citation Ratio (a field-normalized
#' metric that shows the citation impact of one or more articles relative
#' to the average NIH-funded paper). A range of years can be selected,
#' as well as article type (all, or only research articles), and individual
@pgrosu
pgrosu / Python_client_secrets.py
Created August 18, 2016 02:30
Python and R code examples (with results) using Google Genomics API and a client_secrets.json file
from __future__ import print_function
import httplib2
import os
from apiclient import discovery
import oauth2client
from oauth2client import client
from oauth2client import tools
@eloypnd
eloypnd / dnsmasq_setup_osx.md
Last active July 4, 2025 01:04
wildcard DNS record on OS X in localhost development with dnsmasq

wildcard DNS in localhost development

$ brew install dnsmasq
   ...
$ cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
  • edit /usr/local/etc/dnsmasq.conf
address=/local/127.0.0.1
@craigbeck
craigbeck / introspection-query.graphql
Created April 6, 2016 20:20
Introspection query for GraphQL
query IntrospectionQuery {
__schema {
queryType { name }
mutationType { name }
subscriptionType { name }
types {
...FullType
}
directives {
@mixxorz
mixxorz / graphene.py
Last active January 9, 2025 16:46
Get requested fields from ResolveInfo. Graphene python.
"""
MIT License
Copyright (c) 2018 Mitchel Cabuloy
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is