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

2011年10月12日水曜日

#mikutter 0.0.3.540

  • 0.0.3
    • Ubuntu 11.10 で起動しない問題
Ubuntuのリリース日をおもいっきり勘違いしていたので、焦ってやりました。
これ以前のバージョンをubuntu 11.10で起動するためには、Xの設定をいじる必要があります。
そういうことをいちいちしたくない人は、このバージョンを使いましょう。あと文章量が少ないのでリンクとか貼ってちょっとでも長くします。


mikutter 0.0.3は、ruby1.8でも起動はしますが、ruby1.9.2を推奨しています。
ubuntu 11.10では、以下のようなコマンドでインストールし

$ sudo apt-get install ruby1.9.1 ruby-gnome2 libnotify-bin

以下のようなコマンドで起動してください。

$ ruby1.9.1 mikutter.rb

環境によっては、rubyコマンドがruby1.8.7を指している場合があるので。

2011年10月10日月曜日

#mikutter 0.0.3.533, 0.0.4.534

  • 0.0.3
    • フッダを設定していると、Rubyコンソールから実行したコードにフッダがついて、Syntax Errorになる不具合
    • UIのアイコンが破損している時にクラッシュしないようにした
  • 0.0.4
    • 環境の要件を変更した
      以下に示すバージョンより古ければ今後起動することはできません。詳しくは後述
      • Ruby 1.9.2
      • Ruby GTK 1.0.0
    • Twitterリストのリアルタイム更新
      この為にStreaming APIを使用しています。次回のバージョンで、設定で無効にすることができるようになる予定です。
    • StreamingAPIをSSLを用いて接続するようになった
    • イベントキューの消化速度を変更できるようにした(今までは1.0)
      • 基本設定から変更できます。デフォルトでは全て0.1秒です。
    • Ruby1.8で起動しない不具合
Ubuntu 11.10の対応について

Ubuntu 11.10が10月24日にリリースされるようです(追記:13でした。でももう知らない)。Ubuntu 11.04では、Ruby1.9.2とRubyGtk1.0.0(Ruby1.9向け)がパッケージされています。
今までUbuntuのRubyGTKのバージョンは非常に古く、ライブラリのバグで頻繁にクラッシュしているというのはご存知の通りです。11.10からは新しいバージョンのライブラリが入るので、簡単に高速かつ安定した環境でmikutterを使えるようになると思います。
beta2では何故か起動しないらしいので、24日までには何とかします。
また、0.0.3のメンテナンスを10/23で打ち切り、新しいubuntuで0.0.4系のmikutterを使ってもらえるようにしたいと考えています。

Ruby1.8のサポートについて

現在、mikutterはRuby1.8で安定させることは不可能と考えており、これ以上サポートする予定もありません。上もそう言っているので、0.0.4.533からは、風評被害対策も兼ね、充分実用できるバージョンでしか起動しないようにしました。
要件に満たないバージョンを使っている場合、
  • 要件に合わせたバージョンに上げる(推奨)
  • --skip-version-check オプションをつけて起動する(非推奨)
  • 0.0.3系統を使う
の、いずれかの対策を取ってください。

0.0.4系では、今後積極的にRuby1.8で動作しない不具合を修正することはしませんが、パッチは受け付けます(Ruby1.9からの機能を使ってしまっている部分など)。
ただし、0.0.5からは、積極的にRuby1.9の新機能を使うので、そのようなパッチはrejectします。

2011年10月2日日曜日

#mikutter 0.0.3.522 0.0.4.522

0.0.3

  • アイコンキャッシュが削除されない不具合修正
  • TL更新時に稀にSegmentation Faultになっていた不具合修正


0.0.4

  • タイムラインのツイート表示が、プラグインでカスタマイズできるようになった
  • Streaming APIをSSLで接続するようにした
おひさしぶり!
今回は遂にSEGVを回避することが出来ました。これで、Ruby1.9.2とRubyGtk1.0.0でめっちゃ安定するはずです!
ubuntu 11.10までにダークマターも倒せるといいなぁヾ(@⌒ー⌒@)ノ

2011年9月30日金曜日

プラグインの新しい定義方法

前にプラグインを定義する方法を書いたんだけど、なかなか見た目が酷いものだったのでなんとかしようと思って、最近はもうちょっと情況が良くなってる。

例えば最近話題になってないDirectMessageのプラグインは、新しい書き方が使われてる。

今までは、Plugin.createで作ったプラグインオブジェクトにadd_eventメソッドとかで新しいイベントを定義してました。このせいで、mikutterのプラグインはかっこ悪いことになってました。

