Skip to content

Instantly share code, notes, and snippets.

@greduan
greduan / manifest.json
Last active August 29, 2015 14:08
Some template files for Chrome extensions
{
"manifest_version": 2,
"name": "",
"version": "0.0.0",
"description": "",
"icons": {},
"browser_action": {},
@greduan
greduan / y-combinator.js
Created October 10, 2014 00:10
Y Combinator in JavaScript as shown by Douglas Crockford
// playlist:
// http://youtu.be/ya4UHuXNygM?list=PL7664379246A246CB
// minute:
// http://youtu.be/ya4UHuXNygM?t=1h8m42s
function y(le) {
return (function (f) {
return f(f);
}(function (f) {
return le(function (x) {
@greduan
greduan / colors.sh
Created September 4, 2014 01:57
Outputs the terminal 16 colors in the foreground (and background)
#!/bin/bash
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
# This program outputs the 16 colors in the foreground (and background) so that
# you can keep checking those colors when developing a theme.
@greduan
greduan / emacs-journal.txt
Created August 11, 2014 01:08
The journal I (barely) kept while on my 1 week Emacs challenge
Mon Aug 4 11:09:40 2014
Finally got YASnippets working, spent the last half an hour I guess.
Moved some of the snippets I have from Vim. Still not quite sure how it works so
that I just have to press tab after writing the snippets name, without breaking
the tab character which currently outputs 3C3EB0 for some reason...
[Mon Aug 4 14:11:29 2014
Deleted the original character for that "wrong tab" that was appearing.
Emacs rendered it as a square with the following characters in it: "3C3EB0"
// returns an array with a random chance of it's contents being more arrays or
// random strings
function randomArray(length) {
if (length == null)
length = 10;
var times = randTo.from1to(length); // amount of initial dirs/files
var result = [];
// make an array of times length
for (var i = 0; i <= times; i++) {
// random chance, hey it's a dir
@greduan
greduan / minHash.js
Created June 1, 2014 19:52
Finds the shortest unique string for a string in an array of strings. Meant to be used with hashes
/**
* Big thanks to Bruce who figured this out for me. What this function does is
* give you the shortest unique prefix of the strings (hashes) that you give it
* in the array.
*
* Args: {array} hashesArr, {function} callback
* Returns: {array} minHashes, through callback. Something like this:
*
* [ '1c',
* '28d',
@greduan
greduan / ruler.txt
Created May 19, 2014 00:53
Text ruler that goes up to 80 characters.
================================================================================
12345678901234567890123456789012345678901234567890123456789012345678901234567890
| | | | | | | | |
1 10 20 30 40 50 60 70 80
================================================================================
@greduan
greduan / core.clj
Last active December 31, 2015 19:29
Attempt at the string calculator kata in Clojure http://nimblepros.com/media/36628/string%20calculator%20kata.pdf
(ns kata-1.core)
(defn- str->nums [s]
(map read-string (re-seq #"[\d]+|[-\d]+" s)))
(defn add [s]
(let [nums (str->nums s)]
(when-let [neg-nums (not-empty (filter neg? nums))]
(throw (Exception. (str "Negatives not allowed:" neg-nums))))
(reduce + (filter #(<= % 1000) nums))))
@greduan
greduan / nw-bundle.sh
Last active December 30, 2015 13:39
Bundle and open (in OS X) a node-webkit app
#!/bin/sh
zip app.nw ./*
#xdg-open app.nw
#open app.nw
@greduan
greduan / server.js
Last active December 29, 2015 23:29
Node.js static file web server, exports .start()
var connect = require("connect"),
http = require("http");
var start = connect().use(connect.static(__dirname))
http.createServer(start).listen(2882);
console.log("Static file server running at\n => http://localhost:2882/\nCTRL + C to shutdown");
module.exports = start;