Sinopsis
CPUUnixCPUxv6 Unix (@nullpo_head)https://turingcomplete.fm/9TTSneoCPUCPUUNIXOS (xv6) CPUCOSCPU & xv6Jeff DeanRuss CoxRobert MorrisMorris wormMySpace 14John CarmackLLVMELVM8cc CC2048
Episodios
-
11. C++ constexprによるコンパイル時Cコンパイラ、テンプレートとジェネリクス、コンピュータサイエンスの理論と実践 (うどん)
25/03/2018 Duración: 01h06minうどんくんがELVMを使ってCコンパイラをC++14 constexprに移植した件や、テンプレートとジェネリクス、プログラミングの型の理論などについて話をしました。出演者: うどん (@kw_udon_)、Rui Ueyama (@rui314) https://turingcomplete.fm/11 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) 数学ガールの結城先生から返事がいただけた件 (0:16) ELVMとは何か (4:26) C++テンプレート省メモリメタプログラミング (7:49) テンプレートの使い所とJavaのジェネリクス (12:42) Goにはジェネリクスもテンプレートもない (13:44) C++11とC++14のconstexpr (17:19) C++17の多重代入構文 (22:25) Accidentally Turing-Complete (24:11) Javaのジェネリクスはチューリング完全 (24:58) Javaの型システムはunsound (25:54) Featherweight Java (35:15) C++コンパイル時コンパイラに対する大きな反響 (37:35) ELVMのバックエンドが書きやすい言語と書きにくい言語 (38:50) 難解言語として作られたMelborne (42:58) Rubyのfizzbuzzコードゴルフと数学 (47:38) SATySFiはどうなんですか (50:44) 理論的にもよく実際にメリットがある言語 (54:55) 静的型と動的型 (55:48) lldのメモリを解放しないデザイン (1:00:45) FacebookとOCaml (1:02:48) 結城さんの数学ガール 結城先生、うどんくんにコメントしてくれる HamajiさんによるELVM Compiler Infrastructureの解説 コンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話 ヒルベルトの23の問題 テンプレートメタプログラミング 純粋関数型データ構造 Accidentally Turing-Complete Why does Go not have ge
-
10. Cコンパイラをスクラッチから作成、東大CPU実験、型とプログラミング (うどん)
17/03/2018 Duración: 01h18minOSの移植に使えるレベルのCコンパイラを自作CPU向けにスクラッチから書いた話について話を伺いました。出演者: うどん (@kw_udon_)、Rui Ueyama (@rui314) https://turingcomplete.fm/10 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) プログラミングは大学生から (2:44) プログラミングと理論の楽しさ (3:50) プログラミングの多様性と巨大ピタゴラ装置的プログラミング (13:45) CPU実験のFPU係 (16:36) Cコンパイラのパーザを土日に黙って作ってきてxv6移植チームに混ぜてもらう (26:52) Cの文法の問題点 (31:05) パーザを成長させてCコンパイラを作る (34:22) Udon C Compiler (40:49) typedefは特に文法的に曲者 (43:01) xv6のユーザランドもuccですべてコンパイル (47:45) OCamlでなければ実験期間内にCコンパイラはたぶん完成しなかった (50:18) Erlangの言語のパターンマッチの問題点 (53:23) xv6をコンパイルする前にPicrin Schemeを移植してテスト (56:20) reallocのバグにハマる (58:00) MinCamlで書かれているレイトレプログラムは大昔には元々BASICで書かれていた (1:03:38) レイトレでレンダリングされるあの画像は映画のTRON (1:04:37) 惑星Solaris (1:06:16) 東大CPUはレイトレの速度だけで成績が決まるわけではない (1:09:14) Fabrice Bellard伝説 (1:14:53) JavaScript版の自作CPU向けシミュレータ上で今回移植したxv6を動かせるページ CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 自作CPU向けCコンパイラをつくってOS動かした話(CPU実験まとめ) 結城さんの数学ガール ゴールドバッハの予想 型システム入門 —プログラミング言語と型の理論— Hindley-Milner type system xv6 Unix 2の補
-
9. 東大CPU実験で自作CPUにUnixを移植した話 (ぬるぽへ)
11/03/2018 Duración: 01h28min東大CPU実験でUnixが動かせるCPUを自作してxv6 Unixを移植した件について話を伺いました。出演者: ぬるぽへ (@nullpo_head)、Rui Ueyama (@rui314) https://turingcomplete.fm/9 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) 日本語プログラミング言語 (1:16) 品川研 (2:41) 東大CPU実験の紹介 (4:38) 使っているハードウェアは結構よい (14:30) 情報理論、可逆計算、情報と熱 (16:20) CPU実験道場破り (18:55) 汎用CPUを作る必要はあるのか? (19:55) xv6は昔のUnix v6のテイストをそのままにx86に作り直したもの (21:15) Russ Cox伝説 (28:21) Robert Morrisはインターネットを落としたことがある (31:20) MySpace作者は家をSWATに襲撃された (32:33) DOOM作者のJohn Carmackはコンピュータを盗んで捕まった (33:16) ぬるぽへさんの中学時代のいたずら (34:38) xv6をMIPSに移植 (38:35) Cコンパイラをスクラッチからいきなり作成 (48:16) ELVM/8ccとチューリング完全 (50:40) 自作CPU用のツールチェイン (56:50) 汎用CPUを作るのは大変 (1:00:40) クロス開発とセルフ開発のブートストラップ (1:05:07) xv6のファイルサイズ制限の回避 (1:08:30) Cプリプロセッサを作るのは若干面倒 (1:11:20) 東大CPU実験を他の大学に移植するには? (1:17:42) 就活とプログラミングコンテスト (1:22:00) 日本語プログラミング言語TTSneo CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 自作CPU向けCコンパイラをつくってOS動かした話(CPU実験まとめ) パターソン & ヘネシー コンピュータの構成と設計 可逆計算 プラレールの加算器 xv6 Jeff Dean伝説 Russ Cox Robert Morris Morr
-
8. 30日OS自作入門本を読んでOS自作、コンピュータサイエンスと大学、インターンシップ (hikalium)
04/03/2018 Duración: 01h21min「30日でできる!OS自作入門」を小学5年生で手にして以来行ってきた低レイヤプログラミングについて話を伺いました。出演者: hikalium (@hikalium)、Rui Ueyama (@rui314) https://turingcomplete.fm/8 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) 小学5年生、OS自作入門本に入門する (0:50) アセンブリプログラミング (7:40) OSをフロッピーから起動 (9:45) 32ビットモードからBIOSを呼ぶために仮想86モードを使う (1) (13:25) 紙のIntelソフトウェアデベロッパマニュアル (17:55) 32ビットモードからBIOSを呼ぶために仮想86モードを使う (2) (20:12) CPUの機能でブレイクポイントをセットしてOSをデバグ (24:56) ページングとセグメンテーション (28:07) Virtual PCのバグを発見 (31:30) SourceForgeでマルウェアをインストールしてしまう (38:04) 自作OSを起動するとなにがあるのか (41:52) 大学で自分強すぎ問題 (44:58) RISC-Vプロセッサを使うのはまだ辛い (49:20) 大学のマイコン実験 (55:10) 海外の大学院にいくべきか問題 (1:00:38) Chromeのインターン (1:05:56) 30日でできる!OS自作入門 セルオートマトン ライフゲーム hikalium自作OS VESA BIOS Extensions Intel Software Developer Manuals Intel Software Developer Manualsの印刷版が注文できるサイト RISC-V SiFive 東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 GomaのためのCプリプロセッサ Selection.addRange() Rustで書かれたNaglfarブラウザ
-
7. macOSやWindowsでLinuxバイナリを動かすプログラムを作った話 (ぬるぽへ)
25/02/2018 Duración: 01h36min仮想マシン上でLinuxを動かすのではなく、システムコールをトラップしてトランスレートすることによりLinuxアプリを他のOSで動かすことのできるNoahについて、ぬるぽへさんから話を伺いました。出演者: ぬるぽへ (@nullpo_head)、Rui Ueyama (@rui314) https://turingcomplete.fm/7 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 イントロ (0:00) TCFMの内容は半分の人が1/4しかわかっていないらしい (1:40) Noahの概要 (3:20) Windows版のNoahとforkの実装など (12:00) Microsoftのクラウドビジネス (25:30) Noahの開発期間 (29:09) LinuxのGUIアプリをX経由でmacOSで動かす (37:05) 端末のシミュレーションとカーネルのサポート (39:38) Fuchsia OS (44:30) GNUユーティリティの書き換え? (50:10) エンディアンとは何か (54:00) macOSアプリをLinuxで動かすmaloader (56:25) Noah経由のシステムコールのオーバーヘッドの小ささ (59:50) オープンソースプロジェクトを宣伝する (1:02:13) lldのソースコードを共有しないデザインについて (1:04:58) Linux KVM、Apple Hypervisor Framework、Intel HAXM (1:10:36) DockerとDocker on macOS/Windowsは中身が全く違う (1:16:12) VM作成のドキュメンテーションのなさについて (1:19:00) C++初心者、Boostを使って共有メモリ上のコンテナを使う (1:24:33) 東大CPU実験と強さのインフレ (1:33:07) Noah Steve Ballmer、iPhoneを笑い飛ばす イノベーションのジレンマ エンディアン Fuchsia maloader Language lawyer CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 自作CPU向けCコンパイラをつくってOS
-
6. LuaJIT、Lisp、Forth、PostScript、メタオブジェクトプロトコル、勉強に良いソースコード (Miura Hideki)
17/02/2018 Duración: 59minMiuraさんと一緒にいろいろなスクリプト言語の実装や言語そのものなどについて話をしました。出演者: Miura Hideki (@miura1729)、Rui Ueyama (@rui314) https://turingcomplete.fm/6 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 LuaとLuaJIT (0:00) 例外のABI (8:25) SQLiteとライセンス (12:45) ファイルシステムとデータベース (16:23) XLISPで言語の書き方を学んだ (19:15) C++の後方互換性とトライグラフ (21:55) Common Lispのメタオブジェクトプロトコル (26:18) Gauche Schemeのコンパイラのブートストラップ (35:40) 川合史郎さんの自作オーブンPC (40:02) ForthとOh! FM (43:00) Sun SPARCStation (50:27) PostScriptとHTML Canvas (53:16) SVGとXML (56:58) Lua SQLite パブリックドメイン XLISP トライグラフ The Art of the Metaobject Protocol Gauche Scheme COME FROM Reflections on Trusting Trust オーブンPC Forth Open Firmware PostScriptチュートリアル & クックブック
-
5. 動的型付け言語のJIT、Rubyの最適化しにくい文法、Crystal (Miura Hideki)
12/02/2018 Duración: 01h04minmrubyのJITなどを書いているMiuraさんと一緒に、言語処理系の実装や最適化、Rubyの文法の最適化しづらい点などについて話をしました。出演者: Miura Hideki (@miura1729)、Rui Ueyama (@rui314) https://turingcomplete.fm/5 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 本業は水道屋 (0:00) JITにするだけでは速くはならない (5:00) evalと最適化 (10:30) オーバーフローしたfixnumが自動的にbignumやfloatになる仕様について (16:35) mrubyが使われている場所 (24:10) 拡張ライブラリの書きやすさ (31:25) CライブラリからRubyで書かれたコールバックを呼び出す状況の辛さ (33:30) Crystal (38:10) 型推論とプログラムの書きやすさ (40:25) コンパイラにわからない形でevalを使う方法 (50:25) evalの使いどころとread (55:25) callcc (59:47) Ruby Crystal Xbyak
-
4. カーネルデバッガ、C++ライブラリの移植、ネットワークプロトコルと大規模な実験 (るくす)
05/02/2018 Duración: 01h16minるくすくんの作ったカーネルデバッガやC++ライブラリの移植、C++などの話をしました。出演者: るくす (@RKX1209)、Rui Ueyama (@rui314) https://turingcomplete.fm/4 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 コンパイラやエミュレータを作るためのオススメの本などはありますか? (0:00) るくすくんが未踏で作ったカーネルデバッガ (8:46) C++標準ライブラリを新しい環境に移植する話 (39:35) SPDYやQUIC (58:14) 低レイヤーの歩き方 ビザンチン将軍問題 Gauche Scheme カーネルソフトウェア開発支援ツールの提案 ジョージ・ホッツ comma.ai リード・ソロモン符号 SIPプロトコル
-
3. カーネギーメロン大学の客員研究員ポジション、様々なCPUのバグ、オープンソースプロジェクトから読み取れる各社の意向 (るくす)
28/01/2018 Duración: 01h47minるくすくんと一緒に低レベルプログラミングやオープンソースの話をしました。出演者: るくす (@RKX1209)、Rui Ueyama (@rui314) https://turingcomplete.fm/3 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 カーネギーメロン大学の客員研究員ポジション通りました (0:00) PhD出願の方法 (5:30) 脆弱性の自動発見手法の研究 (13:35) turingcomplete.fmウェブサイトの改善とOpusオーディオエンコーディング (20:55) CPUの脆弱性 (Spector & Meltdown)の解説 (28:50) その他のCPUのバグ (51:15) オープンソースプロジェクトから読み取れる会社の意向 (1:03:55) Facebookのコンパイラディナー (1:11:27) 弾幕ゲーム言語とピンボール言語 (1:18:54) オールTTLの手作りCPU (1:30:15) 技術力+α (1:35:12) 視聴者からのお便り待ってます (1:46:45) Opusオーディオコーデック オールTTLの16ビットCPU Magic-1 ピンボールのために作られたScheme実装 Ypsilon lccコンパイラの解説本
-
2. Nintendo Switchのエミュレータの開発、CPUの投機的実行のセキュリティホール、CMUとスタンフォード (るくす)
21/01/2018 Duración: 01h46minるくすくんと一緒に、るくすくんが開発しているNintend Switchのエミュレータの話やセキュリティの話などをしました。出演者: るくす (@RKX1209)、Rui Ueyama (@rui314) https://turingcomplete.fm/2 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 Nintendo Switchのエミュレータ開発 CPUの脆弱性 (Spector & Meltdown) カーネギーメロン大学の客員研究員ポジション スタンフォード大学の宿題 Stanford CS140 Stanford CS140e lldリンカ Fuchsia OpenBSD kernel address randomized link
-
1. コードゴルフ、ゴルフ場、セキュリティコンテスト(DEFCON CTF) (浜地 慎一郎)
23/08/2016 Duración: 01h07min浜地さんを迎えてコードゴルフ、ゴルフ場のセキュリティ、先日ラスベガスで行われたセキュリティコンテスト(DEFCON CTF)の話を伺いました。出演者: 浜地 慎一郎 (@shinh)、Rui Ueyama (@rui314) https://turingcomplete.fm/1 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 ゲスト紹介 (0:00) コードゴルフ (2:31) ゴルフ場のセキュリティ (15:45) DEFCON CTF (29:01) APL J 浜地さんの運営しているゴルフ場