https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2018-05-21T04:05:38Z
やること
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3363
2018-05-21T04:05:38Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p><a class="external" href="https://github.com/yuntan/flathub/tree/mikutter">https://github.com/yuntan/flathub/tree/mikutter</a> で作業してます.ビルド方法はREADMEに書いたので試したい方はどうぞ.PREREQUISITEのバージョンを上げたりする手順は不要です.</p>
<p>3.6.0をビルドする設定になってますがあとで3.7.1に上げます.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3375
2018-05-21T18:05:35Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>3.7.1に更新しました.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3376
2018-05-21T18:31:13Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>FlatpakアプリはXDG Base Directory Specificationに従うのが原則となっているので( <a class="external" href="http://docs.flatpak.org/en/latest/conventions.html#xdg-base-directories">http://docs.flatpak.org/en/latest/conventions.html#xdg-base-directories</a> ), <a class="issue tracker-2 status-1 priority-4 priority-default" title="機能: XDG Base Directory Specification に従って、Environment定数で設定するディレクトリの位置を変える (新規)" href="https://dev.mikutter.hachune.net/issues/1189">#1189</a> に関して改めて検討するのが良いかもしれないことを注記しておきます.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3377
2018-05-21T23:59:47Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>関連している</strong> <i><a class="issue tracker-2 status-1 priority-4 priority-default" href="/issues/1189">機能 #1189</a>: XDG Base Directory Specification に従って、Environment定数で設定するディレクトリの位置を変える</i> を追加</li></ul>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3379
2018-05-22T00:00:29Z
toshi_a 初音
toshi.alternative@gmail.com
<ul></ul><p>なるほど、 <a class="issue tracker-2 status-1 priority-4 priority-default" title="機能: XDG Base Directory Specification に従って、Environment定数で設定するディレクトリの位置を変える (新規)" href="https://dev.mikutter.hachune.net/issues/1189">#1189</a> に着手する動機は増えましたね。</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3381
2018-05-22T07:00:14Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>TODOです</p>
<ul>
<li>適切なスクリーンショットを用意する<br /> Flatpakアプリをストア(Gnome Store, KDE Discover等)で公開するときにスクリーンショットがある方が見栄えが良いです.スクリーンショットは縦横比16:9,幅が620px以上である必要があります.日本語版と英語版の両方用意するのが望ましいです.スクリーンショットはWeb上にHTTP(S)で公開されている必要があります.</li>
<li>適切な紹介文を用意する (日・英) <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: mikutterの説明文が適切ではない (終了)" href="https://dev.mikutter.hachune.net/issues/1251">#1251</a></li>
<li>適切な説明を用意する (日・英)<br /> debian packageでは以下のように説明されていますが, <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: mikutterの説明文が適切ではない (終了)" href="https://dev.mikutter.hachune.net/issues/1251">#1251</a> に挙げた理由で修正する必要があります.</li>
</ul>
<blockquote>
Mikutter is a multi-pane Twitter client with several advanced features:
<ul>
<li>different tweet views (flat list, threaded list, searches);</li>
<li>user profile and activity views;</li>
<li>lists of followers and followings (friends);</li>
<li>plugin extensibility.</li>
</ul>
</blockquote>
<ul>
<li><code>appdata.xml</code>ファイルのメンテナとメールアドレスは僕ので問題ないでしょうか</li>
<li><code>appdata.xml</code>ファイルのライセンスはMITでよろしいでしょうか</li>
</ul>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3383
2018-05-23T17:43:38Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p><code>aplay</code>コマンドが利用できず通知音が鳴らせない不具合があります.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3384
2018-05-24T04:33:45Z
toshi_a 初音
toshi.alternative@gmail.com
<ul></ul><blockquote>
<p>appdata.xmlファイルのメンテナとメールアドレスは僕ので問題ないでしょうか<br />appdata.xmlファイルのライセンスはMITでよろしいでしょうか</p>
</blockquote>
<p>再配布は、それぞれの裁量と責任で行ってもらってるので、それでお願いします。ライセンスはREADMEのとおりです</p>
<blockquote>
<p>aplayコマンドが利用できず通知音が鳴らせない不具合があります.</p>
</blockquote>
<p>WindowsやMacなど、aplayがない環境では、その環境でサウンドを再生できるプラグインがバンドルされているようなので、同じように対処すると良いと思います。例えば、pulseaudioなら行けるというのならサードパーティープラグインがあるので、サウンドサーバを教えてもらえば、あるかないかくらいは教えることができます</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3390
2018-05-26T13:54:01Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><blockquote>
<p>再配布は、それぞれの裁量と責任で行ってもらってるので、それでお願いします。ライセンスはREADMEのとおりです</p>
</blockquote>
<p>OKです.</p>
<blockquote>
<p>例えば、pulseaudioなら行けるというのならサードパーティープラグインがあるので</p>
</blockquote>
<p>pulseaudioプラグイン(pacmdコマンド)を試してみましたが,再生できませんでした.flatpakの不具合だと思うのでそちらに報告します.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3648
2018-08-27T14:14:52Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><a name="TL-DR"></a>
<h1 >TL; DR<a href="#TL-DR" class="wiki-anchor">¶</a></h1>
<ul>
<li>jemalloc 3.6.0でメモリ消費量を60%程度に抑えられます.</li>
<li>flatpakではjemalloc 3.6.0を採用します.</li>
</ul>
<p>rubyのmallocをjemallocに置き換える(rubyのビルド時に--with-jemallocを指定する)ことでメモリ消費量が抑えられるという情報があります.</p>
<ul>
<li><a href="https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html" class="external">Malloc Can Double Multi-threaded Ruby Program Memory Usage</a><br /> glibc mallocをjemallocで置き換えることでメモリ消費量を抑えられる.</li>
<li><a href="https://bugs.ruby-lang.org/issues/14718" class="external">Feature #14718: Use jemalloc by default? - Ruby trunk - Ruby Issue Tracking System</a><br /> jemallocは手軽にメモリ消費量を削減できる上,RedisやFirefoxによる採用実績があり信頼できる.</li>
<li><a href="https://twitter.com/brandonhilkert/status/987400365627801601" class="external">Brandon Hilkertさんのツイート</a><br /> Sidekiqで検証した場合,jemallocではメモリ消費量を1/4程度に抑えられた.</li>
</ul>
<p>mikutterでjemallocを利用したときのメモリ消費量を調べました.jemalloc 3.6.0 と jemalloc 5.1.0について調べました.</p>
<a name="検証環境"></a>
<h1 >検証環境<a href="#検証環境" class="wiki-anchor">¶</a></h1>
<ul>
<li>Arch Linux</li>
<li>ruby 2.5.1</li>
<li>mikutter 3.7.1</li>
<li>worldon fc04159</li>
</ul>
<a name="検証方法"></a>
<h1 >検証方法<a href="#検証方法" class="wiki-anchor">¶</a></h1>
<p>3つのmikutterインスタンスで設定内容を合わせ同時に起動する.その後worldonでHTLとFTLを受信し10時間放置した.psコマンドを10秒間隔でポーリングし物理メモリ使用量(RSS)を記録した.</p>
<a name="結果"></a>
<h1 >結果<a href="#結果" class="wiki-anchor">¶</a></h1>
<p><img src="https://i.gyazo.com/19e2d169a8c8968856d262868ba322fa.png" alt="" /><br />jemalloc 3.6.0では起動してから10時間後のメモリ消費量がglibc mallocの60%程度に抑えられています.jemalloc 5.1.0ではメモリ消費量を削減することはできていません.</p>
<p>以上の結果を踏まえ,flatpakではjemalloc 3.6.0を採用します.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3659
2018-08-29T14:38:09Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>上記の結果について,jemalloc 5.1.0で計測したと思っていたものが実は正しくビルド出来ておらずglibc mallocが用いられていたことが後で分かったため,計測し直しました.検証方法は同じで今度は20時間放置しました.結果が以下になります.<br /><img src="https://i.gyazo.com/f0f8bd0bec0d98158ff0e498bcb4ae2d.png" alt="" /><br />jemalloc 3.6.0, 5.1.0のどちらでもメモリ消費量はほぼ変わらないという結果になりました.どちらのバージョンを用いてもメモリ消費量を60-70%に抑えられます.</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3902
2019-05-03T07:05:02Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>大分期間が空いてしまいましたが進捗です.</p>
<blockquote>
<p>aplayコマンドが利用できず通知音が鳴らせない不具合があります.</p>
</blockquote>
<p>paplayコマンド(pulseaudio)は利用できたので,paplayコマンドを使うためのプラグインを書いて( <a class="external" href="https://github.com/yuntan/mikutter-pulseaudio">https://github.com/yuntan/mikutter-pulseaudio</a> )flatpakにバンドルすることで対応しました.( <a class="external" href="https://github.com/yuntan/flathub/commit/4c69b6681acf7498384c259d34e25d1d95a50106">https://github.com/yuntan/flathub/commit/4c69b6681acf7498384c259d34e25d1d95a50106</a> )</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3903
2019-05-03T07:31:26Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>flatpakのメンテナの方から,「<code>appdata.xml</code>ファイルはupstreamに含めたほうが良い」というコメントをもらいました.</p>
<blockquote>
<p>It should be maintained in upstream repo so other distributions can use it too.</p>
</blockquote>
<p><a class="external" href="https://github.com/flathub/flathub/pull/587#discussion_r213222878">https://github.com/flathub/flathub/pull/587#discussion_r213222878</a></p>
<p><code>appstream.xml</code>というのは,アプリの説明やスクリーンショットの情報を書いておくファイルのことです.Ubuntu等のディストリビューションがストアでアプリを表示する際に使われるようです.</p>
<blockquote>
<p>AppStream allows upstream projects to define metadata about the components they provide using small XML files, metainfo files, which get installed into locations on the client system and are used by distribuors to enhance their metadata.</p>
</blockquote>
<p><a class="external" href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html">https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html</a></p>
<p>有名所のプロジェクトだと,VLC,VS Code,neovim等は<code>appdata.xml</code>をupstreamリポジトリで管理しているようです.</p>
<p>現時点では以下の内容のファイルを用意しています.<br /><a class="external" href="https://github.com/yuntan/flathub/blob/d90218dedc33f63c25aa1e4f6ef7972ac3ab1087/net.hachune.mikutter.appdata.xml">https://github.com/yuntan/flathub/blob/d90218dedc33f63c25aa1e4f6ef7972ac3ab1087/net.hachune.mikutter.appdata.xml</a></p>
<p><code>appdata.xml</code>をupstreamに含める際に,<code>appdata.xml</code>に含まれる更新情報を誰が更新するのかが問題となると思います.<code>appdata.xml</code>はflatpakのリポジトリで管理したほうが良いでしょうか?</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3905
2019-05-04T04:23:56Z
toshi_a 初音
toshi.alternative@gmail.com
<ul></ul><blockquote>
<p><code>appdata.xml</code>はflatpakのリポジトリで管理したほうが良いでしょうか?</p>
</blockquote>
<p>mikutterのメインリポジトリに入れてしまうとお互い更新の負担が増えると思うので、upstreamに入れる必要があるならforkしたリポジトリに入れてもらうほうが良いと思います。</p>
mikutter - 機能 #1248: Flatpakレポジトリで配布する
https://dev.mikutter.hachune.net/issues/1248?journal_id=3906
2019-05-04T04:30:04Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><blockquote>
<p>mikutterのメインリポジトリに入れてしまうとお互い更新の負担が増えると思うので、upstreamに入れる必要があるならforkしたリポジトリに入れてもらうほうが良いと思います。</p>
</blockquote>
<p>了解です.ひとまずflatpakのレポジトリで管理することにします.</p>