mikutterの最新の情報は、mikutter blogに引っ越しました。

2017年1月9日月曜日

hatenablogに引っ越した

編集が大変とか、細かな問題がいくつかあったので、思い切ってはてなブログに引っ越しました。


今後、この「mikutter開発日記」は更新せず、「mikutter blog」に、リリースのお知らせなどを書いていきます。

今までmikutter開発日記は
  • リリースのお知らせ
  • アニバーサリー記事
  • プラグイン作成のテクニック
などを書いていたのですが、このうちプラグイン作成テクニックはwriting mikutter pluginにまとめることとし、主にリリース情報だけをmikutter blogに掲載することとします。

mikutter blogにはmikutter開発日記の記事を全て移行したのですが、リンクをちゃんと張り替えられてません。どちらにせよmikutter開発日記を消すつもりはないので、このブログはアーカイブとして残ることになると思います。

引っ越しして何か変わるわけではありませんが、これからもmikutter blogをよろしくお願いします。

2016年12月25日日曜日

#mikutter 3.5.0

alpha2からの変更点

  • 言語ファイル更新
  • TwitterからEntity情報が送られてこなかった時、URL等をクリックしても対応するコンテンツを開くことができない
  • ツイート詳細のタイムスタンプをクリックした時にクラッシュする
  • Ruby 2.1で起動するとクラッシュする

3.4からの変更点
mikutter 3.5の新機能

本日はmikutterの誕生日です。記念すべき日にmikutter 3.5という最高のアップデートが出来て嬉しく思います。
2016年を振り返るのはもう少し後にしますが、来年もmikutterをよろしくお願いします。

Thanks
% git log --format="%an" 3.4.0..3.5.0 | sort | uniq
EbiflyBB
Hiroshi Hatake
Osamu Koga
Toshiaki Asai


2016年12月19日月曜日

#mikutter 3.5.0-alpha2


  • continuationがdeprecateなどと警告が出ていた
  • mikutterコマンドのキーバインドを追加・変更しようとするとクラッシュする
  • 表示設定に関係ないModelの設定がたくさん表示されていたのを消した
  • Acitivtyにユーザを表示する時に、ユーザ名だけではなくスクリーンネームも併記する
  • ツイートに関するActivityでは、関連するリソースとしてツイートを投稿したユーザも表示する
  • ツイートに関するActivityでは、Activityの説明にツイートのパーマリンクを含めない
  • Reserverはタイムアウト時に不要なThreadを作らなくなった
まだバグフィックスより機能の変更が多いんだけど来週じゃないかなぁ。大丈夫なのかなぁ。

違うんですよ聞いてください(アルファツイッタラーの真似)、リアーネとイルちゃんに同時に

2016年12月11日日曜日

#mikutter 3.5.0-alpha1

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

変更点についてはmikutter3.5の新機能を見てください。

ソースコードはgitの release/3.5 ブランチの内容です。今回もtarballがありますが、alpha版は不具合修正の頻度が高いので、バグ報告をしてくれるつもりならば、alphaリリースされたtarballを使うよりHEAD使ってくれたほうが嬉しい…かな

mikutter 3.5 の残チケット

バグ報告は大量に来ることが予想されます。バグを見つけた場合はTwitterなどに書くのではなく、まずRedmineで検索して、なさそうならチケットを作成してください。

翻訳もお願いします。

Thanks

$ git log --format="%an" 3.4.0..3.5.0-alpha1 | sort | uniq
EbiflyBB
Hiroshi Hatake
Osamu Koga
Toshiaki Asai

2016年12月8日木曜日

mikutter 3.5の新機能

これが、3.5。

mikutterのお誕生日が近づいてきました。今年もmikutterの誕生日を記念してアドベントカレンダーをみんなで書いていますが、作者直々に初日に登録して頓挫させておきました。アドベントカレンダーを確認したら今日も書くことになっていたので、この記事を8日目の記事とします。

mikutter 3.5はおよそ7ヶ月?8ヶ月?ぶりのアップデートです。

Model
プラグインがModelを追加できるようになりました。それに伴って、mikutter上で扱われるリソースがwrapされ、扱いやすくなりました。

