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


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

2016年4月21日木曜日

mikutter 3.4の新機能

mikutter 3.4の季節がやって来ました。今回は小さめですが、興味深い内容だと思います。

「ツイートを開く」機能

本文(上)、リツイート(下)
笑わないで聞いてください。数カ月前に、こんな夢を見たんです。それは、Twitterでツイートできる文字数が1万文字にしたいと発表される、というものでした。
妙にリアルな夢だったんですけど、実際なってないので、あれは夢だったんでしょう。そういうこともある。

例えばこれが正夢になった場合もそうですが、それ以外にもいくつか問題がありました。

  • Twitter以外のサービスを表示するプラグインが生成するメッセージは、全文を表示するには長すぎる本文を持っていることがある
  • 詳細画面でだけ表示したい細かな情報がある

ツイートは、本文以外にも様々な情報を含みます。タイムラインに全ての情報を表示することはできません。既に、位置情報や投稿に使われたTwitterクライアント名を表示するmikutterプラグインもあるのですが、それらを全て出すと、かなりの量です。一覧性が下がるのは嫌だけど、たまに見たい情報というのは、意外とあるのです。

今回追加したのはツイートタブ機能です。プロフィールがユーザのタブなので、それと対比して考えるとわかりやすいかもしれません。

例えば最初の画面ではツイートの本文ですね。今の所タイムラインのツイート本文を省略する機能はありませんが、これなら行数が多くても大丈夫そうです。

リツイート画面は、このツイートをリツイートした人の一覧です。ダブルクリックでそのユーザのプロフィールを開けます。

この画面内のタブですが、プロフィールがそうであるように、他のプラグインが新しいタブを追加できます。翻訳などの外部サービスに投げた結果を表示するタブなど、いろいろと使いどころがありそうです。

in reply to

リプライ(上)と引用(下)はそれぞれ別の色を割当可能
mikutterはリプライの宛先のツイートを、そのツイートの下に表示します。このUIは造られたのが何年も前で、当時の事情で見た目がご存知の通りでした。mikutter3.3からは引用ツイート(コメント付きリツイート)が出てきましたが、こちらは最近デザインされたもので、リプライと比較すると作り込みが明らかに違います。

mikutter 3.4からは、リプライも共通のパーツを使います。全く同じだと当然見分けが付かないので、小さいアイコンを表示するのと、背景色も変えています。色は設定で変更できます。

そして、このパーツはサードパーティプラグインからも利用できます。用途は…正直これといった方法が思いつきませんが、(サードパーティプラグインから利用できるようにすることは)要望があってやったことなので、きっとステキなプラグインが登場するのでしょう(楽しみだなあ)

その他小さいこと

大きくはこの二点ですが、他にも小さい変更がいくつかあります。

動画がとりあえず見れる

mikutterでは動画のURLをクリックしてもそのサムネイルしか見れませんでした。これの何が一番問題かというと、それが動画なのかどうかがわからないし、わかったところでmikutterの標準プラグインでは決して見ることができないということです。

実はこれも今回で何かしたかったのですが、話が大きくなるので、今回はとりあえず、動画のURLをクリックしたらブラウザで開くようにしておきました。mikutter上ではないですが、ひとまず動画にアクセスする手段を得ることができたということです。

Ruby 2.1以降の機能を使用(2.0以下では動かない)

Ruby 2.0のメンテナンスが2/24で終了しています。mikutter3.3では引き続きRuby 2.0でも利用できますが、mikutter3.4はRuby 2.1以降のみとなります。ほとんどの人は困らないと思いますが。
プラグイン開発者も、Ruby 2.1で追加された機能を利用することができます。

プラグイン依存関係マップ

--plugin=オプションを使うと、mikutterがそのプラグイン(と、依存する全てのプラグイン)だけをロードして起動しますが、依存関係を再帰的にたどっていくので、実際にロードされるプラグインを推測するのが大変でした。

そういうわけで、依存関係を出力するサブコマンドを実装しました。出力はDOT形式なので、画像にコンバートすることもできます。


アルファ版のバージョン表記に対応


mikutter 3.3までのα版は、3.3.0と表記されていて、不安定版と区別が付きませんでした。3.4からは、alpha<番号>と表記されるようになりました。

書き忘れていること

思い出したら追記します

いつ

