Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Fooling around in elixir…

Evan Travers evantravers

💭
Fooling around in elixir…
View GitHub Profile
View Send to Drafts.applescript
-- LaunchBar Action Script
on handle_string(_string)
tell application "System Events"
set activeApp to name of first application process whose frontmost is true
end tell
if "Safari" is in activeApp then
if (count of theSelectionFromSafari()) is greater than 0 then
set _string to _string & linefeed & linefeed & theCurrentUrlInSafari()
View README.md

Workspace in tmux

I like to work using a separate tmux session for each active project/folder that I'm juggling. This script will either create or attach to a project based on it's name, using fasd to jump to the directory directly. The project will be named based on the basename of the folder, for easy switching using TMUX-s.

@tmiller
tmiller / pairings.rb
Last active Aug 29, 2015
Pairing Algorithm
View pairings.rb
require 'pp'
devs = %w{ Andrew Anthony Ben Matt Tom Zac }
devs << nil if devs.length.odd?
top, bottom = devs.each_slice(devs.length/2).to_a
pivot, *top = top
result = []
(devs.length-1).times do
top.unshift(bottom.shift)
View counting_javascript.rb
require 'haml'
def line_counter(node)
decendants = node.children.map{|n| line_counter(n)}
if node.type == :filter && %w{ javascript erb plain }.include?(node.value[:name])
me = node.value[:text].split("\n").length
else
me = 0
end
sum(decendants) + me
@pdaoust
pdaoust / higher-order-functions.scss
Last active Nov 12, 2018
Higher-order functions for Sass 3.3 -- now that we've got the `call()` function in Sass, we can start to compose functions. We don't have the benefit of anonymous functions, of course, but this is real functional programming, folks!
View higher-order-functions.scss
// 'map', 'transform', 'select', or 'project' function. Iterate over a list,
// performing a function on each item, and collecting the new items. Each
// function takes an item as a first argument and returns a transformed item.
// You can pass additional arguments to the function too, which is a decent poor
// man's function composition.
// (I didn't call this f-map because the term 'map' is already used in Sass to
// denote a hash or dictionary.)
@function f-apply($func, $list, $args...) {
$new-list: ();
@each $item in $list {
View trololol.rb
module Kernel
def int(mid)
meth = instance_method(mid)
define_method(mid) { |*args, &bk|
val = meth.bind(self).call(*args, &bk)
raise TypeError, "#{mid} did not return an Integer" unless val.is_a? Integer
val
}
mid
end
View ie8-grid-foundation-4.css
/* The Grid ---------------------- */
.lt-ie9 .row { width: 940px; max-width: 100%; min-width: 768px; margin: 0 auto; }
.lt-ie9 .row .row { width: auto; max-width: none; min-width: 0; margin: 0 -15px; }
.lt-ie9 .row.large-collapse .column,
.lt-ie9 .row.large-collapse .columns { padding: 0; }
.lt-ie9 .row .row { width: auto; max-width: none; min-width: 0; margin: 0 -15px; }
.lt-ie9 .row .row.large-collapse { margin: 0; }
.lt-ie9 .column, .lt-ie9 .columns { float: left; min-height: 1px; padding: 0 15px; position: relative; }
.lt-ie9 .column.large-centered, .columns.large-centered { float: none; margin: 0 auto; }
View curl-progress
#!/usr/bin/env bash
#
# Wraps curl with a custom-drawn progress bar. Use it just like curl:
#
# $ curl-progress -O http://example.com/file.tar.gz
# $ curl-progress http://example.com/file.tar.gz > file.tar.gz
#
# All arguments to the program are passed directly to curl. Define your
# custom progress bar in the `print_progress` function.
#
View server.rb
require 'socket'
require 'thread'
server = TCPServer.open(8080)
HEADER = <<-EOH
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
EOH
@jlong
jlong / uri.js
Created Apr 20, 2012
URI Parsing with Javascript
View uri.js
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"