0

自動日記をtwitterに流すようにした

これ → 自動で日記書くようにした

twitterに書くようにした。



リポジトリ https://github.com/shokai/autodiary
使い方

git clone git://github.com/shokai/autodiary.git
cd autodiary
gem install bundler
bundle install
ruby autodiary --tweet shokai


twのセットアップをしていない場合は
tw --user:add
でユーザを追加しておくとよい。



先月ぐらいにtumblrのAPIが新しくなった。basic認証がread onlyになって動かなくなってしまった。
tumblrのoauthはcallback URLを指定してtoken受け取る方式しかできないしcallback先の指定も無視してくるので面倒になった。

0

twがインストールできない人向けドキュメントを書いた

https://github.com/shokai/tw/wiki/Install-Error


args_parserのサンプルアプリを作りたかったのと、rubyで作ったアプリをどうやって配布していったらいいのか試すために作り始めたんだけど、わりと好評なのでインストールにつまづいた人向け情報も書いてみた。


XCodeとかが必要になったら大変だろうから、native extensionを使ってるgemを使わないようにしよう。Ruby1.8.7で動くようにしよう。
そう思って実装してみたら、意外と1.8.6の人がいたり、ver 1.7あたりのrubygemsがgemspecに変な日付を入れて破壊したりとかあった。

gemでツールを配布しても、普段からrubyとgemを使っている人にしか届かない事がわかった。
youtube-dlの様にhomebrewやmacportsでも配布するとか、ダウンロードしてもインストールできるようにするとか何か工夫が必要らしい。

0

壁紙を7000枚集めてGyaTVに登録した

GyaTV: 壁紙まとめのまとめに登録しておいた。


壁紙まとめスレのまとめに大量の壁紙が掲載されているwebページがまとめられてたので収集した。

まずURLを渡したらaタグを抜き出すスクリプト (extract_links)を用意して


2段階pipeして画像を抜き出す

extract_links "http://queltide.com/matome/index.php?%E5%A3%81%E7%B4%99" | grep "queltide.com" -v | xargs -n1 -P10 extract_links | grep ".\(jpe\?g\|gif\|png\|bmp\)$" > wallpaper.txt

0

wifiで位置情報を取得するrubygem

なんとなくgithub page作った
Wifi location – Get your location with WiFi Mac Address and GoogleMap.

github page楽すぎる


前記事:Mac/LinuxのWiFiで位置情報を取得

1

ターミナルで使うtwitterクライアント作った

1年以上前に作ってずっと使ってた奴を、少し直してrubygemにした。

くわしい使い方はhttp://shokai.github.com/twに書いた。

何か要望あればtwittergithubのissueかblogのコメントでください。

※活用方法をTwのレシピに書きました


インストール

特別なライブラリは使っていないのでMacならすぐインストールできるはず
gem install tw
tw --help



機能

すぐ使えるように名前が短い、インストール・セットアップが楽
表示がカラフル
複数のユーザやリストをマージして表示できる
DM読み書き
public timelineの検索
user stream、filter stream読める。なんかよく切断されるので自動再接続するようにしといた
複数アカウント使える
UNIX pipeからもtweetできる


作った経緯

フルスクリーンのターミナルでプログラミングしてる途中で、たまにtwitterが見たいのだがブラウザを開くと集中力が切れてしまう。
そこでターミナルのままtwitterを見たくなった。
tやtermtterでもいいんだけど複数のlistをまとめて見るのが面倒だった。
俺はlistが見たい。
tw @shokai/arr @shokai/masuilab @shokai/homu @ahokai @shokai_log
のように複数のlistとユーザのtweetをマージしてぱっと見て、すぐ作業に戻るというのをやりたかった。
terminalだと履歴にコマンドがたまるので、ctrl+rしてtwで検索すぐ実行できる。

あとbotにしゃべらせるのにも使いたかった。小さなbotに毎回twitterの機能をつけるのが面倒なので、
echo 'hoge' | tw --user=shokai_log --pipe
で、ユーザを一時的にbotに切り替えつつUNIX pipeでtweetできる。pipeの場合は140文字以上だったら複数回に分けてtweetするようにした。

streamはむかし音声読上げさせたら面白かった(3つのイベントのハッシュタグを同時に把握できた)のでそのうち使いそうだから実装した。

手元だけでなくサーバーにインストールして使うことも想定しているので、インストール・セットアップ・アカウント追加が楽だと良い。
twitterのアプリ毎に10万アカウントしか使えないようになってるけど、一応自分でoauthのアプリ登録してconsumer_keyとsecretを設定ファイルで入れ替えるのも簡単なようにしておいた。
(そもそもそんなに使う人がいるとも思えないけど)


args_parser

複数アカウント使い分けつつもわかりやすいコマンド体系にするためにargs_parserを作った。


json出力モードがあればbot作るのに汎用的に使える物になるかも。