Weekly Selection 2022-01-10

faker.jsとcolors.jsがパッケージを故意に変更

作者は自宅が火災になり経済的に厳しいことからパッケージを故意に変更したそう.

Marak/faker.js: What really happened with Aaron Swartz?

Marak/colors.js: get colors in your node.js console

リンカーの仕組み

Ueyama Ruiさんがリンカーの仕組みを説明されていた.コンパイラなにもわからない.

コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み – ログミーTech

Facebookは人材ごと企業を買収

以下の書籍を読んでいて見つけた.

年収は「住むところ」で決まる ─ 雇用とイノベーションの都市経済学 | エンリコ モレッティ, 池村 千秋, 安田 洋祐(解説) | ビジネス・経済 | Kindleストア | Amazon

優秀な人材は,一般的な人の何倍もの給与を支払ってでも獲得する価値があるそう.

Facebook、ファイル共有サービスのdrop.ioを買収 – CNET Japan

GAFAを超えられない日本企業の問題点

元MITメディア・ラボ所長の伊藤穰一氏の話をみつけた.プラットフォームの下位レイヤーから抑えにいかないと厳しさがある.

英語論文の書き方

主張やロジックを事前に組み立てて整理したほうがよいと感じた.日本語の論文でもこの書き方は参考にできると思った.ロジックを組み立てた段階でレビューをもらうとよいと思った.

「簡潔で分かりやすい英語論文の書き方」について整理した – Unboundedly

人的資本の外部性

書籍「年収は「住むところ」で決まる」で見つけた.経済学のドメインでノーベル賞を受賞した「ロバート・ルーカス」が提唱した「人的資本蓄積モデル」に関連する.ざっくり言えば優秀な人は周囲に知識を広げていくので周囲も優秀になるということ.

教育によって形成される「知識」には「外部性」があるため、人的資本の蓄積が進めばその効果が社会に波及して、社会全体としては収穫逓増をもたらす。この点に物的資本と異なる特性を見て、経済成長論などに応用する研究が多い。

人的資本 | 基礎研WEB政治経済学用語事典

余談

Weekly Selection 2022-01-03

eBPFトレーシング技術の概要ツール実装

eBPFは素人なので後で読みたい.

Linux eBPFトレーシング技術の概論とツール実装 – ゆううきブログ

京都大学のスーパーコンピュータでHPEが誤ってデータを削除

HPEがオペレーションミスで誤ってデータを削除してしまった.Lustreのデータをシェルスクリプトで削除する際に,実行中のシェルスクリプトを変更した.これにより実行中のスクリプトに未定義の変数が発生し,データが誤って削除されてしまったそう.

スーパーコンピュータシステムのファイル消失のお詫び | お知らせ | 京都大学情報環境機構

関連した記事として以下を見つけた.

シェルスクリプトを書くときにいつもやるやつを調べた – Please Sleep

実行中のシェルスクリプトをchattr(1)を使ってimmutableにするというのはどうか – その手の平は尻もつかめるさ

シェルスクリプトを書くときには以下を書いたほうがよさそう.

#!/usr/bin/env bash
set -eux -o pipefail

コインハイブ事件の弁護活動

警察がいかに適当なのかがわかった.ひとまず弁護士をよんで黙秘するのがベストになりそう.警察官の発言に対して法律根拠を細かく聞いてメモ/録画/録音しておくのがよさそう.

取調べの最後に、依頼者は警察から口腔内細胞と指紋の提出を求められた。依頼者は「それは義務なのか」と質問し、警察官は「やってもらう決まりになっている」と答えた。むろん法律上の義務ではない。

コインハイブ事件における弁護活動 – Google ドキュメント

コインハイブ事件における弁護活動 – Google ドキュメント

K8sのRequestsとLimitsの内部実装

Twitterでinductorさんがツイートしていたのを見つけた.後で読んで見る.

KubernetesのResource Requests & Resource Limitsの内部処理をソースコードレベルで読み解く – inductor’s blog

能力と遺伝との関係

このデータの信頼性には疑問があるので,ソースを追いかけてみたほうがよさそう.

数学は87%、IQは66%、収入は59%が遺伝の影響! 驚きの最新研究結果とは(1/2)〈AERA〉 | AERA dot. (アエラドット)

余談

  • ローストビーフとケーキで遅めのクリスマスパーティーをした.
  • クラフトビールを飲んだ.
  • 2021年から2022年になった.
  • 振り返りブログを書いていたら2022年になっていた.
  • 片付けでメルカリに商品を出品した.
  • メルカリの定額払いキャンペーンで30%が戻るらしい.
  • 明治神宮にいった.
  • ebayでポチったESP32で遊んでみた.
  • お寿司を祖父母と食べた.
  • サボっていたブログをなんとか更新できた.

Weekly Selection 2021-12-27

英語語彙リスト

英語の論文を書いているときに調べて見つけた.

理工系学生のための英語語彙リスト策定に向けた基礎資料

