Skip to content

Instantly share code, notes, and snippets.

Avatar

sol s-ol

View GitHub Profile
@s-ol
s-ol / test.md
Last active Oct 15, 2019
End-user programmable UX concept for CAD
View test.md

(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 Sep 17, 2018
moonscript: duct-tape'd inline compiling syntax
View duct_tape.moon
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"
View game.txt
{"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,
View game.txt
{"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,
View game.txt
{"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,
View game.txt
{"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,
View game.txt
{"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 Apr 11, 2020
program interpreting random parts of itself as textures for a cube
View glitch_cube.c
// $ 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 Mar 13, 2017
Simple Loop Template
View Simple Loop Template.md

Running

Run a loop in a file loep.lua with

 $ love . loep

Rendering