桐島、Rubyやめるってよ

: allotted-time

30m

: theme

nari-ext

((*注意*))

スライドプロパティ

: size

8

((*注意*))nnこのスライドにはnソースコードが一行nも登場しません。nnコード依存症の方にはn苦痛の30分です。

Note

p

:background-image

images/code_smell.png

:background-image-align

right

:background-image-relative-height

80

: size

4

:headline-align

left

:background-image-credit

https://twitter.com/takejune/status/224874889801240577

((*今日の話すこと*))nnプログラミングへのn向き合い方

Note

– 「Ruby」もあるけど

本発表の狙い(淡い希望)

本発表の狙い(淡い希望)

自己紹介

((‘ ’))

p

:background-image

images/ruby_commiters.png

:background-image-relative-width

90

Note

ちょっと脱線(自慢)

Note

p

:background-color

black

:color

white

:size

7

動画再生機能

((‘ ’))

p

:background-image

images/rabbit_pull_video.png

:background-image-relative-width

90

Note

今回のプレゼンで動画を使いたかったので、動画再生機能をRabbitに入れた。

((‘ ’))

p

:background-image

images/rabbit_pull_video_01.png

:background-image-relative-width

90

須藤さんの神対応〜

# image
# src = images/rabbit_pull_video_02.png
# relative_width = 100

動画再生方法

* ruby-gstreamerを使っている
  * 須藤さん作
  * 振り返るといつも須藤さんがいる感じがして((*ヤバイ*))

Note

– ruby-gstreamer。

– 私の上司の前田さんとかもそうで、net/imapとかreadlineとかcursesとかerubyとかmod_rubyとか、まあスゴイなあと思います。

自慢終わり

本題

『桐島、部活やめるってよ』

Note

– 昨年くらいに公開されたこの映画がものすごい好きなんですけど、みなさんごぞんじですかね。

– 観てない方も内容についてこれると思う。安心してください。

– 自分の想像で補う部分が大きい。

– いろいろと妄想して遊べたりする作品。

– ということで、今回は

桐島、n((Ruby))やめるってよ

Note

という架空の作品を妄想してみました。

『あらすじ』

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

p

:background-image

images/kirishima_company.png

:background-color

black

:background-image-relative-height

100

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

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

Note

p

:background-image

images/kirishima_unknown.jpg

:background-image-align

right

:background-image-relative-width

40

: size

4

:headline-align

left

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

Note

p

:background-image

images/kirishima_hiroki.png

:background-image-align

right

:background-image-relative-width

50

: size

4

:headline-align

left

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

Note

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

p

:background-image

images/kirishima_chokai.png

:background-color

black

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

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

『自社サービス作成会』

p

:size

6

自社サービス作成会

Note

– 希望を持っていた

しかし実情は…

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

Note

p

:background-image

images/kirishima_captain01.png

:background-image-relative-height

100

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-left

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

Note

p

:background-image

images/unuseless_application.jpg

:background-color

black

:background-image-relative-height

100

: size

5

: color

white

:headline-position

top-left

((*やる気はあるがn技術力のないリーダー*))

# image
# src=images/kirishima_captain00.png
# relative_height=100

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

Note

p

:background-image

images/kirishima_hiroki.png

:background-image-align

right

:background-image-relative-width

50

: size

4

:headline-align

left

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

Note

– エースだから

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

Note

– リーダーはなんのためにこの集まりを続けているのか

– 意味があると思ってやっているのか

p

:background-image

images/kirishima_reader_hiroki00.png

:background-color

black

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

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

Note

p

:background-image

images/kirishima_reader_hiroki01.png

:background-color

black

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-left

もう一つの部活動

『GC研究会』

((*オタクの集まり*))

# image
# src = images/kirishima_bushitu.png
# relative_height=100

Note

p

:background-color

black

((*他の社員からはn白い目で見られている*))

# image
# src = images/kirishima_eiga_00.png
# relative_height=100

p

:background-color

black

女子からは笑われ

# image
# src = images/kirishima_eiga_01.png
# relative_width = 100

上司からも見放されている

# image
# src = images/kirishima_eiga_03.png
# relative_width = 100

Note

でも…

なんか楽しそう

# image
# src = images/kirishima_eiga_04.png
# relative_width = 100

Note

一方で…

思い悩むヒロキ

# image
# src = images/kirishima_eiga_05.png
# relative_width = 100

悩み…

彼らの原動力はどこに…

# image
# src = images/kirishima_eiga_06.png
# relative_width = 100

Note

彼はなぜ『素振り』を続けるのか?

# image
# src = images/kirishima_captain01.png
# relative_height = 100

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

p

:size

5

自分のことを振り返る

Note

– なんか知らないけど万能感があった

だがそのうちに…

オレってn「ぽんこつ」…?

Note

