パックマン

GDD参加用に作ったパックマンのプログラムを公開しました。
http://github.com/unlearned/P-CKM-N


PHP5系で動きます。多分。動かし方はREADMEに一応書きましたがテキトウです。
なんかスゴい勢いでつくったので、コメントもないしいろいろアレですが、まーうごくのでやってみてください。
仕様はGDDのページにあったんだけどその通りに作った感じです。

iPhoneSimulator crt1.10.6.o

Snow LeopardiPhoneアプリの開発でopensslなんかを使いたいとすると
シミュレータ側でコンパイルエラーが起きる時がある。
僕は起きた。
理由は

ld: library not found for -lcrt1.10.6.o

という事なんだがどうすればよかろうか?


力技で解決。

$ pwd
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/usr/lib
$ sudo ln -s crt1.10.5.o crt1.10.6.o
$ ls -al | grep crt1.10
-rw-r--r--    1 root  wheel    17324 12 22  2007 crt1.10.5.o
lrwxr-xr-x    1 root  wheel       11  6 22 18:32 crt1.10.6.o -> crt1.10.5.o

なんだかなぁ。

#!(shabang)

みんな元気か!元気に#!打ってっか?


そういうことで、shでもperlでもrubyでもpythonでも
まーそのほかいろいろでも、cgiだのなんだのをスクリプト言語みたいなので
スクリプトファイルだけで動かしたきゃ

#!/usr/bin/perl

みたいのが必要なんだ。


でないと、

$ perl script.pl

みたいに実行しないといけない。


そこでgoogleのv8をshellで使いたいとする。
でもなんと、恐ろしい事に#!がヤツには通用しない。
なぜだ!
なので、ちょっと手を加えてみたよって言うお話。


ちなみに優秀な方は、「んなの常識だよ!」
って思ってらっしゃるかもしれないですが、ちょっと何言ってるかよく分からなかったので
ダサいやり方やってると思います。
たぶん、いろんな方のソース見ればもっとよく解決します。


まず、v8のshellの作り方は、こちらで
IT戦記
Google Chrome の JavaScript エンジン V8 を試す
http://d.hatena.ne.jp/amachang/20080903/1220405193


んで、僕が何を具体的にしてみたかっていうと、
javascriptって#がコメントアウトじゃないから、
スクリプト内に#!の記述があると、そこでエラーが出ちゃう。
だから、一行目に#!があったら、2行めからスクリプトとして評価してね
って言うプログラムをv8のサンプルで作れるshellに入れ込みましたって話。

sample/shell.cc
を書き換えてね。


もうめんどくせ。diffしたソース。

--- shell.cc.bk	2009-06-06 10:27:00.000000000 +0900
+++ shell.cc	2009-06-06 11:47:03.000000000 +0900
@@ -94,6 +94,12 @@
         printf("Error reading '%s'\n", str);
         return 1;
       }
+
+      v8::String::AsciiValue source_str(source);
+      if (strncmp(*source_str, "#!", 2) == 0) {
+          source = v8::String::New(strchr(*source_str, '\n'));
+      }
+
       if (!ExecuteString(source, file_name, false, true))
         return 1;
     }


あとは、またscons sample=shellみたいな感じでコンパイルし直すと
「#!」がつかえて、まぁいろいろ出来る訳です。

Gaucheインストール

本(プログラミングGauche)も買ったしGaucheをインストールしてみた。


ちなみに僕の環境は
Mac OS X 10.4.11
インストールしたのは
Gauche-0.8.13

mkdir src
mv /Users/tksuesg/Desktop/Gauche-0.8.13.tgz ./src
cd src
tar -xvzf Gauche-0.8.13.tgz
cd Gauche-0.8.13
./configure
make
make check
sudo make install

簡単だ!!

eclipse with emacsキーバインド

最近僕は

モノ[c/ruby/bash]によってはemacs
モノ[php]によってはeclipse

で使い分けているんだけど、ついうっかりキーの使い方を間違えちゃう。
Ctl-a
全体選択かよ!!
みたいな。


id:wadapさんのブログを読んでいたら、eclipseも使ってらっしゃるということ。
おお!仲間か!?と勝手に思っていたんだけど、
なにやらemacsキーバインドという言葉が、、、


まえまえから、eclipseでもemacsキーバインドがつかえると聞いてはいたものの。。。
たぶんめんどくさいんじゃないかなーっておもってぐずぐずしていたんですが、
とうとうやってみました。


参考
http://eclipsewiki.net/eclipse/?Emacs%C9%F7%A5%AD%A1%BC%A5%D0%A5%A4%A5%F3%A5%C9


でも僕ってば、eclipse日本語にしてるからなんだか探りをいれてみました。


ウィンドウ→設定→一般→キー→変更タブ→スキームをEmacs


思ったより簡単でした!!!

emacs

めもめも
ファイルのエンコーディング読み込みを変えるには、


C-x RET r


んで、改行コードLFで、utf8にしたいなら


utf-8-unix


だ。

ソースです。
もにっき
http://d.hatena.ne.jp/moto0215/20080208/1202468582