mikutterの技術的なことを書いていこう

2016年8月14日日曜日

OSC 2016 Kyotoに出展しました

OSC 2016 Kyotoに mikutter としてブースの出展と、セミナーをしました。

去年の反省

去年は入院していて行けなかったので、今年は入院しないことにしました。
体調不良でいけなくなると、不謹慎な遊びをされてしまう
これは去年の写真です。遺影はiPadで、目の前にあるのはダイソーの厚紙の箱で作った賽銭箱のようです。私がいればこのようなことは許さなかったでしょう。ちなみに賽銭箱はあとで箱ごと私に奉納され、1000円ちょっと入っていました。もったいなくてまだ使っていません。ありがとうございました。

準備

一昨年の反省で、展示端末がMacしかなかった、というのがありました。「Linuxとか」で動くことを謳っているmikutterが、よりにもよってこんなキワモノで動いているのを展示すると、見に来た側は混乱してしまいます。

「これはMacのソフトなんですか?」
「いえ、これはOSXふっ飛ばしてArch Linuix起動してるんですよ」
「は?」

今回もMacは展示端末として使いましたが、私はMacでmikutterを動かすことに成功していないので、Virtual BoxにUbuntu 16.04をインストールしました。

「これはMacのソフトなんですか?」
「いえ、これはVirtual BoxでUbuntu起動してるんですよ」
「は?」

展示端末

今年は新たにRaspberry Pi 3を一台購入し、OSとしてRaspbianをインストールして展示端末としました。思えばRaspberry PiにXを入れるのは初めてだったのですが、mikutterの開発環境くらいならすぐに整いますね。流石に性能的にはこれをメインにすることは難しそうですが、可能性は感じました。持ち運ぶのには良さそうです。

それこそ2年前とかならまだRaspberry Piでmikutterを展示するのは面白かったかも知れませんが、今となっては十分な性能があることが知られてしまっていますし、軽くて持ち運びやすいなど展示端末の選択肢としてはメリットしかなく、このままでは「あいつ今更Raspberry Piに乗っかりやがったダッサw」と思われてしまう危険すらありました。

外装

要は、現代に於いてRaspberry Piであることをみだりに吹聴すべきではありません。もちろん面白いことをやればいいんですが、あくまでmikutterのブースなので、まずはRaspberry Piを隠してしまいましょう。

しかし、ケースを自作するといっても、ハードウェアはからっきしなので、簡単にできるもの…と部屋を見回していたら…


ぽ、ぽまえはあの時の賽銭箱!生きとったんかワレ!
去年のOSCで死体蹴りされた恨みを晴らすため、こいつにRaspberry Piを隠し、賽銭箱PCとして生まれ変わってもらうことにしました。

mikutterの展示らしく

さて、外側は決まりました。あとは展示内容です。たんにmikutterをインストールするだけならもう出来ているんですが、mikutterの展示なのに、mikutterを知らない人が来ても実際に操作してもらうことができないという問題があります。

キーボードはついているんですが、実際にブースに来た人がキーボードやマウスに触れてmikutterを体験するのは敷居が高いです。もっとこう、適当に触って適当に体験できるデバイスは何か無いでしょうか。Raspberry PiといえばIoT、IoTといえばリモコンですね。というわけで、家にあるリモコンで適当に試そうとしたら、リモコンのボタンを押しただけなのにクーラーが切れたり、電気が消えたりといろいろと不思議なことが起こりました。

よく調べると、エアコンのリモコンのボタンを押すとエアコンが操作されてしまうようです。これは不便ですよね。リモコンで操作する家電で家にないものといえばテレビです。というわけで、ヨドバシカメラで購入してきました。
いわゆるかんたんリモコンです。初めて地デジに対応したテレビのリモコンを見た時にはみんな面食らったと思いますが、これならわかりやすいですね。

