Turing Complete FMはRui Ueyamaによるプログラミングについてのポッドキャストです。
30. セルフホストできるCコンパイラの作り方を夏休みの特別授業で教えた話
ゲスト: hikalium (@hikalium)
セキュキャンのCコンパイラ自作コースが無事に終わりました。共同講師だったhikaliumと一緒に、コンパイラ自作の要点やコンピュータサイエンスの教え方などについて振り返りました。
29. ユタ・ティーポット、Cコンパイラ開発の授業、中学生時代のOS自作エピソード
ゲスト: hikalium (@hikalium)
セキュキャンのCコンパイラ作成コースの話、CGでよくでてくるティーポットの実物を入手した話、hikaliumの中学生時代のOS自作の話をしました。
28. プログラミング言語のブートストラッピング問題、コードとの互換性を保ちつつ言語を変更していく話
ゲスト: 川合史朗 (@anohana)
Gauche Schemeの作者の川合史朗さんと言語処理系についての話をしました。GaucheのCコードとの互換性を保ちつつ無限リストを導入するために採用したトリックや、Gauche自身で書かれているGaucheを過去のバージョンでビルドするために気をつけていることなどの話をしました。
27. 歴史の中のコンピュータ: 1946年の電王戦、エニグマ暗号の解読
ゲスト: うどん (@kw_udon_)
今週は歴史回です。僕からは、終戦の翌年の東京で、日本のそろばん名人が米軍代表の電卓オペレータと大規模な公開マッチを行って、そろばん名人が勝利したという知られざるエピソードを紹介します。うどんくんからは、第二次世界大戦のドイツ軍の暗号がどう破られたのかという話をします。
26. Nintendo Switchのエミュレータでhomebrewアプリを動かす話、サイバーセキュリティと政府機関
ゲスト: るくす (@RKX1209)
るくすくんとSwitchエミュレータの進歩や、政府機関のサイバー部隊に就職したい話、セキュリティ全般について話をしました。
25. Chromeのローディングの最適化、脆弱性報奨システム、ブラウザとマイクロカーネル
ゲスト: Kinuko (@kinu)
Chrome開発者のKinukoさんと、Chromeのページロードを速くする話や、ブラウザのセキュリティ、ブラウザのマルチプロセスアーキテクチャとマイクロカーネルの類似性などについて話をしました。
24. 細胞内の物質の濃度を測る研究、ヒトゲノム計画、害虫の根絶
ゲスト: Shiro Kadowaki
東大医学部卒業後にソフトウェアエンジニアをしている門脇さんと、生物の研究の話や最近の遺伝子技術の進歩などについて話をしました。
23. マッチングアルゴリズム、不揮発性メモリ、水槽の脳
ゲスト: hikalium (@hikalium)
戦略投票を行わなくてよいマッチングのアルゴリズム、Intel 3D XPointのような不揮発性メモリ、この世界はシミュレーションか、といった話などをしました。
22. gVisor(LinuxユーザプログラムとしてLinuxカーネルを実装したサンドボックス)とNoahの話
ゲスト: ぬるぽへ (@nullpo_head)
gVisorというLinux向けサンドボックスがオープンソース化されました。gVisorの構成は、ぬるぽへさんが作成していたNoahとかなりよく似ています。そこで、ぬるぽへさんからNoahの経験をもとにgVisorの話を伺いました。
21. 東大CPU実験でRISC-Vプロセッサを自作した話
ゲスト: 高橋祐花 (@00_)
東大の授業ではCPUやコンパイラを作ってレイトレイサを動かすという授業があります。高橋さんのチームはRISC-Vプロセッサを実装して汎用OSを動かそうとしました。その話を伺いました。
20. Nintendo Switchのハッキングとコンピュータセキュリティ
ゲスト: るくす (@RKX1209)
るくすくんと一緒に、デバグ例外を使ってx86プロセッサ上のOSのセキュリティホールをつく手法や、Nintendo Switchのハッキング、ゲーム機のセキュリティなどについて話をしました。
19. Gauche Schemeのスタックとヒープのハンドリング
ゲスト: 川合史朗 (@anohana)
川合史朗さんが作っているScheme処理系Gaucheの実装について、特にメモリ管理やクロージャ、継続の実装などに焦点を当てて話をしました。最近のCPUでは単純にJITしても速くならない理由などについても話をしています。
18. セキュキャン、LLVMプロジェクト、コンピュータサイエンスの書籍
ゲスト: hikalium (@hikalium)
hikaliumのセキュキャン体験、コンピュータセキュリティ、LLVMプロジェクト、コンピュータサイエンスのおすすめ書籍などについて話をしました。
17. Gauche Schemeの基本デザインの選択理由、オブジェクトデータベース、浮動小数点数の落とし穴
ゲスト: 川合史朗 (@anohana)
プログラミング言語を作る時には、途中で変えることが極めて難しいデザイン選択を最初に行わないといけないことがあります。今回は川合史朗さんがGaucheを設計した時に行ったデザイン選択の判断について話を伺いました。また、浮動小数点数のトリッキーさについても話をしています。
16. プログラムの静的検証、システムズプログラミングの論文
ゲスト: うどん (@kw_udon_)
うどんくんが研究していたプログラム検証の話や、システムズプログラミングの古典的な論文についての話をしました。
15. CERNでのソフトウェアエンジニアリング
ゲスト: 高橋祐花 (@00_)
CERNでソフトウェアエンジニアとして仕事をしている高橋祐花さんと、CERNでの話やスイスでの暮らし、外国語、フェミニズムなどについて話をしました。
14. 少年時代にPCを(本当の意味で)自作した話
ゲスト: 川合史朗 (@anohana)
Gauche Schemeの作者の川合史朗さんと、Z80 CPUを使ったPCをホストコンピュータなしに自作した話や、Schemeの話などをしました。
13. 自作アセンブラ、リンカの最適化、トリッキーなビット操作の楽しさ、外資系IT企業のコーディング面接対策
ゲスト: hikalium (@hikalium)
hikaliumの自作アセンブラや自作言語、データ構造やトリッキーなビット操作を使ったアルゴリズム、リンカの最適化などについて話をしました。
12. Unicode、絵文字、Androidのテキスト関連のハンドリング、無数の文字トリビア
ゲスト: のな (@ttuusskk)
Androidのテキスト処理を担当しているのなさんと、UnicodeやUnicode絵文字、テキスト処理の複雑さ、文字トリビアなどについて話をしました。
11. C++ constexprによるコンパイル時Cコンパイラ、テンプレートとジェネリクス、コンピュータサイエンスの理論と実践
ゲスト: うどん (@kw_udon_)
うどんくんがELVMを使ってCコンパイラをC++14 constexprに移植した件や、テンプレートとジェネリクス、プログラミングの型の理論などについて話をしました。
10. Cコンパイラをスクラッチから作成、東大CPU実験、型とプログラミング
ゲスト: うどん (@kw_udon_)
OSの移植に使えるレベルのCコンパイラを自作CPU向けにスクラッチから書いた話について話を伺いました。
9. 東大CPU実験で自作CPUにUnixを移植した話
ゲスト: ぬるぽへ (@nullpo_head)
東大CPU実験でUnixが動かせるCPUを自作してxv6 Unixを移植した件について話を伺いました。
8. 30日OS自作入門本を読んでOS自作、コンピュータサイエンスと大学、インターンシップ
ゲスト: hikalium (@hikalium)
「30日でできる!OS自作入門」を小学5年生で手にして以来行ってきた低レイヤプログラミングについて話を伺いました。
7. macOSやWindowsでLinuxバイナリを動かすプログラムを作った話
ゲスト: ぬるぽへ (@nullpo_head)
仮想マシン上でLinuxを動かすのではなく、システムコールをトラップしてトランスレートすることによりLinuxアプリを他のOSで動かすことのできるNoahについて、ぬるぽへさんから話を伺いました。
6. LuaJIT、Lisp、Forth、PostScript、メタオブジェクトプロトコル、勉強に良いソースコード
ゲスト: Miura Hideki (@miura1729)
Miuraさんと一緒にいろいろなスクリプト言語の実装や言語そのものなどについて話をしました。
5. 動的型付け言語のJIT、Rubyの最適化しにくい文法、Crystal
ゲスト: Miura Hideki (@miura1729)
mrubyのJITなどを書いているMiuraさんと一緒に、言語処理系の実装や最適化、Rubyの文法の最適化しづらい点などについて話をしました。
4. カーネルデバッガ、C++ライブラリの移植、ネットワークプロトコルと大規模な実験
ゲスト: るくす (@RKX1209)
るくすくんの作ったカーネルデバッガやC++ライブラリの移植、C++などの話をしました。
3. カーネギーメロン大学の客員研究員ポジション、様々なCPUのバグ、オープンソースプロジェクトから読み取れる各社の意向
ゲスト: るくす (@RKX1209)
るくすくんと一緒に低レベルプログラミングやオープンソースの話をしました。
2. Nintendo Switchのエミュレータの開発、CPUの投機的実行のセキュリティホール、CMUとスタンフォード
ゲスト: るくす (@RKX1209)
るくすくんと一緒に、るくすくんが開発しているNintend Switchのエミュレータの話やセキュリティの話などをしました。
1. コードゴルフ、ゴルフ場、セキュリティコンテスト(DEFCON CTF)
ゲスト: 浜地 慎一郎 (@shinh)
浜地さんを迎えてコードゴルフ、ゴルフ場のセキュリティ、先日ラスベガスで行われたセキュリティコンテスト(DEFCON CTF)の話を伺いました。