Rabbit Slide Show

桐島、Rubyやめるってよ

2013-03-16

Description

本セッションでは「プログラミングへ向き合い方」ということについて発表者なりに考察した結果を述べます。 スゴイ級のプログラマからプログラミングのエモい話を拝聴することはあり、それも非常に興味深いのですが、私のような平凡なプログラマの視点からも少し提案できることがあるのではないかなあと考えている次第です。

Text

Page: 1

桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 2

注意

Page: 3

注意
このスライドには
ソースコードが一行
も登場しません。
コード依存症の方には
苦痛の30分です。
https://twitter.com/takejune/status/224874889801240577

Page: 4

今日の話すこと
プログラミングへの
向き合い方

Page: 5

本発表の狙い(淡い希望)
✓ あんまりプログラミングできて
ない人
✓ はじめるきっかけ
✓ たくさんプログラミングしてる
人
✓ 向き合い方を考えるきっかけ
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 6

本発表の狙い(淡い希望)
✓ 今、会場でコード書いてる人
✓ 続けてください
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 7

自己紹介

Page: 8


        

Page: 9

ちょっと脱線(自慢)

Page: 10

動画再生機能
✓ Hi!! from barhuman - Youtube
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 11


        

Page: 12


        

Page: 13

須藤さんの神対応〜
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 14

動画再生方法
✓ ruby-gstreamerを使っている
✓ 須藤さん作
✓ 振り返るといつも須藤さんがいる感
じがしてヤバイ
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 15

自慢終わり

Page: 16

本題

Page: 17

『桐島、部活やめるってよ』
✓ 映画『桐島、部活やめるって
よ』予告編 - Youtube
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 18

桐島、
Rubyやめるってよ

Page: 19

『あらすじ』

Page: 20

200X年
Rubyを第一言語とした
ある企業が存在した

Page: 21

桐島(社員)
- エースプログラマ
- 女性にもモテモテ
- 上司からも一目を置かれる
- 突然会社を辞めたらしい

Page: 22

ヒロキ(社員)
- 桐島の親友
- 同じくリア充でエース
- 彼の『悩み』が主題

Page: 23

某社は多数の社員を抱え
る
超エンタープライズな会
社であった

Page: 24

※朝のスタンドアップミーティング

Page: 25

会社には二つの集まりが
あった

Page: 26

『自社サービス作成会』

Page: 27

自社サービス作成会
✓ 本業の傍ら、残業して自社サー
ビスを作る会
✓ 希望を持って入会したヒロキ
✓ 「世界を変えるプロダクトを作
る!」
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 28

しかし実情は…

Page: 29

深夜作業の毎日
(残業手当なし)

Page: 30

できあがるのは
流行りそうもない
プロダクト

Page: 31

やる気はあるが
技術力のないリーダー
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 32

次第にヒロキは…
- こんなこと続けて
なんの意味が…
- そのうち
会に参加しなくなる
- (残業はゴメンだ!)

Page: 33

それでも熱心に誘う
リーダー

Page: 34

「なぜリーダーは続けてるんです
か?」

Page: 35

「次のリリースまでは…一応…ね」

Page: 36

もう一つの部活動

Page: 37

『GC研究会』

Page: 38

オタクの集まり
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 39

他の社員からは
白い目で見られている
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 40

女子からは笑われ
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 41

上司からも見放されている
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 42

でも…

Page: 43

なんか楽しそう
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 44

一方で…

Page: 45

思い悩むヒロキ
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 46

悩み…
✓ 人並み以上にはプログラムは書
ける
✓ でもスゴイ級ではない
✓ イノベーティブなプロダクト(笑)
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 47

彼らの原動力はどこに…
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 48

彼はなぜ『素振り』を続ける
のか?
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 49

あらすじ
終わり
続きはDVDで
未開封のDVD2枚買ってきたんで興味あ
る人に配るよ!!

Page: 50

自分のことを振り返る
✓ プログラミングは楽しい
✓ 「オレってばスゲー感」
✓ なんでもできるんじゃね
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 51

だがそのうちに…

Page: 52

オレって
「ぽんこつ」…?
http://www.flickr.com/photos/clover_1/6409743483/

Page: 53

ぽんこつ事例 その1

Page: 54

http://www.zerochan.net/787375

Page: 55

