ねぇうしくんうしくん

今週のまとめ (一週間で自分が見た技術系サイトのログ)が今のところメインです。プログラミング言語、人工知能、セキュリティ 等

今週のまとめ (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

github.com

Rust製の分散合意形成フレームワーク。使いやすさに重点を置いているらしい。使用アルゴリズムはViewstamped Replicationとのこと。

Practical Deep Learning in Haskell

GitHub - HuwCampbell/grenade: Practical Deep Learning in Haskell

Haskell製のニューラルネットワーク。デザインはシンプルながら自由度が高く、逆伝播はもちろんのことRNNやGANも書ける。

以下の理論も参照すると良い。 blog.jle.im

c2goasm

github.com

C言語からGo言語へのアセンブリへ変換するツール。開発動機は C/C++ with SIMD で書かれたツールをGoに移植するために作ったとのこと。

Understanding Virtual Tables In C++

ariasalpablo.blogspot.jp

C++のオブジェクトシステムでつまづきやすいvtables に関する解説

retries: A tiny Rubygem for retrying code with randomized, exponential backoff.

github.com

exponential backoff について調べたときに出てきた Ruby のライブラリ。exponential backoff とは、要求が失敗しリトライをする際に 2^k (kはリトライした回数) 分の sleep を入れる制御機構。イーサネットで使われている。

アーキテクチャ

How to Build a Non-Volatile Memory Database System

https://www.cs.cmu.edu/~jarulraj/talks/2017.nvm.sigmod.pdf

最近 Intel が不揮発性RAMを組み込んだやつを出したが、そういうのはどこで使うのという疑問に答えるもの。

ツール

Git Town

www.git-town.com

Gitコマンドを拡張する。masterを取ってきてブランチする git hack や ブランチを進行中の変更とともに更新する git sync などがある。

ひとこと

コメントに疲れが出ている。