Skip to content

Instantly share code, notes, and snippets.

View TheIronDev's full-sized avatar

Tyler Stark TheIronDev

View GitHub Profile
@TheIronDev
TheIronDev / fiboFasto.js
Last active May 17, 2016 01:25
Comparing times of getting fibonacci number with different method
function fibo(n) {
if (n <= 1) return n;
return fibo(n-1) + fibo(n-2);
}
function tailFibo(n, tail) {
if (n <= 1) return n;
if (tail[n]) return tail[n];
tail[n] = tailFibo(n-1, tail) + tailFibo(n-2, tail);
@TheIronDev
TheIronDev / dom-to-canvas_scriptlet.js
Last active April 27, 2016 20:45
dom-to-canvas Scriplet (in the url bar, enter `javascript:___`, where ___ is the copy/paste of the code)
!function(e){function t(e,n,i,r,o,a){i>a.largestDepth&&(a.largestDepth=i);var l,d,c={children:[],childElementCount:e.childElementCount,attributes:{},depth:i,end:o,start:r,tagName:e.tagName,parentNode:n,__nodeRef:e.__nodeRef||e},u=e.attributes;if(u instanceof NamedNodeMap){l=u.length||0;for(var s=0;l>s;s++)d=u[s],c.attributes[d.name]=d.value}else c.attributes=e.attributes;e.id&&(c.id=e.id,a.ids[e.id]=c),m[e.tagName]&&m[e.tagName](c,e,a);for(var h,f,p=i+1,g=e.childElementCount,b=(o-r)/g,s=0;g>s;s++)f=r+s*b,h=t(e.children[s],c,p,f,f+b,a),c.children.push(h);return c}function n(e,n,i){var r={body:null,head:null,documentElement:null,ids:{},links:[],images:[],scripts:[],forms:[],largestDepth:0},o=t(e,null,0,n,i,r),a=Object.assign({},o,r);return a}function i(e,t,n){var r=t.tagName,o=t.start+(t.end-t.start)/2,a=t.depth*n+20;t.children.forEach(function(t){var r=t.start+(t.end-t.start)/2,l=t.depth*n+20;e.beginPath(),e.moveTo(o,a),e.lineTo(r,l),e.stroke(),e.closePath(),i(e,t,n)}),e.beginPath(),e.fillStyle=p[r]?p[r]:p.def
@TheIronDev
TheIronDev / getFormattedAmounts.js
Created July 6, 2015 20:49
test getFormattedAmounts
+ let previousTransactions = localStorage.previousTransactions ? JSON.parse(localStorage.previousTransactions) : [],
+ amountByCount = previousTransactions.reduce(function(memo, transaction) {
+ var current = memo[transaction.value];
+ if (!current) {
+ current = {
+ value: transaction.amount,
+ currencyCode: transaction.currencyCode,
+ currencySymbol: transaction.currencySymbol,
+ count: 0
+ };
@@ -61,6 +61,9 @@ module.exports = React.createClass({
},
getInitialState() {
+
+ let previousTransactions = localStorage.previousTransactions ? JSON.parse(localStorage.previousTransactions) : [];
+
return {
// Server-Side calls will populate these
@TheIronDev
TheIronDev / BST.js
Created February 15, 2015 08:58
Quick BST Implementation
var BST = function(arr){
var length = arr.length,
middle = length % 2 === 0 ? length/2 : (length -1)/2;
this.value = arr[middle];
if(length > 1) {
this.left = new BST(arr.slice(0, middle ));
this.right = new BST(arr.slice((middle + 1), length));
}
}
@TheIronDev
TheIronDev / mocks.post.js
Last active August 29, 2015 14:13
A dummy in-memory store mock ember-cli example
module.exports = function(app) {
var express = require('express');
var postsRouter = express.Router();
var posts = [],
count = 1;
postsRouter.get('/', function(req, res) {
res.send({
'posts': posts
@TheIronDev
TheIronDev / indexroute_doing_too_much
Created January 2, 2015 01:57
Does this guy load too much?
App.IndexRoute = Ember.Route.extend({
model: function() {
var store = this.store;
return Ember.RSVP.hash({
pokeballs: App.Pokeball.all(),
pokemon: store.find('pokemon'),
status: App.Status.all(),
levels: App.Levels
});
/**
* To Execute, run: node isPrime 13
*
*/
var testNumber = process.argv[2];
/**
* @param test - an integer between 1 and 2^16
* If the number is negative, we will absolute value it.
@TheIronDev
TheIronDev / er1c1996's parsed results.json
Created January 7, 2014 07:57
er1c1996's parsed results
[
{
"pokemonId":"446",
"pokemonNickname":"",
"trainerCountry":"US",
"trainerName":"Josh",
"trainerId":50549,
"level":1,
"isShiny":"FALSE",
"hasHiddenAbility":"FALSE",
@TheIronDev
TheIronDev / MergesortArray.js
Last active December 23, 2015 21:19
Following quicksort, I made an implementation of mergesort. :)
var RandomArray = function(size) {
size = size || 10;
var tempArray = [];
for(var count=0,max = size;count<max;count++) {
tempArray.push(~~(Math.random()*100));
}
return tempArray;
};
// Check to see if the array is sorted