perfume-dev
Perfume Global Site BVHで遊んでみた - Youtube
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 56

なんかできないか
✓ Rubyで動かしている人がいな
かった
✓ じゃあ動かしてみよう
✓ 某ゲーム作成でRuby/SDLのスキルが
あった
✓ -> 徹夜
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 57

わーい、できた〜!
✓ perfume-dev Ruby/SDL(2) -
Youtube
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 58

動画視聴者の声(1)
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 59

動画視聴者の声(2)
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 60

(プログラマはHPより
MPが重要)

Page: 61

orz

Page: 62

ぽんこつ事例 その2

Page: 63


        

Page: 64

Railsで作ったWebサービス
✓ 3年前くらいにつくったやつ
✓ 適切なタイミングで物事の復習
を促す
✓ <URL:http://brushup.narihiro.info>
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 65

「は〜、天才的な
ウエッブサービスだわ〜」

Page: 66

現在…

Page: 67

中卒コミッタに
『あれはオワコン』
と言われる

Page: 68

orz

Page: 69

ぽんこつ事例 その3

Page: 70

configict

Page: 71

Rails用のgem
✓ アプリケーション固有の設定フ
ァイルを管理する
✓ config.yml.sample と config.yml
に差分があった時に例外発生
✓ <URL:https://github.com/authorNari/
configict>
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 72

「は〜これは神gemできたわ〜」

Page: 73

松田さんに
『いらないんじゃないす
か』
と言われる

Page: 74

orz

Page: 75

CRubyのGC

Page: 76

いろいろ改善
✓ Lazy Sweep
✓ GC::Profiler
✓ Bitmap Marking
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 77

「ふ〜、けっこう頑張ったわ〜」

Page: 78