– むしろ「ぽんこつ」なんじゃね…?

p

:background-image

images/junk.jpg

:background-image-credit

http://www.flickr.com/photos/clover_1/6409743483/

:background-image-relative-width

100

:background-image-relative-height

100

:headline-position

bottom-right

:color

white

:size

7

((*ぽんこつ事例 その1*))

Note

((‘ ’))

Note

p

:size

8

:background-image

images/perfume.jpg

:background-image-relative-width

100

:background-image-relative-height

100

:background-image-credit

http://www.zerochan.net/787375

perfume-dev

((‘tag:x-small:((<Perfume Global Site BVHで遊んでみた - Youtube|URL:www.youtube.com/watch?v=uIgsODaANHY>))’))

Note

– BVH形式でPerfumeのモーションキャプチャデータと音声を公開

– 世界中のクリエイターに二次創作してもらって面白いことをやろう、という目論見

なんかできないか

Note

わーい、できた〜!

Note

– 寝ぼけてたので、Perfumeのダンスも随分近未来的というか、アグレッシブな関節の使い方するな、とマジで思った

動画視聴者の声(1)

# image
# src = images/perfume_dev_01.png
# relative_width = 80

動画視聴者の声(2)

# image
# src = images/perfume_dev_02.png
# relative_width = 80

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

orz

Note

((*ぽんこつ事例 その2*))

((‘ ’))

p

:size

8

:background-image

images/brushup-logo.png

:background-image-relative-height

80

Railsで作ったWebサービス

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

p

:size

6

現在…

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

orz

((*ぽんこつ事例 その3*))

configict

Rails用のgem

Note

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

Note

p

:size

6

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

orz

CRubyのGC

いろいろ改善

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

p

:size

6

一方、海外では

# blockquote
# title = The Cost of Ruby 1.9.3's GC::Profiler
Ruby's GC is a ((*steaming pile of shit*))

OH…

Githubのスター数

俺達の((*@a_matsuda*))さん

((‘ ’))

p

:background-image

images/github_amatsuda_00.png

:background-image-relative-width

80

((‘ ’))

p

:background-image

images/github_nari_00.png

:background-image-relative-width

80

((‘ ’))

p

:background-image

images/gomi_00.jpg

:background-image-relative-width

80

nnロックスターにはなれない

Note

p

:background-image

images/rockstar.jpg

:background-color

black

:background-image-relative-height

90

: size

5

: color

white

:headline-position

bottom-right

:background-image-credit

http://www.flickr.com/photos/vox_efx/2253783030/

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

Note

p

:background-image

images/kirishima_reader_hiroki00.png

:background-color

black

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

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

Note

((*動機*))

Note

動機

Note

動機

Note

((*日頃の生活を便利に*))

Note

((‘ ’))

# blockquote
# title = 伽羅(がらん)とバザール
最高のハックは、作者の((*日常的な問題*))に対する((*個人的な解決策*))として始まる

マジで?

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

はじめてコードを書いた時のこと

Note

– 夢中になって作り終わったあとに友達に見せたら「ふーん」と言われて終わりで、すごい傷ついた覚えがある。

「コード書くのがすっげー面白かった」

Note

それは今も同じ

((‘ ’))

# image
# src=images/jojo_akogare.png
# relative_height=90
# caption=マイヒーローたち

Note

((*mameさん*))nn- 表の顔n - リリースマネージャn - TAPL翻訳者

p

:background-image

images/mame.jpg

:background-image-align

right

:background-image-relative-width

50

: size

4

:headline-align

left

:background-image-credit

http://jp.rubyist.net/magazine/?0038-Hotlinks

((*mameさん*))nn- 裏の顔n - Quineを愛するn 世界的な((*変態紳士*))

p

:background-image

images/mame.jpg

:background-image-align

right

:background-image-relative-width

50

: size

4

:headline-align

left

:background-image-credit

http://jp.rubyist.net/magazine/?0038-Hotlinks

代表作: RubyKaigi2010のスタッフロール

Note

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

Note

– Quineのこと聞いてみた

p

:background-image

images/kirishima_reader_hiroki00.png

:background-color

black

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

「よくわかりません」

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

Note

((*まつもとさん*))nn- Rubyのパパnn- そのほかn 驚くべき数のn 肩書きを持つがn すべての肩書きをn ここに記すにはn 余白が狭すぎる

p

:background-image

images/matz_00.jpg

:background-image-align

right

:background-image-relative-height

70

: size

4

:headline-align

left

:background-image-credit

http://www.flickr.com/photos/john_lam/1910968816/

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

p

:background-image

images/kirishima_reader_hiroki00.png

:background-color

black

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

((‘ ’))

# blockquote
# title = Yukihiro “Matz” Matsumoto: Ruby Inventor - gihyo.jp
It was just ((*my hobby*))

