blocks by jsundram

Get my Swarm checkins from Foursquare

Haydn: String Quartet in d, Op 76 Nr. 2 Program Notes from Willow Pond String Quartet 1997 concert (from

Haydn: String Quartet in D, Op 20 Nr. 4 Program Notes from Willow Pond String Quartet 1996 concert (from

Forked copy, incorporating changes suggested on the comment thread from @timfoster and @nightroman (`55em` vs `44em` and `overflow-x: scroll;`). Use as follows: `pandoc -s -f gfm -t html5 -o readme.html -c github-pandoc.css`

Use word embeddings to generate better guesses at NYT Connections. TODO: come up with an algorithm to actually solve connections...

Solve the NY Times' Letter Boxed game in 2 guesses (modified version of KV's code/algorithm)


Spell out a word (or string) in the Nato Alphabet, in an output format suitable for piping to the MacOS "say" command

List of All Boccherini Quartets. source:

Solving the Spelling Bee ( with a one-liner in Bash



How to make a chamber music log (or any other kind of information) using google forms

Overview of the Wigmore Hall International String Quartet Competition (2022)

letter statistics visualizations for wordle (using the short wordle wordlist)

get a few random words from the osx dictionary file

Convert a HEX color to LateX Color Spec. Useful for taking colors from any site and producing output suitable for e.g.

SuperPixel Segmentation in Julia

summarizing some of the surprises I encountered in programming Julia for the first time over about 3 months.

implementation of `merge_hierarchical` in Julia

turn a timelapse into a sliced timelapse

`IJulia.history()` prints everything on one line in jupyter-console, not sure why; this is a quick workaround

looking at julia's type hierarchy

Internet connection goes down periodically on macos and needs to be restarted by turning wifi on and off again. Sigh.

New Mac Setup Script

Histogram of Dates by Day of Year --

I got nerd sniped by @vanreece


Convert a folder full of .wav files to .flac

ingest some addresses from a csv, geocode them and make a map.

Given a cantata number, spit out some useful links, and copy them to a paste-able format suitable for, e.g. quip.


get the most important links tweeted during #openvisconf 2017


Get Latitude and Longitude from EXIF using PIL


Get top presenters from Boston Musical Intelligencer to figure out what series there may be to subscribe to.

trying to get processingjs docs ready for offline consumption

Test out each of the blend modes; need to run 3x, one for each render mode.

Code to repro/demonstrate

fractals in

base64 encoding for integers. To make long numbers (i.e. hashes) more readable. Not as cool as RFC 1751, but less code.

Skeleton code for CMYK Fractal experiments (see ; many modifications and tweaks have been made to shapes / layouts angles along the way, this is just the starting point.

Trying to figure out when a sketch was closed

compress some data for tweety


What does a geek do when ordering pizza? Plots the price per square inch, of course.

You have a cartesian product of a countable number of countable sets and you want to index the elements of that cartesian product. The goal is to find explicit formulas to go either direction in this one-to-one mapping.

Totally insane little script I use for deploying single-folder static apps to Everything gets gzipped up and minified.


A context-manager wrapper for running external binaries. Great for hiding scripts in other languages. Possibly an antipattern, but it works.

Code to parse data file generated by @jradavenport's batlog ( for the purposes of plotting/analysis.

Resources for making dot maps

Convert matplotlib contours into valid (compressed) topojson.

How I installed Bokeh without conda on OSX 10.8.x

Explore the relationship between Key Miss Rate and timing for Python dicts.

Calculate the range between two musical notes


Working with my shapefile index code UPDATE: See this gist instead:

Fixed filtering, legend order, minor code changes.

time-series breakdown


Create an mp4 from the files in the input directory given. If there aren't a ton, make an animated gif. Assumes ImageMagick (for animated gif) or mjpegtools and ffmpeg for H264-encoded mp4.

get haydn quartets from music21

Install AggDraw for OSX 10.7+.

Colorbrewer colors for use in python. Copied from

Implementation of BoxyLady2 aimed at pyprocessing

Pull the links out of a google doc and format them for use in Markdown. Works on a file that google docs has exported to html.

timbre.js pendulums

Takes a list of pdf filenames and and output filename and merges all the input filenames into one pdf (in the order they were specified).

Takes a folder full of images and computes their average and median. Assumes they all have the same dimensions. Makes no attempt at alignment.

implementation of BoxyLady2 aimed at pypy


Follow the instructions in to use this.

allow dynamic backend setting; name files after backend they were rendered from for clarity.

Port of Pavel Sountsov's DrawCircle to python. Basic idea -- avoid using sin/cos a lot (like a naive implementation) when drawing a circle.

Ported from my cleanup ( of analogpixel's sketch: About as straighforward a translation of processing into nodebox as possible.

Using plot_date along with the cairo backend results in misaligned x-axis labels. Reported this issue:

Input a number at a time, and find out the running mean and median.

Heatmap in python like this one on flowingdata, see stackoverflow for context:

Check if your password is in the linkedin password dump.

Adapt Benoit Romito's video color bars (described here: to work with ffmpeg thumbnailer

D3 colors for processing.js

print output for some input sentences

draw numbers on the face of a clock (text rotation, basically)

transaction parser

Read a shapefile and find out which shape contains a given lat-lng

Formatted code from analogpixel:

Newton-Raphson square root implementation

Create Table

Check if lat long is inside the bounds of the continental US (box model, not shape)

Colors of blue, according to wikipedia (58)

Expose D3 Colors for matplotlib

Convert a hadoop output file to a format suitable for use by

simple haversine implementation from description on wikipedia



detect loop (I've seen this one before)

reverse last 5 nodes of a linked list

problem 1