Skip to content

Instantly share code, notes, and snippets.

View tezos-attestation.txt
I am attesting that this GitHub handle golanlevin is linked to the Tezos account tz1eQThmh9yuuxjvFBWbRGKUr2goUw1gAd39 for tzprofiles
golanlevin / concave_hull.pde
Last active Sep 28, 2021
Concave Hull in Processing
View concave_hull.pde
* concave_hull.pde -- THIS VERSION IS FOR PROCESSING 4
* by Udo Schlegel - Udo.3.Schlegel(at)
* Ported to Processing v4 by Golan Levin and Aren Davey
* This is an implementation of the algorithm described by Adriano Moreira and Maribel Yasmina Santos:
* GRAPP 2007 - International Conference on Computer Graphics Theory and Applications; pp 61-68.
* With help from
golanlevin / convertZoomCaptionsToWebVTT.pde
Last active May 17, 2021
Utility for converting transcriptions produced by Zoom's speech-to-text, into WebVTT Caption files suitable for Vimeo.
View convertZoomCaptionsToWebVTT.pde
// Utility for converting transcriptions produced by Zoom's speech-to-text,
// into WebVTT Caption files suitable for Vimeo.
Zoom transcription file looks like:
17:32:36 Thanks so much. Hi everybody, let me get my screen share going.
17:32:47 Right.
golanlevin / shaderHelloWorld.frag
Created May 5, 2021
Simple Processing Shader Template
View shaderHelloWorld.frag
#ifdef GL_ES
precision mediump float;
uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
View amiga_kickstart.pde
// Quick-and-dirty Processing v.3.5.4 program to render the Amiga Kickstart vector art, as described here:
// Note: this program ignores the flood fills and colors.
// Processing program by Golan Levin, 4/1/2021.
// Amiga artwork by Sheryl Knowles.
void setup() {
* Rendering algorithm:
golanlevin / autocorrelation.pde
Last active Oct 19, 2020
Autocorrelation demo in Processing
View autocorrelation.pde
float mysteryLag;
float signalA[];
float signalB[];
float autoCorr[];
int nData;
void setup() {
size(512, 700);
nData = 512;
golanlevin / amos_cams_7800.csv
Created Apr 14, 2020
CSV List of 7800+ web cameras rescued from AMOS (Archive of Many Outdoor Scenes)
View amos_cams_7800.csv
We can't make this file beautiful and searchable because it's too large.
2,Anthem school,,33.2765,-112.1872,1280,720,
3,Coolidge High School,,39.075880734474,-76.868118734,1280,720,
4,College of the Canyons,,34.4044820734014,-118.569055939865,1280,1024,
5,Borrego Springs HS,,33.2648176,-116.3834183,1280,720,
6,Potrero Hill,,37.7603145925262,-122.422996428,1280,720,
7,City of Cripple Creek,,38.8261,-105.1499,1280,720,
8,KOAA News First Cams,,38.2886723,-104.6237902,1280,720,
9,Aspen ES/MS,,0,0,640,480,
golanlevin / sketch.js
Created Sep 30, 2018
PoseNet skeletons with ml5.js & p5.js, using a pre-loaded video
View sketch.js
// Copyright (c) 2018 ml5
// This software is released under the MIT License.
/* ===
ml5 Example
PoseNet example using p5.js
=== */
View palmsynth.pde
final color wristCol = color(255, 0, 255);
final color palmCol = color(127);
final color thumbCol = color(0, 255, 0);
final color finger1Col = color(255, 0, 0);
final color finger2Col = color(0, 0, 255);
final color finger3Col = color(0, 255, 255);
final color finger4Col = color(255, 255, 0);
color fingerColors[] = {
golanlevin / noiseloop.pde
Last active Oct 19, 2020
Processing code to demonstrate seamless loop of 1D noise
View noiseloop.pde
// Processing 3.0x code to demonstrate seamless loop of 1D noise
// Inspired by, and created in support of:
// "Drawing from noise, and then making animated loopy GIFs from there" by Etienne Jacob (@n_disorder)
// Note: this program has no dependencies, and does not require SimplexNoise.
// Demo GIF: or
PGraphics offscreenImg;
float myScale = 0.01;
float radius = 100.0;