Twitterのアイコンをブラウザ経由でアップロードするとドット絵がぼやけたり背景が透過されなかったりする問題とその対策。

※この記事は2012/10/10に投稿したはてなブログ “Twitterのアイコンをブラウザ経由でアップロードすると画像がぼやけたり背景が透過されない問題とその対策(追記あり.GIFアニメも出来るよ!) – Radical No.11 #?” の改訂版です。

  • 2013/8/31追記(GIFアニメが動かなくなった件)
  • 2013/9/30追記(画像の縮小がなくなった件)
  • 2014/2/21追記(ドット絵が拡大される件)タイトルが嘘になる。
  • 2015/8/13追記(48*48でアップするとbiggerが48*48になった件)

この記事の内容は2014/2/21現在のものです。ドキュメントは更新されてないくせにAPIの仕様があほみたいに変わってるので今後どうなるか全くわかりません。ListのAPIもわけわかんないし1.1にアップデートしたんだからもうちょっときちんと対応してくれてもいいのになと思います。


Twitterのブラウザ版アイコンアップロードの仕様が変更になり、ドット絵をアップするとアイコンがぼやけたりGIFアニメが動かせなくなりました。解決策としてはAPI経由でアイコンを変更するとアイコンを原寸のままアップロードすることができます。(つまり、API経由でアイコンを変更できるクライアント等を使用すればアイコンのピンぼけを回避出来ます。)
APIの仕様として「GIFアニメは最初の1フレームからアイコンを生成してアニメーションは消去する」(2013/03/20現在)ということになっているので、GIFアニメは今後動かなくなる可能性があります。ちなみにわたしのアカウントで試したら動いたので、このあたりはよくわかりません。
(2013/8/31追記)自分の持ってるアカウント全てでGIFアニメがPNGに変換されて動かなくなりました。もう動かないと言い切ってよいと思います。
(2014/2/21追記)1月から48px*48pxの画像は73px*73pxに拡大されるようになりました。144px*144pxか192px*192pxにすれば多少はマシになりますがドットバイドットでの表示は不可能です。仕様変更したらドキュメント更新してください頼むから。
(2015/8/13追記)48*48pxの画像をアップするとbiggerが48*48になるため、TL上でドットバイドットで表示されるようになりました。

クライアントを探すのが面倒な人のためにツールを作ったのでリンクをはっておきます。
API経由でアイコン画像をアップロードするツール
使用するAPIのバージョンを選択できるようにしています。特に問題がなければ1.1を使ったほうがいいと思います。

続きはAPI経由とブラウザ版経由の比較です。結構詳しく比較してみたつもりです。
Continue Reading

WordPressはデフォルトでPingbackが有効になってる。

タイトルそのままです。
今まで本気で知らなかったのですが、WordPressって記事からリンク貼っただけで相手に通知行くんですね。知らなかった自分が悪いのですが、こんなもんデフォでオンにしないでほしいです。なんで記事紹介しただけで相手に通知しなきゃいけないんだよ…ふざけんなよ…。確認してないけど絶対いくつか通知とんでるよこれ…。メール書くときもデフォでHTML形式なの滅びてほしいと思ってますが、それくらい嫌です。

切り方は
設定>ディスカッション>この投稿に含まれるすべてのリンクへの通知を試みる
→チェックを外す

です。

自分のフォローしてる人をリストにコピーするスクリプト。

Twitter API v1がいつ廃止になるのか全然わからないのですが、とりあえず年内には廃止されるらしいし、twiccaからTLが見られなくなるのは嫌なので自分のフォローしてる人をリストにコピーするスクリプトを書きました。もうありそうだけど、こういうのって自分で書くことに意味があると思うんですよね。
REST API v1.1 Limits per window by resource | Twitter Developers
上記のリンク先にもあるように、TLの取得が15回/15分なのに対してリストは180回なので、Followingが500人以下の人はリストを作ったほうがよさげです。500人超えてる人はどうすればいいんでしょうねこれ。あと、APIがよくわからない人にもわかりやすく解説してるページがあります。
API 1.1が来ても大丈夫!! Androidで快適なTwitterライフ with twicca !! | M Gadjet.
リストが500人までしか登録できないの全く言及してないけどいいのかな…。
リストについてのルールは以下のページを参照してください。
Twitterヘルプセンター | リストで困っています

POST lists/members/create_allだと、100人一気に登録できるよとか書いてるのに、20人超えると502エラーを返すので諦めて20人ごとに処理するようにしました。twitlistmanagerとかはどう処理してるんでしょうか。気になります。

今回つくったもの:
TimeLine Copier – フォローしてる人全員をリストにコピーするツール
コードは後でGithubにあげとこうかと思います。

RubyとかCSVまわりで色々詰んだのでメモ.

借りたVPSのRubyでCSV処理したら改行が認識されてなくて意味不明なことになってたりおかしかったので,Rubyのバージョン確認したら1.8.7でした.これはいかんということでrvmを導入しようとしたのですが,コンパイルの段階で応答がなくなったため,あきらめて1.9系にアップデートすることにしました.
以下のページを参考にしました.

sudo apt-get -yV install ruby1.9.1-full
sudo apt-get -yV install rubygems

sudo gem install rubygems-update
sudo gem1.9.1 install rubygems-update
sudo /var/lib/gems/1.8/bin/update_rubygems
sudo /var/lib/gems/1.9.1/bin/update_rubygems
sudo gem update
sudo gem1.9.1 update

#update-alternativesでバージョン切り替え
sudo update-alternatives –install /usr/bin/ruby ruby /usr/bin/ruby1.8 0
sudo update-alternatives –install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 1
sudo update-alternatives –config ruby

いざ
CSV.foreach(“hoge.csv”, ‘r’) do |row|…end
を実行してみたら,
/usr/lib/ruby/1.9.1/csv.rb:1198:in `delete’: can’t convert Symbol into String (TypeError)
とかいわれました.オプション全消ししたら動いたので,先輩にきいてみたら「1.9系からはoptionはHashになりました」とのこと.

Google先生にきいて一番上にあったページは事故の元だから上記を参照しろとのことでした.おかげで半日以上潰れましたがなんとか解決してよかったです.