update_name Advent Calendar 2013

update_name Advent Calendar 2013 3日目 (12/12スタートで3日目、この記事執筆時点で某サケの卵7氏が書いてないのでほぼ2日目0:06追記:書いてました) ということで、私視点でのupdate_nameの歴史と、私の現在の実装とその経緯を書こうと思います。

 (1:05追記:update_name系は私がフォローしている人にしか使えないようにしています。そこのところご了承願います。)

今や広まりすぎて飽きられつつあるupdate_nameですが、update_nameの記念すべき1ツイート目は、@nepiadeathのこのツイートだったそうです。

ちなみに彼はこの前に

と2つのupdate_nameをツイートしているのですが、1つ目はうまく行かなかったみたいですね。2つ目はどうかわかりませんが、彼が「寿司食べたい」が最初と言うからそうなのでしょう。なお、次のupdate_nameは

でした。とんだ変態さんですね。

しかし、彼がupdate_nameを実装するほぼ1ヶ月前に、実は改名コマンドについて@botchju氏に提案されていました。残念ながらそのツイートは現在存在しませんが、

に対してその案が出されたという経緯です。この時実装していればupdate_nameの起源を主張できたんですね。ちなみに私がupdate_name一般公開と他者紹介型改名の起源です。

 

前置きが長くなってしまいましたが、私のupdate_nameの実装について解説したいと思います。

私はupdate_name界隈では珍しく(俺調べ)、Androidのアプリを作って改名処理をしています。理由は、鯖を持っていなかったことと、(おそらく)省電力であることAndroidアプリしか作る能力がなかったことが挙げられます。

なお、Androidbotを作ることは、経験則から言うと全くお勧めできません。この件についてはもしも機会があればお話したいと思います。

そもそも、update_nameを動かしているアプリはupdate_nameのために作ったのではなく、青葉山路面情報botというbotを動かすために使っていたアプリに機能を追加したものでした。(ちなみにこのbotの考案者はねぴぁなのになぜか私が運営している謎) また、@ovoenikuiというbotも動かしています。

PCで動かしているのなら問題にならないことですが、Streaming APIのuser (つまりHome TimelineのUser Stream) を取得して処理した場合、リプライとは関係のないツイートが多く非常にバッテリーを食い、1日で端末のバッテリーが切れてしまうという残念な仕様がありました。そこで、現在はstatuses/filterで自分へのリプライだけ取得し、バッテリー消費を抑えております。なお、statuses/filterには鍵垢のツイートは含まれないため、鍵垢から改名ができないという変わった実装になっています。鍵垢に改名権なんてなかった。

特に話すことがないのでNGワードの話をしておきたいと思います。私のフォロワーはとてもいい人が多く、名前にチ○ポとかア○ルとか付けるような基地外などいるわけがないので、NGワードは少なめなのですが、update_nameで自分の名前が設定されることは防止したかったので、本名フリー素材ですが、NGワードに自分の名前を入れています。しかしこれでは、偶然にもNGワードに引っかかった場合に自分の名前がバレる恐れがあるため、1000種程度の姓名をNG登録し、悟られないようにしました。ただNGリストの為だけに1000ワードもNG登録するのはいろいろ無駄な気がしたので、「本名(@oboenikui)」とツイートすると、NGワードから敢えてランダムで選択し、あたかも本名のような名前になる機能もおまけで付いてます。炎上時にでも使いたいと思います。

ちなみに最近はポンコツPCを鯖化したので、そのPCで動くようrubyで書きなおしています。rubyウメェ!!

技術的な話は2周目があればしたいと思います…

 

ところでこのはてなブログで「見たまま編集」中に取り消し線が頻繁に消えるのは私だけでしょうか?とてもつらい。