((*竹内郁雄先生*))nn- Lispハッカーn- TAO/ELISn- tak関数,Takeuchi関数nn- ((*GC本監修*))

Note

p

:background-image

images/tak_00.jpg

:background-image-align

right

:background-image-relative-width

50

: size

4

:headline-align

left

:background-image-credit

http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/01/01.html

((‘ ’))

# blockquote
# title = GC本 - 監修者について - 竹内 郁雄
再利用されることなくお亡くなりになった(リークした)オブジェクトの((*供養*))を行ったこともあるオブジェクト思い。

Note

オブジェクトの供養

# image
# src=images/tak_01.png
# relative_height=90
# caption=伊豆にある神社らしい

真鵺道記法を教えてもらう

Note

– それに原稿の都合で改行は段落ごとに、とかあったりするし。

メールで貰ったn手書きの論文

# image
# src=images/tak_02.png
# relative_width = 90

Note

最初の章がn「もくろみ」www

# image
# src=images/tak_03.png
# relative_width = 100

タイトルの横にn顔写真は当時異例だった

# image
# src=images/tak_04.png
# relative_height=80

((‘tag:x-small:忘年会で人のメガネをぶん取って撮ったとのこと’))

Note

三章「ひらきなおれば」www

# image
# src=images/tak_05.png
# relative_width = 100

Note

なんかスゴイ遊んでる!

# image
# src = images/mame_matz_tak.jpg
# relative_width = 90

Note

((*遊ぶため*))ならn((*目的*))を選ばない

Note

((*遊び*))重要

Note

『目的決定』に集中しすぎていないか?

Note

– 目的決定なんて別に慎重に選ぶもんじゃないと思う

– 神gemできたとおもってもゴミだったりする

((‘ ’))

# blockquote
# title = 伽羅(がらん)とバザール
オープンソースの成功のいちばんだいじな影響の一つというのは、いちばん頭のいい仕事の仕方は((*遊ぶこと*))だということを教えてくれることかもしれない。

コード書いてる時

Note

ストレス解消にもイイ

# image
# src = images/how-design-is-made.jpg
# relative_height=100

Note

お手軽に遊ぶには?

Note

((yhara))さんnn- 同僚n- プロのesolang作家n- 遊ぶのがうまいnn- 大人の遊びをn 教えてもらった

Note

p

:background-image

images/yhara_00.jpg

:background-image-align

right

:background-image-relative-height

80

: size

4

:headline-align

left

:background-image-credit

http://www.flickr.com/photos/pragdave/542376644/

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

プロコンの良い点

他にもイイ点

((ICFPC))

ICFPC

集合写真っぽいの

# image
# src= images/icfpc_00.jpg
# relative_height=100

こんな感じ

# image
# src= images/icfpc_03.jpg
# relative_height=100

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

p

:size

6

ほんと…楽しい…です

# image
# src= images/icfpc_01.jpg
# relative_height=100

((<AtCoder|URL:atcoder.jp/>))

AtCoder

nNaClの有志でn隔週チャレンジ

p

:background-image

images/atcoder_00.jpg

:background-color

black

:background-image-relative-height

100

:background-image-relative-width

100

: size

5

: color

white

:headline-position

bottom-right

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

p

:size

5

そろそろまとめ…

プログラミング = 遊び

p

:size

5

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

Note

p

:size

6

((*遊び*))重要nn((*楽しい*))重要

Note

((‘ ’))

p

:size

8

:background-image

images/matz_shime_00.png

:background-image-relative-height

100

:background-image-relative-width

100

:background-color

black

Note

((‘ ’))

p

:size

8

:background-image

images/kirishima_shime.png

:background-image-relative-height

90

:background-image-relative-width

100

:background-color

black

Note

((‘ ’))

p

:size

8

:background-image

images/hunter_hunter_shime.png

:background-image-relative-height

100

:background-image-relative-width

100

:background-color

white

Note

遊んでればPerfumeも動く

Note

((*“*))n いや、わかんnないけどしてnんのかな?とn思って(笑)nブログ書いてnいるんでしょ、nきっと((*”*))

p

:background-image

images/m_seki.jpg

:background-image-align

right

:background-image-relative-height

70

:headline-align

left

:size

5

:background-image-credit

cited from OOエンジニアの輪, photo from http://www.flickr.com/photos/recompile_net/6445473013/

Note

((‘ ’))

p

:size

8

:background-image

images/_zzak.png

:background-image-relative-height

100

:background-image-relative-width

100

:background-color

white

Note

((‘ ’))

p

:size

8

:background-image

images/atcorder_log.png

:background-image-relative-width

60

:background-color

black

Note

((‘ ’))

p

:size

8

:background-image

images/tak.png

:background-image-relative-width

100

:background-image-relative-height

100

:background-color

black

Note