Skip to content

Instantly share code, notes, and snippets.

let itemData = [
{ name: 'Chair', price: '$199', id: 'abc123' },
{ name: 'Table', price: '$799', id: 'def456' }
];
let ItemList = ({ items }) => (
<ul>
{items.map(({ name, price, id }) => (
<li key={id}>{`${name} - ${price}`}</li>
))}
open https://youtu.be/rfMC2aVhYuo?t=39s
// given a form element
// get its children that have a name attribute
// map to { name, value } objects
// reduce individual into one { [name]: value } object
export default formElement => Array.from(formElement.querySelectorAll('[name]'))
.map(({ name, value }) => ({ name, value }))
.reduce((current, item) => ({ ...current, [item.name]: item.value }), {});
@sbussard
sbussard / minecraft-skydive.py
Last active September 30, 2017 18:30
skydiving in minecraft with teachcraft
from mcpi import minecraft
from mcpi import block
from minecraftstuff import MinecraftTurtle
from random import randint
import time
import os.path, sys
mc = minecraft.Minecraft.create(address="158.69.221.37", name="steve")
block_air = 0
@sbussard
sbussard / aws-cognito-authentication-demo.babel.js
Created December 30, 2016 18:09
how to authenticate an aws cognito user in the browser
import AWS from 'aws-sdk/global';
import S3 from 'aws-sdk/clients/s3';
import {
AuthenticationDetails,
CognitoUser,
CognitoUserPool,
} from 'amazon-cognito-identity-js';
const REGION = 'some-string-value';
const USER_POOL_ID = 'some-string-value';
@sbussard
sbussard / gist:7796aac53012a40bf26a1d13135c8ee2
Created August 26, 2016 22:03
A list of things, and something to do
Let's say you have a list of items, and something to do with each item. You want to be able to tell the system when to do the thing on an item, and to be able to select what item to do the thing on. For convenience sake, you want to be able to choose the next item or the previous item, or any item in the list (by index of course).
The difference between this and a reducer, for example, is that this system provides an interface for outside interaction.
Right now the class assumes that the list of items are dom elements, children of some parent element, and the task to be applied is toggling a css class. This is already useful for a wide variety of applications, including carousels, image sliders and slide shows. But essentially it only works on the front end.
@sbussard
sbussard / push.sh
Last active July 12, 2016 00:41
push build output to github pages
#!/usr/bin/env bash
BUILD_DIR=build
git checkout -b _build_staging_
git add -f $BUILD_DIR
git commit -am add_build_ouput
git subtree split --prefix $BUILD_DIR -b gh-pages
git push origin gh-pages -f
git checkout -
@sbussard
sbussard / svg-filter-dropshadow-right.svg
Created June 23, 2016 13:36
svg-filter-dropshadow-right.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
# Add this to ~/.profile or ~/.bashrc or whatever
# ask for a confirmation before executing the following command
confirm() {
read -r -p "Are you sure? [y/N] " response
[[ $response =~ ^([yY][eE][sS]|[yY])$ ]] && $@
}
export alias c=confirm
@sbussard
sbussard / estimator.css
Last active December 31, 2015 21:29
Cost Estimator App
* {
box-sizing: border-box;
}
body {
font-family: sans-serif;
margin: 0;
padding: 0;
background-color: #f0f0f0;
}
#logo {