Monthly Shaarli

All links of one month in a single page.

March, 2022

Looking Through Mojo Vision’s Newest AR Contact Lens
thumbnail

With batteries, motion sensors, and a microLED on board, Mojo lets me try out its first apps

到着時のチャイムの音からずば抜けた臨場感でした。
Haskellでの型レベルプログラミング
thumbnail
らりお・ザ・何らかの🈗然㊌ソムリエ: "足が早いと悲しいのが squid 足が早いと嬉しいのが squad #違い #適当" - Mastodon

足が早いと悲しいのが squid
足が早いと嬉しいのが squad

Computer History Museum - Lectures - Origins of the Apple Human Interface

C-{Z,X,C,V} の由来についての情報がある。

Well, we did X because it was a cross-out, and we did V because it pointed down like this, and you were inserting, like an upside down caret. [Laughter] That was Paste. And Z was the closest one, because we figured you’d Undo a lot. And C for Copy, that was easy. So that’s how we did that.

Rust's Unsafe Pointer Types Need An Overhaul - Faultlore
thumbnail

ポインタとアドレスは別の型にすべきではないかという話。
それから、 dereference と offset 取得のコンテキストも演算子を別に用意することで明確に分離すべきという話。

近年の言語はポインタについて provenance の追跡等をしていたり、あるいはポインタサイズをアドレスサイズよりも大きくしてハードウェアによる検証用メタデータを埋め込むアーキテクチャ (CHERI) なども発生している。
このような状況では、ポインタはアドレスよりも多くの情報を持っているし、ポインタからアドレスへの変換も非自明なものになってくる。
とはいえアドレス (整数) による演算は依然として有用だ。
そこで、 dereference できるポインタと、メモリ上の位置を表現するアドレスを別のものにして、間に変換を用意してやるべきである。

また、型のフィールド等のオフセット計算の文脈が dereference の文脈と分離されていないため、フィールドのアドレスを計算するつもりの式が UB を引き起こしかねないなどの問題もある。
これについては、「特定のフィールドを参照する」ための演算子と「フィールドのオフセットを指定する」ための演算子を個別に用意してやることで、文脈の混乱が解消でき、 offsetof 系の機能にまつわる面倒な問題を解消できる。

20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog
thumbnail