Skip to content

Instantly share code, notes, and snippets.

View ykst's full-sized avatar

YUKISHITA Yohsuke ykst

  • Mount Fuji, Japan
View GitHub Profile
@ykst
ykst / example.js
Created March 8, 2014 14:40
createObjectURLを使ったらrevokeObjectURLを呼ぶ ref: http://qiita.com/ykst/items/a367359cd4ee96cde802
function loadImage(array_buffer, onload) {
var img = new Image();
img.src = URL.createObjectURL(new Blob([array_buffer], {type:'image/jpeg'}));
img.onload = function() {
onload(img); // imgを即座に使い終わる関数
URL.revokeObjectURL(img.src);
};
}
@ykst
ykst / file2.txt
Created April 5, 2014 06:32
Parsecでアノテーション風にテキストの一部をファイルで置換する ref: http://qiita.com/ykst/items/77aa62ba539eb23bb1d6
ghc --make gen.hs
./gen sample.js
using(something, 100) {
something_show(this);
}
#include <libkern/OSAtomic.h>
static volatile OSSpinLock lock = OS_SPINLOCK_INIT;
void spinlock_lock()
{
OSSpinLockLock(&lock);
}
void spinlock_unlock()
@ykst
ykst / SExpr.hs
Created August 1, 2014 11:35
TemplateHaskellによる文字列生成埋め込みDSL ref: http://qiita.com/ykst/items/a7ae5af1bb41b64dc31e
{-# LANGUAGE TemplateHaskell, DeriveDataTypeable #-}
module Language.SExpr (s) where
import Language.Haskell.TH
import Language.Haskell.TH.Quote
import qualified Language.Haskell.Meta.Parse as MP (parseExp)
import Data.List (intercalate)
import Data.Maybe (catMaybes)
import Text.Parsec
import Text.Parsec.Combinator (manyTill)
import Text.Parsec.String (Parser)
@ykst
ykst / file0.txt
Last active August 29, 2015 14:07
method_missingと内部DSL ref: http://qiita.com/ykst/items/5b7b2903c71b43797a8e
struct(:data) {
int :x;
int :y;
};
@ykst
ykst / file0.c
Created November 21, 2014 17:13
いつものASSERTマクロ ref: http://qiita.com/ykst/items/f368e6ec8d0160b19ba8
#ifndef unlikely
# ifdef __builtin_expect
# define unlikely(x) __builtin_expect((x), 0)
# else
# define unlikely(x) (x)
# endif
#endif
#define ERROR(fmt, ...) do { \
fprintf(stderr, "\x1b[1;31mERROR:%s:%s:%d: " fmt "\x1b[0m", __BASE_FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__); \
@ykst
ykst / AppDelegate.m
Created December 7, 2014 14:42
iOSでもOpenCLを使えるか調べてみた ref: http://qiita.com/ykst/items/342685c50336a2894ff2
#import "AppDelegate.h"
#import <dlfcn.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
void *lib = dlopen("/System/Library/PrivateFrameworks/OpenCL.framework/OpenCL", RTLD_LAZY);
printf("%p\n", lib);
return YES;
}
@ykst
ykst / ViewController.m
Last active August 29, 2015 14:11
iOSでWebRTCアプリを作ってみる (組み込み編) ref: http://qiita.com/ykst/items/fa1968b9a886d1505d61
#import <AVFoundation/AVFoundation.h>
#import "RTCEAGLVideoView.h"
#import "RTCMediaStream.h"
#import "RTCPeerConnectionFactory.h"
#import "RTCMediaConstraints.h"
#import "RTCPeerConnection.h"
#import "RTCPair.h"
#import "RTCVideoCapturer.h"
#import "RTCVideoTrack.h"
@ykst
ykst / gist:82359e34becde54fee40
Created January 28, 2015 14:01
MavericksのWiresharkでiOSデバイスのパケットキャプチャを行う

MavericksのWiresharkでiOSデバイスのパケットキャプチャを行う

[追記 2014/10/11] 既にこの記事の内容は古くなってしまったため、ヘッダサイズの値はより詳しい次の方のポストを参照してください。 iOSの通信をWireSharkでみる時の話: http://parochially.hatenablog.com/entry/2014/06/07/182217 またパース出来なくなったらペイロード冒頭のff ff ff ff ff ffの手前までをHeader Sizeにするとうまくいくかもしれません

iOS実機のネットワーク解析にはrvictlとWiresharkを組み合わせると非常に便利なのですが、 久しぶりに使ってみようとしたらMavericksではrvictlの仕様が変わってしまった事情で、 単にインタフェースを開くだけではパケットがパース出来なくなってしまったようです。