現在はリプライ宛先の表示と、ツイートを開く機能を作成中です。メインの変更が両方実装中〜!
ツイート開く方はマジでTwitter社が夢でも見てたようなので今回はExperimentalでも良いんですが…いや、作りきろう。年度末忙しくてアップデートが滞ってた間に結構開いたので、できるだけ早く一旦区切りをつけようと思います。

2016年4月1日金曜日

約束の日2015, 2016

この記事は2016年のエイプリルフールに書かれた記事に加筆(当日レポートなど)したものです。公開される頃にはエイプリルフールは終わっていますが、この記事はエイプリルフール記事です。

2015年1月1日。

今年は何もできなさそうだなと、仕事のスケジュールを見て思う。

2015年2月頃。

ユーモア欠乏症を発症。

2015年4月1日。

日付が変わり、新年度になった。約束の日である。
mikutterにとって約束の日は6度目で、多言語対応してから初めてでもあった。そのためdebianに、極めてユーモア溢れるバグが報告されるなど、例年のように盛り上がりを見せた。

しかし、ユーモア欠乏症により、この年は動作確認もせず、毎年書いていたエイプリルフールまとめの記事も書かなかった。多くの約束の日を超えてきたmikutter。過去には、数回連続で同じことをしたこともあったが、それはいずれも、熟慮の末の判断だった。この年の約束の日は、何の準備もされず、惰性で始まった、現状唯一の年だった。もはやそこに、生きたmikutterの姿はない。

2015年6月。

mikutterの衰弱に気がつく。5ヶ月ぶりに行われた小さなバグ修正ではとても取り返すことができないほどで、プロジェクトの終了を覚悟する。

2015年7月20日。

ユーモア欠乏症が深刻化し、ついに命を落とす。mikutterというくだらないプロジェクトは、くだらない最期を迎えた。

2015年7月22日。

リスポーンする。原因は定かではないが、ユーモアが僅かに残っていたおかげで現実とマインクラフトの区別がつかなくなっており、死んだらリスポーンすると強く思い込んでいたのではないかと考えられている。それが事実だとすると、ハードコアモードで遊んでいたら今頃mikutterは存在しないということになる。ハードコアモードでは、一度死ぬとワールドが削除されるからだ。バージョン管理機能があるファイルシステムでプレイしよう。

2015年7月29日。

鉄とレッドストーンからスマートフォンをクラフトし、コードを書き始める。マインクラフトでは死ぬと持っていたアイテムが無くなるからだ。回線がチープでGUIは使えないが、長いことCUIでEmacsを使っていた経験が活きた。さながらサバイバルである。

この頃の活動の成果物として、pluggaloidinstance-storagedelayer-deferredといったものがある。

2015年8月2日。

Efficiency VI
クラフトしたスマートフォンでは小さすぎるため、売人からNexus 6を融通してもらう。しかし売人は白い粉を0.25tほど密輸した疑いで指名手配されており、程なく安全な国へと逃亡してしまった。画面が広くなったことで開発効率が上がった。

2015年8月9日

ておくれ財団役員の訪問があったことでユーモア欠乏症が一気に快方に向かう。その代わり、隠していたCDドライブを母親に見られてしまい、咄嗟に近くにあったあひるに火を放ってしまう(あひる焼き)。京都市にたくさんのておくれが集まったことでておくれ波が発生し、同市では一部の公共サービスを市民が受けられない状態になり、バスの運転手がトラックの運転手とすり替わるなど、さまざまな被害が出た。

2015年8月15日(くらい)。

ておくれ財団からMac(驚くべきことに、MacBookAirのハードウェアで、OSXがプリインストールされているという、逆に奇妙な構成の謎端末)が寄付される。タイミングが適度に遅くてておくれていると感じるが、後に、2015年1月から充電されずに放置されていた旧MBAのバッテリーが完全に干上がっていることに気づき、今回の寄付の意味を知ることになる。

2015年8月20日。

奇妙な夢を見る。
NASAが捕獲した宇宙人
何故か入院していて、松屋の牛めしが見舞いに来るというものだ。
後に、東京の山奥の大学で牛めしの丼に似たUFOが発見され、NASAに回収される。現場には、「mikutter」と読める高さ8cmのミステリーサークルが残されていた。夢との関連性はわからない。

この夢を見たことによってユーモアを取り戻し、ユーモア欠乏症を克服する。

