Skip to content

Instantly share code, notes, and snippets.

View SimplGy's full-sized avatar

Eric Miller SimplGy

View GitHub Profile
#!/usr/bin/env ruby
# Aside from removing Ruby on Rails specific code this is taken verbatim from
# mislav's git-deploy (http://github.com/mislav/git-deploy) and it's awesome
# - Ryan Florence (http://ryanflorence.com)
#
# Install this hook to a remote repository with a working tree, when you push
# to it, this hook will reset the head so the files are updated
if ENV['GIT_DIR'] == '.'
@SimplGy
SimplGy / currencyDisplayAsEnum.swift
Last active October 11, 2015 16:24
Playing around with enums and computed properties as a way to display formatted values in Swift. Usage: `let sek = Currency.Code(rawValue: "SEK"); print(sek.display("42.50")`
class Currency {
static private let decimals: [Code: Int] = [
Code.None: 0,
Code.DKK: 2,
Code.GBP: 2,
Code.NOK: 2,
Code.SEK: 2,
Code.USD: 2,
Code.XBT: 2
  • Single Responsibility -- one thing per file
  • IIFE -- free from coffeescript
  • Modules -- declare once, nest namespaces
  • Controllers -- name your fns, use controllerAs, vm = this, public methods at top of file
  • Services -- delegate all possible behavior to here for easier testing
  • Factories -- api up top, use promises for data calls
  • Data Services
  • Directives
  • Resolving Promises for a Controller
  • Manual Annotating for Dependency Injection
@SimplGy
SimplGy / infiniteBacon-finished.html
Last active October 8, 2015 11:12
An infinite scroller built with Bacon using FRP techniques
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>FRP Infinite Scroll using Bacon.js</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/bacon.js/0.7.53/Bacon.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.7.0/lodash.min.js"></script>
<style type="text/css">
body {
@SimplGy
SimplGy / twoWaysToTestVars.js
Created April 3, 2012 15:54
Comparison of two ways to check for bad data in a method
//------------------ Option A: Use if else to avoid execution of bad data
// panelData = {
// title: "a title for the panel (optional)"
// subtitle: "subtitle for the panel (optional)"
// contents: "panel contents (required)"
// }
_addPanel = function (panelData) {
var $panel
, panelPos
@SimplGy
SimplGy / createColoredIconImage.swift
Created August 19, 2015 10:07
Create a colored version of an existing UIImage in swift. Great for coloring icons.
class Icon {
// Create a colored version of an existing image. Great for coloring icons.
// @param name of the image in your bundle
// @param color of the image to return
static func createColoredVersionOfImageNamed(name: String, color: CGColor) -> UIImage {
let img = UIImage(named: name)!
let rect = CGRect(origin: CGPointZero, size: img.size)
UIGraphicsBeginImageContextWithOptions(rect.size, false, img.scale)
let context = UIGraphicsGetCurrentContext()
@SimplGy
SimplGy / facebookMessengerSpam.js
Created May 20, 2015 16:57
Let's say a friend sends you 184 icons to spam you. Here's a script to send them back. Just pop open the avatar selection window in facebook and drop in the id of the one you want to spam them with.
var id = 1530358597204949; // the id of the dom node that has the icon you want
var makeItStopDannySelvag = setInterval(function(){
var node = document.querySelectorAll('[data-id="'+ id +'"]')[0];
$n = $(node);
$n.click();
}, 500);
@SimplGy
SimplGy / backUpDropbox.sh
Created May 8, 2015 16:00
Backs up your dropbox folder recursively and incrementally to a file named by the month and year. Meant to run as a cron job.
#!/bin/bash
echo "Starting Dropbox Backup"
echo "-----------------------"
echo `date`
cd ~
mkdir -p "Dropbox Backups"
echo "Archiving './Dropbox' to 'DropBox Backups/Dropbox_YEAR-MM).zip'.."
@SimplGy
SimplGy / infiniteBacon-start.html
Last active August 29, 2015 14:20
FRP Infinite Scroll with Bacon.js -- Starting File
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>FRP Infinite Scroll using Bacon.js</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/bacon.js/0.7.53/Bacon.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.7.0/lodash.min.js"></script>
<style type="text/css">
body {
@SimplGy
SimplGy / countWirelessNetworks.sh
Created March 27, 2015 10:46
Count the number of wireless networks your mac has ever connected to
networksetup -listpreferredwirelessnetworks en0 | wc -l