今日のなんでやねん
2007-05-07 [長年日記]
凹 [Ruby] RubyのFuseFS使ってtwitter file systemを作ってみた
連休中,一度もプログラムを書かなかったので,最後の日くらいプログラム書こうと思って, スパイダーマン見ながらシコシコと書く. 何度見てもヒロインがおばちゃん顔でスパイダーマンに感情移入できないなぁ…
さて,ブツはココ. FuseFSはもちろん,JSON impl for Rubyも必要. FUSEの勉強のために作ったんで,たいしたことはできませんが,もしかしたら今後面白いことができるようになるかも.
使い方は↓こんな感じ.
- copy config.sample config
- vi config ← username_hereとpassword_hereをtwitterにログインする奴で書き換える
- mkdir ~/twfs
- ruby twfs.rb config ~/twfs
これで,~/twfsにtwitter file systemがマウントされます.
ディレクトリ構成はこんなふうになってます.
~/twfs
|-- followers
| `-- ...
|-- friends
| `-- ...
`-- timelines
|-- friends_timeline
|-- public_timeline
`-- user_timeline
followersとfriendsの下には,それぞれfollowerとfriendのスクリーン名でディレクトリがあって,さらにその下にいろいろファイルがあります.まぁ見れば分かると思います. デフォルトでは60秒間隔で更新されます.
friends_timelineなどの配下にはxmlとかjsonとかいうファイルがあって,catするとファイル名の形式でtimelineが取れます. こっちは,catする度にtwitter.comにGETしに行きます. 日本語が悲しいことになってます…
で,具体的には↓こんなことができます.
kita@ubuntu% cd ~/twfs
kita@ubuntu% ls
followers/ friends/ timelines/
kita@ubuntu% cd tokyoforecast/
kita@ubuntu% ls
description id location name profile_image_url protected screen_name status/ url
kita@ubuntu% cat name
Tokyo Forecast
kita@ubuntu% cat status/text
. 06日(日)の天気は雨、最高気温は19°C 最低気温は16°Cでしょう。 http://tinyurl.com/yva684
kita@ubuntu% cd ../../timelines/public_timeline/
kita@ubuntu% ls
atom json rss xml
kita@utuntu% cat rss | head
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Twitter public timeline</title>
<link>http://twitter.com/public_timeline</link>
<description>Twitter updates from everyone!</description>
<language>en-us</language>
<ttl>40</ttl>
<item>
<title>Ridzuan Ashim: finally...i get to sit down and try to consolidate my thoughts...i have 2 hours to re-organise life.</title>
そんだけ.
追記: 初FUSEだったんだけど,手軽にファイルシステム作れて楽しいなぁ. これもオレってばスゲー感が強い.
追記2: なんか色々追加したいことができてきた. 少なくともtweetの書き込みと,timelineの見易い表示くらいはできるようにしたい.
でも会社からだとtwitterがDatingカテゴリでURLフィルタに弾かれちゃうので,休み時間でもイジれないー.
追記3: あ,Ruby Twitter Gem使った方がカッコよかったかも?
凹 あー月曜だなー
やだなー
このへんで勘弁しといたる.
旧「なんでやねん」はこちら.
| 2001/01
| 2001/02
| 2001/03
| 2001/04
| 2001/05
| 2001/06
| 2001/07
| 2001/08/25まで |
ssh1/ssh2 の違いとか
いや,2で試してますよ.<br>追い掛けるのもメンドイので,openssh-serverに変えちゃいました…