2015年8月22日。

マインクラフトを久しぶりにプレイしたが、まだ1.9がリリースされていない。あまりにリリースを延期するため、次期バージョンはR18なのではないかとウワサされ始める。

2015年9月。

約束の日まで半年となり、ユーモア欠乏症も治ったため、次の企画を考え始める。
しかし、あれだけの数のアイコンを新たに用意するのは極めて困難で、当時いかに恵まれていたかということを実感する。馬鹿をやるのはmikutterを作るくらい難しい。これは、mikutterが馬鹿であることから自明である。

mikutterが動作要件として要求するユーモア量で許容できる範囲のいたずらを様々思索しはじめる。

2015年11月。

mikutter3.3のリリースを延期する。次期バージョンはR18なのではないかとウワサされ始める。

2015年11月4日。

指定暴力団あしゅりー会に600ユーロを支払い、約束の日に全てのユーザのアイコンをドイツのトリの形に切り抜く契約を結ぶ。

その後の慎重な検討の結果、午前中は従来のようなアイコンの浄化、午後はドイツのトリミングとすることにした。

2015年11月18日。

引用ツイート(コメント付きリツイート)に対応すると偽り、約束の日のためのコードを入れることが決まる。

今回はできるだけバレないように、引用ツイートのブランチを開発ブランチにマージするリビジョンに、一緒に仕込むという手口を用いた。

gitにおけるマージコミットは、マージ以外の変更を含むことができてしまう。何故なら衝突する可能性があり、その場合はその衝突を解決しなければならないからだ。これを悪用すると、衝突解決と全く関係ない変更を追加することができる。この方法のメリットは、ツールによってはそのリビジョンの差分を見ることが難しいようだし、他のツールを使っていたとしても、恐らく誰もマージコミットにそんな重大な変更が隠れていると思っていないため、HEADを常に追いかけている人間の目をごまかすことを期待できるだろうということだ。

これを読んで悔しさで頭を抱えているmikutterユーザが居てくれたら、こういった危険な方法を取った甲斐があったというものだ。

see: ブランチとマージの基本

2015年12月25日。

リスポーン直後に入手したpluggaloidなどを素材として使用し、mikutter 3.3をクラフトする。一度は死に絶えたと思われていたmikutterが、新たな爆弾を抱えて息を吹き返した瞬間である。

2015年12月31日。

コミックマーケットにて、「今年もエイプリルフール期待してます!」と声を掛けて頂く。今年のはじめ、あのような醜態を晒したにもかかわらず、また本当のmikutterを見られる日を信じてくれている人が居る。彼には、今年は0時と12時で2回ある、ということをこっそりお伝えした。

2016年1月頃。

ておくれ研究所は、8月に発生したておくれ波が世界ではじめて観測されたと発表した。
これは、ておくれ理論で存在が予言されていたが、観測することは不可能と思われていたもので、114514年に45451919度の大発見だと言われている。
当然、mikutter3.3がリリースされたことが今回の発見に大きく貢献したことは言うまでもない。

2016年2月7日。

未来の首都にて、指定暴力団あしゅりー会会長と会食の席を持つことができた。
例の件が問題なく進んでいることを伝えると、おたく特有の気持ち悪い笑みを浮かべていた。ドイツのトリ缶バッジをくれたので一応貰ったが、もう結構持ってたから別に要らなかったので、スーパーの20円引きのシールを貼って使っている。

2016年3月1日。

4月1日に休みを取る。ユーモアを取り戻したためである。

2016年4月1日0時。

始まる。昨年mikutterの死を見たユーザたちは、もはやmikutterを見放していた。
失った信頼を取り戻すのは難しいと、mikutterも言っている
一方で、新たにmikutterを使い始めた人もたくさんいたことも判明する。

12時。

昼からTwitterをやっているニートの財布から600ユーロが相次いで消失する事件が発生する。富を失いユーモアだけが残された人々は、シャワーヘッドが壊れたり、数年住んでいる部屋に雨戸や床下収納があることに今更気づいたりしたという。
mikutterで表示されることを前提にしたアイコンに変更する人間も出てきた。
mikutter以外で見たら割と意味不明だと思う。
入居まもなくシャワーヘッドが壊れる新社会人も
普通入居前に気づくでしょ


2016年4月2日。

