新世紀バイナリアン

Shougoさん周辺でかわされたバイナリエディタの現状とこれからについての話題
1
暗黒美無王 dark Vim @ShougoMatsu

TLがバイナリアンで溢れるようにならないだろうか……。

2012-02-12 21:22:07
暗黒美無王 dark Vim @ShougoMatsu

vinariseの登場により、突如盛り上がるバイナリ界隈、そしてKernel/VM探検隊で披露される新生vinarise!というとこまで妄想した。

2012-02-12 22:18:46
暗黒美無王 dark Vim @ShougoMatsu

テキストエディタというのはかなり研究し尽くされた感があるけど、バイナリエディタはまだまだ改良の余地がある。

2012-02-12 21:23:16
暗黒美無王 dark Vim @ShougoMatsu

そういえば、以前調べた時にはあの愛甲さんでさえStirlingを使っていたと思うんだけど、バイナリエディタは息が長いものが多いなぁ。それだけ新しいものが出てこない?

2012-02-12 21:23:59
暗黒美無王 dark Vim @ShougoMatsu

あと、マルチプラットフォームなバイナリエディタはもはやそれだけで価値があると思っている。それで更に日本語対応とかしているエディタはもはやない。つまり、vinariseがバイナリエディタに食い込んでいくにはそこが狙い目である。

2012-02-12 21:25:11
暗黒美無王 dark Vim @ShougoMatsu

vinariseはVimに乗っかっているからユーザーインターフェース部分をあまり考えなくて良いので、まだ楽ですね。機能拡張も楽です。

2012-02-12 21:26:10
佐久良ゆきかぜ @sakra_yukikaze

ヘキサエディタは日本国外ではHiewが名高い セキュリティ系記事でよくHiewのスクリーンショットが出てくる

2012-02-12 21:25:47
rnurachue⌬ @murachue

010 EditorとBzとEncaseとWinHexあたりが融合したバイナリエディタははやるんじゃないだろうか

2012-02-12 21:26:47
暗黒美無王 dark Vim @ShougoMatsu

@murachue どこかにバイナリエディタに必要な機能とか、まとめてもらえないでしょうか。実装するときに参照をしたいのです。

2012-02-12 21:27:40
raiden325 @raiden325

バイナリエディタが、息の長いものが多いのは使用者が圧倒的に少ないことが原因の一つなんだろう。

2012-02-12 21:26:51
くまぎ @kumagi

バイナリアンが納得するバイナリエディタって、4.7GB(DVD)とか開いても文句なく動いて上書き・挿入が遅延なく動いてアンドゥできるとか物凄いドSな要求がきます。Vimでやろうとすると多分プラグインで出来る範囲を超える。そしてbitmap viewが欲しいと言われて死ぬ。

2012-02-12 21:31:19
暗黒美無王 dark Vim @ShougoMatsu

@kumagi だからこそ、私はPythonインタフェースを使っているのです。Pythonインタフェースを使う理由は、私がそれらの要求に対して本気だからです。

2012-02-12 21:34:56
暗黒美無王 dark Vim @ShougoMatsu

@kumagi ちなみにこの要求ですが、4.7GBが開ける=> 1.6GB程度で限界なので無理、上書き挿入=>実装予定ですが、おそらくバイト列の挿入は遅い、アンドゥは実装予定です。Bitmap viewもやります。ただ、Vimでやるから当然制限もある。

2012-02-12 21:38:03
佐久良ゆきかぜ @sakra_yukikaze

巨大ファイルの上書きならメモリマップトファイルでめっちゃ速くなるはずだけど、挿入となるとGap bufferになった上に保存の時に死ぬ

2012-02-12 21:36:52
暗黒美無王 dark Vim @ShougoMatsu

@s_yukikaze そう。おそらく、メモリマップでやるからむちゃくちゃ遅いでしょう。あと、保存がどうなるかわからないですね。

2012-02-12 21:39:36
くまぎ @kumagi

メモリに載り切らないファイルを扱おうと思うとmmapするのが速度的に妥当→でもmmapしたのを書き換えちゃうと保存前のファイルに変更が行って不味いから差分だけを別で保持するしか無い→差分データからO(log n)以下で実データを復元出来る方法→PieceTableまで習った。

2012-02-12 21:38:29
暗黒美無王 dark Vim @ShougoMatsu

@kumagi 私は、mmap()のコピーモードを使っています。が、これも保存時にどうなるかわかりません。

2012-02-12 21:41:19
くまぎ @kumagi

@ShougoMatsu データ構造オタクとしては、どういうデータの持ち方をするのかが気になります。ただのバイト列を生で持つと大変な目に遭うので。

2012-02-12 21:40:06
暗黒美無王 dark Vim @ShougoMatsu

@kumagi データ構造オタク……。基本的にメモリマップでやっています。それだけに、仮想アドレスを使い切ると無理ですね。

2012-02-12 21:41:58
暗黒美無王 dark Vim @ShougoMatsu

RT @kumagi: バイナリアンが納得するバイナリエディタって、4.7GB(DVD)とか開いても文句なく動いて上書き・挿入が遅延なく動いてアンドゥできるとか物凄いドSな要求がきます。Vimでやろうとすると多分プラグインで出来る範囲を超える。そしてbitmap viewが欲しいと言われて死ぬ。

2012-02-12 21:34:01
佐久良ゆきかぜ @sakra_yukikaze

@ShougoMatsu 書き戻しが遅くなるのはどうしようもないですね

2012-02-12 21:42:18
暗黒美無王 dark Vim @ShougoMatsu

@s_yukikaze そうですね。遅くなるでしょうね。巨大ファイルはコピーするだけで遅いので、早くなるわけがないと思われます。

2012-02-12 21:43:38
鯉江 @koie

@kumagi MAP_PRIVATEじゃだめ?ページ単位だからもったいないけど。あとでっかいmmapは仮想記憶に負荷がかかるってfreebsdのcpに書いてあったような記憶が。

2012-02-12 21:40:40