サードパーティプラグインのModel
独自のModelを追加できるようになりました。追加する方法は Writing mikutter Plugin に既に書かれています。

Message以外をTimelineに表示できる
タイムライン上に、ツイートを表わすMessage以外のModelを与えることができるようになりました。
mikutterではMessageのほかに、SystemMessage Modelが表示されます。

標準プラグインによって追加されるModel
以下のModelが新しく提供されます。
  • Plugin::Intent::IntentToken
  • Plugin::Intent::Intent
  • Plugin::Activity::Activity
  • Plugin::Openimg::Photo
  • Plugin::Search::Search
  • Plugin::Photo::Photo
  • Plugin::Skin::Image
  • Mikutter::System::User
  • Mikutter::System::Message
  • Mikutter::Twitter::DirectMessage
  • Plugin::Web::Web

MessageModelの変更
Message#icon で、ユーザのアイコンを表わすPhotoModelを取得できるようになりました(後述)。
Message#icon_large で、大きい方のアイコンを取得できます。

Photo
Twitterユーザのアイコン、タブのアイコン、スキンの画像、添付写真など、ありとあらゆる画像が Plugin::Photo::Photo を始めとしたPhotoModelのインスタンスとして取り扱われるようになり、場所によって画像のパスを指定したり、URLを指定したりとインターフェイスがバラバラだったのを統一しました。
(TODO: 説明を書く)

Plugin::Photo::Photo
PhotoModelは、こういうコードでURLに対応するインスタンスを得ることができます。

Plugin.filtering(:photo_filter, 'http://totori.dip.jp/totori_rtx1210_full2.jpg', [])[1].first

もちろん、ローカルファイルシステム上のパスも取り扱えます。

スキン
Skin['icon.png']

などと書くことで、SkinのImage Model(Plugin::Skin::Image) を得ることができるようになります。

DirectMessage
DirectMessageに対応するModelが用意され、MiraclePainterでタイムラインを使って描画されます。

mikutterコマンド
ツイートに対する全てのmikutterコマンドが利用でき、サードパーティプラグインによって追加されたtimelineロールのmikutterコマンドを利用できます。

URL
本文の中に現れるURLをクリックできるようになりました。

Subparts
MiraclePainterを拡張するサードパーティプラグインがインストールされている場合、それがDirectMessageでも利用できます。

Intent

URLをどういったプラグインで開くかを設定できるようになりました。標準では以下のことができるようになります。

  • Twitterのユーザページのリンクをクリック→ブラウザで開くか、mikutterでプロフィールを開くかを選択する
  • ツイートのパーマリンクをクリック→ブラウザで開くか、mikutterでツイートの詳細画面を開くかを選択する
  • Twitter検索のページのURLをクリック→ブラウザで開くか、mikutterでそのキーワードを検索するかを選択する
などなど。この選択は記憶させることもできますし、設定画面の「関連付け」で編集することもできます。

ツイートの詳細はmikutterでは開かず、必ずブラウザで開くといった設定も可能だったような気がします。

開く方法はプラグインで追加できます。例えばメールプラグインというのがあったとして、メール本文に含まれるTwitterのユーザページのURLをクリックした時に、ブラウザで開くのではなくmikutterの中でプロフィールを開くことができる、といった使い方を想定しています。


抽出タブ

データソースとしてDirectMessageを追加しました。複数のTwitterアカウントを登録している場合、全アカウントに関係するダイレクトメッセージの他に、各アカウントのダイレクトメッセージのみが含まれるデータソースが提供されます。

設定

タイムラインに表示されるModelに対して、その種類ごとに表示設定をできるようになります。

抽出タブを使ってツイートとDMを同じタブに表示しているが、表示設定が違うので見分けが付く

例えば、ツイートとDMにそれぞれ異なった背景色やフォントを設定できます。

mikutterコマンド

Intentを発行するための「開く」コマンドが追加されました。Intent機能をつかってそれを開くコマンドです。

ダブルクリックに割り当てておくといい感じです。

アクティビティ


Plugin#activityに名前付き引数 children: が追加されました。
Modelが入った配列を渡すことで、そのアクティビティが選択された時に関連するModelとして表示されます。

