セキュキャンのCコンパイラ作成コースの話、CGでよくでてくるティーポットの実物を入手した話、hikaliumの中学生時代のOS自作の話をしました。 出演者: hikalium (@hikalium)、Rui Ueyama (@rui314) https://turingcomplete.fm/29 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) セキュキャン事前学習始まりました (1:33) 「低レイヤを知りたい人のためのCコンパイラ作成入門」(仮題)、現在7万字 (3:58) Cの不可解な言語仕様のルーツを知るために1972年の最初期のCコンパイラのコードを読んでみた (6:07) 符号拡張とマイナス2進数 (13:04) コース参加者のコードのほうが8ccのコードよりきれい (17:57) 一番最初のコンパイラは構文解析が非常に苦労した (20:23) CGでよくでてくる例のティーポットを買いました (22:07) 元々はボストンのコンピュータ博物館で展示されていた (25:15) Frieslandという会社が今でも同じティーポットを作っている (26:03) ユタ・ティーポットはなにがCGに適しているのか (28:27) ユタ・ティーポットと南部鉄器の類似性 (30:31) 内輪ネタとしてのユタ・ティーポット (33:14) ユタ大学のUtah Teapot Rendering Competition (34:00) 画像処理の標準テストイメージとしてよく使われる女の人Lennaの話 (37:57) ユタ・ティーポットは日本からも普通に買えるはず (41:47) hikaliumのOS自作入門 (43:28) hikaliumの小学生時代のホームページ (44:21) 30日OS自作入門本のOSのファイルシステム (48:00) GUIの多色対応 (51:36) 30日OS自作入門本のmalloc (55:29) K&R mallocを自力で発明して実装 (58:10) テキストボックスを実装 (1:00:33) ARMの実行のみできるページ(読めない)という新しい機能 (1:03:17) x86のページテーブルがいつの間にか5段くらいに深くなっている件 (1:06:32) lldでEFIバイナリのブートローダを簡単に作成 (1:08:01) lldはクロスのビルドを簡単にするつもりで作っている (1:09:48) hikaliumのOS次回作のテーマ (1:12:07) Window Systemでウィンドウを入れ子にする (1:15:04) クリックした場所を検出しようとすると必ずマウスカーソル自身になる問題の回避法 (1:18:58) MIDIファイルを読んでPCのビープ音で再生する機能を実装 (1:20:48) 無理やりなコードでも動くものを一回書くと学べることが多い (1:25:00) Intelのマニュアルを読んで16ビットモードのエミュレータの作成を試みる (1:26:42) 中学生の夏休みの頃はひたすらコードを書いていたりしていた (1:31:38) エディタはWindowsのメモ帳だった (1:32:18) いまからみると稚拙なコードを書いていた中学生時代 (1:37:50) エンディング (1:39:57) 1973年前後のCコンパイラのソースコード 2の補数 (Wikipedia) 8cc C Compiler ユタ・ティーポット (Wikipedia) 購入したユタ・ティーポットの写真 コンピュータ・ヒストリー・ミュージアムに収められている「本物」のユタ・ティーポット 南部鉄器 (Wikipedia) Utah Teapot Rendering Competition 画像の標準テストイメージとしてよく使われるLenna Frieslandのティーポット注文ページ Frieslandのティーポット注文ページ(中) Frieslandのティーポット注文ページ(オリジナルの大きいサイズ) 30日でできる! OS自作入門(書籍) ARM execute-only memory プログラミング言語C(通称K&R本) Rss Apple Podcaster →