一方、海外では
Ruby's GC is a steaming
pile of shit
[cited from `The Cost of Ruby 1.9.3's GC::Profiler']
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 79

OH...

Page: 80

Githubのスター数
✓ スター数が多いほど注目をあつ
めているプロダクト
✓ そのぶん社会的には価値があるっぽ
い感じがする
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 81

俺達の@a_matsudaさん

Page: 82


        

Page: 83


        

Page: 84


        

Page: 85

ロックスターにはなれない
http://www.flickr.com/photos/vox_efx/2253783030/

Page: 86

「なぜプログラミングを続けてるんで
すか?」

Page: 87

なぜ
「コードを書く」
のか?

Page: 88

動機

Page: 89

動機
✓ 人に使ってもらいたい
✓ お金
✓ 有名になりたい
✓ 日頃の生活を便利に
✓ etc...
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 90

動機
✓ 人に使ってもらいたい
✓ お金
✓ 有名になりたい
✓ 日頃の生活を便利に
✓ etc...
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 91

日頃の生活を便利に

Page: 92

最高のハックは、作者
の日常的な問題に対す
る個人的な解決策とし
て始まる
[cited from ` 伽羅(がらん)とバザール ']
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 93

マジで?

Page: 94

あんましそういうことが
ない

Page: 95

はじめてコードを書いた時の
こと
✓ 日常の問題を解決しようとか思
ってない
✓ 社会の役にたつ…とか何それ?
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 96

「コード書くのがすっげー面
白かった」
✓ 動画再生:キーボードクラッシ
ャー
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 97

それは今も同じ
✓ GCの改善も「楽しい」からや
ってる
✓ 個人的にGCで困ったことはな
かった
✓ どうしても困るから改善、とかじゃ
ない
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 98

マイヒーローたち

Page: 99

mameさん
- 表の顔
- リリースマネージャ
- TAPL翻訳者
http://jp.rubyist.net/magazine/?0038-Hotlinks

Page: 100

mameさん
- 裏の顔
- Quineを愛する
世界的な変態紳士
http://jp.rubyist.net/magazine/?0038-Hotlinks

Page: 101

代表作: RubyKaigi2010のスタ
ッフロール
✓ RubyKaigi 2010 credits (「超絶
技巧 Ruby プログラミング」よ
り) - ニコニコ動画
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 102

「なぜQuineを書いてるの?」

Page: 103

「よくわかりません」

Page: 104

「書いてるときが一番楽
しい」

Page: 105

まつもとさん
- Rubyのパパ
- そのほか
驚くべき数の
肩書きを持つが
すべての肩書きを
ここに記すには
余白が狭すぎる
http://www.flickr.com/photos/john_lam/1910968816/

Page: 106

「なぜRubyを作ったのか?」

Page: 107

It was just my hobby
[cited from `Yukihiro “Matz” Matsumoto: Ruby Inventor - gihyo.jp']
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 108

竹内郁雄先生
- Lispハッカー
- TAO/ELIS
- tak関数,Takeuchi関数
- GC本監修
http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/01/01.html

Page: 109

再利用されることなく
お亡く な り に な っ た
( リークした ) オブジェ
クトの供養を行ったこ
ともあるオブジェクト
思い。
[cited from `GC 本 - 監修者について - 竹内 郁雄 ']
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 110

オブジェクトの供養
伊豆にある神社らしい
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 111

真鵺道記法を教えてもらう
✓ 校正用マークアップ形式
✓ [α/β] - αをβで置き換え
✓ [α/] - αを削除
✓ とかとか。sedみたいな感じの記法
✓ 参照 電子メールで原稿を修正する方法―真
鵺道[マヌエド] [PDF]
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 112

メールで貰った
手書きの論文
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 113

最初の章が
「もくろみ」www
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 114

タイトルの横に
顔写真は当時異例だった
忘年会で人のメガネをぶん取って撮ったとのこと
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 115

三章「ひらきなおれば」ww
w
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 116

なんかスゴイ遊んでる!
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 117

遊ぶためなら
目的を選ばない

Page: 118

遊び重要

Page: 119

『目的決定』に集中しすぎて
いないか?
✓ 狙ってもどうせ大したもんなん
かできない
✓ 「それより、コード書いてあそぼうぜ、磯
野!」
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 120

オープンソースの成功
のいちばんだいじな影
響の一つというのは、
いちばん頭のいい仕事
の仕方は遊ぶことだと
いうことを教えてくれ
ることかもしれない。
[cited from ` 伽羅(がらん)とバザール ']
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 121

コード書いてる時
✓ 名前はこれで…アルゴリズムは
こうで…
✓ いろいろ考えて楽しい
✓ すっかり目的を忘れてる
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 122

ストレス解消にもイイ
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 123

お手軽に遊ぶには?

Page: 124

yharaさん
- 同僚
- プロのesolang作家
- 遊ぶのがうまい
- 大人の遊びを
教えてもらった
http://www.flickr.com/photos/pragdave/542376644/

Page: 125

プログラミング
コンテスト

Page: 126

プロコンの良い点
✓ 目的決定のプロセスがない
✓ 与えられた問題を解くだけ
✓ あとは遊び放題!
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 127

他にもイイ点
✓ 森田創(omo)さんのgihyoの
記事を参照
✓ 第5回 体力vs.スキル - Comparators
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 128

ICFPC

Page: 129

ICFPC
✓ ICFP(学会)が主催するプロコン
✓ 毎年、NaClの有志で参加して
いる
✓ yharaさんの呼びかけによるもの
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 130

集合写真っぽいの
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 131

こんな感じ
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 132

成績はけっして上位ではない…
けど楽しいから続けてる

Page: 133

ほんと…楽しい…です
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 134

AtCoder

Page: 135

AtCoder
✓ 日本人によるプロコンサイト
✓ 問題が日本語で読めるし、Rubyが使
える!
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 136

NaClの有志で
隔週チャレンジ

Page: 137

プロコンおすすめ!
ICFPCは今年もあるから
ぜひ仲間と参加して欲しい!

Page: 138

そろそろまとめ…

Page: 139

プログラミング = 遊び

Page: 140

コードを書きはじめるのに
目的決定はそれほど
重要ではないのでは?

Page: 141

遊び重要
楽しい重要

Page: 142


        

Page: 143


        

Page: 144


        

Page: 145

遊んでればPerfumeも動く
✓ perfume-dev with Ruby/SDL(3) -
Youtube
桐島、Rubyやめるってよ
Powered by Rabbit 2.0.6

Page: 146

“
いや、わかん
ないけどして
んのかな?と
思って(笑)
ブログ書いて
いるんでしょ、
きっと”
cited from OOエンジニアの輪, photo from http://www.flickr.com/photos/recompile_net/6445473013/

Page: 147


        

Page: 148


        

Page: 149


        

Other slides

RUBYLAND RUBYLAND
2013-06-29