2011/09/15

日記(bookmark, mifare, window制御DSL, KPF)

最近とんと日記を書いておりませなんだ。

bookmark

しばらく前から、その日bookmarkしたリンクをブログに投稿するようにしてる。手動の更新頻度に比べてbookmarkの自動投稿頻度が高くてちょっとうざいかな・・・。週一に変更しようかどうしようか。もうしばらく様子を見てみる。

ネタ元(というかパクりました)はこちら

bookmark自動投稿の仕組み的には
  • ユーザーIDと日付け範囲とカテゴリ(quoteとかlinkとか)指定でtumblrの記事をJSONで取ってくるコマンド(gaucheスクリプト)
  • jsonを変形するコマンド(gaucheスクリプト)
  • jsonとテンプレートからテキスト(今回はHTML)を吐くtemplate-filter(Template Engine)コマンド(@kikuchan98さん製のgaucheスクリプト)
  • bloggerに投稿するコマンド(PHP製)
  • 上記のコマンドをpipeでまとめて実行するシェルスクリプト
という具合で、あとはcronでぶんぶん。
どれも単体でコマンドとして実行できるのでいろいろと便利。

同じような仕組みで、twitterにつぶやくだけのコマンドとURLを短縮/展開するだけのコマンドをgaucheで作って、tumblrからランダムに記事を選んで呟くtwitter botや、twitterのお気に入りからランダムに選んで呟くtwitter botなどを動かしてたりします。これらも単体でコマンドとして動かせるので意外と楽しめる。ソースはお粗末ですが。

mifare, window制御DSL

仕事では引き続きC#でmifareをごにょごにょするお仕事をしています。進捗が悪くてあばばばば状態。
で、その関連(全然関係なさそうだけど)でwindowsのwindowを制御するDSLをでっち上げたりしています。まだ試作段階ですがスーパーハカーより「きめぇ!」の一言を頂きました!
> handle "hoge piyo fuga"
> move 100 200
> repeat 4 click
> move 42 42
> click
> repeat 10 key down_arrow
> key enter
というようなコードをインタプリタに投げると、「hoge piyo fuga」というタイトルのwindowをハンドルして、そのwindowのクライアント領域でのx=100, y=200に移動してclickを4回、42,42に移動してクリックして↓キーを10回押下してenterという操作をします。(ちなみにマウスポインタは動かしません)クリックしたり入力したりコンボボックスを選択したりできるわけです。windowはアクティブでなくても、他のwindowの裏に居ても大丈夫。他に文字や文字列を送ったりもできるのでわりと何でもできます。

言葉では解りづらいので動画を貼れば手っ取り早いのですが。要はコードを解釈してwin32APIでwindowメッセージを送っているだけです。

テキストをインタプリタに投げればwindowをその通りに操作してくれるので、プログラムからテキストを生成して投げればいろんなことができるかも。名前はまだない。公開もたぶんできない(?)けど、勉強会とかで見せることはできるかも。
簡単なlexer(字句解析器)と粗末なインタプリタで動きます。面白かったんでREPLも付けてみました。ちなみにC#製。

KPF

前回から600日以上経過することになりますが、久しぶりにKPF開催します!まだ正式な告知は行なっていませんが、2011/10/22(土)に開催予定です!
皆様ふるってご参加ください。
LT,、発表も絶賛大募集中です。
よろしくお願いします。


よし、風呂入って寝る。

0 件のコメント:

コメントを投稿