このリストに表示されているModelは、ダブルクリックするとIntentがそれを開きます。サードパーティプラグインが発生させた独自のアクティビティでも、関連するModelを開くことができるようになりました。

書き忘れていること

今回はボリュームが大きいのでいろいろありそうです。この記事は記録の意味もあるので、思い出したり変更があったりしたら追記していきます。

いつ

今回はmikutter 7年目となる 2016/12/25 の公開を目指して、現在ブラッシュアップを進めていますが、フィリスのアトリエが発売後の最初の年末ということを考えるとクオリティを気にしていたら間に合わ無さそうなので、12/25に出たalpha版をmikutter 3.5.0とします。

ぶっちゃけると、別にバージョン番号なんていうのはメンテされているアッピルのために対外的につけているだけで、ヘビーなmikutterユーザからしたら常にHEADを使っているわけだから、この記事なんかも「そんなことができるようになったのか!」ではなく「ああ、それねーそれそれ、二年前に飽きたわー」と思って見ているわけです。

古いというのは必ずしも悪いことではなく、リリースされたmikutterは、多少?バグが相対的に?少ない?かも?いや少なかったらいいなあー?あわよくば、バグが一つでも修正されているといいなーと僅かに期待できないこともない?という考え方もあるのです。これだけみんながドッグフードを食べたので、十分でしょう。

今回まとめていて、ああ、これもまだだったのか、と驚きながら書いていました。もっと細かくリリースすればよいだけの話ではあるんですが、クリスマスといわず、早く届けたいなーと思っています。今回は数年ぶりに満足にcommitできたので、何年ぶんか進んだような気がします。

特に今回は大きな変更となるので、そのぶんバグも多いはずです。怪しい挙動を見つけた場合にはツイートするのではなく、Redmineに書くようにしてください。それでは、mikutter3.5でお会いしましょう。

2016年11月27日日曜日

#mikutter 3.4.8

  • 3.4.8
    • gdk_pixbuf2 の変更の影響で、めっちゃdeprecated warningが出ていた問題を修正
      • 既に部分的に対応が終わっていたが、よりちゃんとした。
      • この変更によって gdk_pixbuf2 3.0.8などの古いバージョンで動かなくなっていたが、ある程度古いバージョンでも動くようにした
    • ruby-profが新しいと--profileオプションをつけるとクラッシュする
フィリスのアトリエは公認試験に合格してちょっとだけ進めたところです。
ゲームで試験ってどういう感じなのか、まあ大体予想していたんですがまさか実技試験(意味深)ってそういうやつだったとは…。あれはまずいですよ。
そしてそこから畳み掛けるような展開、まずいですね。
フィリスのアトリエをプレイすると、フィリスのアトリエだって思うんですよ。
とにかくまずいんですよ、フィリスのアトリエは。
何がまずいって、全てがまずいんですよ。フィリスのアトリエが誰でも買えてしまうこの世界はおかしい
あなたはフィリスのアトリエを買っていないかもしれないけれど、あなたとフィリスのアトリエは同じ時間に存在している
ああ、フィリスのアトリエなんだなあって。これ以外に表現できないんですよ
あいつも、こいつも、もしかしたらフィリスのアトリエをプレイしているのかも知れない
これは、フィリスのアトリエが発売する前には考えられなかったことです
大変だ、大変なところに来てしまった
コントローラーを持つ手が震える たまにコントローラーも震える
俺はフィリスのアトリエが怖いのかも知れない
フィリスのアトリエは、俺が思っている以上にフィリスのアトリエなんじゃないかと……。

2016年11月20日日曜日

#mikutter 3.3.14, 3.4.7

3.3.14

  • アカウント情報の暗号化に関する不具合
  • Extended Tweetsの、mentionに関する仕様を3.3.12の状態に戻した
    • 隠し設定で、3.3.13の状態に戻すこともできます

3.4.7
  • アカウント情報の暗号化に関する不具合
  • Extended Tweetsの、mentionに関する仕様を3.3.12の状態に戻した
    • 隠し設定で、3.3.13の状態に戻すこともできます
  • 画面に表示されていないタイムラインがツイートを開放しない
  • gtk2 3.1.0を利用
  • 言語ファイル更新
    • zh_TW
