Skip to content

Instantly share code, notes, and snippets.

Avatar

Ryan Walker rwalk

View GitHub Profile
@rwalk
rwalk / cooccurence_recommender.py
Last active Jun 24, 2020
Co-Occurence based recommendation
View cooccurence_recommender.py
import argparse
import json
import sys
import warnings
import numpy as np
from scipy.sparse import load_npz, coo_matrix
class CooccurenceRecommender:
@rwalk
rwalk / s3_read_only_prefix_policy.json
Created Jun 8, 2020
AWS permit users read/list access to a prefix in a bucket
View s3_read_only_prefix_policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::fancy-bucket"
@rwalk
rwalk / goodreads_matrix.py
Last active Jun 8, 2020
Spare matrix representation for goodreads data
View goodreads_matrix.py
import json
from scipy.sparse import coo_matrix, save_npz
import numpy as np
print("reading data...")
with open("goodreads/interactions.json") as f:
data = json.load(f)
books = data["books"]
interactions = data["interactions"]
View goodreads_data.py
import json
import csv
from collections import defaultdict
# load the mapping (supplied by the dataset) from id into book_id
with open("goodreads/book_id_map.csv") as f:
reader = csv.reader(f)
_ = next(reader)
book_id_map = {int(_id): int(book_id) for _id, book_id in reader}
View quadprog_ospq_comp_1.R
library(quadprog)
library(osqp)
# This gist compares the quadprog solver against OSPQ on a very simple problem.
##
## The following example comes directly from `?? quadprog` documentation`
##
## Assume we want to minimize: -(0 5 0) %*% b + 1/2 b^T b
## under the constraints: A^T b >= b0
@rwalk
rwalk / chis2015demo.R
Last active Dec 27, 2016
CHIS 2015: Insurance coverage type vs fast food consumption
View chis2015demo.R
library(foreign)
library(car)
library(ggplot2)
library(scales)
# load the CHIS data
file <- "~/projects/CHIS/chis15_adult_stata/Data/ADULT.dta" # your file
CHIS <- read.dta(file, convert.factors = TRUE)
# Recode insurance type
@rwalk
rwalk / ScalatraChunkedEncoding.scala
Last active Oct 25, 2016
Scalatra: chunked transfer Encoding HTTP endpoint example
View ScalatraChunkedEncoding.scala
import org.json4s.{DefaultFormats, Formats}
import scala.language.postfixOps
import scalate.ScalateSupport
import org.scalatra._
import java.io.PrintWriter
class Chunks extends ScalatraServlet with ScalateSupport {
/*
Simple example of chunked transfer encoding in Scalatra (scala web framework)
*/
@rwalk
rwalk / image_segmentation_demo.R
Created Jan 3, 2016
Segment an image by color using Kmeans
View image_segmentation_demo.R
# image segmentation demo
# author: rwalker (ryan@ryanwalker.us)
# license: MIT
library("jpeg")
library("png")
library("graphics")
library("ggplot2")
library("gridExtra")
#######################################################################################
View tweet_sampler.py
#!/usr/bin/python3
'''
Sample from the twitter API and post results to a file or to Kafka.
To use, set credientials as enviornment variables, e.g.
export TWITTER_ACCESS_TOKEN=...
or source myfile
where myfile exports the authorization variables
'''
import twython, json, re, argparse, subprocess, os, sys, time
from socket import timeout
View kafka_stream_producer.py
#!/usr/bin/python3
'''
Put documents from the stream into Kafka
'''
import argparse
from kafka import SimpleProducer, KafkaClient
from time import sleep
def chunk_iterable(A,n):
'''An iterable that contains the iterates of A divided into lists of size n.