Skip to content

Instantly share code, notes, and snippets.

@abi
abi / gist:729922
Created December 6, 2010 05:33
A simple script that searches Google and copies the first result link to your clipboard. Usage : google "julian assange"
#chmod a+x {this_file} to make executable and add it to $PATH
query=$(echo $1 | sed 's/ /\+/g')
curl -A "Mozilla/2.01" "http://www.google.com/search?source=ig&hl=en&rlz=&q=$query&btnG=Google+Search" 2>/dev/null|
tr '>' '\n' 2>/dev/null|
grep "<h3 class=\"r\"" -A 1|
grep "href="|
sed 's/.*href="//'|
sed 's/".*//'|
head -n 1 |
@abi
abi / Blue Github Bookmarklet
Created February 14, 2011 06:40
For better contrast.
javascript:var a = document.getElementsByClassName('js-slide-to'); for (var i=0; i<a.length; i++){a[i].setAttribute('style','color:blue');};var a = document.getElementsByClassName('relatize'); for (var i=0; i<a.length; i++){a[i].setAttribute('style','color:blue');};var a = document.getElementsByClassName('message'); for (var i=0; i<a.length; i++){a[i].setAttribute('style','color:blue');};var a = document.getElementsByTagName('td'); for(var i=0;i<a.length;i++){ a[i].setAttribute('style','background:black')};
@abi
abi / apt.conf
Created May 14, 2011 00:25
apt.conf to make sure that apt-get doesn't prompt us for confirmation when installing deps
APT {
Get {
Assume-Yes "true";
Fix-Broken "true";
};
};
@abi
abi / ssh_config
Created May 15, 2011 11:26
ssh_config no prompts
# Mirrored at https://gist.github.com/973069
# If you update this file, remember to update the gist because most Gambino setup functions `wget` the gist before
# anything else (before it even installs git)
# When SSH into Github, do not prompt the user if they want to add the host keys to the ~/.ssh/known_hosts file
StrictHostKeyChecking no
# Implicity trust keys so don't if the authenticity of a host like github.com can't be established
VerifyHostKeyDNS yes
@abi
abi / d-h.coffee
Created June 10, 2011 12:46
Diffie–Hellman Key Exchange with CoffeeScript DSLs
us ->
p = prime()
g = primitiveRoot p
send p, g
,
them (data) ->
p = data.p
g = data.g
,
both ->
#Usage: py thisfile.py {JSON-string}
#Try py thisfile.py "["foo", {"bar":["baz", null, 1.0, 2]}]"
import json
import sys
if __name__ == "__main__":
obj = json.loads(sys.argv[1])
print json.dumps(obj, sort_keys=True, indent=4)
@abi
abi / cloudera.list
Created July 12, 2011 01:24
Cloudera Debian Repo
deb http://archive.cloudera.com/debian maverick-cdh3 contrib
deb-src http://archive.cloudera.com/debian maverick-cdh3 contrib
@abi
abi / debconf-set-selections
Created July 12, 2011 02:11
Installing Java and MySQL without stupid ncurses prompts
#JAVA
#Thanks to http://www.davidpashley.com/blog/debian/java-license
sun-java5-jdk shared/accepted-sun-dlj-v1-1 select true
sun-java5-jre shared/accepted-sun-dlj-v1-1 select true
sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true
sun-java6-jre shared/accepted-sun-dlj-v1-1 select true
#MySQL
#Thanks to http://www.muhuk.com/2010/05/how-to-install-mysql-with-fabric/
mysql-server mysql-server/root_password password ''
@abi
abi / gist:3179061
Created July 25, 2012 22:19
Debugging in JS/CS
// Notify the user (or not?) when there's no console
d = function() {
// TODO: Update the JS from CS
var args;
args = 1 <= arguments.length ? [].slice.call(arguments, 0) : [];
return console.log.apply(console, args);
};
d = (args...) ->
@abi
abi / sereneLog.js
Last active December 21, 2015 04:49
sereneLog lets you log stuff without freaking you and your browser and out. Especially useful for debugging the progress of long loops.
;(function (window) {
/* Throttle fn modified from underscore.js */
var _throttle = function (func, wait) {
var context
var args
var result
var timeout = null
var previous = 0