vinariseの登場により、突如盛り上がるバイナリ界隈、そしてKernel/VM探検隊で披露される新生vinarise!というとこまで妄想した。
2012-02-12 22:18:46テキストエディタというのはかなり研究し尽くされた感があるけど、バイナリエディタはまだまだ改良の余地がある。
2012-02-12 21:23:16そういえば、以前調べた時にはあの愛甲さんでさえStirlingを使っていたと思うんだけど、バイナリエディタは息が長いものが多いなぁ。それだけ新しいものが出てこない?
2012-02-12 21:23:59あと、マルチプラットフォームなバイナリエディタはもはやそれだけで価値があると思っている。それで更に日本語対応とかしているエディタはもはやない。つまり、vinariseがバイナリエディタに食い込んでいくにはそこが狙い目である。
2012-02-12 21:25:11vinariseはVimに乗っかっているからユーザーインターフェース部分をあまり考えなくて良いので、まだ楽ですね。機能拡張も楽です。
2012-02-12 21:26:10@murachue どこかにバイナリエディタに必要な機能とか、まとめてもらえないでしょうか。実装するときに参照をしたいのです。
2012-02-12 21:27:40バイナリアンが納得するバイナリエディタって、4.7GB(DVD)とか開いても文句なく動いて上書き・挿入が遅延なく動いてアンドゥできるとか物凄いドSな要求がきます。Vimでやろうとすると多分プラグインで出来る範囲を超える。そしてbitmap viewが欲しいと言われて死ぬ。
2012-02-12 21:31:19@kumagi だからこそ、私はPythonインタフェースを使っているのです。Pythonインタフェースを使う理由は、私がそれらの要求に対して本気だからです。
2012-02-12 21:34:56@kumagi ちなみにこの要求ですが、4.7GBが開ける=> 1.6GB程度で限界なので無理、上書き挿入=>実装予定ですが、おそらくバイト列の挿入は遅い、アンドゥは実装予定です。Bitmap viewもやります。ただ、Vimでやるから当然制限もある。
2012-02-12 21:38:03巨大ファイルの上書きならメモリマップトファイルでめっちゃ速くなるはずだけど、挿入となるとGap bufferになった上に保存の時に死ぬ
2012-02-12 21:36:52@s_yukikaze そう。おそらく、メモリマップでやるからむちゃくちゃ遅いでしょう。あと、保存がどうなるかわからないですね。
2012-02-12 21:39:36メモリに載り切らないファイルを扱おうと思うとmmapするのが速度的に妥当→でもmmapしたのを書き換えちゃうと保存前のファイルに変更が行って不味いから差分だけを別で保持するしか無い→差分データからO(log n)以下で実データを復元出来る方法→PieceTableまで習った。
2012-02-12 21:38:29@kumagi 私は、mmap()のコピーモードを使っています。が、これも保存時にどうなるかわかりません。
2012-02-12 21:41:19@ShougoMatsu データ構造オタクとしては、どういうデータの持ち方をするのかが気になります。ただのバイト列を生で持つと大変な目に遭うので。
2012-02-12 21:40:06@kumagi データ構造オタク……。基本的にメモリマップでやっています。それだけに、仮想アドレスを使い切ると無理ですね。
2012-02-12 21:41:58RT @kumagi: バイナリアンが納得するバイナリエディタって、4.7GB(DVD)とか開いても文句なく動いて上書き・挿入が遅延なく動いてアンドゥできるとか物凄いドSな要求がきます。Vimでやろうとすると多分プラグインで出来る範囲を超える。そしてbitmap viewが欲しいと言われて死ぬ。
2012-02-12 21:34:01@s_yukikaze そうですね。遅くなるでしょうね。巨大ファイルはコピーするだけで遅いので、早くなるわけがないと思われます。
2012-02-12 21:43:38@kumagi MAP_PRIVATEじゃだめ?ページ単位だからもったいないけど。あとでっかいmmapは仮想記憶に負荷がかかるってfreebsdのcpに書いてあったような記憶が。
2012-02-12 21:40:40