未完放流

終わりなど無い、有るのは試練だけだ……

Jupyter Notebook と R Notebooks を使っていたら共通のフォーマットが欲しくなった

僕の考えた”さいつよ”notebook

Jupyterも素敵です。RStudioも便利です。 仕事に使いたいと思うのですが、自分には何かが足りない。

notebook に何が必要かを整頓します。

注意:冴えないアラフォーおっさんのブレインストーミング妄想が書かれています。

notebook とは何か?

Jupyter 以前にも notebook like なものはあると思うんですよ、 用途は異なりますがnoteの体裁はMathematicaが源流な気がします (もっと古いものがあるかもしれません)。

こちらは数式処理システムで有理数も使えます。 細かい計算理論は知りませんが、有理数が使えるのは便利ですね。 式を入力、プロットができます。簡単なwidgetを作る機能もありますね。

原理上、数式になっていればプログラムは可能ですが使い勝手は悪いと思います。

notebook を使って感心したもの

一つの文書の中で構造単位を段落以外のものを作ったこと。 平たく言えばCellですね。Rnotebook では chunk。

文章を書いたCellか、文書の中にRunnableなコードがある方が良いかは用途や好みだと思います。

コードを走らせ、結果も隣に埋め込める。グラフィカルな結果、プロットもできるというのはうれしいです。

TeX:数式が使える。これもプログラミング言語ですが式が使えるのも素晴らしいですね。 数式がコンピュータで書けると落ち着きます。

Markdown で文書構造の管理・装飾が可能。 実績多数、説明不要ですね。

おまけとしてwidgetが使えると尚良い。 パラメータ変えてグラフをヌルヌル動かしたい時が結構あるんですよね。

file format

現実的には markdown ベースが良いですね。 読みやすいし、好きなエディタを使えます。

後はgit で変更履歴の管理をして diff が見れると良いですね。

妄想

文書のベースは markdown で code block の部分はsyntax highligtが効いてくれて code blockが走るかどうかの判定が必要ですね。 結果の埋め込みは、自動的に編集する機能が必要。

後はstand alone アプリな方が気楽だと思うんですよ。 思いついたときに書きたい。

目的は両者とも似ているんで、いっそのことnotebookとか規格策定してくれないかなとか思ってしまいます。 notebookを走らせる部分だけ独立してくれてもよい気がします。 Jupyterのコードから抽出とかできるんだろうか?

日本語の入力がもう少しスムーズにいけば一気に使い勝手が良くなるんですよ。

妄想を現実にしたい

nvim あたりのプラグインを書いて、Jupyterと連携させるのが一番現実的かも? 表示はnyaovimを使えばレンダリングもできるかな。

やはり一度 nteract 試そう

nteract.io