2009年 07月 13日

リア充の人達は、こちらが些細なことで強烈な不安感を抱くというのをいいことに、ちょこちょこと、世間からはとがめられないようなことを大量にして、こちらのバッファを溢れさえ、殺そうとしてくる。

バッファを全て埋めるほどしなくとも、バッファをある程度埋めてやりさえすれば、徐々に処理能力は落ちていくし、そうなると、処理落ちに対する不安によって勝手にバッファが埋まっていくようになる。簡単である。

洛西竹林公園は、思ったより広くなかった。ただ、その周辺 (竹の径 (みち)) というのがとても広範囲だった。

2009年 07月 12日

hookhub というのをつくりました

http://www.hookhub.com/

  1. Web Hook に対応したサイトからのフックを受けて、
  2. それをいい感じに JS で加工し、
  3. 他のサービスにリクエストを投げたり、自分にメールを送ったりすることができます。

例えば、

  • はてブしたエントリを twitter に
  • github に push したら twitter に
  • Google Code にコミットしたら twitter に

とか

  • はてブで [あとで読む] タグをつけたら、Remember the milk にタスクをつくる
  • はてブのお気に入りユーザが [culture] タグをつけたら即自分にメールを投げるとか

とか、些細なことを自分でホストすることなくできるようになります。

こういったルールは全て JavaScript で書くようになっていますが、Fork と Config 機能で他の人のをコピってすぐ使えたりします。

例えばはてブ → twitterとかだと、

  1. http://www.hookhub.com/cho45/hook/1004 を Fork して Save
  2. Config で twitter_user, twitter_pass を入れる
  3. はてブの「イベント通知を受けとるURL」に Hook URI を入力すればできます


ちなみに GAE + Scala でつくっていて、フック起動時の JS の実行には Rhino を使っています。Rhino では頑張ってサンドボックスを作っていろいろ制限をかけているつもりです。

  • 松尾大社
  • 洛西竹林公園
  • (六孫王神社)

どっちもとても遠かった…… 松尾大社は距離的には上賀茂と同じぐらいっぽいけど、四条通りをひたすら西にというのがとてもだるかった。鴨川は楽しいけど、四条通りは退屈だからなぁ……

その後、ひたすら桂川を下って竹林公園へいったけど、こっちは結構登った場所にあるので自転車だと大変だった。16時すぎの入園時間過ぎについてしまったけどオマケして入れてもらった……

松尾大社、盤座まで行きたかったけど、独りではだめらしいので諦めた。

2009年 07月 11日

ぼくの親程度の世代だと、インターネット日常でつかうようなことがないので、インターネットの技術がいくらプッシュな技術であっても、全く意味がない。コンピュータを開いて、なんかするっていう、能動的にプルする行動が必要だ。

そういう意味で、手紙、郵便、電話は、まだしばらくは、最強のプッシュ技術なのだと、ウェブフックなんていう少々不毛なことをやりつつ考えた。

gerry++

Android で Hello World するまで

cd ~/project/hello-world-android
android create project --target 3 --path . --activity HelloWorld --package com.example.HelloWorld
ant debug
adb install bin/HelloWorld-debug.apk

次からは

adb install -r bin/HelloWorld-debug.apk


src/com/example/HelloWorld/HelloWorld.java をみると、R.layout.main というのが view に設定されてる。res/layout/main.xml が実体っぽい。適当に書きかえて

adb debug
adb install -r bin/HelloWorld-debug.apk

するととりあえず自動的に起動中のアプリが終了してインストールが走るようになる

ファイルシステム

adb install されたアプリケーションは /data/app に入っている。これは

$ adb shell
# ls /data/app
# exit

とかでわかる

開発

adb shell "am start -a android.intent.action.MAIN -n com.example.HelloWorld/.HelloWorld"

.HelloWorld の部分は AndroidManifest.xml の /manifest/application/activity/@android:name っぽい?

http://gist.github.com/145085 Rakefile

Scala, ant

ant の compile タスクを修正して scalac が走るようにする。

カレントディレクトリの tools 以下に scala-compiler.jar を、libs 以下に android-library.jar をおいて

build.xml の最後に

    <target name="compile" depends="dirs, resource-src, aidl">
        <javac encoding="ascii" target="1.5" debug="true" extdirs=""
            srcdir="gen"
            destdir="bin/classes"
            bootclasspath="${android-jar}">
        </javac>

        <javac encoding="ascii" target="1.5" debug="true" extdirs=""
            srcdir="src"
            destdir="bin/classes"
            bootclasspath="${android-jar}">
        </javac>

        <taskdef resource="scala/tools/ant/antlib.xml" classpath="tools/scala-compiler.jar:libs/android-library.jar" />
        <scalac
            force="changed" deprecation="on"
            srcdir="src" includes="**/*.scala"
            destdir="bin/classes">
            <classpath>
                <pathelement location="${android-jar}"/>
                <fileset dir="libs" includes="*.jar"/>
            </classpath>
        </scalac>
    </target>

を書く、これだと scala-library.jar の変換で死ぬので

$SDKHOME/platforms/android-1.5/tools/dx 

に javaOpts="-Xmx512M" とか書くととりあえず通る。20秒ぐらいかかる