Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env bash
LLVM_SVN='http://llvm.org/svn/llvm-project/llvm/trunk'
CLANG_SVN='http://llvm.org/svn/llvm-project/cfe/trunk'
POLLY_SVN='http://llvm.org/svn/llvm-project/polly/trunk'
COMPILER_RT_SVN='http://llvm.org/svn/llvm-project/compiler-rt/trunk'
LIBCXX_SVN='http://llvm.org/svn/llvm-project/libcxx/trunk'
export BASE=`pwd`
export LLVM_SRC="${BASE}/llvm"
@ttilley
ttilley / gist:1737625
Created February 4, 2012 12:42
mac sandbox and code signing conveniences
//
// CodeSignConveniences.h
//
// Created by Travis Tilley on 2/4/12.
// Copyright (c) 2012 Travis Tilley. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <Security/CodeSigning.h>
@ttilley
ttilley / htman.sh
Created December 28, 2011 23:46
open man page in browser on mac
function htman() {
TMPPATH="${TMPDIR:=/tmp/}${@}$RANDOM.html"
groffer --html --html-viewer-tty=cat -- ${@} > "${TMPPATH}"
[[ "$?" == "1" ]] && return 1
${BROWSER:=/usr/bin/open} "${TMPPATH}"
}
@ttilley
ttilley / kr-errata-2nd-edition.txt
Created August 20, 2011 18:42
Errata for The C Programming Language, Second Edition
Errata for The C Programming Language, Second Edition
This lists all known errors in The C Programming Language, Second Edition, by Brian Kernighan and Dennis Ritchie (Prentice-Hall, 1988).
The pagination of the book has changed only in minor ways across printings of the English-language edition. These errata now include section numbers, which are more likely to be preserved across translations. This might help identify errors that survive into translated editions.
Changes between first and second printing:
The first printing of the book was made before the Standard was finalized; these copies say "Based on Draft-Proposed ANSI C" on the front cover. All subsequent printings are identified by a large red ``ANSI C'' on the right center of the cover. Fortunately, the changes are minor; some repair our bugs, a few account for last-minute changes in the draft standard. These changes were made so early that they probably do not apply to you.
@ttilley
ttilley / fix-jruby-cext-xcode4-boo.diff
Created March 15, 2011 13:54
a bit of a hack to just use the installed system rather than a specific SDK, as xcode4 only ships with 10.6 SDK, and using that specifically would both be limiting and also, btw, not work (the JDK paths become incorrect).
diff --git a/cext/src/Makefile b/cext/src/Makefile
index 67116ce..8e1d954 100644
--- a/cext/src/Makefile
+++ b/cext/src/Makefile
@@ -154,7 +154,7 @@ endif
ifeq ($(OS), darwin)
PLATFORM = Darwin
- MACSDK = /Developer/SDKs/MacOSX10.5.sdk
+ MACSDK = /
(function (a) {
jQuery.browser.mobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|5
@ttilley
ttilley / uacss.js
Created March 8, 2011 03:23
plain javascript port of dojo's uacss module
(function(){
var state = {};
var n = navigator,
ua = n.userAgent,
av = n.appVersion,
tv = parseFloat(av);
if(ua.indexOf("Opera") >= 0){state.isOpera = tv;}
state.isKhtml = (av.indexOf("Konqueror") >= 0) ? tv : 0;
@ttilley
ttilley / fsevent_watch.c
Created March 2, 2011 19:40
FSEvents filesystem watcher, added some forward-thinking structure in preparation for metadata, basic commandline option handling
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <CoreFoundation/CoreFoundation.h>
#include <CoreServices/CoreServices.h>
// Default flags for FSEventStreamCreate
class QuerySetDoubleIteration(Exception):
"A QuerySet was iterated over twice, you probably want to list() it."
pass
# "Skinny" here means we use iterator by default, rather than
# ballooning in memory.
class SkinnyManager(Manager):
def get_query_set(self):
return SkinnyQuerySet(self.model, using=self._db)
// This yields a linear gradient spanning from top to bottom
+linear-gradient(color_stops(white, black))
This yields a linear gradient spanning from bottom to top
+linear-gradient(color_stops(white, black), "bottom")
This yields a linear gradient spanning from left to right