読者です 読者をやめる 読者になる 読者になる

ねぇうしくんうしくん

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

今週のまとめ (2017/4/14)

すた丼

プログラミング言語

Dale - Lisp Flavored C

github.com

Lisp のような S式で記述されたコンパイラ型言語。Lisp風Cとあるが、C言語へのトランスレータではなくLLVMをバックエンドとしている。 また、macro や module や concept などの C言語を超えた言語機構もある。

LowLevelProgramming-University

github.com

低レベルプログラミングについての資料集。 アセンブリC言語、ハードウェア、ファームウェアLinuxカーネルデバイスドライバなどの資料が載っている。

Functional Language Research Compiler

github.com

Intel製の関数プログラミングコンパイラフレームワーク。これを用いると

[GHC フロントエンド] 
↓ Ext Core
[HRC (Haskell Research Compiler)] 
↓ MIL IR 
[FLRC] 
↓ C files 
[Intel C Compiler] → Executable binary

のようにしてCコードが出力され、iccコンパイルされるらしい。

セキュリティ

Detecting ROP with statistical learning of program characteristics

blog.acolyer.org

ROP( Return-oriented programming - Wikipedia )検出の手段として統計的手法が用いられることがあり、そこでは異常検知による物が多いが、新たな統計的尺度を用いることによって検出率を改善した…という論文をまとめているブログ記事。

人工知能

Best Practices for Applying Deep Learning to Novel Applications

[1704.01568] Best Practices for Applying Deep Learning to Novel Applications

ディープラーニングを実際のアプリケーションに応用するためのベストプラクティス集。論文の最後には実際の応用例として arXiv のリンクが会ってうれしい。

以下の流れで説明されている

  1. 準備を行う。
  2. データを準備する
  3. 作りたいアプリケーションに対して、それに近いディープラーニングのアプリケーションとの類似点を見つける
  4. 最小限のベースモデルを作る
  5. 可視化やデバッグツールを作る
  6. モデルのチューニングをする
  7. エンドツーエンドの学習、あるいは学習器の組み合わせなど