Skip to content

Instantly share code, notes, and snippets.

View s-ol's full-sized avatar

s-ol s-ol

View GitHub Profile
@s-ol
s-ol / .gitignore
Last active February 5, 2020 10:00
node_modules
dist
@s-ol
s-ol / test.md
Last active October 15, 2019 11:33
End-user programmable UX concept for CAD

(this was inspired by libfive, antimony and Ronin)

EDIT: see a Proof-of-Concept demonstration and explanation video here.

an electronics CAD software could have a livecoding typing area somewhere, here illustrated with some Clojure pseudocode: (I chose a lisp-y thing because originally I thought that was going to be relevant, but now I see it is not at all necessary. Which is good news because it means this could be built more easily on top of the KiCAD API as it is, potentially.)

(let [rect (select-rect)

footprints (sort by-name (select-footprints))

@s-ol
s-ol / duct_tape.moon
Created September 17, 2018 08:49
moonscript: duct-tape'd inline compiling syntax
package.noompath = './?.noom;./?/init.noom'
local *
compile = require "moonscript.compile"
parse = require "moonscript.parse"
import smart_node, build from require "moonscript.types"
import dirsep from require "moonscript.base"
-- import split, get_options, unpack from require "moonscript.util"
@s-ol
s-ol / game.txt
Created August 11, 2018 02:07
flickgame
{"gameLink":"www.flickgame.org","canvasses":[[9258,"3",5,"c",154,"3",7,"c",153,"3",1,"c",1,"0",3,"c",1,"0",1,"c",22,"3",4,"0",127,"3",7,"c",21,"3",1,"0",1,"e",3,"0",127,"3",7,"c",20,"3",8,"0",125,"3",2,"c",2,"0",3,"c",19,"3",1,"0",1,"e",5,"0",1,"e",3,"0",123,"3",1,"2",5,"c",1,"2",19,"3",6,"0",4,"e",2,"0",121,"3",9,"2",18,"3",7,"0",4,"e",2,"0",120,"3",10,"2",18,"3",1,"e",1,"0",3,"e",1,"0",5,"e",2,"0",118,"3",11,"2",18,"3",1,"e",1,"0",4,"e",1,"0",5,"e",2,"0",117,"3",6,"2",1,"0",4,"2",18,"3",1,"0",6,"e",1,"0",5,"e",3,"0",115,"3",6,"2",1,"0",5,"2",17,"3",3,"0",4,"e",1,"0",7,"e",2,"0",114,"3",6,"2",1,"0",5,"2",19,"3",1,"0",4,"e",2,"0",7,"e",3,"0",112,"3",6,"2",1,"0",5,"2",19,"3",1,"0",6,"e",1,"0",9,"e",1,"0",111,"3",6,"2",1,"0",5,"2",20,"3",1,"0",5,"e",1,"0",10,"e",6,"0",105,"3",6,"2",1,"0",5,"2",20,"3",2,"0",5,"e",2,"0",13,"e",4,"0",95,"3",3,"4",4,"3",5,"2",2,"0",5,"2",21,"3",1,"0",7,"e",2,"0",14,"e",6,"0",89,"3",2,"4",3,"0",2,"4",2,"3",4,"2",1,"0",6,"2",21,"3",1,"e",1,"0",8,"e",1,"0",18,"e",2,"0",87,"3",2,"4",5,
@s-ol
s-ol / game.txt
Created August 11, 2018 01:39
flickgame
{"gameLink":"www.flickgame.org","canvasses":[[9258,"3",5,"c",154,"3",7,"c",153,"3",1,"c",1,"0",3,"c",1,"0",1,"c",22,"3",4,"0",127,"3",7,"c",21,"3",1,"0",1,"e",3,"0",127,"3",7,"c",20,"3",8,"0",125,"3",2,"c",2,"0",3,"c",19,"3",1,"0",1,"e",5,"0",1,"e",3,"0",123,"3",1,"2",5,"c",1,"2",19,"3",6,"0",4,"e",2,"0",121,"3",9,"2",18,"3",7,"0",4,"e",2,"0",120,"3",10,"2",18,"3",1,"e",1,"0",3,"e",1,"0",5,"e",2,"0",118,"3",11,"2",18,"3",1,"e",1,"0",4,"e",1,"0",5,"e",2,"0",117,"3",6,"2",1,"0",4,"2",18,"3",1,"0",6,"e",1,"0",5,"e",3,"0",115,"3",6,"2",1,"0",5,"2",17,"3",3,"0",4,"e",1,"0",7,"e",2,"0",114,"3",6,"2",1,"0",5,"2",19,"3",1,"0",4,"e",2,"0",7,"e",3,"0",112,"3",6,"2",1,"0",5,"2",19,"3",1,"0",6,"e",1,"0",9,"e",1,"0",111,"3",6,"2",1,"0",5,"2",20,"3",1,"0",5,"e",1,"0",10,"e",6,"0",105,"3",6,"2",1,"0",5,"2",20,"3",2,"0",5,"e",2,"0",13,"e",4,"0",95,"3",3,"4",4,"3",5,"2",2,"0",5,"2",21,"3",1,"0",7,"e",2,"0",14,"e",6,"0",89,"3",2,"4",3,"0",2,"4",2,"3",4,"2",1,"0",6,"2",21,"3",1,"e",1,"0",8,"e",1,"0",18,"e",2,"0",87,"3",2,"4",5,
@s-ol
s-ol / game.txt
Created August 11, 2018 01:38
flickgame
{"gameLink":"www.flickgame.org","canvasses":[[9258,"3",5,"c",154,"3",7,"c",153,"3",1,"c",1,"0",3,"c",1,"0",1,"c",22,"3",4,"0",127,"3",7,"c",21,"3",1,"0",1,"e",3,"0",127,"3",7,"c",20,"3",8,"0",125,"3",2,"c",2,"0",3,"c",19,"3",1,"0",1,"e",5,"0",1,"e",3,"0",123,"3",1,"2",5,"c",1,"2",19,"3",6,"0",4,"e",2,"0",121,"3",9,"2",18,"3",7,"0",4,"e",2,"0",120,"3",10,"2",18,"3",1,"e",1,"0",3,"e",1,"0",5,"e",2,"0",118,"3",11,"2",18,"3",1,"e",1,"0",4,"e",1,"0",5,"e",2,"0",117,"3",6,"2",1,"0",4,"2",18,"3",1,"0",6,"e",1,"0",5,"e",3,"0",115,"3",6,"2",1,"0",5,"2",17,"3",3,"0",4,"e",1,"0",7,"e",2,"0",114,"3",6,"2",1,"0",5,"2",19,"3",1,"0",4,"e",2,"0",7,"e",3,"0",112,"3",6,"2",1,"0",5,"2",19,"3",1,"0",6,"e",1,"0",9,"e",1,"0",111,"3",6,"2",1,"0",5,"2",20,"3",1,"0",5,"e",1,"0",10,"e",6,"0",105,"3",6,"2",1,"0",5,"2",20,"3",2,"0",5,"e",2,"0",13,"e",4,"0",95,"3",3,"4",4,"3",5,"2",2,"0",5,"2",21,"3",1,"0",7,"e",2,"0",14,"e",6,"0",89,"3",2,"4",3,"0",2,"4",2,"3",4,"2",1,"0",6,"2",21,"3",1,"e",1,"0",8,"e",1,"0",18,"e",2,"0",87,"3",2,"4",5,
@s-ol
s-ol / game.txt
Created August 11, 2018 01:38
flickgame
{"gameLink":"www.flickgame.org","canvasses":[[9258,"3",5,"c",154,"3",7,"c",153,"3",1,"c",1,"0",3,"c",1,"0",1,"c",22,"3",4,"0",127,"3",7,"c",21,"3",1,"0",1,"e",3,"0",127,"3",7,"c",20,"3",8,"0",125,"3",2,"c",2,"0",3,"c",19,"3",1,"0",1,"e",5,"0",1,"e",3,"0",123,"3",1,"2",5,"c",1,"2",19,"3",6,"0",4,"e",2,"0",121,"3",9,"2",18,"3",7,"0",4,"e",2,"0",120,"3",10,"2",18,"3",1,"e",1,"0",3,"e",1,"0",5,"e",2,"0",118,"3",11,"2",18,"3",1,"e",1,"0",4,"e",1,"0",5,"e",2,"0",117,"3",6,"2",1,"0",4,"2",18,"3",1,"0",6,"e",1,"0",5,"e",3,"0",115,"3",6,"2",1,"0",5,"2",17,"3",3,"0",4,"e",1,"0",7,"e",2,"0",114,"3",6,"2",1,"0",5,"2",19,"3",1,"0",4,"e",2,"0",7,"e",3,"0",112,"3",6,"2",1,"0",5,"2",19,"3",1,"0",6,"e",1,"0",9,"e",1,"0",111,"3",6,"2",1,"0",5,"2",20,"3",1,"0",5,"e",1,"0",10,"e",6,"0",105,"3",6,"2",1,"0",5,"2",20,"3",2,"0",5,"e",2,"0",13,"e",4,"0",95,"3",3,"4",4,"3",5,"2",2,"0",5,"2",21,"3",1,"0",7,"e",2,"0",14,"e",6,"0",89,"3",2,"4",3,"0",2,"4",2,"3",4,"2",1,"0",6,"2",21,"3",1,"e",1,"0",8,"e",1,"0",18,"e",2,"0",87,"3",2,"4",5,
@s-ol
s-ol / game.txt
Created June 26, 2018 09:07
flickgame
{"gameTitle":"My Game","winText":"Congratulations! You won!","gameLink":"www.plingpling.org","canvasIndex":0,"canvasses":[[2680,"0",4,"e",120,"0",2,"e",2,"3",2,"e",119,"0",1,"e",4,"3",1,"e",119,"0",1,"e",4,"3",1,"e",119,"0",2,"e",2,"3",2,"e",4,"0",4,"e",112,"0",4,"e",4,"0",2,"e",2,"3",2,"e",119,"0",1,"e",4,"3",1,"e",118,"0",2,"e",4,"3",1,"e",117,"0",2,"e",5,"3",1,"e",109,"0",2,"9",6,"0",1,"e",6,"3",1,"e",109,"0",3,"9",5,"0",1,"e",5,"3",2,"e",110,"0",3,"9",4,"0",2,"e",3,"3",2,"e",103,"0",5,"e",3,"0",5,"9",3,"0",5,"e",103,"0",2,"e",3,"3",2,"e",3,"0",4,"9",111,"0",1,"e",5,"3",2,"e",2,"0",3,"9",112,"0",1,"e",6,"3",1,"e",117,"0",1,"e",6,"3",2,"e",22,"0",1,"4",93,"0",2,"e",6,"3",1,"e",21,"0",5,"4",91,"0",5,"e",1,"3",2,"e",14,"0",13,"4",94,"0",3,"e",14,"0",14,"4",112,"0",14,"4",111,"0",15,"4",110,"0",15,"4",110,"0",16,"4",108,"0",22,"4",88,"0",1,"2",8,"0",1,"2",4,"0",24,"4",85,"0",4,"2",6,"0",3,"2",3,"0",24,"4",84,"0",5,"2",6,"0",3,"2",2,"e",2,"0",24,"4",83,"0",5,"2",6,"0",3,"2",1,"3",1,"e",4,"0",23,"4",82,"0",5,"2"
@s-ol
s-ol / glitch_cube.c
Last active April 11, 2020 22:42
program interpreting random parts of itself as textures for a cube
// $ gcc -o glitch_cube glitch_cube.c -lglfw -lGL -lGLU
#include <GLFW/glfw3.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void cubeFaceX(float side) {
glNormal3f(side, 0.0f, 0.0f);
@s-ol
s-ol / Simple Loop Template.md
Last active March 13, 2017 16:21
Simple Loop Template

Running

Run a loop in a file loep.lua with

 $ love . loep

Rendering