Skip to content

Instantly share code, notes, and snippets.

@jacobq
jacobq / demo.js
Last active August 29, 2015 14:08
Efficient algorithms vs. functions optimized for inlining
// Just a quick & dirty demo of why it's still critical to think about efficient _algorithms_
// before thinking about tuning / optimization
var assert = require("assert");
function main() {
const trialsPerSize = 32;
var arraySizesToTest = createPowersOfTwoArray(0, 18); // 1, 2, 4, 8, ..., 262144
var algorithms = {
sort: {
import Ember from 'ember';
export default Ember.Component.extend({
// FIXME: I don't want to specify the action handlers here
// I want to have it bubble up to a higher-level component
actions: {
dismiss(card) {
console.log("OMG dismiss", card);
card.set('isHidden', true);
}
@jacobq
jacobq / list-ember-addons.js
Created March 17, 2017 15:09
Get list of all ember addons in a project
const path = require('path');
const rootPackage = require('./package.json');
let output = "";
['dependencies', 'devDependencies'].forEach((depType) => {
let deps = rootPackage[depType];
if (!deps)
return;
Object.keys(deps).forEach((name) => {
try {
let depPackage = require(path.resolve('node_modules', name, 'package.json'));
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@jacobq
jacobq / controllers.application.js
Last active June 22, 2017 20:51
Array.any Example
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
testArrayAny: Ember.computed(function() {
let emptyArray = Ember.A();
let singleValuedArray = Ember.A([true]);
let specialArray = Ember.A([null, undefined, NaN]);
let normalArray = Ember.A([0,1,2,3]);
import Ember from 'ember';
const Summable = Ember.Object.extend({
innerSum: Ember.computed('inner.[]', function() {
return this.get('inner').reduce((a, b) => a + b, 0);
})
});
function getRandomInt(min, max) {
min = Math.ceil(min);
@jacobq
jacobq / adapters.application.js
Last active October 13, 2017 02:32
Data Relationships
import LSAdapter from 'ember-localstorage-adapter';
export default LSAdapter.extend({
namespace: 'twiddleApp'
});
@jacobq
jacobq / components.tel-link.js
Created January 22, 2018 17:34
tel link demo
@jacobq
jacobq / controllers.application.js
Last active January 31, 2018 12:13
Inline Radio
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Inline radio buttons'
});
@jacobq
jacobq / components.my-component.js
Created February 28, 2018 16:13
Computed props example
import Ember from 'ember';
export default Ember.Component.extend({
computedFoo: Ember.computed('foo', function() {
return `The foo property is: ${this.get('foo')}`;
})
});