因果をあらわす英語表現

検索していたら見つけた.

【英語論文の書き方】第7回 原因・結果を表す動詞の使い方:その2 結果→原因 論文翻訳・英文校正 研究者専門の翻訳会社 ワールド翻訳サービス

Kubernetesでのスケジューラの自作

Twitterで話題になっていた.Kubernetesのスケジューリングアルゴリズムを拡張した提案を研究でやるときに使えそう.

自作して学ぶKubernetes Scheduler | メルカリエンジニアリング

DevToolsでDevToolsを覗き見る

Twitterで流れてきた記事.Web技術だったことが意外だった.

DevTools の Web 技術でできている部分を覗き見る – polamjaggy nikki

HTTPSリソースレコードの状況

Internet WeekのDNS Dayの内容がINETNET Watchで紹介されていた.

「HTTPSリソースレコード」を使うと何がうれしいのか? その効果への期待と現実を解説【Internet Week 2021】 – INTERNET Watch

例年通りであれば,PDF形式の資料が公開されるはず.

コーディングインタビューの対策と意義

Twitterで見つけた.これは同意できる部分があった.

コーディングインタビューの対策とその意義 (1/2) – 16bitのメモランダム

CloudFrontのキャッシュの挙動

CDNでのキャッシュは,その制御がユーザ体験とバックエンドのパフォーマンスに影響を及ぼす.一方でメルカリで発生したFastlyのキャシュ制御設定不備のように設定のミスは大きなインシデントにつながる.以下では,エッジから返されるキャッシュ制御ヘッダ内のTTL値とヘッダ(例: Cache-Control)がCloudFrontの動作にどう影響するのか検証していた.

急いで CloudFront コンテンツキャッシュの挙動について確認する 〜 最小 TTL の設定には気をつけたい 〜 – ようへいの日々精進XP

Rustで実装するmalloc

Rustは何もわからないが面白そうだったので貼っておく.

Rustで実装するmalloc – NTT Communications Engineers’ Blog

インド工科大学

IITの学生のスキルが高い理由を分析していた.

インド工科大学、世界的IT企業が欲しがる人材輩出の秘密 写真9枚 国際ニュース:AFPBB News

K8sのRequestsとLimitsの内部実装

研究室のTwitterでinductorさんから教えてもらった.Kubernetesなんもわからん.

KubernetesのResource Requests & Resource Limitsの内部処理をソースコードレベルで読み解く – inductor’s blog

余談

  • クリスマスに英語で論文を書いてsubmitした.
  • 研究室にディスプレイが増えた.
  • クリスマスにチキンを食べた.
  • 大学のそばで五目やきそばを食べた.
  • Twitterでプログラマ数学不要論を主張するプログラミングスクールの記事が燃えていた.
  • Staticなお寿司を食べた(写真を忘れた).
  • LINEギフトでギフトを贈った.かなり便利でユーザ体験がよい.
  • ZOZOTOWNでPayPayキャンペーンを使ってダウンコートを買った.あたたかい.
  • PayPayカードを申し込んでみた.PayPayでの支払いに強いので活用したい.

Weekly Selection 2021-12-20

ファイルディスクリプタの上限

ファイルディスクリプタ数の上限変更とlimits.confの罠 | ゆめみ

Pythonのデコレータでロギング

def logger(func):
    def inner():
        print("#" * 10, "[BEGIN]", func.__name__, "#" * 10)
        func()
        print("#" * 10, "[END]", func.__name__, "#" * 10)

    return inner

@logger
def main()
    pass

ジェノサイド条約

ジェノサイド条約 – Wikipedia

Linuxカーネルパラメータ

研究関連でリソースの上限に衝突したので調べた.

net.core.somaxconnについて調べてみた – 祈れ、そして働け ~ Ora et labora

LinuxサーバーのTCPネットワークのパフォーマンスを決定するカーネルパラメータ – 2編 | NHN Cloud Meetup

limits.confを使えば授業で使うような共有計算リソースをユーザごとに適切な制限ができると思った.

/etc/security/limits.confに関するメモ – OpenGroove

sshの多重接続

sshでfdが枯渇していたときに調べて見つけた.やっている人は知らないがユースケースによっては使えるかも.

あまり知られてない(ような気がする)sshの多重接続 – hylom’s

datamash

awkで研究の測定データを処理しようと調べていたら見つけた.medianやmaxが簡単に集計できて,SQLのgroup byみたいな処理も簡単にできる.研究室に普及させていく.

GNU datamashを使ってLinuxコンソール上でテキストデータの加工・集計を行う | 俺的備忘録 〜なんかいろいろ〜

S3の軽量形式手法

Twitterで見つけた.元の論文をよんでみる.

Amazon S3の軽量形式手法 – masateruk’s blog

迷惑メール防止法

メールを送るときも商用目的の場合は大変だと感じた.ユーザ登録時にデフォルトでチェックボックいれる実装の禁止や,1クリックでの購読解除も追加してほしい.

