ねぎ嫌い

始業前に学んだことを小出しに。最近はHacker Newsの人気記事をまとめてみたり。

2017-08-16 Ask a Female Engineer: Thoughts on the Google Memo

原文:blog.ycombinator.com

ベンチャーキャピタルのYCで働く女性エンジニアに、Googleの内部メモに関する質問を投げかけた、という話。

内部メモ自体には議論の価値のあるポイントもあるが、建設的な議論が行われていない。
多くの視点で議論することによって進展があると感じている。

質問は以下の通り:

  • 内部メモを全て読んだか
  • 何かに同意したか、あるいは議論の価値がある面白いアイディアを見つけたか
  • 何かに反対したか、あるいは不快と感じたか
  • ネット上の反応をどう感じたか
  • 大騒ぎしないように、より意味のある会話を引き起こすようにメモが公開されたことかについて考えがあるか
  • 彼のクビについてのリアクションは何か

2017-08-14 U.S. judge says LinkedIn cannot block startup from public profile data

原文:www.reuters.com

Linkedlnがスタートアップ企業に対して公開されたプロフィールへのアクセスを防ぐことが出来ないとアメリカで判断された、というお話。

また、6月にMicrosoftに対して、Microsoftソーシャルネットワーク独占禁止法に違反しているとし、訴訟を起こした。

2017-08-14 An Intro to Compilers

原文:Nicole Orchard

コンパイラについてのざっくりとした説明を行っている。

コンパイラは、ソースコードを機械が解釈できる形に翻訳する。
(ソースをソースに変換するものはトランスコンパイラとか呼ばれる。)

伝統的なコンパイラは、以下の3つにわけられる

  • ソースコードを中間表現(IR)に変換するフロントエンド
    LLVMではclangなどのツールがある
  • 中間表現を最適化するオプティマイザ
    LLVMではopt
  • 中間表現から各ハードウェアが命令できる形にマシンコードを生成するバックエンド
    LLVMではllc

フロントエンドの流れ

  1. C言語におけるフロントエンドのフェーズでは、中間表現に変換する前にソースコードに変更を加える。
    外部ファイルを取り込んでソースコード内に展開をしている。

  2. 字句解析のために、文字を単語に変換する。
    変換された単語は、句読, キーワード, 識別子, リテラル, コメントに分類される。

  3. 単語の流れが各言語で有効な文体で構成されているかを分析する。
    分析が終わると、抽象構文木が出力される。
    各ノードは、宣言, ステートメント, を表す。

  4. 抽象構文木を辿り、ステートメントが有効な意味を持つかを分析する。
    このフェーズで型チェックが行われる。

  5. 抽象構文木から中間表現に翻訳する。

オプティマイザ

オプティマイザはプログラムの実行中の振る舞いを把握して、効率的なものに改善する。
オプティマイザは中間表現を入力として受取り、改善した中間表現を出力する。

バックエンドの流れ

  1. 中間表現をハードウェアにマッピングする。
    この際、仮想レジスタ名前空間が使用される。
  2. 仮想レジスタから実際のレジスタに再マッピングする。
    ハードウェアの要件にあうようにマッピングされる。
  3. ハードウェアのパフォーマンス制約を反映するようにオペレーションの並び替えを行う。

2017-07-29 Apple Removes Apps from China Store That Help Internet Users Evade Censorship

原文:www.nytimes.com

中国本土からアクセスできるApp Storeから、グレート・ファイアウォールを回避するアプリケーションが軒並み削除されている、という話。
中国ではグレート・ファイアウォールによってインターネットアクセスが制限されており、
VPNを利用すればアクセスできるようになっていた。

今回の削除は、VPNを提供する企業に対するライセンス付与を待つためとのこと。

2017-07-28 Sci-Hub’s cache of pirated papers is so big, subscription journals are doomed

原文:www.sciencemag.org

“違法"論文ダウンロードサイトであるSci-Hubのお話。
現在、Sci-Hubでは全体の2/3以上の学術論文がダウンロード可能であると言われている。
また、有料購読の記事は85%以上がダウンロード可能であるとの調査結果もある。

2017-07-27 How Chrome OS, Termux, YubiKey and Duo Mobile make for great usable security

原文:blog.lessonslearned.org

Chromebookをどのようにして快適に使うか、という話。
そもそもChromebookは脅威モデルと現実世界での攻撃によく備えられており、
その強みを活かしながら開発環境をどのように整えるかが書かれている。

幾つかの条件を提示しながらも、十分すぎる開発環境を手順化して記載している。

2017-07-26 “We will stop updating and distributing the Flash Player at the end of 2020”

原文:blogs.adobe.com

Flashが2020年には消える、という話。
背景にはHTML5WebGL、WebAssemblyの成熟があり、それらが取って代わることになる。
そのため、Flashコンテンツの製作者はそれまでに新しい技術を使って置き換えることとしている。