Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20120823a
Search
Hidemi KAWAI
August 23, 2012
Programming
1k
0
Share
20120823a
旧式PC利用のススメ
[東京]第一回首都圏勉強会(APASEC) で発表
Hidemi KAWAI
August 23, 2012
More Decks by Hidemi KAWAI
See All by Hidemi KAWAI
C言語でメモリ管理を考えた話
hkawai
0
760
超軽量型プログラミング言語 ES-BASIC
hkawai
0
1.8k
OSASK計画が考える新しいプログラミング言語の構想
hkawai
1
1.5k
OSECPU-VMの資料
hkawai
0
770
赤間仁志さんのプラレールによる半加算器
hkawai
0
890
20130806a
hkawai
0
360
20120326a
hkawai
1
1.1k
Other Decks in Programming
See All in Programming
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
1.5k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.7k
Swiftのレキシカルスコープ管理
kntkymt
0
200
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
390
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
780
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.1k
Claspは野良GASの夢をみるか
takter00
0
130
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
270
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.3k
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
440
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
320
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
420
HDC tutorial
michielstock
2
680
How to make the Groovebox
asonas
2
2.2k
Navigating Team Friction
lara
192
16k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
370
RailsConf 2023
tenderlove
30
1.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
180
Designing for Performance
lara
611
70k
Transcript
旧式PC利用のススメ セキュアなOSを作ろうクラス講師 川合 秀実 (サイボウズ・ラボ)
自己紹介 1975年生まれ 物性物理学で修士号を取得 OSASKの作者 「30日でできる!OS自作入門」著者
セキュリティ&プログラミングキャンプ講師 セキュリティキャンプ講師 サイボウズ・ラボの社員
背景 (わたしの子供時代) (経済的な理由で)古いコンピュータを使っていた 友人たち CPU:10MHz, MEM:640KB わたし
CPU:1MHz, MEM:64KB 友人たちがうらやましい → なんとか手に入れる すると友人たちは 100MHz, 8MB やっぱり追いつけない・・・ ゲーム作り競争 金がないのなら頭で勝負だ! (10倍の性能差を乗り越えて) 勝ったり負けたり
経過 (結果としての)私のプログラミングスタイル ハードウェアの仕様をすみずみまで理解 長所を生かす方向で全力でやる つまり機種依存が大好き
というかそうしないとまず勝てない! そして・・・ i386のセグメンテーションとページングに感動 64KBの壁がなくなった!すげえ ページングが使えるなんて! 超わくわくしてOSを作る → OSASK 仮想86とTOWNSに感動して98エミュレータも作った
世間の流れ 機種依存はよくない 移植性が大事だ 高速化とか意味ない ハードウェアはどんどん高速化していくから、 ソフトウェアは高速化をがんばる必要はない
むしろ読みやすいソースを書くべき レジスタ直交性重要、専用レジスタで速くするな 私のスキルが全否定される時代に しかし私はプログラミングスタイルを変えず、 古いPCでも快適に動作することを常に自分に課した
結果 世間からは高速化テクニックが忘れられていく ロストテクノロジー? 私には高速化テクニックが蓄積された 「普通の人にできることはできないが、 普通の人にできないことができる」
そして、高速化が認められる時代がやってきた!
成果 大学院での研究成果: 計算機シミュレーションの高速化 アルゴリズムの見直しで最高1000倍速 サイボウズ・ラボでの成果:
製品A: 実質4倍速 (部分84倍速) 製品B: 実質2倍速 (部分4倍速) 製品C: 実質100倍速 (部分8000倍速) 高速化のプロとして活躍中?!
結論 だから旧式のPCを使いましょう!(笑) ほかのメリット: お金がかかりません リサイクルにも貢献しています
貧しい人、弱い立場の人の気持ちが理解できます デメリット: みじめな思いを何度もします 最先端の流れについていけなくなることもあります リソースが十分にあっても、せこせこしてしまいます