m_mail_pamphlet.pdf

CISCとRISC

Complex Instruction Set ComputerとReduce Instruction Set Computerの略らしい.

CISCの例はx86, IBM System 360.RISCの例はPowerPCやARM, MIPS.

2-6_CISC¤ÈRISC.pdf

OverleafでGrammaly

これがかなり便利だった.

robindijkhof/overleaf-textarea: This plugin displays your tex source in a textarea so plugins like grammarly can check it.

悪意あるプロセスをクラウドネイティブ環境で発見

プロセス一覧からプロセスを隠すテクニックを調べたときに見つけた.

クラウドネイティブ環境でFalcoを使って隠れた悪意のあるプロセスを明らかにする – Sysdig

トヨタ自動車のソフトウェアエンジニ

Twitterで見つけた.楽しそう.

トヨタの3.5ヶ月のソフトウェアエンジニア(研究開発)生活を振り返る | 俺とお前とlaysakura

Log4jの難読化された攻撃ペイロード

Twitterで見つけた.

Log4jで話題になったWAFの回避/難読化とは何か – WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】

余談

  • クラウドベンダーの1dayインターンに参加してみた.
    • トラブルシューティングのミニゲームと社員によるパネルディスカッションがおもしかった.
    • 社員から実際の様子をきけてはたらくときのイメージと現実のすり合わせに有用だった.
  • 「脱モノリシック」がバズっていた.物知りそう.正しくは「モノリシック」.
  • プリンタの調子が悪いので,ブラザーのプリンタ DCP-J926N に買い替えた.UIがシンプルでセットアップも簡単なのが素晴らしい.久しぶりに快適
  • スシローでメルペイのクーポンを使ってお寿司を食べた.

本当にこれすぎてこれ.

Weekly Selection 2021-12-13

Apache Dubbo

論文を読んでいたら見つけた.RPCフレームワークらしい.Alibaba社が開発してOSS化されたそう.

Dubbo とは?動作確認や機能、特徴などを解説 | OSSサポートのOpenStandia™【NRI】

Apache Ozone

Preferred Networksの社内向けデータ基盤をApache HadoopからApache Ozoneに移行した話.

Apache Ozoneをやっていた一年 – Preferred Networks Research & Development

Kubernetes 1.23のリリース

IPv6のサポートがついに入ったのかという印象.

Kubernetes 1.23が正式リリース。IPv4/v6デュアルスタック、水平PodオートスケーラーAPIv2が安定版、Kubelet CRI APIがベータ版になど - Publickey

Log4jの脆弱性

最初にTwitterでMinecraftが影響を受けるという話でLog4jが注目を受けていた.その後,影響範囲が広くなるとの情報があり,各方面で対応を行う状態になっていた.

Restrict LDAP access via JNDI by rgoers · Pull Request #608 · apache/logging-log4j2

Worst Apache Log4j RCE Zero day Dropped on Internet – Cyber Kendra

Log4Shell: RCE 0-day exploit found in log4j 2, a popular Java logging package | LunaSec

【注意喚起】Log4jの脆弱性を狙う攻撃を多数検知、至急対策を! | セキュリティ対策のラック

実際のサービス群で検証した結果を掲載しているが,信憑性は定かでない.

YfryTchsGD/Log4jAttackSurface

BurpSuiteで検出されるExternal Service Interactionに近い気がした.

External service interaction (DNS) – PortSwigger

ワクチンが開発されていて面白い.

“Log4j用ワクチン”登場 脆弱性を利用して修正プログラムを実行 – ITmedia NEWS

忙しい研究者のためのテストコードとドキュメントの書き方

インターフェースの定義をdocstringで書いて,pydocを組み合わせていた.余裕のある時に実践してみたい.

忙しい研究者のためのテストコードとドキュメントの書き方 – Qiita

Pythonのシステムプログラミング

標準関数の内部実装を追跡していた.意外と知らないことがあると感じた.

Pythonならわかるシステムプログラミング – Qiita

実行できるライブラリ

標準ライブラリのうち,Pythonコマンドの -m 引数から呼び出せるものが列挙されていた.calendarやbase64があることは知らなかった.

実行できる Python 標準ライブラリ – Qiita

GoogleのレジュメTips

名前やメールアドレス,GitHubアカウントやプログラミング言語を最上段に書くことだけでも学びだった.

NSSプラグインの作成

NSSプラグインの作成を説明していた.シェルのユーザ名やホスト名の補完もこれで実現できそう.

プラグインを書いて学ぶGNU NSS – ローファイ日記

SSHの最大セッション数

デフォルトは10なので増やしたほうがよい.

OpenSSHの設定について整理する(sshd_config) – oneのはてなダイアリー

HHKBの誕生した経緯

IIJ技術研究所の和田英一先生が書かれていた.面白い.

Happy Hacking Keyboard 誕生の経緯 | IIJ Engineers Blog

余談