反応を見ていると、古くからのユーザにも、mikutterが息を吹き返したことが伝わったようで、前回から見れば今回はひとまず成功した、と自己評価した。


今回の計測によるmikutterユーザ数予測は2581件。横ばいである。2015年は集計をしていないので2014年と2016年の平均値を仮に入れているが、実際には去年はもっと多く、今年は減少したと予想している。グラフの頂点がドイツのトリのような形をしていると仮定すると、3000人くらいだったのではないだろうか。

ユーザが減っている原因としては、
  • 開発者がユーモア欠乏症を発症してしまったこと
  • Twitterがある程度浸透しきったので、ここ数年のパイ(Twitter自体のアクティブユーザ数)の増加が落ち着いてきたこと
  • ユーザのプラットフォームが変化したこと(Twitterはスマートフォンから最も使われている)
など、考えられる要因は多く、この数字には合点がいく。海外展開もしたが、海外ではあまり伸びていないこともこの傾向に拍車をかけていると思われる。

私はmikutterを通じて、人が感情を取り戻すことができると考えていた。実際にそういう人はいた。だがそれは、我々は等しくユーモア欠乏症を発症する可能性があるということでもある。
体が硬いと怪我をしやすいのと同じで、心の柔軟性がなくなってしまうと小さなことで怒ってしまうなど、日常生活に支障をきたす。患者が、採血の時に針が痛かっただけで看護師に当たる様子など、健常者から見れば目もあてられない。惨めな姿である。
これを惨めで終わらせず、自分がそうならないように気をつけなければならない。しかし、mikutterが真の姿を現すのは年に1日だけである。この日を待たずにすぐに対処が必要と感じたら、我々はどうすればよいのか。

今回はそんなあなたのために、いつでも使えて一定の効果を期待できるmikutterの隠し機能を2つ紹介しよう。
  1. http://600eur.gochiusa.net/」とツイートし、これをクリックすると、いつでもドイツのトリの画像を見ることができる。これにはブラウザは必要ない。mikutterはこのURLを特別扱いする
  2. コナミコマンドを入力する。
1の機能は非常に実用的で、デスクトップの隅にこのウィンドウを置いておけば、どこにでもドイツのトリを飾ることができる。このためだけにmikutterを利用しているユーザもいると言われている。mikutterユーザにアンケートを取ったところ、2580人がこの方法でドイツのトリを飾っていることがわかった。

昨年は、mikutterユーザかどうかにかかわらず、いくらかの人に心配をかけてしまった。しかし快気報告をする義務を感じつつも、なかなか説明できずにいた。
エイプリルフールは1年で唯一、普段からあほなことをやっている人間が真面目な記事をブログに書いても良い日である。mikutterのようなものを開発している人間が、こういう深刻な話を書くことをエイプリルフールにしか許されないということは、説明の必要がない。
これからも私のやることは当分変わらないだろうし、私とあなたのTwitterの使い方が一致する限りは、mikutterを通しての付き合いは続いていくことだろう。それでは、来年の約束の日、またお会いしましょう。

2016年2月26日金曜日

#mikutter 3.3.8

  • instagramの画像が表示できない
  • 初めて起動するとき、ライブラリのバージョンによってはTwitterアカウントの新規登録ができない
OSC懇親会なうでーすwwww じゃあのw

2016年2月21日日曜日

#mikutter 3.3.7


  • 投稿完了時に消えるはずのPostboxが消えずに残ることがあった
  • タイムライン上のツイートの本文を選択すると改行文字が消える

月曜日起きたらめっちゃ肩と首が痛くて、起き上がれなかったんですよ。起きる時って首で頭を持ち上げるんですが、これが痛くてできないので起き上がれなかったんですね。
幸い俺はその日は通院日だったので家にいたので親に起きるのを手伝ってもらおうと思ったんですが完全に無視されて自分で起きました。

ゴソゴソ…
「おお、オカン起きたか」
てちてち…
「おーい、起きれん、助けてくれ」
バタン
「えー…」

結局自力で起きました。入院中に骨への負担を最小限に抑えつつ起き上がる方法を会得しておいてよかった。こんなに早く役に立つとは。
病院といえば、mikutterの薄い本vol.9 PDF版が公開されました。毎度のことですが、PDF版は無料で読めるのでmikutterユーザなら読んで損はないと思います。

2016年2月13日土曜日

