Skip to content

Instantly share code, notes, and snippets.

View rwalk's full-sized avatar

Ryan Walker rwalk

View GitHub Profile
@rwalk
rwalk / rwalk_vector_search_cposc_2023.ipynb
Last active November 24, 2023 13:44
Vector search example using star wars scripts (CPOSC 2023)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@rwalk
rwalk / elasticsearch_quickstart.py
Created September 17, 2015 21:08
Quickstart elasticsearch with Python
#!/usr/bin/python3
# This script is a simple introduction to the python elasticsearch API.
#
# This script will populate an elasticsearch index from a file and then give a simple command line query interface.
# Each line of the input file will be mapped into a JSON document of the form { "text": "my file line..." } and added
# to the index.
#
# You can use Docker to spin up a local elasticsearch instance to play around with, e.g.
# docker run --name elasticsearch -d -p 9200:9200 elasticsearch:latest
#
@rwalk
rwalk / ScalatraChunkedEncoding.scala
Last active February 22, 2022 16:23
Scalatra: chunked transfer Encoding HTTP endpoint example
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 January 3, 2016 16:50
Segment an image by color using Kmeans
# image segmentation demo
# author: rwalker (ryan@ryanwalker.us)
# license: MIT
library("jpeg")
library("png")
library("graphics")
library("ggplot2")
library("gridExtra")
#######################################################################################
@rwalk
rwalk / cooccurence_recommender.py
Last active June 24, 2020 03:55
Co-Occurence based recommendation
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 June 8, 2020 22:12
AWS permit users read/list access to a prefix in a bucket
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::fancy-bucket"
@rwalk
rwalk / goodreads_matrix.py
Last active June 8, 2020 03:10
Spare matrix representation for goodreads data
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"]
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}
@rwalk
rwalk / quadprog_ipoptr_translate.R
Created March 8, 2015 23:22
Quadratic programming: Use matrix inputs to solve a QP with ipoptr
ipoptr_qp <- function(Dmat, dvec, Amat, bvec, ub=100){
# Solve the quadratic program
#
# min -d^T x + 1/2 x^T D x
# s.t. A%*%x>= b
#
# with ipoptr.
n <- length(bvec)
# Jacobian structural components