Twitterがリプライ先を書かなくてもよしなにやってくれるようになりましたが、サードパーティクライアントからではどうやっても予想できないケースがありました。他のクライアントはどうしてるのかなーといくつか見たら、ヘッダについては未対応のが多いんですよ。なのでmikutterでもこの変更をrevertして無かったことにしようと思いました。アップデートすることで、謎の巻き込みリプライ現象が改善されます。
ただ、mentionsの宛先に文字数が食われないのはありがたい人もいると思うので、設定で変更できるようにしました。隠し設定なのでUIはありません。どういうキーだったか忘れたなあ。

フィリスのアトリエはちょうどライゼンベルグについたところです。

2016年10月16日日曜日

#mikutter 3.4.6


  • 長時間ツイートを受信しなかった時にUserStreamコネクションがタイムアウトしてしまう(thanks @rhe__)
  • 「いいね」されるとクラッシュする(thanks @rhe__)
    • 「ふぁぼ」ではクラッシュしません。この意味がわかるな?
最近PCの音楽プレイヤーをmpdに変更したんですが、これがなかなか楽しいやつで気に入っています。クライアントサーバシステムになっていて、サーバ側は音楽の管理・再生、クライアント側は音楽一覧の閲覧や再生コントロールといった、要するにUIを担当するようになっています。音楽プレイヤーはUIが気に入らないとかで乗り換えることがあると思うんですが、mpdの場合はmpdクライアントだけを乗り換えることになります。プレイリストとかもサーバが持っているので、クライアントを乗り換えても引き継げるようです。

クライアントは別にひとつを使う必要はなくて、Awesomeから操作するときはluaスクリプトからmpcを呼び出したり、普段GUIで使うときはsonataとか、その時々によって使い分けることができます。また、クライアントとサーバはTCPで通信しているため、iOS、Androidのクライアントもあって、実際にベッドからmpdを操作することもできました。俺はベッドに入ってから、そういえばPCで音楽再生してたなあと気づいてまた起きるみたいなことが多かったので、iPhoneから再生・停止をコントロールできるだけで最高なんですが、プレイリストの編集すらできるなんて、便利ですね〜。

ただ欠点もあって、いろんなプラットフォームのクライアントがあるくせに、mikutterのクライアントが無いんですよ。このブログを見ているような皆さんであればmikutterで音楽再生とか、mikutterから音楽プレイヤーを操作とか普通にしてると思うんですが、mpdでは今のところできないんですね〜。

ぜひとも皆さんmpdを使って、mikutter 3.5の機能を使ったmpdクライアントを作成していただきたいですね!

2016年10月9日日曜日

#mikutter 3.4.5

  • 言語ファイル更新
  • tco: URL展開時にKernel.#timeoutを呼んでいて、Ruby2.3で警告が出ている
  • Net::ReadTimeoutの時にnoticeを発生させない
  • Gdk::Pixbuf.newがobsoleteになってるので利用をやめた
warning出ているやつを片付けただけともいう。あと3.4.4で新たに翻訳対象になった部分について、英語、ドイツ語あたりで翻訳されました。ありがとうございます。

あと一ヶ月切りましたね。何かって?そりゃあ前のリリース読めばわかるでしょう。
そう、フィリスのアトリエ(PC版は音が出ます注意)ですね。当初の予定であれば9/28に出ていたはずなのですが、そんなことをされていたらこのリリースはなかったでしょうから、mikutterにとっては良かったのかも知れません。俺は別に、どんなに延期されようが逃げないしいいんだけどね。尤もお金払ってしまっているのでマイクラ1.9みたいに1年とか伸ばされるとキツイですが。

ただ、11/2という日が問題で、フィリスのアトリエを受け取った直後に東京に行くことになるので我慢できるかどうか。オープンソースカンファレンスでセミナー枠を頂いているので、多少は準備しないとなあ。ま、5日、6日は東京でお会いしましょう。

2016年10月2日日曜日

#mikutter 3.3.13, 3.4.4

3.3.13

  • Extended Tweetに対応
  • PostBoxの処理でクラッシュすることがあった

