何故かAppleScriptが動かない時はactivateしたら良いよという話  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年7月9日

覚えたばかりのAppleScriptが動かなくて、ハマり倒したのでメモしておきます。まず動かなかったのは以下のコードで、やろうとしてるのは一番新しい送信ボックス中のメールに返信する形で新しいメールを作って件名と本文に適当な文字列を設定すると言うことです。単純ですね。

on run
  tell application "Mail"
       set last_msg to the first message of sent mailbox
       set reply_msg to reply last_msg with opening window
       tell reply_msg
            set subject to "replied"
            set content to "this is replied message"
       end tell
  end tell
end run

パッと見は動きそうなのですが、実行するとsubjectの設定でAppleEvent handler failedという謎のエラーが出ます。replyではなくて新しくメールを作った場合は動作するので、さっぱり原因が予想できず自己解決できませんでした。

この投稿の続きを読む »

Hello AppleScript World  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年7月3日

最近ではデザイナさんもAppleScriptを使いこなすようで、プログラマの自分がまったく理解してないのはどうかと言うことでかじってみる事にしました。まぁ日常的に使ってるのはTerminalとEmacsとYoruFukuroだけなので、個人的にはあんまり使う機会が無いかもなのですが、ひょっとするとXcode周辺で役に立つかもしれないという甘い期待を抱いています。

この投稿の続きを読む »

iPadでJailbreakメモ  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年6月19日

iPadでJailbreakしてみました。コードをビルドするところまでの手順をメモしておきます。僕の環境はOSX Leopard + iPad(iPhoneOS 3.2)です。それ以外の環境では動作確認はしてません。
あとお約束ですが、JailbreakするとiPadが壊れるリスクがあるので自己責任でお願いしますね。また作業前にiPadのバックアップをとってから行うことをオススメします。

この投稿の続きを読む »

Hello Yacc & Lex World  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年6月18日

最近ちまちまとyacc/lex(実際はbison/flex)を触っているのですが、やたらと苦労しています。真面目に学校に行ってなかったのが悔やまれますが、愚痴っていても仕方が無いのでメモ書きです。

ここでは以下の様なTinyCモドキのコードをyaccとlexで扱ってみます。

main()
{
    var i;
    var s;
    s = 0;
    i = 0; 
    while(i < 10){
	  s = s + i;
	  i = i + 1;
    }
    println("s = %d",s);
}

TinyCについてはコチラのページを参考にさせて頂きました。何故モドキかと言うと、僕にはTinyCですら複雑だったので、TinyCを更に小さくしたモドキをパースする事にしました。ヘタレですいません。

この投稿の続きを読む »

[メモ] Pythonのデコレータ  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年5月30日

出てくる度に調べる割に、いつまで経っても覚えられなかったデコレータですが、今回こそ仕留める為にメモエントリーです。まずよく見かけるのは関数の時間を計測するという例ですね。僕はこの形だけを何となく覚えては忘れていました。

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import time
 
# デコレータ定義
def time_func(func):
  def decorator(*args):
    start = time.time()    
    ret = func()
    print '%s was executed, it took %s sec' % (func.func_name, time.time() - start)
    return ret
  return decorator
 
# デコレータ適用
@time_func
def test():
  time.sleep(1)
 
def main():
  test()
 
if __name__ == '__main__':
   main()

この投稿の続きを読む »