Skip to content

Instantly share code, notes, and snippets.

View pi8027's full-sized avatar

Kazuhiko Sakaguchi pi8027

View GitHub Profile
%!PS-Adobe-3.0
% Brainfuck Implementation in PostScript
% Author : Kazuhiko Sakaguchi (pi8027)
% Date : 2010-07-14
/initArray {
/size exch def
/arr size array def
0 1 size 1 sub {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 3, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 128, 8, 3, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
48, 64, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
48, 64, 52, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 64, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@pi8027
pi8027 / git-graphviz.hs
Created October 27, 2011 12:46
Git のログを Graphviz の dot ファイルで出力する
module Main where
import Data.Maybe
import Control.Applicative
import Control.Monad
import Control.Arrow
import System.IO
char r[500],s[]="p(int n){int i=2;for(;i<n;i++)if(!(n%i))return 1;return i-n;}main(){int i=17,j;strcpy(r,\"char r[500],s[]=\\\"\");for(;s[j];j++){if(s[j]==92)r[i++]=92,r[i++]=92;else if(s[j]==34)r[i++]=92,r[i++]=34;else r[i++]=s[j];}strcpy(r+i,\"\\\";\");i+=2;strcpy(r+i,s);for(i=0;r[i];i++)p(i)&&putchar(r[i]);return 0;}";p(int n){int i=2;for(;i<n;i++)if(!(n%i))return 1;return i-n;}main(){int i=17,j;strcpy(r,"char r[500],s[]=\"");for(;s[j];j++){if(s[j]==92)r[i++]=92,r[i++]=92;else if(s[j]==34)r[i++]=92,r[i++]=34;else r[i++]=s[j];}strcpy(r+i,"\";");i+=2;strcpy(r+i,s);for(i=0;r[i];i++)p(i)&&putchar(r[i]);return 0;}
module Main where
import Data.List
import Data.IntMap as IntMap
import Data.Set.RBTree as Tree
import Control.Applicative
import Control.Monad
import System.IO
import System.Random.Shuffle
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 635 903
% コミックマーケット サークルカットテンプレB
gsave
0 0 moveto
0 903 lineto
635 903 lineto
module Main where
import Data.List
import Data.IntMap as IntMap
import Data.Set.RBTree as Tree
import Control.Applicative
import Control.Monad
import System.IO
import System.Random.Shuffle
@pi8027
pi8027 / nakatoji.zsh
Last active October 8, 2015 03:38
中綴じ用の面付けをするスクリプト
#!/bin/zsh
[ -z $1 ] && exit -1
nakatoji_sequence(){
last=$((4 * $1))
for i in {1..$1} ; do
echo -n "$(($last - $i * 2 + 2)),$(($i * 2 - 1)),"
echo -n "$(($i * 2)),$((1 + $last - $i * 2)),"
done | sed "s/,$//g"
}
file=$(echo $1 | sed "s/\.pdf$//g")
@pi8027
pi8027 / gist:3800040
Created September 28, 2012 14:00
github の検索結果の上の方のリポジトリを適当に clone する。
#!/bin/zsh
keyword=coq
language=Coq
for pageindex in {1..10} ; do
wget -q "https://github.com/search?q=${keyword}&start_value=${pageindex}&type=Repositories&language=${language}" -Otmp.html
echo 'cat //div[attribute::class="result"]/h2/a/attribute::href' | \
xmllint --shell --html tmp.html | sed '/href/ { s/^.*"\/\(.*\)"/\1/g p } ; d'
done 2> /dev/null | while read l ; do ; git clone git://github.com/$l repos/$l ; done
@pi8027
pi8027 / pagenum
Last active October 11, 2015 15:08
#!/bin/bash
usage_exit(){
echo "usage: pagenum [-o offset] file.pdf" 1>&2
exit 1
}
pagenum_ps(){
cat <<EOT
/input (%stdin) (r) file def