新しい形式では、Plugin.createがブロックを取れるようになっていて、プラグインオブジェクトのスコープでinstance_evalするようになりました。更にmethod_missingでイベントのフックがかけるので前回のプラグイン定義の記事のコードが

Module.new do
  plugin = Plugin.create(:myplugin)
  plugin.add_event(:update){ |service, messages|
    messages.each{ |m|
      puts m.to_s
    }
  }
  plugin.add_event(:mention){ |service, messages|
    messages.each{ |m|
      puts m.to_s
    }
  }
end

こうなります

Plugin.create(:myplugin) do
  onupdate do |service, messages|
    messages.each{ |m|
      puts m.to_s
    }
  end

  onmention do |service, messages|
    messages.each{ |m|
      puts m.to_s
    }
  end
end

当社比よくなった、これは人類にとっては小さな(ry

なにがよくなったかまとめると

  • いちいちPluginを変数に入れなくていい
  • Plugin.createがブロックを取るようになったので、外のスコープを汚さないための無名モジュールが消えた
  • イベントを定義するところが簡潔になった

とかかな。

どうなっているかというと、このコミットがされた時のdiffを見れば一目瞭然なんですけど、onかon_で始まるメソッドが呼ばれたら、その後ろをイベント名として、イベントを登録するようになってます。

on_が別に扱われてる理由は、long_name_eventみたいな名前のイベントを呼ぶとき、onlong_name_eventよりon_long_name_eventと書けたほうがバランスがいいからです。
同様に、filter_?でイベントフィルタ、hook_?でフックを登録できるようになっています。

やってること自体はRubyでは別に何ら特殊なことでもないし、こういう感じのもよく見かけますよね。漸く人並みになれました。

これは、0.0.4から使えます。万が一こうやって書かれたプラグインを0.0.3にインストールすると、何も起こりません。注意してください。


2011年9月21日水曜日

#mikutter 0.0.3.514, 0.0.4.514

  • 0.0.3.514
    • 規制されているときに誤ってPOSTしてしまった時に、設定した回数無駄にリトライしていた不具合
    • TwitterのREST APIが不安定なときに、大量にツイートなどの新着通知が発生してしまう場合がある
  • 0.0.4.514
    • DMの削除
      • とりあえず右クリックだけ
    • DM本文の自動改行するようにした
      • この修正のせいで、たまにDMの画面がチカチカしたり表示されなかったりする不具合があります
    • DMをやりとりしたユーザ一覧を、最後にやりとりした日時がより最近のものから順番に表示する
だいたいDM関連終わりましたね。
あとはアイコン付けて色つけて。あまりこれを細かく作り込もうとは思ってません(ロードマップにあるぶんはやるよ)。DMが扱えるようにしているだけなので、ね。もちろんパッチとかは大歓迎です。まーまだやってる途中なのであれだが。

あと次回のリリースはお休みします。お仕事忙しそうなので。下手するとその次も。流石にその次はできるんじゃないかな。どうなる俺、どうなるmikutter!


ヾ(@⌒ー⌒@)ノヾ(@⌒ー⌒@)ノヾ(@⌒ー⌒@)ノ


ところで、最近コミッタを増やしてもいいんじゃないかなと思ってます。
  • 俺よりRuby得意|プログラミングの才能ある奴(あほっぽい言い方だ)がコミットしたら品質あがるのでは
  • 単純に人数が複数人いたら開発速度あがるのでは
  • パッチよく送ってくれる人はそもそもコミットすればよいのでは
という思惑があるのですが、
  • ユニットテストが壊滅してるからせめて通るようにしてからにすべきでは
  • としぁさんの動きが鈍いのでは
  • そんな暇人いないのでは
  • バク報告ツールで上がってきた統計情報を共有する手段がない
という問題もあります。

こちらがある程度動けないとコミット権限上げるとかもできないので、考えてるだけなんだけどね。落ち着いたらなにかアクション起こす。
DMやってる間他のデバッグとかが止まるということがなくなったりするとうれしいかもね

2011年9月12日月曜日

#mikutter 0.0.4.505

追加
  • ダイレクトメッセージの対応開始
    • まだできてない
  • DM権限のないトークンの場合、認証画面を再度表示して認証させる
修正
  • はじめてmikutterを起動するとき、ウィンドウが出ず、認証できない
DMを一応使えるようにする試みをやってる最中。あと細かい並び替えとかそういうのが残っている
そしていろいろバグがでてきましたね

2011年9月4日日曜日

#mikutter 0.0.4.493


  • スクロールアニメーションを変更
ヾ(@⌒ー⌒@)ノなんかごめん
今週はなにか大きなことをします

あと、今回は0.0.3のリリースはありません