Skip to content

Instantly share code, notes, and snippets.

View marclundgren's full-sized avatar

Marc Lundgren marclundgren

View GitHub Profile
@marclundgren
marclundgren / fibonacci-iterative.js
Last active November 23, 2016 03:18
fibonacci algorithms (recursive and iterative)
function fib(num) {
if (num === 0) {
return 0
}
if (num === 1 || num === 2) {
return 1
}
let a = 1
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
clickOutside(event) {
const $target = Ember.$(event.target);
const clickedOutside = typeof $target.data('outside') !== 'undefined';
alert("Clicked outside: " + (clickedOutside ? "yes" : "no"));
},
// IFEE
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript#Functions
var message = 'hello IFEE';
(function(arg1) {
console.log(arg1);
});
@marclundgren
marclundgren / xargs.sh
Last active August 29, 2015 14:22
xargs
# xargs takes a list of arguments and invokes the following command on each item in the list
# Demo: xargs
# Make some files with duplicates
➜ touch fileA
➜ touch fileA-duplicate
➜ touch fileB
➜ touch fileB-duplicate
➜ touch fileC
// Sub utility
var sub = function(str, obj) {
var keys = Object.keys(obj);
keys.map(function(key) {
var re = new RegExp('{' + key + '}', 'gm');
str = str.replace(re, obj[key]);
});
return str;

Google Speech To Text API

Base URL: https://www.google.com/speech-api/v1/recognize
It accepts POST requests with voice file encoded in FLAC format, and query parameters for control.

Query Parameters

client
The client's name you're connecting from. For spoofing purposes, let's use chromium

lang
Speech language, for example, ar-QA for Qatari Arabic, or en-US for U.S. English

/* jshint strict:false, asi:true */
var fuzzy = function(items, key) {
return function(query) {
var words = query.toLowerCase().split(' ');
return items.filter(function(item) {
var normalizedTerm = item[key].toLowerCase();
return words.every(function(word) {
@marclundgren
marclundgren / css_resources.md
Last active August 29, 2015 14:07 — forked from jookyboi/css_resources.md
CSS libraries and guides to bring some order to the chaos.

Libraries

  • 960 Grid System - An effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.
  • Compass - Open source CSS Authoring Framework.
  • Bootstrap - Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
  • Font Awesome - The iconic font designed for Bootstrap.
  • Zurb Foundation - Framework for writing responsive web sites.
  • SASS - CSS extension language which allows variables, mixins and rules nesting.
  • Skeleton - Boilerplate for responsive, mobile-friendly development.

Guides

@marclundgren
marclundgren / javascript_resources.md
Last active August 29, 2015 14:07 — forked from jookyboi/javascript_resources.md
Here are a set of libraries, plugins and guides which may be useful to your Javascript coding.

Libraries

  • jQuery - The de-facto library for the modern age. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
  • Backbone - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS - Conventions based MVC framework for HTML5 apps.
  • Underscore - Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects.
  • lawnchair - Key/value store adapter for indexdb, localStorage
function uploadFileTree(treeNode, folderId) {
/*
return a Promise *(first Promise)*
if treeNode is a file...
create an html5 file
resolve the promise on `uploadcomplete`
reject the promise on `uploaderror`