2010/03/26

AckMate が便利というか素敵

Ack でプロジェクトを検索できる tmbundle は前かあったんだけど、今回の AckMate はプラグイン。快適度が違いますねー。

2010/03/24

Leopard で Java6 使いたい

VM の性能良くなってるよと言われても Leopard 用の、というか 32bit CPU 向けの Java6 を Apple は用意してくれていないので Snow Leopard にアップデートするまでおあずけかなーと思ってたんだけど、ちょっと調べてみたら OpenJDK6 なら使えるっぽい。 なら入れない理由はないなと思って MacPorts で検索してみたらちゃんとあった。

% port search openjdk
openjdk6 @b16 (java)
    Sun's java 6 virtual machine release under the GNUV2 license

openjdk6_bootstrap @b16-r1 (java)
    A binary build of OpenJDK6 to be used for bootstrapping the OpenJDK6 port.

Found 2 ports.

特に variants も無いのでそのままインストールしてみる。

% sudo port -d install openjdk6

ant とか依存パッケージそれなりにあるのでちょっと時間掛かるけど、とりあえず順調にビルド進んでるなー、なんて思ったからかどうかわからないけどコケる。

<<<Finished Recursively making com build @ Wed Mar 24 22:35:04 JST 2010.
Done Processing SUBDIRS: tools javax org sun com
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_java_openjdk6/work/./" && /usr/bin/make -j2 all ALT_BOOTDIR="/opt/local/share/java/openjdk6_bootstrap" ALT_BINARY_PLUGS_PATH="/opt/local/share/java/icedtea6-plugs/jre/lib/rt-closed.jar" ANT_HOME="/opt/local/share/java/apache-ant" ALT_FREETYPE_HEADERS_PATH="/opt/local/include" ALT_FREETYPE_LIB_PATH="/opt/local/lib" ALT_CUPS_HEADERS_PATH="/usr/include" ALT_MOTIF_DIR="/opt/local" ALT_X11_PATH="/opt/local" ALT_DEVTOOLS_PATH=/usr ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts NO_DOCS=true HOTSPOT_BUILD_JOBS=1 " returned error 2
DEBUG: Backtrace: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_java_openjdk6/work/./" && /usr/bin/make -j2 all ALT_BOOTDIR="/opt/local/share/java/openjdk6_bootstrap" ALT_BINARY_PLUGS_PATH="/opt/local/share/java/icedtea6-plugs/jre/lib/rt-closed.jar" ANT_HOME="/opt/local/share/java/apache-ant" ALT_FREETYPE_HEADERS_PATH="/opt/local/include" ALT_FREETYPE_LIB_PATH="/opt/local/lib" ALT_CUPS_HEADERS_PATH="/usr/include" ALT_MOTIF_DIR="/opt/local" ALT_X11_PATH="/opt/local" ALT_DEVTOOLS_PATH=/usr ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts NO_DOCS=true HOTSPOT_BUILD_JOBS=1 " returned error 2
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 9)
    invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for openjdk6): org.macports.activate org.macports.build org.macports.destroot org.macports.archive org.macports.install
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

チケット自体は登録されてるっぽいので、ちょっと待ってれば治るかな。 Java のことぜんぜんわかんないから自分で調べてビルドする方がいいのかもしれないけど、どこから手をつけていいかわからないし Clojure 自体までぜんぜんだから、あんまり他のこと覚えてる余裕ないしとにかく待ってみます。。

2010/02/15

Tombloo から Pinbord.in に投稿する

最初に Pinbord.in に登録しようとした時はちょうど TechCrunch だったかな?紹介されてユーザが増えたおかげで登録に $3 くらい支払いが発生するようになった時でした。 ちょっと待ってれば落ち着いてフリーになるかなと思ってアカウントだけ押さえて支払いはしないでいたんだけれど、とうとう数日前に PayPal で支払ってアクティベーションしました。 $6 だし iPhone アプリ買ったと思えば別になんとも思いませんが、倍支払ったと考えるとちょっと萎える。

Pinbord はとてもよく出来てるし、なにより速い。いいサービスなんだけれど、日本の人で使ってる人そんなにいないみたいだし Tombloo + Pinboard で検索してみても無いみたいだったからコピペして自分で用意してみた。

もうぜんぜんよくわかんないんだけど、Ack で適当に検索してちょこちょこいじったら問題なく動いたからとりあえずこれでいいけど、せっかくだし toread をフォームに出すところまではやりたいな。

2010/01/24

プログラミング Clojure って本が出る

ねーさっぱりですよ。反省。来月からもうちょっと頑張る。

いよいよ Clojure の本出ますね!Web でいろいろ見ながら勉強したり(ちょっとだけ、ね)してるんだけど、やっぱり僕は本を見ながら写経しないと駄目みたいなので嬉しい。給料出たらすぐ買う予定。

no image
プログラミングClojure
posted with amazlet at 10.01.24
Stuart Halloway
オーム社
売り上げランキング: 1596

2009/11/21

Clojure de Fibonacci number

なんとなく試してみた。

 ~/workspace/sketch
% time ./clojure.clj
3524578
./clojure.clj  2.44s user 0.11s system 98% cpu 2.588 total

 ~/workspace/sketch
% time ./python.py
3524578
./python.py  2.97s user 0.02s system 98% cpu 3.025 total

へー。 それだけなんだけど。

#!/usr/bin/env clj
(defn fib [n]
  (if (<= n 2) 
    1 
    (+ (fib (- n 1)) (fib (- n 2)))))

(println (fib 33))
#!/usr/bin/env python
# encoding: utf-8

from __future__ import print_function

def fib(n):
    if n <= 2:
        return 1
    return fib(n - 1) + fib(n - 2)

print(fib(33))

追記

(def fibs (lazy-cat [0 1] (map + fibs (rest fibs))))
(println (take 33 fibs))
clojureでフィボナッチ

ほへー。よくわかりませんが早い…。

% time ./clojure.clj
(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121
393 196418 317811 514229 832040 1346269 2178309)
./clojure.clj  1.02s user 0.11s system 94% cpu 1.200 total

2009/11/14

Clojure de FizzBuzz

ちょっとだけお勉強。覚えること多いし、それ以上に考え方変えてかなきゃいけないから大変だなぁ。

#!/usr/bin/env clj

; FizzBuzz

(println (map (fn [x]
                (cond
                  (= (rem x 15) 0) 'FizzBuzz
                  (= (rem x 5) 0) 'Buzz
                  (= (rem x 3) 0) 'Fizz
                  :else x))
           (range 1 101)))

Lisp のインデントわからない…フォーマッタあるよね多分。

完全に手続き脳だからいちいち (println x) したくなるけど、そんなの後でやればいい、と。

2009/11/11

Blogger での syntax highlight

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello, world!!\n");
    return 0;
}

対応言語少ないのが残念かな。