Skip to content

Instantly share code, notes, and snippets.

View shama's full-sized avatar
✍️
writing a status message

Kyle Robinson Young shama

✍️
writing a status message
View GitHub Profile
@shama
shama / downup.js
Created April 27, 2015 00:37
Data down, actions up idea module
var h = require('virtual-dom/h')
var xtend = require('xtend/mutable')
var merge = require('xtend')
function DownUp(data) {
if (!(this instanceof DownUp)) return new DownUp(data)
var self = this
this.set({
tagName: 'div',
childViews: [],

Keybase proof

I hereby claim:

  • I am shama on github.
  • I am shama (https://keybase.io/shama) on keybase.
  • I have a public key whose fingerprint is F6D7 6C36 9C6E AB90 7590 17EB 2F62 CF16 5E42 E438

To claim this, I am signing this object:

@shama
shama / async-vs-sync.js
Created April 25, 2014 16:20
Comparing async vs sync functions in node.js
function sync(callback) {
callback()
}
function async(callback) {
process.nextTick(function() {
callback()
})
}

Method for triggering an action on any controller from a component, such as with nested Ember components.

WARNING: You really shouldn't do this as it couples your component to your app, which kind of defeats the purpose of the component, right?

GlobalAction = Ember.Mixin.create
  triggerGlobalAction: (action, controller="application", args...) ->
    @triggerAction
      action: action
 target: @container.lookup('controller:' + controller)
@shama
shama / favorite_module_pattern.js
Last active August 29, 2015 13:57
My favorite node.js module pattern
function Animal(name) {
if (!(this instanceof Animal)) return new Animal(name);
this.name = name || 'unknown';
}
module.exports = Animal;
Animal.prototype.feed = function(food) {
food = food || 'food';
return 'Fed ' + this.name + ' some ' + food;
};
@shama
shama / Gruntfile.js
Created February 24, 2014 19:12
Simple gruntfile that compiles with compass
module.exports = function(grunt) {
grunt.initConfig({
compass: {
dist: {
options: {
sassDir: 'sass',
cssDir: 'css',
environment: 'production',
},
},

spawn: false

$ grunt watch
Running "watch" task
Waiting...
>> File "test/fixtures/banner/banner.styl" changed.

Running "stylus:compile" (stylus) task
File tmp/stylus.css created.
@shama
shama / cmd
Created October 9, 2013 05:10
grunt.file.setPermissions windows 7, node v0.10.18
C:\Users\Office\Documents\www\grunt>grunt
Running "jshint:gruntfile_tasks" (jshint) task
>> 2 files lint free.
Running "jshint:libs_n_tests" (jshint) task
>> 24 files lint free.
Running "jshint:subgrunt" (jshint) task
>> 1 file lint free.
@shama
shama / removeline.js
Created October 1, 2013 22:33
Remove a line of code in a bunch of files
#!/usr/bin/env node
var falafel = require('falafel');
var globule = require('globule');
var fs = require('fs');
var path = require('path');
// Remove this line
var line = "grunt.verbose.writeflags(options, 'Options');";
uglify: {
test: {
files: [{
expand: true,
cwd: 'test/fixtures/',
src: '**/*.js',
dest: 'tmp/things',
ext: '.min.js',
}]
}