Twitterでフォローしてる人全員をリストに追加するアプリ Following2List
を作成しました。前回の記事 id:tk4168:20130615:1371276163 の改良版です。
以下リンクからダウンロードしてください。
http://tk4168.info/twitter/Following2List.zip
注意
- .net 4以上が必要です。Tweenが動作する環境であれば使用できると思います。
- リストに追加される順番はおおよそフォロー順となりますが、Twitter APIの仕様上、ばらつきがあります。
- リストへの追加はTwitter APIが頻繁に失敗するので、何回か試す必要があります。
追記
自分が作った適当ツールより、こっちのwebサービスの方がいいと思うよ!!
http://retrorocket.biz/list/
Twitterでフォローしてる人全員をリストに追加するPerlスクリプト
を書いた。コンシューマーキーとかは各自で取得してください(適当)
#!/usr/bin/perl # フォローしてる人全員を「all」という名前のリストに追加する # 事前に「all」リストを作成しておく必要あり use utf8; use strict; use warnings; use Net::Twitter; binmode STDOUT, ":encoding(cp932)"; #Windows環境 #use Data::Dumper; my $nt = Net::Twitter->new( traits => [qw/AutoCursor API::RESTv1_1 RetryOnError OAuth/], consumer_key => "", consumer_secret => "", ); my($access_token, $access_token_secret) = ("", ""); $nt->access_token($access_token); $nt->access_token_secret($access_token_secret); my $my_screen_name = "tk4168"; #自分のユーザ名 # 全フォローを取得 print "フォローリストを取得しています。\n"; my $ids = $nt->friends_ids; # リストに追加(APIの仕様上、1回につき100ユーザまで) print "リストに追加しています。\n"; for (my $i = 0; $i < @$ids; $i += 100) { my $slice_end_index; #100ユーザごとに配列スライスするが、最後のスライス時の範囲だけ異なる if ($i + 99 < @$ids) { $slice_end_index = $i + 99; } else { $slice_end_index = @$ids - 1; } my @userids = @{$ids}[$i .. $slice_end_index]; eval { $nt->members_create_all({owner_screen_name => $my_screen_name, slug => "all", user_id => \@userids}); }; if ( $@ ) { print "リスト追加時にエラーが発生しました。一部のユーザが追加されていない可能性があります。\n再度実行すると追加できるかもしれません。\n"; } } # 自分をリストに追加 $nt->add_list_member({owner_screen_name => $my_screen_name, slug => "all", screen_name => $my_screen_name}); # リストに追加されなかった人を抽出 # ※デバッグ用。members_create_allは1回で全メンバーを追加できないことがある。その場合は何回か実行するとよい。 # また、たまにTwitterの不具合で、アカウント削除されたユーザがフォローに含まれたまま残っていることがあるが、 # その「ユーザ」はリストには追加できないので失敗するという事象がある) my @list_members; for (my $cursor = -1, my $r; $cursor; $cursor = $r->{next_cursor}) { $r = $nt->list_members({owner_screen_name => $my_screen_name, slug => "all", cursor => $cursor}); for (@{ $r->{users} }) { push @list_members, $_->{id}; } } print "以下のユーザはリストに追加されませんでした。\n"; for (@{$ids}) { my $id = $_; print $id . "\n" if (! (grep {$_ eq $id} @list_members)); } print "処理が終了しました。\n";
LinuxからWindowsの共有フォルダをmountしたときに読み取り専用になる場合の対処
rootでmountした場合、mountしたファイルのアクセス権限が、一般ユーザは読み取り専用となる。一般ユーザでmountすればよいが、そのためにはfstabに相応の記述が必要(userオプションありで記述する)。また、これだけだと、mountしようとすると「This program is not installed setuid root - "user" CIFS mounts not supported.」と言われるので、chmod u+s /sbin/mount.cifsを実行する必要がある。
ツイート埋め込みテスト
--
— たけ(tk4168) (@tk4168) February 5, 2013
GTKを使用しているアプリ(GIMP・Inkscape)のUIのフォントを変更する
最近のGTKを使用しているアプリのフォントの見栄えが良くない(中国語系フォント?)ので、Windows標準に合わせるために、以下の作業を行う。
- pango.aliases の修正
「tahoma」から始まる行をコメントアウトし、代わりに以下の行を追加する。
tahoma = "tahoma,meiryo,browallia new,mingliu,simhei,gulimche,ms gothic,kartika,latha,mangal,raavi"
上記は、Windows 7標準のメイリオを使いたい場合。必要に応じて別フォントを指定してもよい(「meiryo」を置き換える)。
pango.aliases は、Inkscapeの場合、%ProgramFiles(x86)%\Inkscape\etc\pango にある。GIMPの場合は存在しないので、同様の階層に新規作成する(%ProgramFiles%\GIMP 2\etc\pango)。ファイルは、Inkscapeのものをそのまま流用するか、以下の内容で作成する。
courier = "courier new" #tahoma = "tahoma,browallia new,mingliu,simhei,gulimche,ms gothic,kartika,latha,mangal,raavi" tahoma = "tahoma,meiryo,browallia new,mingliu,simhei,gulimche,ms gothic,kartika,latha,mangal,raavi" sans = "arial,browallia new,mingliu,simhei,gulimche,ms gothic,kartika,latha,mangal,raavi" serif = "times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,kartika,latha,mangal,raavi" mono = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,kartika,latha,mangal,raavi" monospace = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,kartika,latha,mangal,raavi"
- gtkrcの修正
以下の内容を追加する。
style "my-font" { # フォントサイズ(ツールチップ以外) font_name="Tahoma 9" } widget "*" style "my-font"
GIMPの場合は %USERPROFILE%\.gimp-2.8\gtkrc 、Inkscapeの場合は %ProgramFiles(x86)%\Inkscape\etc\gtk-2.0\gtkrc を編集する*1。
- 参考
mailxでGmailのSMTPサーバを使う方法
詳細は省きますが、.mailrcに
set ssl-verify=ignore
を記述しないと、SSLのエラーでうまくメール送信できないことがあるようです。
最近のGmailの仕様なのか、あるいは環境によるのか不明です。環境によっては指定無しでも送信できるのかもしれないですが、RHEL6.1互換OSのScientific Linuxでは指定する必要がありました。
同じ現象で困っている人がいれば参考にしてもらえればと。
Scientific Linux 6.1をVirtualBoxにインストールするときのメモ
GUIインストーラは、VirtualBoxデフォルトのメモリ割当量の512MBでは動かない。1GBくらいに設定するとOK。