Monthly Shaarli
January, 2020
眠いので「DoS攻撃」を「どすこい劇」に空耳した。
どすこい!

Mozilla の addons インフラで発生した障害の話。
Real Time Attack の逆は Virtual Space Protection

The Documentation of PartialEq states that implementations must be transitive: for all for all a, b and c, a == b and b == c implies a == c. This is followed by a note indicating that the transitivity must also hold if a, b, and c are of...
Rust で Box<T>
が特殊に扱われている理由とか歴史的経緯。
rust と cargo は、変更を加えると Mozilla による explicit approval がないと rust や cargo という名前で呼ぶことができない。
これは、 Rust と Cargo の名前が Mozilla の商標として管理されているため。
このポリシーのせいで、 distro 側でパッチとか当てる運用に支障が出るしユーザの自由を奪っている、という話らしい。
(旧ページ: Rust's Freedom Flaws)
2022-09-11: サイトが壊れている (リンク先が言語別ページになっていない)。 Web Archive 上のアーカイブ を参照されたし。
This post covers a simple Rust application to explore topics like async/await, unsafe Rust, signal handling, and error handling.
あなたが深淵を覗くとき、ビッグブラザーもまたあなたを覗いているのだ
寄付専用個人間送金プラットフォーム
アガPay
- original: https://note.com/okaki_tabetai/n/n0a784b08b1b2
- archive
- archive.is: https://archive.is/qPVeF
- LINE news: https://news.line.me/articles/oa-rp24814/ae7c3b51b739
求めたのは、いつものまどろみ。聞こえるのは、Slackの着信。告げるのは、白紙の進捗。
ひぐらしのなく頃に 論隠し編其の参 『ネボウ』
あなたは、信じられますか?
--- https://mastodon.cardina1.red/@lo48576/103470955875820056
実話です
--- https://mastodon.cardina1.red/@lo48576/103470973400089078
アイドルマスター⇔ビジースレイブ

なぜ男性向けの巨乳キャラは燃えるのに、その逆はないのか。その理由をデータを基に考察していく。
女性の方が生殖コストが大きいから、社会全体としての価値観に女性の性の価値観が強く反映されやすい。
一方で男性の性の価値観は反映されづらく「社会的でない」と判定されやすいと。

RDB の存在意義は単なるデータストアとしてではなく、制約 (データ同士の関係や値そのものの制限) の強制と検索にあるという話。
また逆に、制約をかけようのないデータや検索対象にならないデータは RDB に入れる意味がないし入れるべきでないという話。
要点が端的にまとまっていて良い記事だった。
sysenter
/sysexit
や syscall
/sysret
命令のパフォーマンスは int
命令などに比べて非常に高い。
ラウンドトリップは整数の除算より小さいほど。

NBロドスタに乗ってるやつもy軸は無限とかいいながら二人掛け座椅子を幌代わりにして持ち帰ってたしオープンカー乗りはどこかおかしい
「y軸は無限」
Unixコマンドの使い方解説
touch …… 空ファイルを作成します
cat …… ファイルの中身を表示します
あと何がありますか?

https://www.youtube.com/watch?v=PyLDKRPGMxA&t=22
But gamers leaning on the hardcore side of the hobby tend to find glitches charming, like the Japanese philosophy of wabi-sabi, it's the imperfections that can make a player more attracted to the game.
I like to think of them as unofficial Easter eggs.
https://mastodon.cardina1.red/@lo48576/103521004928980061
わびさびといえば、このまえ外国人ニキがゲームの glitch を紹介する動画で「筋金入りのゲーマーは glitch が大好きだよね! それは wabi-sabi の心なんだ、不完全なものに惹かれるんだよ」みたいなこと言ってて爆笑してしまった
glitch が楽しいのはわびさび。
近頃の地震はマナーがなっとらん。揺れる前に緊急地震速報で電話機に一報入れるのが社会人の常識だろう
私知ってる、ショートボブの反対はロングアリスでしょ
レイトレーシング↔アーリーアイドリング
Thompson により提案されたオートマトンベースのアルゴリズムは、安定して高速に動作する。 backreference を導入したような拡張正規表現のためにバックトラックベースの正規表現エンジンを使っている言語は、特定の正規表現のマッチに指数的な時間が必要となるが、オートマトンベースであれば O(nm)
(正規表現の長さと入力文字列の長さについて線形) で済む。
きわめて単純な C のソースコード付きでアルゴリズムを解説。
普通に NFA を実行するだけのシンプルなもの。そこそこ読みやすい。
続編:
最近の Rust エコシステムでは no_std
環境でスピンロックを使うような慣習があるが、スピンロックには重大な欠点がある。
よくできた (std や parking_lot
crate の) mutex ではスピンロックと同等かそれ以上のパフォーマンスが出るため、安易にスピンロックを使うべきでないという話。
スピンロックで起きる問題のサンプルコード付き。
They (
std
やparking_lot
の mutex) already do a small amount of spinning iterations before calling into the kernel, so they are as fast as a spinlock in the best case, and infinitely faster in the worst case.(注釈は引用者による)
また、軽量なロックを使いたい場面としてよくあるのが「一回きりの初期化」だが、この場合筆者の作った once_cell
crate が有用だとのこと。

Because that way a generic error printer can render out something like
error: Connection error (could not connect to foo) caused by: io error (ECONNRESET)
instead of
error: io error (io error (ECONNRESET)) caused by: io error (ECONNRESET)
Which is what I'm observing frustratingly commonly.
MyErrorEnum::Io(std::io::Error)
ではなく MyErrorEnum::ConnectionError(std::io::Error)
のようにすべきで、前者のような情報を加えないラッパーは面倒という話。
たしかに。