Skip to content

Instantly share code, notes, and snippets.

@joegaffey
joegaffey / script.js
Created August 27, 2023 17:46
Translate Three.js rotation to canvas rotation coordinates
// Set up the Three.js scene
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.z = camera.position.y = 500;
scene.add(camera);
const geometry = new THREE.CubeGeometry(200, 200, 200);
const material = new THREE.MeshNormalMaterial();
@joegaffey
joegaffey / rc_sim_controller.csv
Last active July 16, 2023 15:27
Project case for RC sim controller
We can make this file beautiful and searchable if this error is corrected: It looks like row 3 should actually have 1 column, instead of 11. in line 2.
# View in 3table
# https://3table.glitch.me/
cube, model, 2.5, 0.18, 8, 0, 9, -100, 0, 0, 0
cube, lid, 2.6, 0.18, 8, 0, 310, -100, 0, 0, 0
cube, model, 0.18, 3, 8, 120, 150, -100, 0, 0, 0
cube, model, 0.18, 3, 8, -120, 150, -100, 0, 0, 0
#1689515232568, model, 18, 20, 20, 0, 140, -300, -90, 0, 0
#1689515223617, model, 10, 10, 10, 0, 60, 120, 0, 90, 0
cylinder, model, 0.3, 2, 0.3, -108, 100, 0, 0, 0, 0
cylinder, model, 0.3, 2, 0.3, 108, 100, 0, 0, 0, 0
@joegaffey
joegaffey / D3 sequence diagram
Last active July 13, 2023 00:42
D3.js sequence diagram
<!DOCTYPE html>
<meta name="robots" content="noindex">
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Sequence Diagram</title>
</head>
<body>
@joegaffey
joegaffey / rc_controller.ino
Last active July 10, 2023 22:41
Basic Arduino script to convert an RC controller/receiver to a joystick.
#include <Joystick.h>
#define ThrottlePin 2
#define SteeringPin 3
int ThrottleValue;
int SteeringValue;
Joystick_ Joystick;
@joegaffey
joegaffey / index.html
Last active July 10, 2023 19:47
Basic annotation UI// source https://jsbin.com/xogegejowe
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Basic annotation UI">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<p>
I will arise and go now, and go to Innisfree,
And a small cabin build there, of clay and wattles made;
Nine bean-rows will I have there, a hive for the honey-bee,
let html = "<img src='"+temp1.toDataURL()+"' alt='from canvas'/>";
let tab = window.open();
tab.document.write(html);
@joegaffey
joegaffey / profile_cube.csv
Last active July 10, 2023 19:45
Profile cube 3D model for 3table
We can make this file beautiful and searchable if this error is corrected: It looks like row 4 should actually have 1 column, instead of 11. in line 3.
# View in 3table
# https://3table.glitch.me/
# https://3table.glitch.me/#url=https://gist.githubusercontent.com/joegaffey/aacfd2438b83411e38bdff322aeeac72/raw/958e71de02b2c9eedada7d330a2c3269f55a4841/profile_cube.csv
4040, side, 1, 1, 5, 230, 0, -250, 0, 0, 0
4040, side, 1, 1, 5, -230, 0, -250, 0, 0, 0
4040, side, 1, 1, 4.2, 210, 0, -230, 0, -90, 0
4040, side, 1, 1, 4.2, 210, 0, 230, 0, -90, 0
c4040, side, 1, 1, 1, -210, 20, -210, 90, 0, 0
c4040, side, 1, 1, 1, 210, -20, -210, 90, 180, 0
c4040, side, 1, 1, 1, -210, -20, 210, -90, 0, 0
@joegaffey
joegaffey / rss.js
Last active January 25, 2023 15:45
Render items from an RSS feed into a web page.
const LOCAL_FEED_URL = `./feed.rss`;
const FEED_ERROR_TXT = `Feed unavailble, check back later`;
const postsEl = document.querySelector('.posts');
function showRSS(RSS_URL) {
fetch(RSS_URL)
.then((response) => {
if (response.ok) { return response.text(); }
else throw new Error('Something went wrong'); })
@joegaffey
joegaffey / scraper.js
Created July 25, 2018 10:55
Simple scraper snippet. Paste it into the console of a page with a list of links where you want to pull specific items from each link. Change selector consts according to your needs.
const linksSelector = '.link-selector';
const itemSelectors = ['.item1', '.item1', '.item1'];
const anchors = document.querySelectorAll(linksSelector);
const links = [];
anchors.forEach((anchor) => { links.push(anchor.href) });
const results = [];
links.forEach((link) => {
// Simple gamepad example that demonstraits how to read five Arduino
// digital pins and map them to the Arduino Joystick library.
//
// The digital pins are grounded when they are pressed.
//
// NOTE: This sketch file is for use with Arduino Leonardo and
// Arduino Micro only.
//
// Modified version of original code by Matthew Heironimus
// 2018-08-11