mikutterコマンドをリモコンの各キーに割り当てることができれば、フォーカスの移動やふぁぼ、リツイートなどのほとんどのmikutterの機能を使うことができます。ブースでリモコンを渡された人は、直感的に初めて触るmikutterを操作できることでしょう。恐らくリモコンを操作したことのない人はそんなにいないはずです。デバイスが無線なので、手渡して使ってもらえるというのもポイントが高いです。

逆IoT

Raspberry PiでIoTで恐らく一番簡単な部類のものが、赤外線LEDでリモコンの信号を出力し、エアコンなどを操作するというものです。リモコンに対応した全ての家電を操作できる可能性があり、簡単な割に汎用性が高いです。
今回はそれに似ていますが、逆に赤外線受光部を取り付け、Raspberry Pi自体がその信号を受け取って反応するというものです。いわば、逆IoTです。これはあっきぃと喋っていて発明した謎ワードです。

内面からの写真。
受光センサは、俺が幼稚園児のときから愛用していたセロテープで止めた。
センサ自体は外に向いている。
HDMIポートとMicroUSB(電源)が見える謎の穴。
なんかピントがおかしいような…。
遠い(確信)
完全に施工ミスですありがとうございました
ヒートシンクは余ってたのを適当に貼った
賽銭箱全体
負荷テストのために前回の天空の城ラピュタ放映時のUserStreamイベントを流し込んでみたところ、めちゃくちゃ発熱して処理落ちしてしまったので、OSCの2日前に急遽ヨドバシで4cmファンを購入。雑にUSBで回ってくれるのでありがたかった。だけど致命的にうるさくて普段は使いたくないな。

この賽銭箱はいろいろと設計ミスが多く、USBポート等が内部にあるのはわざとだけど、HDMIがやたら遠かったり、そもそもOSC1日目終了後に急いで仕上げたのでRaspberry Piを止めるネジがなく、Pimoroniのケースを中途半端に使って箱に固定している等、見れば見るほど雑に作ったのがわかる。

