Weekly Selection 2021-07-25

ハッシュ関数の強衝突耐性と弱衝突耐性

学部の授業でハッシュ関数を説明していたのを聞いていたときに思い出した.

GoogleのSHA-1のはなし

Web業界の新卒研修資料のまとめ

前にみた資料がアップデートされていた.これも肥大化しているので,厳選したら良さそう.

研修資料まとめ.md

Chromeのフィッシングサイト対策

Chromeのフィッシングサイト判定ロジックを高速化した話が書いてある.この記事で触れられていたフィッシングサイト判定の方法が面白かった.スクリーンショットに含まれる色の割合から判定をしている.これは,ドメインを変更した過去に検出済みフィッシングコンテンツへの対策だと考えた.

Chromium Blog: Faster and more efficient phishing detection in M92

Granually

CCR(communication to computation ratio)とよばれる指標.これは分散システムにおいて計算時間と通信時間の割合を表すもの.転送するデータ量が少なければ計算時間が通信時間を上回るはず.

Granularity (parallel computing) – Wikipedia

劣等感との付き合い方

23卒Slackで見かけたときに思い出した.

エンジニアの劣等感との付き合い方 – Qiita

fukabori.fm

面白そうなポッドキャストを見つけた.

fukabori.fm

送信元ポート番号とファイヤーウォール

ファイヤーウォールでの送信元ポート番号によるフィルタリングがQUICやHTTP/3で与える影響の話.

QUICやHTTP/3で利用を避けるべき送信元ポートの議論についての考察 – show log @yuyarin

WHATWGでのブロックするポート番号の一覧はここにあった.Kawakamiさんに教えてもらった.

Fetch Standard

シェルスクリプトの環境依存

POSIX準拠していてもシェルスクリプトの環境依存が厳しい話.これは仕方がない気がしてきた.任意の言語で実装したほうが環境依存は減らせる気がする.

なぜシェルスクリプトはPOSIXに準拠しても環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 – Qiita

Googleのzxが使えそうかと思ったもの的外れみたい.これはシェルスクリプトの非同期&同期での制御で恩恵が大きそうだった.

google/zx: A tool for writing better scripts

BigQueryのWhite paper

論文を書くときに見つけた.後で細かく読みたい.

PowerPointの図形統合

Officeの吹き出しは,イマイチになりやすいのでこれが良かった.この本に書いてあった.

GoogleのAPIガイドライン

これを全社的にやろうとするスタイルすごいなと.

AIP-122: Resource names

動的計画法(DP)

動的計画法

最適化問題を考えるときのポイント(自分めも)

  • 全体最適なのか,局所最適なのか
  • 厳密解を求めるか,近似解を求めるか
  • パラメータ数と組み合わせ数(組み合わせ爆発,NP困難)
  • 精度重視か,時間重視か

参考)

余談

Weekly Selection 2021-07-18

論文での文章の書き方

主述関係の一致に気をつけて書くことを全人類に共有したくなった.

初心者向け文語体の文章(論文)の書き方Tips

湯村先生の研究室のTwitterアカウントに書いてあった.良さそう.

Azureの仮想マシン ネットワーク

ハードウェアオフロードをプロトコルに応じて行っている.ICMPが高速化対象でないため,スループットの測定に適さないという話.

Azure 仮想マシン 高速ネットワーク 概要 ~ Azure VM 間の RTT 測定に ICMP を使ってはいけない ~ – Qiita

みにくいアヒルの子定理

主観がなければデータの特徴付けが出来ないという話.例は,白鳥とアヒルの子供を知識がなければ区別できないことを説明している.これはヒヨコのオスとメスを区別する場面でも当てはまると思った.

数理の窓 – 醜いアヒルの子の見分け方

巨大なGitリポジトリのクローン

シャロークローンでdepth=1をセットすることは知っていたが,それ以外は初めて知った.

大きなGitリポジトリをクローンするときの工夫を図解します – DeNA Testing Blog

ヒューリスティック手法

厳密解を求められるわけではないが,十分な解(実用に十分)を得られる手法のことをヒューリスティック手法とよぶそう.有名なものには,遺伝的アルゴリズム(GA)がある.のぞみ(N700)の先頭車両がもつ曲線は遺伝的アルゴリズムによるものらしい.

第7回テーマ:ヒューリスティックアプローチ

秘書問題(結婚問題)と安定結婚問題

グラフ理論の話で出てきた.秘書問題は,最初のn/eとは別れるのが良いらしいが…!?

秘書問題 – Wikipedia

安定結婚問題 – Wikipedia

オーバーコミットとTSS

オーバーコミットは,タイムスライスにより実リソースを超えてリソースを利用できる技術のこと.微小時間でタスクを切り替えてリソースを共有する点がTSSに似ていると感じた.

Insider’s Computer Dictionary:タイムシェアリング・システム とは? – @IT

Linuxのネットワークツール解説

いつも使っているツールを改めて理解するときに有用だと思った.

