今週のまとめ (2017/5/26)
5月も終わりですね…え?
プログラミング言語
System Programming in Rust: Beyond Safety
https://www.sigops.org/hotos/hotos17/papers/hotos17-final92.pdf
VMWare Research が出した、Rustの紹介論文(draft)。システムプログラミングの視点から語っている。
ところで Rust を Linear Type の言語と言っているが正しいのだろうか…? *1
Haret
Rust製の分散合意形成フレームワーク。使いやすさに重点を置いているらしい。使用アルゴリズムはViewstamped Replicationとのこと。
Practical Deep Learning in Haskell
GitHub - HuwCampbell/grenade: Practical Deep Learning in Haskell
Haskell製のニューラルネットワーク。デザインはシンプルながら自由度が高く、逆伝播はもちろんのことRNNやGANも書ける。
以下の理論も参照すると良い。 blog.jle.im
c2goasm
C言語からGo言語へのアセンブリへ変換するツール。開発動機は C/C++ with SIMD で書かれたツールをGoに移植するために作ったとのこと。
Understanding Virtual Tables In C++
C++のオブジェクトシステムでつまづきやすいvtables に関する解説
retries: A tiny Rubygem for retrying code with randomized, exponential backoff.
exponential backoff について調べたときに出てきた Ruby のライブラリ。exponential backoff とは、要求が失敗しリトライをする際に 2^k (kはリトライした回数) 分の sleep を入れる制御機構。イーサネットで使われている。
アーキテクチャ
How to Build a Non-Volatile Memory Database System
最近 Intel が不揮発性RAMを組み込んだやつを出したが、そういうのはどこで使うのという疑問に答えるもの。
ツール
Git Town
Gitコマンドを拡張する。masterを取ってきてブランチする git hack や ブランチを進行中の変更とともに更新する git sync などがある。
ひとこと
コメントに疲れが出ている。