Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
# vet.bash
function check_dir() {
egrep -rn -e "$2" "$1"
if [[ $? != 1 ]] ; then
echo "$3"
exit $rc
fi
@eaigner
eaigner / lookup.go
Last active September 18, 2015 12:58
CNAME DNS Lookup for GAE
package dns
import (
"bytes"
"errors"
"math/rand"
"strings"
"time"
"golang.org/x/net/context"
@eaigner
eaigner / gist:1228804
Created September 20, 2011 10:22
Blocks as action target
// Assuming ARC is enabled.
// |button| is of type UIButton (works with NSButton as well).
[button addTarget:[^{ NSLog(@"Block invoked."); } copy]
action:@selector(invoke)
forControlEvents:UIControlEventTouchUpInside];
@eaigner
eaigner / NSImage+Stretchable.m
Created January 16, 2012 15:23
Stretchable NSImage
@implementation NSImage (Resizable)
- (void)drawStretchableInRect:(NSRect)rect edgeInsets:(NSEdgeInsets)insets operation:(NSCompositingOperation)op fraction:(CGFloat)delta {
NSRect srcRect = (NSRect){NSZeroPoint, self.size};
NSRect topLeft = NSMakeRect(NSMinX(srcRect), NSMaxY(srcRect) - insets.top, insets.left, insets.top);
NSRect centerLeft = NSMakeRect(NSMinX(srcRect), NSMinY(srcRect) + insets.bottom, insets.left, NSHeight(srcRect) - insets.top - insets.bottom);
NSRect bottomLeft = NSMakeRect(NSMinX(srcRect), NSMinY(srcRect), insets.left, insets.bottom);
NSRect topCenter = NSMakeRect(NSMaxX(topLeft),
@eaigner
eaigner / NSURLConnection+Timeout.m
Created April 20, 2012 15:19
Synchronous NSURLConnection timeout
@implementation NSURLConnection (Timeout)
+ (dispatch_queue_t)timeoutLockQueue {
static dispatch_queue_t queue;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
queue = dispatch_queue_create("timeout lock queue", DISPATCH_QUEUE_SERIAL);
});
return queue;
}
@eaigner
eaigner / localWiFiAvailable
Created September 5, 2012 13:58
Simple Wi-Fi check for iOS
#import <arpa/inet.h>
#import <ifaddrs.h>
#import <net/if.h>
BOOL localWiFiAvailable( void )
{
struct ifaddrs *addresses;
struct ifaddrs *cursor;
BOOL wiFiAvailable = NO;
@eaigner
eaigner / main.go
Last active December 14, 2015 01:09
bytea bug
package main
import (
"database/sql"
_ "github.com/bmizerany/pq"
"log"
)
func main() {
query(true)
@eaigner
eaigner / extract.go
Created February 28, 2013 18:30
Extract values from a map/array object using a key path, e.g. `a[0].b.c[1].d_e.f-g`
func ValueAtKeyPath(path string, v interface{}) interface{} {
// Parse the path syntax
p := make([]interface{}, 0, len(path))
rx := regexp.MustCompile(`([a-zA-Z0-9_\-]+)|(\[(\d+)\])`)
for _, m := range rx.FindAllStringSubmatch(path, -1) {
if strings.HasPrefix(m[0], "[") {
i, err := strconv.Atoi(m[len(m)-1])
if err != nil {
panic(err)
}

Twitter公式クライアントのコンシューマキー

Twitter for iPhone

Consumer key: IQKbtAYlXLripLGPWd0HUA
Consumer secret: GgDYlkSvaPxGxC4X8liwpUoqKwwr3lCADbz8A7ADU

Twitter for Android

Consumer key: 3nVuSoBZnx6U4vzUxf5w
Consumer secret: Bcs59EFbbsdF6Sl9Ng71smgStWEGwXXKSjYvPVt7qys

Twitter for iPad

Consumer key: CjulERsDeqhhjSme66ECg

@eaigner
eaigner / draggable.js
Last active December 20, 2015 15:38
Draggable directive for AngularJS
// Usage: ng-draggable="dragFile($event)"
App.directive('ngDraggable', function ($parse) {
return {
restrict: 'A',
link: function (scope, elem, attrs) {
var fn = $parse(attrs.ngDraggable);
elem[0].draggable = true;
elem.bind('dragstart', function (event) {
scope.$apply(function () {