Skip to content

Instantly share code, notes, and snippets.

View bguiz's full-sized avatar

Brendan Graetz bguiz

View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0/handlebars.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/tags/v1.0.0/ember.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
@bguiz
bguiz / CSS-Rating-Stars.markdown
Created February 27, 2014 06:57
A Pen by bguiz.
@bguiz
bguiz / dont-lose-gnome-terminal-sessions-on-reboot.md
Last active February 11, 2023 22:04
Ensures that you don't lose your gnome-terminal windows when you crash/ reboot Linux

Usage

  • create and alias/ symlink for the file, I use 'watcher.sh' in my home directory
  • when you fire up a gnome-terminal
    • enter ~/watcher.sh and leave that tab running in the background
  • when you crash and reboot, and fire up a gnome-terminal
    • enter ~/watcher.sh restore to restore all your windows and tabs that you previously had open, and it will cotninue watching automatically after that is done

Problem that it solves

@bguiz
bguiz / mount-virtualbox-shared-directories.sh
Created February 28, 2014 01:50
mount all virtual box shell shared directories - shell script
#!/bin/bash
# Mounts all known drives shared via virtual box
# configuration
MOUNT_POINT="${HOME}/media"
MOUNT_DIRS="foo bar baz"
# do it
if [ "$1" = "unmount" ] ; then
for DIR in $( ls ${MOUNT_POINT} ) ; do

Throttling filters in Ember.Controller

Suppose you have an array of complex data that you wish you filter. The property to filter upon is bound to the value of a text input field.

By default, this means that every keystroke will result in the filter being computed and (that particular section of) the template re-rendered.

Throttle it!

However, let's say we do not want this to happen, as we deem it to be too expensive. _.throttle combined with Ember observes using an property on a controller as an intermediary, makes this possible.

@bguiz
bguiz / jsbin.wiyin.html
Created March 5, 2014 05:13
Simple Ember App that displays items using the Master-Detail Pattern, with nested routes, and index routes
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="[simple ember app that display foos using master-detail pattern & nested route & index]" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0/handlebars.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/tags/v1.3.2/ember.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
@bguiz
bguiz / modernizr-cli.js
Last active August 29, 2015 13:57
Modernizr 3.0 command line
/*globals console, process, __dirname */
var modernizr = require('./lib/cli');
var fs = require('fs');
var args = process.argv.slice(2);
console.log('CLI arguments:', args);
if (args.length < 3) {
console.error('Expects three arguments: config, output, minifiedOutput');
{{!--
Sample usage in handlebars template
Say you wish to display an undordered list (`<ul>`) of `Foo` models,
and only one of these `Foo`s can be selected as the primary `Foo`.
We bind each `Foo` to a radio button, with the `checked` attribute
of the radio button updating the `primary` attribute of the `Foo` model.
--}}
{{#view App.RadioButtonGroupView name='foo-group'}}
@bguiz
bguiz / add-broccoli-compass-to-ember-cli-app.md
Last active August 29, 2015 14:02
How to add broccoli-compass to an ember-cli app

Run the following commands:

gem install --pre compass sass-css-importer
npm install --save-dev broccoli-static-compiler broccoli-merge-trees broccoli-compass

(This assumes that you already have Ruby and NodeJs installed)

Then add the contents of snippet-add-broccoli-compass-to-ember-cli-app.js to your Brocfile.js,

@bguiz
bguiz / vbox-mount.sh
Created July 8, 2014 01:11
mounts virtualbox shared directories
#!/bin/bash
# Mounts all known drives shared via virtual box
# configuration
MOUNT_POINT="${HOME}/media"
MOUNT_DIRS="foo bar" #replace with the ones you have configured for your virtual machine
USERID=$( id -u )
GROUPID=$( id -g )
for DIR in ${MOUNT_DIRS} ; do