Linux Networking Tools: 101 – Speaker Deck

Envoy入門

Envoyに入門しようとして見つけた.CAの黒崎さんが書かれた資料.やっぱり分かりやすくてよい.

入門Envoy – Speaker Deck

FacebookのRUSH

IETFへFacebookのエンジニアがプロトコル提案をした.ライブストリーミングをエンドユーザのもつクライアントにオフロードするらしい.実データや実験ができるのは,自社サービスの強みだなと思った.

FacebookのQUICを活用したライブ動画用プロトコルRUSHについて – ASnoKaze blog

エラトステネスの篩

素数をもとめるアルゴリズム.実装してみる.

エラトステネスの篩 – Wikipedia

コレスキー分解

経済学のドメインで見つけた.あとで理解してみる.

コレスキー分解 – Wikipedia

新たなDNSレコード

JANOGの資料。自分の管理するサーバにも実験的に入れてみたい。

WebサーバのDNSへの登録方法が変わるよ

NAPT Slipstreaming V2

思い出せなくて困っていたら見つけた。セキュリティの観点でブラウザが特定ポート宛のリクエストをブロックする。10080が弾かれるのもこれが原因。

NAT Slipstreaming v2 攻撃とブラウザ側の対策

SIMD

SIMDを説明するスライドを見つけた。

関連する技術「スーパースカラ、パイプライン、スーパーパイプライン、VLIW」を理解しておきたい。ついでに「パイプラインハザードとWARハザード、WAWハザード」も理解したい。

SIMD化とは何か

余談

Weekly Selection 2021-07-11

EMM

Enterprise Marketing Managementは,マーケティングを管理するための一連の技術を呼ぶらしい.ガートナーが提唱している.IBMはこれに積極的な印象がある.

Enterprise Marketing Management (EMM) Overview

scale outの技術

楽天のROMAを調べていたら見つけた.首藤先生が10年以上前に書かれた資料なのだが,有益な情報だらけだった.

scale out の技術 〜 consistent hashing 編 (cloud 研究会, December 19, 2008)

震災での自治体のバックアップ

TAをしている学部の講義でバックアップの話があったので思い出した.BCPの観点でバックアップの地理的分散配置が重要なことを理解した.

WEB特集 データよ、生きていてくれ | NHKニュース

ルッサーとその法則

以前に書いたルッサーの法則をつくったルッサーの話.

隠れた名設計者、ロベルト・ルッサーの功績〜その2:1/144ヒコーキ工房:So-netブログ

PodSecurityPolicyの廃止

これは知らなかった.正直なところ,セキュリティポリシーやACLは,そのデバッグが面倒なので不特定多数にさらされるもの以外は最小限にしたいのが本音かも.

PodSecurityPolicyの廃止に備えて、一足先にPodSecurity Admissionを試してみよう! – Qiita

ノーフリーランチ定理

局所最適は全体最適に一致しないという話だと思った.まさにトレードオフだなと.

ノーフリーランチ定理(No Free Lunch theorem)とは?:AI・機械学習の用語辞典 – @IT

分析の基礎

研究室の輪講で後輩にnormalizationの話をしたときに見つけた.正規化(normalization)と標準化(standardization),正則化(regularization)の違いは,きちんと理解しておきたい.正則化は正規化と単語が似ているだけなんだが…

分析の基礎(モデリング)/ Basics of analysis ~modeling~ – Speaker Deck

握手定理

グラフのノード同士が握手するのは,考えてみてら当たり前ではある.

関係を図で表現する道具

関連した話でラムゼーの定理も教えてもらった.

uRPF

uRPFという技術を知った.セキュリティのドメインで役立ちそう.ただし,ルータを複数台で冗長化する場合は,複数台でルーティングテーブルを共有しないと不整合が発生する.結局はconsistencyの問題はどこでも発生するもの.

uRPF( Unicast Reverse Path Forwarding)とは、コンフィグ設定

PR TIMESで公開範囲制御の不備

未公開情報へ公開日時よりも前にアクセスが可能であったよう.これはつらい.

20210709_PRTIMES_incident.pdf

踏み台サーバのコンテナ化

研究室の踏み台VMをコンテナ化した.しばらくはVMもバックアップで運用して,落ち着いたら完全に移行するつもり.「さよなら踏み台VMさん,ようこそ踏み台コンテナさん」

GitHubがパスワード認証を廃止

ついに来たのかという印象.SSOとパスワードレス,FIDOで幸せになりたい.

GitHubがパスワード認証を廃止するらしいので – Qiita

余談

  • 後輩の研究を80%くらいまですすめた.
  • 自分の研究は20%くらいでマズイ
  • JupyterでのMatplotlibの挙動でハマった.セルを分離すると挙動が変わるのね…
  • 雨の日が多くて悲しい.はやく晴れてほしい.
  • 作問したチュートリアル問題が公開された.
  • 未婚女性が交際相手の選択に重視することが学びだった.
  • 授業課題でyieldを使ってみたら便利だった.
  • このツイート↓に共感した.Qiitaを鵜呑みにせず複数ソースでコンセンサスをとってほしい.

