Skip to content

Instantly share code, notes, and snippets.

View kevingriffin's full-sized avatar

Kevin Griffin kevingriffin

View GitHub Profile
>Quix Commands
quiet http://quietube.com/v.php/%r Quietube
alt javascript:for(var%20imCt=0;document.images%5BimCt%5D;imCt++)%7Bvoid(document.images%5BimCt%5D.onclick=function%20()%20%7Bif(this.title)%7Bif((window.brbanta=prompt('Image%20title%20text:%5Cn(Click%20OK%20to%20insert%20this%20text%20before%20the%20image)',this.title))&&this.parentNode)%7Bthis.parentNode.insertBefore(document.createTextNode('%20'+brbanta+'%20'),this);%7D%7Delse%20if(this.alt)%7Bif((window.brbanta=prompt('Image%20alt%20text:%5Cn(Click%20OK%20to%20insert%20this%20text%20before%20the%20image)',this.alt))&&this.parentNode)%7Bthis.parentNode.insertBefore(document.createTextNode('%20'+brbanta+'%20'),this);%7D%7D%20else%20%7Balert('There%20is%20no%20title%20or%20alt%20text%20for%20this%20image');%7D%7D);%7D Show image alt text
down http://downforeveryoneorjustme.com/%d Is this site down?
@kevingriffin
kevingriffin / n cases C TextMate command
Created January 2, 2011 06:22
A command I wrote a long time ago (as evidenced by the Python and camelCase) to make n cases in a switch statement. I hooked it into TextMate to take an integer on the current line and replace it with the switch & cases. (Yes, it eval's a number. I was yo
#!/usr/bin/python
import sys
import string
commandLine = raw_input("")
timesToPrint = eval(commandLine.split()[0])
sys.stdout.write("switch ($1) {\n\tcase: $2\n\t\t$0\n")
for i in range(1, timesToPrint):
sys.stdout.write("\tcase: $" + str(i + 2) + "\n")
@kevingriffin
kevingriffin / DefaultKeyBinding.dict
Created March 15, 2012 20:55
A file to override keybindings in OS X. Put it in ~/Library/Keybindings/DefaultKeybinding.dict (create the directory if needed) You can use any of the selectors here: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Cl
{
/* Modifier keys: start with C-m */
"^m" = {
"^ " = ("insertText:", "\U2423"); /* C-space space */
"^e" = ("insertText:", "\U21A9"); /* C-e return */
"e" = ("insertText:", "\U2305"); /* e enter */
"^t" = ("insertText:", "\U21E5"); /* C-t tab */
"t" = ("insertText:", "\U21E4"); /* t backtab */
@kevingriffin
kevingriffin / dependency_injection.rb
Created August 2, 2012 19:44
Dependency Injection
# We have a FunnySentences class. Objects of this class generate five **wacky** phrases with random upper and lower case.
# Because the logic of returning the sentences in some modified form is seperate
# from the process of generating the sentences, we use a different object to do the generation (single responsiblity princible).
# Instead of just using this generation object directly, we assign it to a variable when we create a new FunnySentences object.
# Interally, the FunnySentencs object calls methods on this object we pass in, asking it to generate sentences for us.
# As long as the generator we pass in returns strings when we call generate on it,
# the logic in our FunnySentences class will work no matter what we use for the generator.
class FunnySentences
@kevingriffin
kevingriffin / buffered_logger.rb
Created November 19, 2012 07:38
ActiveSupport 3.2.9 BufferedLogger
require 'thread'
require 'logger'
require 'active_support/core_ext/logger'
require 'active_support/core_ext/class/attribute_accessors'
require 'active_support/deprecation'
require 'fileutils'
module ActiveSupport
# Inspired by the buffered logger idea by Ezra
class BufferedLogger
@kevingriffin
kevingriffin / buffered_logger.rb
Created November 19, 2012 07:40
ActiveSupport 2.3.14 BufferedLogger
require 'thread'
module ActiveSupport
# Inspired by the buffered logger idea by Ezra
class BufferedLogger
module Severity
DEBUG = 0
INFO = 1
WARN = 2
ERROR = 3
<script>
Namespace('OurAssets.Sounds', {
<%= ['correct1', 'correct2', 'correct3', 'correct4', 'correct5'].map { |s| "#{s}: '#{compute_public_path(s + '.mp3', 'apps/sounds/new')}'" }.join(",\n") %>
});
</script>
<dict>
<key>name</key>
<string>diff.deleted</string>
<key>scope</key>
<string>markup.deleted.git_gutter</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F80018</string>
</dict>
@kevingriffin
kevingriffin / swiftIndexOf.swift
Last active August 29, 2015 14:02
Swift NSArray indexOfObject (Is there no better way to do this?)
func indexOfObject<T: Equatable>(array: Array<T>, object: T) -> Int? {
var i: Int
for i = 0; i < array.count; ++i {
if (array[i] == object) {
return i
}
}
return nil
override func awakeFromNib() {
let voices = NSSpeechSynthesizer.availableVoices() as Array<String>
var defaultRow = indexOfObject(voices, NSSpeechSynthesizer.defaultVoice())
if let row = defaultRow {
self.tableView.scrollRowToVisible(row)
}
}