3.4.4

  • 翻訳ファイルに反映されていなかった箇所があった

mikutterにおけるExtended Tweetとは

Twitterは、画像を添付したり、引用ツイートをした場合、そのURLを字数としてカウントしないなど、いくつかの変更を行いました。それがExtended Tweetです(詳しくは調べてね)。
実際に、ツイートを入力しながら残り文字数のカウントを見ていると、どういう風に字数がカウントされているかわかりやすいと思います。

これは思ったより大きな変更で、今までと全く同じような挙動にはできませんでした。具体的には、以下のような違いがあります。
  • リプライの時、「@a @b 」とかで始まっていると、その部分が字数としてカウントされなくなる。ただし字数としてカウントされないのはその会話スレッドに投稿者として存在するユーザだけで、関係ない人のscreen nameを入れたらそこだけカウントされる。
  • リプライ先のユーザのscreen name同士や本文との間のスペースは、いくつあったとしても1文字に短縮される。
  • 複数人へのリプライの場合、プレフィックスが入れ替わる可能性がある(Twitter側で挿入されるようになったため。例: 「@a @b foobar」→「@b @a foobar」)。
  • 実際に投稿した場合、意図しないユーザがリプライに巻き込まれてしまう可能性がある。例: 「@a @b foobar」→「@a @b @c foobar」
  • 本文がツイートのURLで終わっている場合は(引用)、最後の一つのURLに関しては字数にカウントされない。ただし、もぐのさんの mikutter-uwm-hommage 等で画像を添付した場合は、Twitter上では末尾のURLは23文字としてカウントされるのに、mikutterのUI上では字数にカウントされていないように見えてしまう。
  • mikutterの設定でツイートに自動的に挿入するフッタを設定していたら、本文の末尾がツイートのURLになっていても23文字としてカウントされる。
字数を完璧に測ることは不可能なので、mikutterの表示上字数オーバーしていても一応投稿できるようになってます(本当にオーバーしていたらTwitter側から弾かれる。その時は諦めよう)。

オープンソースカンファレンス2016 Tokyo/Fall

オープンソースカンファレンス2016Tokyo/Fall、mikutterとして出展することになりました。

今回は、セミナーも開催する予定なので、mikutterユーザのみんなは遊びに来よう。

2016年9月12日月曜日

#mikutter 3.3.12, 3.4.3

3.3.12

  • 環境変数 DISABLE_BUNDLER_SETUP に0を指定した時の挙動が間違っていた

3.4.3

  • Vineのサムネイル展開に対応
  • gtk2 3.0.9を利用
  • 言語ファイル更新
    • en
    • de
    • fr
Ruby 2.4-preview2がリリースされて、有志がmikutterの動作確認を行ってくれています。3.4.3ではまだ動作しないと思いますが、既にそれについては報告されていて、3.4.4では修正されるでしょう。

New committer

新しいcommitterとして @katsyoshi がjoinしました。
mikutter は未だに GTK2 を使用していますが、GTK3への移行作業を行う人出が足りておらず作業に着手できていませんでした。そんな中、彼がその作業をしたいと名乗りを上げてくれました。katsyoshiは、5年以上前からmikutterを使用しているユーザで、その間多くのcontributeをしてくれました。私が知る限り世界初のmikutterサードパーティプラグインであるtoshi_fav.rbを書いたのも彼です。一方で、そのプラグインを悪用して、5年もの間私の全てのツイートを自動ふぁぼしている危険人物でもあります。ずっと彼女を募集しているようなので、私からもよろしくお願いします。

Thanks

$ git log --format="%an" 3.4.2..3.4.3 | sort | uniq
EbiflyBB
Hiroshi Hatake
Toshiaki Asai

今回、 @JPRuehmann が、2014年あたりから翻訳者がいなかったドイツ語の翻訳の進捗を100%にしてくれました。ありがとうございます。
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にお願いします。パッチがある報告はいいぞ

#mikutter 3.3.10


  • Piaproの画像が表示されなくなっていた(thanks @Akkiesoft)
み、水戸〜!

2016年5月11日水曜日

#mikutter 3.3.9


  • 投稿関係でクラッシュすることがあった
み、ミク〜!