Skip to content

Instantly share code, notes, and snippets.

@amycheng
amycheng / machine.js
Created July 24, 2020 16:30
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
const slides = [
{
image:
' https://s3.amazonaws.com/peloton-ride-images/a94a8fe5ccb19ba61c4c0873d391e987982fbbd3/img_1530025103442.jpg',
title: 'Basics',
},
{
image:
'https://s3.amazonaws.com/peloton-ride-images/a94a8fe5ccb19ba61c4c0873d391e987982fbbd3/img_1531254937082.jpg',
title: 'Essentials Package',
@amycheng
amycheng / script.js
Created January 16, 2019 21:35
Get instagram images by tag
const fs = require('fs'),
puppeteer = require('puppeteer'),
tag = 'sushi';
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
let sharedData, images;
await page.goto(`https://www.instagram.com/explore/tags/${tag}`);
@amycheng
amycheng / shellcommands.sh
Last active January 1, 2016 11:19
Useful Shell commands because I always have to google them!
# copy folders from remote to local
# use '/' for absolute directories
scp -r /path/to/source /path/to/destination
scp -r source login@address:/destination
# delete folder and files within that folder
rm -rf -- <dir-to-remove>
@amycheng
amycheng / form-validation.js
Created October 18, 2013 20:17
A jQuery plugin for form validation. Use for e-mail, message text fields, as well as check boxes and radio buttons.
/*General Purpose Form Validation*/
(function($) {
$.fn.validateForm = function() {
var $form = $(this),
$submit = $form.find('button[type="submit"]'),
$messages = $('.form-messages[data-target="'+$form.attr('id')+'"]'),
successMessage = $form.attr('data-message'),
$requiredFields = $form.find('[data-required="true"]'),
@amycheng
amycheng / analysis of BOX.md
Last active December 23, 2015 22:19
a guess at how the BOX performance works

A quick and dirty technology dissection of BOX

The installation/performance in question: http://www.botndolly.com/box .

Bot and Dolly (the firm behind this performance/installation) will will apparently release a post-mortem at some point but here's a quick dissection of the tech.

A big part of this performance is video/projection mapping (mapping animations and graphics to physical objects that aren't necessarily a screen).

MadMapper (http://www.madmapper.com/) seems to be the app of choice to getting started with projection mapping really quickly is (it's expensive tho).

@amycheng
amycheng / inView
Created August 22, 2013 21:10
a javascript function to check if a html element is in view
function inView(el){
//check if a DOM element is in view
var scrollDistance=document.body.scrollTop;
if (scrollDistance>=el.offsetTop&&scrollDistance<el.offsetHeight+el.offsetTop) {
return true;
}else{
return false;
}
}
@amycheng
amycheng / cookie.js
Created May 10, 2013 15:37
methods for creating/reading/erasing cookies via JS
@amycheng
amycheng / transitionEnd.js
Created April 30, 2013 22:29
a simple jQuery plugin for creating callbacks for CSS3 transitions
$.fn.transitionEnd = function(callback) {
//plugin for detecting the end of a transition and then doing a callback
$(this).one('webkitTransitionEnd otransitionend msTransitionEnd transitionend',
function(e) {
if (typeof callback == 'function') {
callback.call(this);
}
});
};
@amycheng
amycheng / placeholderfallback
Created January 29, 2013 22:03
polyfill for placeholder
$(function() {
function isPlaceholderSupported() {
var input = document.createElement("input");
return ('placeholder' in input);
}
var placeholdersupport = isPlaceholderSupported();
if (placeholdersupport == false) {
// If there is no placeholder support,