live test: https://livelab.glitches.me/
$ sudo nano /etc/nginx/sites-available/livelab.glitches.me
server {
root /usr/share/nginx/livelab.glitches.me;
index index.html index.htm;
error_page 502 /502.html;
import robot from "robotjs"; | |
import { Command } from 'commander'; | |
const program = new Command(); | |
program | |
.option('-n, --number <number>', 'specify numbers'); | |
program.parse(); | |
const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); |
/* | |
xtra_webcam | |
You via your webcam on the scope! | |
mouseX - threshold | |
mouseY - threshold distance | |
» Requires OpenCV for Processing + Video libraries | |
cc teddavis.org 2017 | |
*/ |
live test: https://livelab.glitches.me/
$ sudo nano /etc/nginx/sites-available/livelab.glitches.me
server {
root /usr/share/nginx/livelab.glitches.me;
index index.html index.htm;
error_page 502 /502.html;
#include <Wire.h> | |
#include "Adafruit_MPR121.h" | |
#ifndef _BV | |
#define _BV(bit) (1 << (bit)) | |
#endif | |
// You can have up to 4 on one i2c bus but one is enough for testing! | |
Adafruit_MPR121 cap = Adafruit_MPR121(); |
//https://refactorman.com/2015/04/28/exploring-the-dct-part-i/ | |
var dct = function (input) { | |
var output = [], v, u, x, y, sum, val, au, av; | |
for (v = 0; v < 8; v++) { | |
output.push([]) | |
for (u = 0; u < 8; u++) { | |
sum = 0; | |
for (y = 0; y < 8; y++) { | |
for (x = 0; x < 8; x++) { | |
val = input[y][x]; |
const fs = require('fs'); | |
require("dotenv").config(); | |
const Twitter = require('twitter'); | |
const twitter = new Twitter({ | |
consumer_key: process.env.TW_CKEY, | |
consumer_secret: process.env.TW_CSECRET, | |
access_token_key: process.env.TW_ATKEY, | |
access_token_secret: process.env.TW_ATSECRET |
s = new WebSocket('wss://192.168.0.129/piezo'); | |
var dd=0 | |
s.onmessage=msg=>{ | |
let d = msg.data.split(",").map(e=>e*1) | |
dd = Math.max(...d)/4096 | |
} | |
d=0 | |
update=()=>d=d*.9+dd*.1 | |
shape().scale(()=>d*10+0.001).out() |
#include <Wire.h> | |
#include <Adafruit_PWMServoDriver.h> | |
// These constants won't change. They're used to give names to the pins used: | |
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to | |
const int analogOutPin = 9; // Analog output pin that the LED is attached to | |
int sensorValue = 0; // value read from the pot | |
int outputValue = 0; // value output to the PWM (analog out) |
// Detects interest points between two images and matches them together. | |
// These matches are shown by drawing a line between the matching features in each images. | |
import boofcv.processing.*; | |
import boofcv.struct.image.*; | |
import boofcv.struct.feature.*; | |
import georegression.struct.point.*; | |
import java.util.*; | |
import boofcv.factory.feature.associate.ConfigAssociateGreedy; |