底面。あっ(察し
一方で、リモコン操作するためのプラグインはもう少し前にちゃんと用意できていて、こちらは現在githubで公開しています。Raspberry Piと受光センサさえあれば、手持ちのリモコンで同様の環境を再現できると思うのでみなさんやってみましょう。

0日目
縛られるルータ。OSC Kyotoの密かな名物らしい。

OSCのスタッフに紛れることに成功して、紙を透明な袋に詰めまくるボランティアをしてました。そういえば今年は袋が透明で、かなり珍しいらしい。もらえた人はラッキー。



夜はヨドバシカメラで飯を食った。実はこの日の朝にヨドバシで4cmファンを買っていたので、2回ヨドバシに来るというかなりあほなことをやっていた。賽銭箱の作りだけではなく、計画性もガバガバやったんやな

1日目(mikutter前日)
初日の闇ブース。隣のNetBSDと区別が付かない。
mikutter0.2シールや丸ろくろシールなど、えびじゅんさんも舌を巻く逸品を展示している。
1日目はmikutterは不参加だったけど、手伝うために早めに行ったところ、別にやることがなかったので浸透言うな水(写真の左のやつ)のボトルにトイレの水を汲んだりして遊んでました。RedHatを帯びているが、これは名古屋で貰ったもので、特に意味はないです。

DJ TSUTSUI

間もなく隣のブースでは謎のマシンが電子雅楽を奏で始めてくれたおかげで、4cmファン騒音問題が完全に無効化された。弱り目に祟り目とはまさにこのこと。

ところで、OSC Kyotoで参加者が一番困るのが昼食だと思います。アクセスが悪いせいであまり店がない、調べれば調べるほど、ベッドタウンなのかビジネス街なのかわからなくなる。「びっくりドンキー以外の飯屋があるのだろうか」。…いや、あります!
今日は特別に、OSC Kyotoの会場になっている丹波口で四年間以上働いていた私がいい店をご紹介しましょう。

ラーメンは違う

たしかになぜかラーメン屋が多く激戦区感を醸し出しているのですが、懇親会でどうせ炭水化物攻めをされることを考えると、昼飯にラーメンは良くない。良くないのだよ。

丹波口で行くべきたったひとつの店

丹波口上級者の私に言わせれば、丹波口には大きく分けて二種類の飯屋があるといえます。それは宮武以外と、宮武です。


宮武というのは、市場のすぐ近くにあるという地の利を活かして本格的な魚料理を出す一方で、ミートソーススパゲティの上に焼き鮭を乗せたものを日替わり定食として出した伝説まで持っている欲張りな宮武です。あの鮭スパゲティはなぜかうまかった

税込み864円の日替わり定食(2016/7/29)。
写真には映っていないが、これに米と赤だしがついている。
ご覧の通り、優勝です。昼は予約を受け付けていないので入れるのですが、それでも今となっては人気店なので13:00くらいに行ったらもう入れないかも知れません。少し早めに行きましょう。
夜は予約がないと事実上無理です。二年前にここを使おうとした時、二週間前に取ろうとして無理でした。どのみちこのブログに書いてしまったので、もうOSCの時に宮武に行くのは無理かも知れません。

一日目はまっすぐ帰宅して、それから賽銭箱に穴を開けはじめました。完全にアホです。

二日目(mikutter展示当日)

展示

mikutterの薄い本vol.10。このOSC Kyotoが最初の頒布となった

Macの後ろに賽銭箱が見える。大きなディスプレイは賽銭箱の画面
準備の節で書いた賽銭箱の工作を一日目の夜だけで終え、なんとか展示まで漕ぎ着けました。
置いてあるリモコンが異彩を放っていますね。Raspberry Piは音を鳴らすのが若干面倒だったので、ポケットミクで通知を再生するプラグインを使いました。

また、シールについてはレアなものは仕舞っていました。今後も配ることがあるかも知れませんが、もう在庫もないので、今から手に入れるのはどっちみち難しいでしょう。シールといえば、何故かmikutterブースの近くでドイツのトリグッズが闇取引されているのを何度か見かけました。あれはなんだったんでしょうね。実は俺もガツンと言ってやらなければと思って、ドイツのトリシールをカツアゲしたと思うんですが(曖昧)、なくしました。スタンプはちゃんとあります。
ドイツのトリはmikutterと関係が深く、mikutterに興味がある人間とドイツのトリに興味がある人間が被っていることは想像に難くありません。mikutterブースの近くでこういう闇取引が行われたのも必然だったといえましょう。

セミナー

mikutter会議2016と銘打った割には内容を考えてなかったのでどうしようかと思いましたが、mikutterの構想段階からの夢のひとつがついに3.5で叶うことになるだろう、ということで、それについての話をしてきました。詳しく書きたいですが、流石に別の記事に分けたほうが良いと思うので、mikutter 3.5の新機能について記事を書くときまでお預けとしておきます。

いつもふぁぼられを集計していましたが、今回は3人ほどのふぁぼ魔にガチで殴られたものの、デモ中にはふぁぼられなかったのでなんとも平和でした。ふぁぼ魔自体が減り、皆東京に行ったことで、かつてのように目の前でふぁぼ爆撃をされるという感じでも無くなってきました。それでも、セミナー中にふぁぼられているのを見てみんな笑っていたので、俺の感覚が麻痺しているだけなのかも知れません。

人数に関しては、mikutterユーザの推移も頭打ちになったので、むしろ減るのではないかと思っていたのですが、特に減ったようには思いませんでした。内容に関しても、話したいことを話せたし良かったです。スライドの公開予定はないですが、mikutterのアイコンなどのデザインを手掛けるそらまめ先生が今回のスライドのために数枚絵を描いてくださったので、近いうちに何らかの形で公開する予定でいます。

反省

今回はわりとうまくやったかなーと思いましたが、大幅な体力の低下を感じずにはいられませんでした。資料の作成もなかなか進みませんでした。たぶん1ヶ月前からやらず、2ヶ月前くらいからやっていればよかったのかな。絶対やらないと思う。おかげでその後はめっちゃ燃え尽きていて、今日までまとめが書けなかった。

こういうのは1度の負担を減らすというよりはちょくちょくやってノウハウを溜めていって一度の負担を減らしていくのが良いと思うんだけど、なんやかんやmikutterは隔年になってしまっているので、知見を蓄積できていない感じがある。要するにもっとやろうかなと思いました。

mikutter自体の開発は、OSCの準備によって活発になったわけでもなく、かといって疎かになったようにも思わなかった(リリースはなかったが、開発ブランチでいろいろ作業してました)。両方が上手く噛み合っている感じで良いですね。HPは0になったけどMPはチャージできたので満足でした。

mikutter関連のイベントとしては、次は秋のOSC Tokyoへの出展が濃厚ですが、詳細については上記の反省を踏まえてふぇのまーさんと現在調整中です(京都に来た時に、OSC東京について一言交わしただけ)。やるならやるで早く決めないとまた準備が大変になってしまうゾ〜

2016年7月30日土曜日

#mikutter 3.3.11, 3.4.2

  • 3.3.11
    • UserStreamのコネクションが不安定な時に負荷がかかっている
      • delayer-deferred 1.0.4以降の使用を強制。
  • 3.4.2
    • 言語ファイル更新
      • zh_TW
      • 還沈緬於過去的榮光嗎?
    • コメント付きリツイートの引用元をクリックした時、設定に関わらず会話スレッドも開いてしまう
    • READMEが古すぎて草
    • 新たな画像配信サービスに対応
      • いらすとや
    • 外部ブラウザの起動に失敗した時に、エラー内容を詳細に出力する
    • fragment構成中のエラーを詳細に出力する
予告通り、3.3系のサポートを試験的に続けます。今月は更新全然できてませんでしたが、8月からはかなりゆったりしてるので、mikutterのバグフィックスや開発に時間を割くつもりです。PS4買うことになって金もないから遊びに行くのは厳しいし、なによりOSCのおかげでモチベーションが上がったので。

OSC Kyoto 2016お疲れ様でした。詳しいまとめはまた書きますが、おかげさまで今回も大成功でした。
そりでわ、無限に練りをしまつ。ぽやしみ〜

2016年6月18日土曜日

mikutter 3.4.1

  • 自分自身をリツイートできる
  • 「D mikutter_bot」のようなフォーマットを無視し、クリックしてもプロフィールを開かない
    • 誤検出が多かった
    • 今となってはこの形式は利用されていない
    • ただ、ツイートを上記のような形式で始めるとDMになるのは今までどおり。これはTwitterサーバにそういう機能があるため
    • それに伴って、ActivityのDM通知テキストが変更された(翻訳頼むやで)
  • 翻訳
    • zh_TW
    • en
現在フィリスのアトリエを予約するにあたって、PS4を買うかVitaでそのままやるか迷っています。Vitaだと画面も小さいし、首が疲れるじゃないですか。私はトトリのアトリエからの新参ですが、その代わりそれ以降はわりとやりこんでいるので、買う価値はあると思うんですよね。しかし一番上のやつは3万超えるので、PS4も同時に買うとなるとちょっと勇気がいる値段なんですよね。どっちみち外でもやりたいからクロスセーブしてVitaの通常版も買うと思うんですが…。

それとこれは余分な話なのですが、オープンソースカンファレンス2016 Kyotoに、「mikutter」がブース展示をすることになりました。また、当日はセミナー「mikutter会議2016」も開催されることになっています。mikutter開発者のお話を拝聴できる貴重な機会です。当日は貴重な時間をドブに捨てる覚悟でいらしてください。

あ、そうそう、今回からはバグフィックスリリースでもこれ載せようと思ってたんですよ

$ git log --format="%an" 3.3.0..3.4.0 | sort | uniq
Toshiaki Asai

我〜w

2016年6月11日土曜日

mikutter 3.4

mikutter 3.4をリリースします。今回は、UI周りの改善がメインです。

  • ライブラリ
    • Pluggaloid 1.1
  • ツイートを開く機能
  • プロフィール
    • UIのブラッシュアップ
  • リプライ表示の設定が大幅に増えた
  • コメント付きリツイート表示の設定が大幅に増えた
  • 動画リンクをクリックすると、サムネイル画像しか閲覧できない問題を修正
  • Ruby 2.0のサポートを終了。Ruby 2.1以降を利用する。
  • Cairo::SubPartsMessageBase
    • リプライ、コメント付きリツイートに使われる、ツイート内にツイートを表示する機能。サードパーティプラグインから利用できる
  • プラグインの依存関係グラフをmikutterコード上から利用できるようになった
  • プラグインの依存関係をdotファイルに書き出せるようになった

詳細な新機能の情報は以下を参照してください。

http://mikutter.blogspot.jp/2016/04/mikutter-34.html

翻訳もお待ちしています。

https://www.transifex.com/lindwurm/mikutter

皆さんのcommitで成り立っています 感謝
$ git log --format="%an" 3.3.0..3.4.0 | sort | uniq

  • EbiflyBB
  • Osamu Koga
  • Toshiaki Asai
  • moguno
  • trorornmn $

mikutter 3.3について

ここ数年は最新版しかバグフィックスをしませんでしたが、既に3.3.11のリリースを予定しています。互換性が高いので基本的には最新のmikutterを使うということで問題はないと思いますが、今回は試験的に1ヶ月から3ヶ月程度、mikutter 3.3のバグフィックスも行っていく予定です。ユーザのメリットよりは開発の負担を知りたいという目論見なので、コレを見ているみんなは素直に3.4を使いましょう。

2016年5月29日日曜日

#mikutter 3.4.0-alpha3


  • リプライ・コメント付きリツイートをクリックした時に発生させるイベントを選択させる
  • リプライ・コメント付きリツイートの設定の組み合わせによっては、ツイートの表示域が不必要に大きくとられる

今あひる焼き合宿してるんですよ。
いやー、部屋が広くていいですね。でもちょっと蚊が飛んでる。
あと、開発環境はちゃんとラップトップでもパフォーマンス出せるように予め設定しておかないとダメですね。トラックボール持ってきたのは良かった。

2016年5月22日日曜日

#mikutter 3.4.0-alpha2


  • カスタムrakeタスクを設置する場所
    • tasks/以下に置けばRakefileからロードされる。再配布などに使えるかも
  • 言語ファイルを更新
クラッシュレポートも特に届いてないので、βリリース程度には安定していると思います。1週間何もやることがなかったらalphaというのを取りますが、5月中はβリリースを行わない予定です。

それはそうと5/28はOSC 2016 Nagoyaに遊びに行く予定です。mikutterは日本NetBSDユーザーグループという名前で出展していまぬ。シールやお菓子などが展示されている予定です。あんまり嘘ばかり書くと怒られそうなのでこのへんで。

翻訳もありがとうございます。主に英語と中国語(zh_TW)が進んだようです。まだ英語が全部終わってなかったりするようなので、引き続きよろしくお願いします。

2016年5月16日月曜日

#mikutter 3.4.0-alpha1

ついにmikutter 3.4不安定版のalphaリリースです(?)

機能の詳細はmikutter 3.4の新機能を見ていただいてもいいですが、一番良いのは自分で起動することです。gitでは release/3.4 ブランチですし、私のリリーススクリプトが勝手にtarballを作ってくれたので、それを利用する手も無いこともないです。

mikutter 3.4 残チケットなど

翻訳もお願いします。実はまだ言語ファイルアップできてません。許してちょ

3.3からは、貢献者の名前を記事に掲載しています。バグ報告をして徳を高めよう。
バグ報告は集中すると思うので、Twitterではなく、Redmineにお願いします。パッチがある報告はいいぞ