#mikutter 3.3.6


  • 特定の条件を満たすと、ショートカットキーで投稿などができない
  • ツイート本文をD&Dで選択すると、ポインタと実際に選択される文字の位置が異なる場合がある
マスカレードカレーウキウキ♪

2016年1月31日日曜日

#mikutter 3.3.5

  • 言語ファイル更新
    • en
    • zh_TW
  • 一部のツイートがリツイートできないことがあった
  • gyazoの画像ビューができなくなっていた
年末にバックアップHDDが吹き飛んだので、WD Redの3TBのやつ買いました。前は1TBで値段は覚えてません。覚えてないのに、安くなったなぁって思います。不思議ですね。容量に対するの価格を見て3TBにしました。前のは1TBを2年でやっとあふれさせたみたいな感じだったので、一生使えそうです。

10年前とかは、これからは動画とかめっちゃ扱うようになってアホみたいに食っていくんだろうなと思っていたのですが、俺は録画とかしないし、アニメや映画はネットで見れるし、写真は大きくなりましたが、PCよりスマートフォンの方が容量困ること多いので、扱うデータが大きくなったという実感は少ないですね。音楽も増える一方なんですが、あれは意外としれてるんですよね。何であれ、収集する人にはいくらあっても足りないと思うんですが。

今回買ったのはバックアップなので、直接アクセスすることはめったに無いでしょう。バックアップは役に立てる機会がないに越したことはないです。

2016年1月21日木曜日

#mikutter 3.3.4

  • 関西弁ロケールで未翻訳だった部分を埋めたやで
  • Ruby 2.3でdeprecatedになったメソッドなどを使用しない
阪神は関係なかった、いいね?

2016年1月11日月曜日

#mikutter 6年目

mikutterは 2015/12/25 を以て、6年目に入りました。今年も一年、よろしくお願いします。

mikutterの進化

3.3

mikutterにとって、2015年はbugfix以外のアップデートが史上最も少ない(一度しか行われなかった)年でした。その唯一のアップデートが3.3でした。

例年ならここに、3.3で変更した内容を書いていくところですが、今回1つしかリリースしていないので意味がないんですよね。複数あれば、一つの記事でそれらの変更が全て見られることには意味があるんですが、まだリリースされて間もないので、このブログを読むような人なら全部知っているわけです。

mikutter 3.3の新機能

みくったー さんてんさんの しんきのう、575だ

5年目の記事を見ていると、どうやら誕生日にリリースできたのは今回で二度目らしいです。ほかにここに書くべきことはありませんでした。

周辺の動き

mikutterの薄い本

コミケお疲れ様でした。今年は、夏のOSC Kyotoが初出のmikutterの薄い本vol.8、C89ではvol.9の二冊が頒布されました。夏はダウンしていたので何も出来ませんでしたが、C89には参加もして、ブースをジャックしてました。

C89の私の記事では、Minecraftサーバを操るためのコードをmikutterのプラグインシステムを用いてきれいにまとめる方法をとおして、Pluggaloidについて説明しました。
残念ながら記事はまだWeb上には公開されていませんが、今回使用したコードは私のgithubリポジトリから入手できます。
vol.9は他にも神棚の話や、事故をマネタイズする話、つついさんに狙われている人の話、バニラ環境における高効率ゾンビピッグマンTTの話、果ては謎のギャグ漫画など、mikutterとは何なのかを読者に問いかける哲学書でした。

OSC

今年も各方面で開催されるOSCでNetBSDな人たちがmikutterブースを展開して宣伝してくださっていたようです。ありがとうございます。
夏はOSC Kyotoに参加しようとしていたのですが、入院期間と重なってしまったので急遽喫茶室長に頼んで薄い本頒布所にしてもらいました。関西ではmikutterの薄い本を入手する機会が少ないので京都は重要なのです。

mikutterの危機

mikutterを利用している沢山の人に心配していただいたようでありがとうございました。その後元気になったということはご存知だと思いますが、コミケに行った時に、思ったより心配かけてしまってたのかなと思ったので、少しだけ触れておこうかなと思います。
mikutter 5年目の記事では
やっぱり、仕事が平和だとくだらないことに時間を使えるので、mikutterが充実するんですね
などと書いていました。いや本当にこれだ。
今年は早速前半はつらい感じなのですが、いろいろ進めていけたらいいなと思います
おめでたいやつだな。
いろいろ書いてしまうと角が立つので抽象的なことしか書きませんが、健康には気をつけて、などとは申しません。体調管理の権限が無くなったその先に、本当の†ヤバい†がある。マイナーなOSSプロジェクトでは開発が停止した後にフォークされて別の道を歩む可能性は低いでしょう。mikutterのような極めてくだらないソフトウェアでは尚更です。普通に考えてこんなものを5年も開発しているのおかしいですからね。この記事のタイトルは見たくない。