Weekly Selection 2021-07-04

木構造

B+ treeやB-tree.二分木以外にも種類があることを知った.奥深い木構造の世界だ.

木構造 (データ構造) – Wikipedia

因果革命

「因果のはしご」という言葉が面白かった.データサイエンス系のトレンドわからないことが多い.

今起きている革命、「因果革命」とは – Qiita

PFNのMN-3がGreen 500で1位

PFNが元気すぎて驚きしかない.

PFNの深層学習用スーパーコンピュータMN-3、 省電力性能ランキングGreen500で再び世界1位を獲得 | 株式会社Preferred Networks

時系列DBの作り方

Time-series DBの作り方を書いている記事.時系列データ(メトリック)の話がよくまとめられている。データ同士の持つ性質を理解することは、Index構築の戦略で特に大事なので同意できる.Single Writeという性質がログと似ているので親近感を持った.時系列データは量的データなのに対して、ログは質的データなので違いはある.

ゼロから作る時系列データベースエンジン

GRPC入門

ymmtさんが書いたGRPC入門.動画もあるので素晴らしい.

ymmt2005/grpc-tutorial: gRPC tutorial for Japanese readers

量子コンピューティングへのツッコミ

専門家がマジレスをしているのが面白い.よく言葉が独り歩きするケースはありそう.ガートナーのハイプ・サイクルだと過度な期待がある山のあたりかも.

「量子」と組合せ最適化に関する怪しい言説 ―とある研究者の小言― – むしゃくしゃしてやった,今は反省している日記

ハーバードのCS50

日本語訳のされたハーバード大学のCS入門サイト.有志による翻訳があるとCSを学ぶハードルは下がるだろうなと思った.

CS50 for Japanese: コンピュータサイエンスの入門 – 当ウェブサイトは、Creative Commons ライセンスに基づいて管理されています。

余談

  • 課題から開放されたと思っていたら,研究が忙しくなっていた.
  • 気がついたら7月で阿鼻叫喚〜
  • 自分の研究と学生の研究,授業の準備と事務処理をこなしている大学の先生はすごいと思った.
  • 美味しいビール 飛騨高山麦酒 を飲んだ.
  • 美味しいとんかつを食べに行った.

Weekly Selection 2021-06-27

mTCP

ユーザ空間でパケットこねこねするらしい.名前もっと無かったのか…

mTCP Design
6
[mTCP14] Jeong et al., mTCP: A Highly Scalable User-level TCP Stack for
Multicore Systems, USENIX NSDI, Apri...
mTCP使ってみた – Hajime Tazaki

mTCP使ってみた

ルッサーの法則

個別のシステム(サブシステム)が直列で接続され1つのシステムの系をつくるとき,システム全体での信頼性は,サブシステムのもつ信頼性の積で表される.以下で紹介されている動画が面白い.これはCSよりは信頼性工学の領域になる.

システムの信頼性を維持するには冗長設計が不可欠 | 鈴木真二 | テンミニッツTV

信頼度 𝑅(𝑡)=𝑅1(𝑡)・𝑅2(𝑡)・・・𝑅𝑛(𝑡)

Goでの並行処理

ゴールーチンが並行処理なことをはじめて知った.

Goでの並行処理を徹底解剖!

HTML5が廃止

ついに…という印象.標準化がWHATWGのGitHubリポジトリで議論されているので,それが普通に感じていた.W3CとWHATWGの位置付けを理解した.

どうしてHTML5が廃止されたのか | フューチャー技術ブログ

実験経済学

数理的にシミュレーションしている領域が経済学にもあるらしい.面白い.

実験経済学 – Wikipedia

SQL入門

良質な入門資料があった.サイバーエージェントはいい人いるなって…

TypeScript入門とGo入門

Twitterで見つけた.良さそう.

仕事ですぐに使えるTypeScript — 仕事ですぐに使えるTypeScript ドキュメント

プログラミング言語Go完全入門 – Google スライド

WordPressの高速化(kusanagi)

CPUの選び方でコア数よりも周波数を上げたほうがいいのが,目からウロコだった.

Webパフォーマンスガチ勢が本当に使っている技術 PagespeedInsights 100点を獲得する高速化技術

AMPとSXG

Core Web Vitalsのこともよく分かった.リクエストを送信してから早くレンダリングされることは正義だ.

本サイトの AMP 提供の停止とここまでの振り返り | blog.jxck.io

余談

  • 課題に追われていて忙しい.
  • グラフづくりにGnuplotが最高だった.Matplotlibさようなら.
  • Magic Keyboardを追加購入した.ラボに置いて使うつもり.
  • ISUCONの申し込みDone.2時間で埋まったらしい.
  • ドメインの更新をはじめて2年でやってみた.
  • 美味しいとんかつを食べた.