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
0
860
20120823a
旧式PC利用のススメ
[東京]第一回首都圏勉強会(APASEC) で発表
Hidemi KAWAI
August 23, 2012
Tweet
Share
More Decks by Hidemi KAWAI
See All by Hidemi KAWAI
C言語でメモリ管理を考えた話
hkawai
0
570
超軽量型プログラミング言語 ES-BASIC
hkawai
0
1.4k
OSASK計画が考える新しいプログラミング言語の構想
hkawai
1
1.2k
OSECPU-VMの資料
hkawai
0
590
赤間仁志さんのプラレールによる半加算器
hkawai
0
700
20130806a
hkawai
0
290
20120326a
hkawai
1
980
Other Decks in Programming
See All in Programming
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
Contemporary Test Cases
maaretp
0
130
Macとオーディオ再生 2024/11/02
yusukeito
0
370
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
ヤプリ新卒SREの オンボーディング
masaki12
0
130
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Automating Front-end Workflow
addyosmani
1366
200k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
A Philosophy of Restraint
colly
203
16k
Typedesign – Prime Four
hannesfritz
40
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Product Roadmaps are Hard
iamctodd
PRO
49
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Making Projects Easy
brettharned
115
5.9k
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を使いましょう!(笑) ほかのメリット: お金がかかりません リサイクルにも貢献しています
貧しい人、弱い立場の人の気持ちが理解できます デメリット: みじめな思いを何度もします 最先端の流れについていけなくなることもあります リソースが十分にあっても、せこせこしてしまいます