Skip to content

Instantly share code, notes, and snippets.

View cpetersen's full-sized avatar

Christopher Petersen cpetersen

View GitHub Profile
@cpetersen
cpetersen / pubchem-download.rb
Created February 16, 2016 18:56
Download all of pubchem
require 'net/ftp'
Net::FTP.open('ftp.ncbi.nlm.nih.gov') do |ftp|
ftp.passive = true
ftp.login
ftp.chdir('/pubchem/Compound/CURRENT-Full/SDF')
files = ftp.list('*')
total = 0
sdf_files = files.select { |f| f.match(/\.sdf\.gz$/) }
sdf_files.each_with_index do |file, index|
@cpetersen
cpetersen / dash-to-quiver.rb
Created February 10, 2016 19:29
This gist converts your Dash Snippets to a Quiver Notebook. Assumes you Snippets.dash file is in the same directory and produces a Snippets.qvnotebook directory that can be imported into Quiver.
require "json"
require "sqlite3"
require "fileutils"
notebook_name = "Snippets.qvnotebook"
notebook_uuid = SecureRandom.uuid
FileUtils::mkdir_p(notebook_name)
notebook_meta = {
name: "Imported from Dash",
uuid: notebook_uuid
@cpetersen
cpetersen / bad_json.json
Created March 9, 2015 22:51
Bad JSON for testing
[{"name":"Winnifred Legros","email":"zakary.wiza@runte.name","company":"Howell-Rempel","credit_card_number":"1212-1221-1121-1234","color":"mint green"},{"name":"Sincere Fritsch","email":"neha@schuppe.name","company":"Bahringer and Sons","credit_card_number":"1228-1221-1221-1431","color":"lavender"},{"name":"Anya Ruecker","email":"brown@vonrueden.org","company":"Sporer and Sons","credit_card_number":"1212-1221-1121-1234","color":"violet"},{"name":"Cicero Funk","email":"retta_rempel@parisianbotsford.biz","company":"Feeney, Auer and Schuster","credit_card_number":"1211-1221-1234-2201","color":"lavender"},{"name":"Alessandro Mertz","email":"glenna@hand.name","company":"Schowalter and Sons","credit_card_number":"1211-1221-1234-2201","color":"salmon"
@cpetersen
cpetersen / fake.json
Created March 6, 2015 23:44
Fake Data
[{"name":"Winnifred Legros","email":"zakary.wiza@runte.name","company":"Howell-Rempel","credit_card_number":"1212-1221-1121-1234","color":"mint green"},{"name":"Sincere Fritsch","email":"neha@schuppe.name","company":"Bahringer and Sons","credit_card_number":"1228-1221-1221-1431","color":"lavender"},{"name":"Anya Ruecker","email":"brown@vonrueden.org","company":"Sporer and Sons","credit_card_number":"1212-1221-1121-1234","color":"violet"},{"name":"Cicero Funk","email":"retta_rempel@parisianbotsford.biz","company":"Feeney, Auer and Schuster","credit_card_number":"1211-1221-1234-2201","color":"lavender"},{"name":"Alessandro Mertz","email":"glenna@hand.name","company":"Schowalter and Sons","credit_card_number":"1211-1221-1234-2201","color":"salmon"}]
@cpetersen
cpetersen / fake.csv
Created March 6, 2015 23:29
Fake Data
Fake Name Fake Email Fake Company Fake Credit Card Fake Favorite Color
Dena Auer ward.wuckert@gleason.org Ward Group 1211-1221-1234-2201 purple
Rosalyn Jast viva@bartell.org Wyman, Hartmann and Bradtke 1228-1221-1221-1431 grey
Lavada Klein bret@heaneywintheiser.com Thompson Inc 1228-1221-1221-1431 salmon
Hailee Green marty@luettgen.com Feest-Hilpert 1212-1221-1121-1234 silver
Lula Orn zaria_torp@ferryfritsch.org Bartell, Batz and Bosco 1234-2121-1221-1211 blue
Eloisa Sauer hiram@keelingfisher.net Lemke-Robel 1228-1221-1221-1431 green
Mose Dietrich MD irwin@lockmanbatz.biz Wuckert Group 1212-1221-1121-1234 plum
Elijah Cronin alice_bednar@keeling.info Schroeder and Sons 1228-1221-1221-1431 black
Icie McLaughlin bianka@monahan.biz Kozey, Hudson and Carter 1228-1221-1221-1431 red
@cpetersen
cpetersen / fake-users.csv
Created December 3, 2014 17:28
Fake Users for testing a gem
Name Email Street City State Zip
Haleigh Koelpin samir.wehner@tillman.org 34073 Faustino Light Kochstad Arizona 96968-3886
Demond Roberts I kari@oharaeffertz.biz 19972 Schaden Extension West Annabelstad Michigan 85342-1191
Danial Buckridge zola@hudsonheller.com 6470 Raegan Expressway Zboncakstad Kentucky 58653
Eliseo Feil II annetta.weimann@runte.name 26890 Robert Summit Stanport Wisconsin 73088-9082
Brant Torp V electa@doylebruen.com 3645 Brooklyn Glens Kreigerport Maine 81575-6434
Elody Marquardt emely@collins.name 768 Mariane Burgs West Henrifort Texas 70741
Melissa Kulas ottis_kuphal@kohler.net 50130 Buster Pines Streichhaven Hawaii 16828
Noble Howe III angie@goyetteupton.com 382 Stephon Island West Shayna Rhode Island 65108-4692
Chesley Collins angus@rennercremin.net 2587 Carter Extension Maryberg Arizona 17601-3109
### Keybase proof
I hereby claim:
* I am cpetersen on github.
* I am cpetersen (https://keybase.io/cpetersen) on keybase.
* I have a public key whose fingerprint is 57A4 66F6 482D 4152 D008 B5A2 1DC7 758F 29F6 DD77
To claim this, I am signing this object:
@cpetersen
cpetersen / stats.rb
Created January 14, 2014 00:03
Grubb's outlier test for Ruby
module Enumerable
def sum
self.inject(0){|accum, i| accum + i }
end
def mean
self.sum/self.length.to_f
end
def sample_variance
@cpetersen
cpetersen / delete_conflicted_wares.rb
Created July 9, 2013 19:55
This code looks for wares that originate at central and have a ```promo_image```, these have likely been conflicted due to a bad migration. We then store them in JSON files on disk and delete them. Replication will then recreate them in an unconflicted state. This will not be run on central.
include FileUtils
directory = File.join(ENV['HOME'], "ware_backups")
FileUtils.mkdir_p(directory)
wares = []
Ware.in_groups do |ware|
if(ware.promo_image.present? && ware.replication_permissions["central"] == "origin")
wares << ware
File.open(File.join(directory, "#{ware.id}.json"), "w") { |file| file.write ware.as_json }
@cpetersen
cpetersen / unicorn.god
Created July 3, 2013 18:44
Unicorn God config (based on GitHub's)
# http://unicorn.bogomips.org/SIGNALS.html
rails_env = ENV['RAILS_ENV'] || 'production'
rails_root = ENV['RAILS_ROOT'] || "/u/apps/cilantro/current"
God.watch do |w|
w.name = "unicorn"
w.interval = 30.seconds # default
# unicorn needs to be run from the rails root