ぎゃーんメモの記事が微妙にブクマされ始めてしまったので、補足とか修正とか。「作った」と書いてしまったけど、まだまだ作っている真っ最中です。あれから随分変更もしたし、この先もかなり変わると思います。キー入力による表示の変更タイマーによるタイムラインの自動更新API使用によるタイムライン更新この3つをそれぞれAnyEventを使って行うことによって、それぞれの処理待ちによって他の処理がブロッキングされないようにした。書いたけど、これはAnyEvent::Twitterの使い方をよく理解していなかったことによる大きな間違いで、AnyEvent::Twitterは内部でタイマー持っていて自動的にタイムラインを繰り返し取得してくれるので2番目は不要。ぎゃーんメモに書いた通り。チャンネル切り替えのようなイメージで表示を切り替える機能はある程度できてきている。あとは内部でArrayRefで保持していたものをHashRefに変更し、表示に使うデータを取得する際にだけ日付順でsortするようにしてidで引き当てることもできるようにデータ構造を変更したりとか。あとはstatusのupdateをまだ全然実装していないのでどうにかしようと思いつつ、せっかくならクライアント名を出したいのでそのためにはOAuth使う必要があり、それに必要なのはなんだろう、とか調べたり考えたりしているところ。こんなカンジで変更点や考えていることを随時書いていこうと思います。作るなら他のクライアント使う必要なくなるくらい便利でイケてるものを作りたい。