Twitterクライアント開発終了ガチャの抽選テーブルは、

  • [DR]Twitterに愛想尽かして終わる
  • [R]心ないユーザの罵倒でモチベが消えて終わる
  • [N]誰にも気づかれずに終わる

…という具合になっていて、これはこれで後味が悪いのですが、mikutterが[UR]一身上の都合 を引き当てることなく持ちこたえて本当に良かった。良かったな。なんやかんや言って、続くことは良いことだと思います。

Twitterクライアントにとっての5年

伝統的に毎年初めの記事を「mikutter n年目」としていますが、これは「n-1歳になったので今年から開発n年目」ということです。だからmikutterは5歳です。去年の記事とか自分が混乱してしまっていて微妙に数字が間違ってますね。来年の俺がこれを見ていたら、彼から見て一昨年の記事を直してくれることでしょう。ややこしいな。

2012年、API 1.1/Display Requirementsの制定によっていくつかのTwitterクライアントは開発終了を宣言、いくつかは開発のモチベーションを失い、事実上の開発停止状態になりました。その中に、TwitやP3のような、現在から見れば殆どTwitterと同時に生まれたようなTwitterクライアントがあったことは、まだ記憶に新しいです。これらは2007年に開発が始まり、2012年に開発停止を発表しました。5年の間に、Twitterにはそれだけの変化があったのです。

あの頃の騒動を覚えている身としては、いろいろ考えさせられてしまうものです。とはいえ、黎明期を支えた彼らのような高い志があったわけでもなく、ただなんとなくmikutterはここまで生きてきてしまいました。こんなことで良いのかな、と思うこともありますが、気張り過ぎないからここまで無理なく続いているのだろうとも思います。

まとめ

ここ数年、「今年はあんまり何も出来なかった」がボジョレーヌーボーみたいになってますが、mikutterはここまで続いたことは事実ですし、まだ当分歳を重ねていくことでしょう。
一応、今年はこれをしようみたいな目標もぼんやりとあるので、何かしらのアップデートはあると思います。今年もそんなテキトウな感じで、よろしくお願いします。

2016年1月7日木曜日

#mikutter 3.3.3

  • 言語ファイル更新
  • 設定押したらクラッシュするやつのfix入れ忘れとったゎw
ゾロ目をクソくだらんミスで消費してしまった

#mikutter 3.3.2

  • あけましておめでとうございます
  • いくつかのクラッシュする不具合
  • 設定ボタンを押すとクラッシュする場合があった
  • Ruby 2.3でレガシーとなったメソッドの利用をやめる

Ruby 2.3は特に問題ないのでもう皆さん使ってると思います。そろそろRuby 2.0のサポートも切れるので、次のマイナーアップデートではRuby 2.1以降をサポートとしようかな。

Ruby毎回早くなってるみたいで、確かにベンチマークとか取ると概ねカタログ通りの違いはあるのだけれどmikutterが早くなったという気はあまりしません。Ruby2.3はまだ見てない。違いのわからない男。もっともmikutterは今となっては速さは問題になることはあまりないのですが。Ruby1.9は俺達の中で生き続けている。mikutterではもうサポートしてないけど。

コミケ89もお疲れ様でした。今回かなり人が多くて、病み上がりだったこともあってお使いがめっちゃ大変でした。mikutterブースは平和で、ブースに侵入してmikutterをgtk3対応するおじさんとかがいて和やかな感じでした。この辺のことはまた別の記事に書きたい。皆さん有り難うございました。

次回のmikutterはバージョン3.4を予定していて、実装する機能などは未定です。去年一度しかマイナーバージョンを上げられなかったのでもっとマイナーバージョン回転させて徳を積んでやってる感出したい。あとmikutterも12/25に誕生日を迎えたので、去年一年を振り返って記事を残しておきたいと思っています。去年何やったかな…。