2012年12月31日月曜日

2012年を振り返ってみる

「退かぬ! 媚びぬ! 省みぬ!!」

ではなくて、今年はまず転職が大きなイベントだった。
昨年の12月に会社を止めて、1月からリゾームに働いている。

正直前職の会社を辞めるつもりは全然無かったのだけど、@kazuhisa1976のtwitterでのRuby技術者募集のツイートに、非公式RTで 「ノ」 って書いたのがキッカケで転職してしまった。
こんなこと家族には言えないので、岡山Ruby / Ruby on Rails勉強会で知り合った@kazuhisa1976さんに誘われたことにしてある。

この転職で得たものはとても多かった。

・Railsでアプリケーション作れるようになった
・自分でサーバーをセットアップしてデプロイも出来るようになった
・テストを書くようになった
・早く帰るようになって、毎日ではないが自分のコードを書く時間が格段に増えた
・チームメンバー全員がプログラミングにすごく興味ある
・チームメンバー全員がプログラミングにすごく興味ある

大事なことなので二回言いました。
細かいこと言うと若干ニュアンス違うのだけど、大体合ってるはず。
ちなみにチームメンバーは、@LuckOfWise @kazuhisa1976 @patorash。
来年からは @zephiransasも仲間になる。
なんだこれ。何があった。奇跡か。

あと今年は家でコード書く時間が増えたのと、今年はアウトプットするぞーって目標にしてた成果(?)でWebサービスを2つリリース出来た。

My Dic
  英単語学習ツール
(2013/4/29 追記  My Dicは事情により閉鎖しました)

Lanze
 サーバー稼働監視ツール

どっちもRailsで。特にLanzeの方は大体の機能は1週間くらいで出来たし便利な世の中になったものだと思う。
実はもっとたくさ作るつもりだったし、100万くらい稼いでやる!と意気込んでいたのだけどその辺は全然駄目だった。ここで諦めず来年も頑張ろうと思う。
来年はWebサービスだけでなく、Androidアプリも作ろうと思う。最近入門してて何か作れそうな気がしてきたしネタも思いついたので。

良いことばかり書いてますが、いい事ばかりだったんだよ!
後は全部忘れた!

2012年12月5日水曜日

自動化は悪とか本気で思ってる人へ

大都会岡山Advent Calendar の5日目です。昨日はは@ryosms さんの記事でした。

ネタは何でもいいという事だったので、昨日の夜、会社からの帰路で
自転車漕ぎながら考えてたことをそのまま文章にします。

仕事の自動化でコンピューターに仕事を奪われちゃう人、
自動化したことで浮いた人を解雇して、人件費抑えて利益アップとか言ってる会社がありますね。
で、言ってる人の大半はネタで言ってると思うのだけど、「自動化は悪」という理屈。
でも本当にそういう理由で仕事を失った人から見たら、本気で自動化は悪と考える人も居るかもしれません。

雇用が減ってて不景気で国が悪いとかそういうのは置いておきます。
自分が出来る事を考えましょう。

自分がやってる仕事で何が自動化出来るのか、自動化されてしまうのか。
そこから把握しましょう。すでにコンピューターに任せれば人手なんて掛からない仕事をしているのかどうか、それを知らないといけません。
自動化されてしまうのか判断が付かないということは、コンピューターの知識が無いからだと思うのですが
そこは勉強するしかありません。自分で自動化出来るようになるほどの知識が必要なのではなく
自動化が可能かどうか知ることが大事です。
「書類整理 自動化」とか、なにか自分がやっている仕事と自動化というキーワードでググりまくるのも手かもしれないです。
こうやってアンテナを張ってにわか知識を詰め込んでいくうちに、自動化されなさそうな仕事もまた分かってくるでしょう。
こういう情報に敏感になるべきです。
仮に自分が今やっているすべての作業が自動化されてしまうものばかりだったとします。
そこで絶望しても仕方ないので、それ以外の仕事が出来るような知識なり技能なりを見つけないといけません。
でも、目の前の仕事が忙しくてそんな勉強が出来る時間は無いかもしれません。
(忙しさを理由に勉強しない人は、暇が出来ても勉強しないと思うのですが、まぁそれも置いておきます)
時間を作るにはどうすればいいか。
自ら会社に、自分が今やっている作業は自動化出来ることが多いので、自動化してくれと頼みましょう。
それによって空く時間で、勉強をしたいということも申し出ます。
他にも価値があることをやれるようになるしかないわけです。
ちなみにこういう意識転換をせずに、根性で今の倍働いて成果を出そうとする人がいますが
それはまったくの間違いです。
最高でも成果は倍にしかなりませんし、そのうち死んでしまいます。
死ななかったとしても、残るのは倍働いていた時間で得た成果だけで、個人として何か価値が増えたわけではないです。
自分を変えるというのは、そういう事ではないです。
AWSのオンデマンドインスタンスの様に使われて、要らなくなったらポイされないように。

楽をする為の努力は大変です。大変だから、ただ単に長く働くという楽な選択肢に逃げています。
でも長く働いて辛い思いをしているので、自分が逃げていることに気づいていないのではないですか?
自分が頑張っていると思い込んでいるそのやりかたが、じつは楽だから逃げているだけじゃないかどうか
考えましょう。

「時代の変化を感じ取り、自分と会社を変える」というのは、こういうことだと思います。

明日は@kazuhisa1976 さんです。楽しみですね。

2012年11月20日火曜日

ドラクエの魔法、一つだけ使えるようになるとしたら?


大学生の頃にタイトルの話題で一時期盛り上がったか事があります。
一番人気はルーラです。 ドラえもんの道具で何が欲しいかという質問にもどこでもドアは人気のようです。
しかしこれは一見便利そうですが、それほど役に立つとは思えません。電車やクルマや飛行機やお金があれば何とかなりそうです。
せっかく一つだけ魔法が使えるようになるというのに目先の利益に目がくらんで、頑張ればどうにかなることを選んでしまうのはもったいない。
間違いなくこの魔法を選んだ人は金持ちににはなれません。横並び意識強すぎます。
次に多かったのは回復魔法系。ホイミとかキアリーとか。
ベホマレベルになれば、普通では回復しないような怪我でも治るだろうし、キアリーも普通ではどうにもならない状況を回避できそうです。
ただホイミ系の魔法を使える人は会社には言わない方がいいと思います。何故かは皆さんならきっと分かっているでしょう。

あと、レムオルとかアバカムとかお前いったい何するつもりだってやつが一人二人いました。

私のオススメは攻撃魔法です。
人生で通常では起こり得ない大ピンチに陥ったとき、そういう時に役だってこそ魔法を覚えた価値があるというものです。
例えば何か悪の組織的なアレに小さくなる薬飲まされそうとかそういうアレです。
ルーラで逃げるってのも有効な気がしますが弱点が多い。外でしか使えない。大体アレ、本当に無事に着地出来るのか?
それに逃げても問題の解決にはなりません。やっぱり倒さないと。
ということでメラゾーマかイオナズンあたりがオススメです。
動物は火を怖がる習性があるのでメラゾーマの方が効果が高いかもしれません。

というあたりを想定して、メラゾーマを選択したのですが
友達に「お前は一体何をするつもりだ?」と言われました。
レムオル選択したお前には言われたくねーよ。

2012年10月30日火曜日

ぼくのかんがえたさいきょうのはたらきかた

マジで書いてます。

■働く時間

日本の会社は1日8時間が標準の労働時間のところが多いと思います。 でもそんなに集中して働けないです。長くても4時間です。 それ以上は全然集中出来ません。調子が悪い時は4時間でも無理です。 でも、好きな事をやってると集中出来たりするので、残りの4時間は何か面白いことをやりたいです。

 Haskellの勉強とか、Scalaの勉強とか、F#の勉強とか(個人の感想です)

会社に8時間居なきゃいけないのがどうしようもないというのなら、4時間労働、4時間は勉強(というか何かしらの時間投資) に充てて、そのサイクルで得た技術なり知識なりで他人の二倍以上の速度で仕事が出来るようにしたいものです。 今はそんな理想には程遠いのですが、意地でも定時で帰るということを心がけています。

■会議

 参加者をうんざりさせる会議を開いてしまう人は、みんな同じような思い違いをしていると感じます。

・皆の意見を集めればよりいい意見が出来上がる
・皆で集まれば意思決定出来る

 これらは、まだ前向きで、中には

・皆で決めたことにして、決定したという責任を負いたくない
・会議すると仕事した感じで充実する

 みたいな酷いのも居ます。 何か決定したければ人数は少ないほうが良いし、皆の意見を集めたいだけなら メールか何かでアンケート取ればいい。返事を出さないような奴は会議でも喋らない。 皆で集まって同意をとった形にしたければ事前にネマワシしておけばいいし、 何かを決めてしまいたければ自分の責任で決めればいい。駄目だったら謝っとけばいいんだよあんなもん。

■コミュニケーション大事 

上の会議にも通じるものがあるんだけど、コミュニケーションはとればいいてもんじゃない。
仕事がうまく回ってるなら、むしろ取らなくていい。うまく回ってる仕事を止めてまで何を語り合うのか。
本当に必要なときにだけ、必要なコミュニケーションが取れるようにして、ようやく何が大切かが分かる。

問題の本質がどこにあるのか探らずに、もっと酷い時は問題なんて何も無いときにまで、やたらとコミュニケーション、コミュニケーション言っても仕方がない。
ちゃんと仕事が出来るやつは、相手のことが嫌いだろうが話しにくかろうが交流を図るし、不要ならわざわざ無駄に時間を使ったりしない。

※必要なコミュニケーションまで阻害するような環境になるというのも良くないです。上記は無意味にとりすぎようとするなという話です。

■管理・教育

これについては何がいいのか、どんなふうになれば幸せなのか、自分の中でもよくわからないです。
本音を言えば、こんなこと考えずとも何も問題ないようなメンバーとだけ仕事をしたい。今はそれ以上のことは考えられない。

2012年10月12日金曜日

rvmの挙動が変わったっぽいのでメモ

※2012/10/12現在の話
つい最近までは、

 $ rvm install 1.9.2

とやれば、libyamlは勝手にインストールしてくれたんだけど、今日やってみると入れてくれなかった。 なので今度から下記のように明示的に指定して入れる。

 $ rvm pkg install libyaml
 $ rvm install 1.9.2 -C --with-libyaml-dir=$HOME/.rvm/usr

以上。

※2012/10/30 追記
10/27の時点で最新のrvmで、1.9.3-p286を入れたときはyamlのインストールから勝手にやってくれました。
上記の時期だけ出てたバグを踏んだだけかもしれないです。
(rvm触ってるとこういうこと多いね)

2012年9月21日金曜日

札幌Ruby会議2012に参加した

はじめに

札幌Ruby会議2012に行って来たので、感想やメモを書きました。
会議の内容については札幌Ruby会議2012のレポートチームによる下記の記事が詳しいです。

札幌Ruby会議2012 スペシャルレポート

 9/13(木)

移動日

岡山からの札幌便が、14:35発の1便しかないため前日入。
飛行機が遅れて15:00離陸、新千歳空港についたのが17:00過ぎくらい。
札幌まではさらに1時間くらいかかった。
ホテルにチェックイン後、晩御飯を。
コリコリしてて旨かった。

9/14(金)

会議前

Herokuから、先着100名に弁当を配るということで開場よりもかなり早く行ってみました。
めでたく弁当ゲット。配っているメンバーも、相澤さん、まつもとさん、笹田さんと豪華メンバー。
タンブラーもいただいた。

■9/14(金) 1日目

 

スポンサーセッション Heroku 相澤 歩さん


HerokuはただのPaasをやっているのではなく、プロフェッショナルのための生産性をいかに高めるのかを哲学にしているという言葉が印象深かった。
最新のスタックのCedarでは、Ubuntu10.04で動く言語なら何でも動くらしい。Railsだけのサービスではない。

スポンサーセッション マイクロソフト 平野 和順さん


マイクロソフトのオープンソース戦略についての話。
MacやLinuxで開発している人にもWindows Azureを使ってもらえるようにSDKをそれぞれのOS用に用意したり、能楽堂というRailsのアプリケーションサーバー、Webサーバーを開発している。

HerokuやSqale、このAzureもだけどRailsを動かすためのPaasタイプのサービスが増えてきて面白い。仕事でも個人でも今はRailsでアプリを書いているので試して比べてみたいと思う。

スポンサーセッション 英和システムマネジメント 高橋 健一さん


ソーシャルコーディングについての話。
コードを書くにはエンドツーエンドテストを最初に書き、Rspecでユニットテストを書いていく。
gitを使っていて、pull request単位でコードレビューをしているとのこと。

コードレビューの面白い例として、リーダブルコードの章番号付きで、なぜ良くないかのを示してレビューコメントがあった。

「自分たちが納得できるようなプロダクトを作ることも出来ずに、お客様を満足させることは出来るのか?」
この言葉が熱かった。

この部分はこんなんじゃ駄目だなーという思いが残ったまま仕事してると、やっぱり駄目なことになってしまう。

スポンサーセッション クックパッド 井原 正博さん


クックパッドの組織づくりについての話。
色々とキーワードが出てきたけど、自分が気になったのは以下のところ。
・才能がきちんと活かされる世界であって欲しい。
・全社員が技術を正しく理解している
・絶対に自分より優秀な人を採る
・バスに乗れる人数は決まっているので、誰を乗せるかが大事

これを実践して組織づくりしてるってマジで凄いと思う。
最近同僚ともこの手の話をよくするので考えされる話だった。

料理をささえる技術 クックパッド 舘野 祐一さん


rails2.3からrails3.0への移行にあたって、どんなふうに作業していったかをかなり具体的に解説。
本番環境のリクエストを複製して、rails3.0バージョンのアプリに流すやり方はなるほどと思った。
これは同じような事が出来るようにうちでも環境を作りたい。

提供しているサービスの形態が違うので同じように出来ない部分もあるけど、今後もrailsアプリをメンテしていくのにとてもためになる話だった。

MobiRuby masuidriveさん


RubyでiPhoneアプリが書けるMobiRubyの話。
mrubyを使って開発している。実際にMobiRubyで開発されたアプリがApp Storeにリリースされている。
Rubyで色んなアプリが書けるようになると嬉しいので、こういうのどんどん出てきて楽しい。

Androidにも対応する予定みたい。

一日目最後


Rubotのセッションのはずが、急遽なくなってしまったということでMatzに質問コーナーが。mrubyについて色々聞かれていた。

メモ取ってなかった。

9/15(土) 2日目


Purely functional programming in Ruby  前田 修吾さん


Rubyは関数型っぽい言語で、関数型言語由来の機能がけっこう入っているが、やっぱり命令形言語である。
そのRubyで副作用のない関数プログラミングをするにはという話。



配列を使うと副作用をさけられないので、HaskellなどにあるListを実装する。
再帰をつかって処理を書くとすぐにオーバーフローする。末尾再帰の形で記述してもrubyだとやっぱりスタックがあふれる。
じつは末尾再帰最適化のオプションがデフォルトでoffになっている。ruby2.0では有効になるかもしれないとのこと。

gem install immutableでインストール。

ベンチマークを取るとArrayよりかなり遅い。実用には向かないとのこと。
でも面白いので使ってみたい。

Patter Matching in Ruby


先ほどのセッションに続き、関数型っぽい話題。
gem install pattern-matchでインストール。
Arrayだけでなく色々なオブジェクトでマッチ式を書ける。

正規表現のマッチとかすごく便利そう。これは実践でも色々使ってみて情報共有してみたいと思った。

Keynote Aaron Patterson


サラミの情報のリアルタイムシステムについて。
この発表は面白かった。
ハードウェアから自作する人とかすごく尊敬する。

Keynote Matz


まつもとさんのコードを書く話。
すごく熱い話だった。
我コード書く、ゆえに我あり。
自由に、強制されずに、書こう。

モチベーションが大事で、モチベーションがあるなら車輪の再発明でも何でもやればいい。
この話、すごく背中を押してくれた感じ。参加してたみんなもそうなんじゃないかなぁ。

アメリカのカンファレンスに行こう 原田洋子さん


英語が分からないから勉強してからとか、アメリカ遠いとかそういうこと考えないで
とにかく行こう。行ってみて英語使わないと話せるようにならない。
プログラミング言語と同じで、使わないと使えるようにならない。
使えるようになってから使うとか考えてたらいつまで経っても出来ない。

今回札幌にもかなり思い切って行ったのだけど、次はアメリカ行きたいなぁ。

Japanese a programming language アンドリューグリムさん


日本語は面白い言語という話。プログラミング言語であると。
日本語は文法が簡単で、順序を変えずに単語を変えるだけで質問になる。
英語だと順序が変わる。

アンドリューさんは、一日目と二日目の懇親会への移動時に話しかけてくれたんだけど
質問されて答える。質問されて答える。だけで会話が終わってしまう上に
会話自体なかなか通じなくて、自分の英語のひどさを再自覚。

原田さんのセッションでもあったとおり、勉強しようと思っててもしないので
もっと英語圏の人に関わって、使うようにしないなと思った。

Ruby2.0 笹田さん


Ruby2.0の中身の話。
Ruby2.0がどうなるかという話ではなく、Ruby2.0の機能をどうやってやるかの話。
笹田さんなので、きっとそういう話だろうというつもりで聞きに行くと、
RHG(Ruby Hacking Guide)くらい皆読んでますよね? との入りから。
一応読んでるので大丈夫なはず。

といっても、Flonumの話くらいしか理解出来ずだったけど。
まぁしかしRuby2.0は楽しみだなぁ。
聞いててRubyのプロファイラとか作ってみたいと思った。そういう技術興味ある。

Rubyによる本気のGC


RubyでGCを作りたいけど、でもRuby自体のGCが影響してあれだしという悩みから
色々なVMとかGCを調べて、JikesRVMというVMを使ってやってみたという話。
実装したGC中に、実装言語のGCが走らないように対象言語のオブジェクトを作らないように
とかやってるうちに、「C死ね」から始まったのに結局Cを直接読んだりとか
色々微妙になってしまったとのこと。

言語処理系の実装の話が好きなので面白く聞けた。

LT


LTのところはメモがあんまり取れてないのでざっくり書きます。
(LTはその場の臨場感を楽しむものだと思ってるので、集中して顔を上げて聞いてました。
 花火大会で花火の写真を撮らずに見るのと同じ)

家計簿さなたろう。個人のプロダクトで奥さんと話し合いながら作った。
うちも嫁さんから使いやすい家計簿が欲しいと言われてて、いま個人でやってるプロジェクトが落ち着いたら作ろうと思ってたので、じっくり参考にしたい思う。githubに公開されていたので早速フォークした。

Axlxsの話。Rubyからxlsxを扱えるライブラリ。
CSVなんて使うな、ユーザーはそんなもの使ってない。開発者の怠慢だってのがグサッときた。

コードレビューの話。
良いレビューは、「どこが悪いか」「なぜ悪いか」「どうすれば改善するか」を入れる。
m9(^Д^)とか書いちゃ駄目。

9/16(日) 3日目


Rubyの世界の継続的デリバリ 柴田さん

自分のなかで、いま一番課題になってて悩んでる部分の話。
ものすごく参考になった。というか、これからガンガン参考にして
今のプロジェクトの問題点をやっつけて行きたい。

具体的にどういうツールを使っているかも聞けて、今回の中で個人的には一番聞けてよかった話だった。

分散 RSpec 村田健太さん


これもまさに今の仕事での悩みの一つ。
クックパッドのテスト、分散環境で10分以内に終わるようになったのは雑誌でも見てて
実行時間が平均化するように振り分けているのがすごいんだけど、
そこからさらに進んで、動的に振り分けてさらに効率良く平均化出来るように取り組んでいるとのこと。

俺の前職の経験で、負荷が高い処理を複数サーバーに動的に振り分けるってのをちょっとやってたのもあってこの完成形が楽しみ。

クックパッドはこういう成果を公開してくれて、ライブラリを出してくれたりして

本当に仕事が助かってる。すごい会社。

ぬRubyKaigi Smalltalkハンズオン


まさかのSmalltalkハンズオン。
Squeakによるもの。前に図書館で本を借りて読んだことあったんだけど
Squeak面白くて、時間とって勉強しようとしてたので、つい参加した。
言語というより、OSに近い環境そのものって感じ。
スライドもSqueakの中で動いてた。
このまえ「自由自在Squeakプログラミング」がpdfで配布されてるのを入手したので
それも読んで色々とやってみたい。

まとめ


上記に書いたもの以外のセッションも聞いたりしたんだけど詳しくはスタッフのかたがレポートをまとめてくれているのでそちらを見るといいと思う。

今回本当に楽しかった。3日間ものイベントであれだけの参加者でスタッフの方々はすごく大変だったと思う。
こんなに楽しいイベントをやってくれてありがとうございます。

ちょっと自分の話を書くんだけど、すごくやってて良かったと思うのが「るびま編集」。
これやってなかったら今回色々と話しした人の半分とも話せなかったかもしれない。
岡山のRubyist、いっしょに編集やろう! (記事も書いて!!)
岡山のRuby盛り上がるし、こういういい事あるよ!

で、反省点はやっぱり「英語」。
これはねぇ。どうしようかなぁ。
アメリカに一回行ってみるかなぁ。

2012年7月9日月曜日

岡山Ruby会議01を開催しました

岡山Ruby会議01

2012/7/7(土)に、岡山Ruby会議01を開催し、スタッフとして参加しました。
会の詳細は次号のるびま(39号)の載せる予定で、スタッフで執筆中ですのでお待ちください。

また、今回は2つ発表をさせて頂いたので、資料を公開しておきます。

るびまの紹介


Rubyでサーバー管理を楽に


2012年7月5日木曜日

chefを使ってみた 試行錯誤のまとめ

はじめに

過去の仕事でサーバーを1000台以上管理する仕事をしていて大変だったときに、chefというサーバー構成管理ツールを知りました。結局その仕事をしていた会社は辞めてしまったのですが、今の仕事でもサーバーの管理の必要が少なからずあるため、楽をするためにまずは使い方を覚えようと思い、自宅のPCに仮想マシンでLinuxを動かして試してみています。その時に参考にしたサイトをまとめます。

サイト一覧


Chefで始めるシステム構成管理入門 その2 – インストールと初期設定
chef-serverのインストールと管理作業PCへの管理ツールのセットアップ

http://www.creationline.com/lab/1742
node側の設定、設定したレシピが反映されるまで


実験用の環境の構築

上記のサイトを参考にしつつ、自分のPCにchef-serverとnodeの仮想マシンを作ってみました。

構成は下記のようにした。

・管理作業用PC:Mac  (192.168.11.10/24)
・chef-server:debian6  (192.168.11.25/24)
・node:Scientific Linux 6.2  (192.168.11.26/24)

chef-serverがdebianなのは、パッケージが用意されていてインストールが楽だから。
nodeがSL6.2なのは、仕事で使っているサーバーがSLだから。

構築手順

※各マシンの日付が大きくずれていると、nodeからサーバーにアクセス出来ない。
   ntpなどでちゃんと合わせておこう。

このサイトの手順通りに、debianにchef-serverを入れる。
また、Macにはknifeを使えるように設定。

続いてnodeとなるSL6.2の設定。

Scientifix Linux6.2をインストール。(GUIなしのバージョン)

rvmで一般ユーザー権限で入れたrubyだと、パーミッションとかで何かとあれなので
OSのパッケージのrubyとrubygems入れる。
chef-clientを、root権限で実行させる。
※もしサーバーに入れてあるアプリの関係で他のバージョンのrubyが必要な場合は
 そちらをrvmで入れたrubyで動かす。

$ su -
# yum install ruby rubygems
# yum install ruby-devel
# gem install chef --no-rdoc --no-ri
# cd /etc
# mkdir chef
# cd chef
# scp root@192.168.11.25:./chef/validation.pem ./
# vi /etc/chef/client.rb
  chef_server_url 'http://192.168.11.25:4000'
  node_name       'sl001'

レシピの作成とnodeへの反映

 Macで作業
 % knife cookbook create cron_sample -o cookbooks
 % vi cookbooks/recipe/default.rb

cron "user_c" do
  minute "30"
  user "masaya"
  command "/bin/true"
  path "/home/masaya/bin"
end

cron "root_c" do
  user "root"
  command "/bin/ls"
  hour "4"
  minute "11"
end

 % knife cookbook upload cron_sample -o cookbooks
 % knife node run_list add sl001 cron_sample

 SL6.2で作業
 rootでログインして、chef-clientを動かしてレシピを反映させる。

 # chef-client

crontabの確認
 # crontab -l

 # Chef Name: root_c
11 4 * * * /bin/ls

もう一つのユーザーになって確認してみる。
 # su - masaya
 # crontab -l

# Chef Name: user_c
PATH=/home/masaya/bin
30 * * * * /bin/true

2012年5月24日木曜日

第一回関数型言語勉強会 大阪に参加した

当日の雰囲気はこちら
http://togetter.com/li/306278

大阪までの道のり

家を出てから、新幹線→御堂筋線乗り換え→梅田で降車までは順調だったのだけど・・・
ひとまず会場に行くにはどこの出口から出ればいいのかを確認するために、駅構内の地図とiPadの地図を見比べて、何かがおかしい。
数分間見比べた結果、構内の地図は北が右側になってることに気づいてやっと方向を理解。
(で、この間に改札をまだ出てない事実を忘れます)
その後、どこの階段登っても改札が現れて、駅から出れなくて悩むも、3つ目の改札でようやく改札をまだ出てないことに気づいて、無事地上に出れたのだけど、勉強会には遅刻しました。
もうちょっと道に迷う時間を考慮して家を出るべきだったですね。

普通の都会怖い

勉強会

まず最初にすごいと思ったのは、この「関数型言語勉強会」というテーマで、80人近くの人が参加登録をしたということ。定員は45人だったので皆が参加出来なくて残念だったけど、それだけの人がこのテーマに興味持ってるというのが驚きです。

ひとつひとつの発表の内容がどんなだったかは書けませんw。
聞いてなかったわけじゃなくて、むしろ頑張って聞いてたんだけど、何をメモすればいいのかもさっぱりな感じでですね(言い訳)。

全体的な感想として、関数型言語の説明といいつつHaskellの説明が多かったかなぁってのと、そのためか何なのか、静的型付で参照透明性でっていうのが関数型言語の定義の中に入ってしまっている感じがしました。

いけがみさんが「皆Haskellに影響されすぎ、自重しろ」ってことで、副作用がないとか参照透明がとかばかりが関数型言語じゃないよって話が良かったです。関数型言語と呼ばれているものの紹介や、勉強するのに読むといい本の紹介があって、その場でAmazonでポチッた人も居たようです。発表資料
いけがみさんは、参加出来なかった人向けのフォローの記事を書いてくださってます。

個人的にはまったく理解出来なかった発表も含めて、全部楽しかったです。こういう話を少しでも理解出来るようになってみたいという思いもあるというのに気づきました。

気になったのは「こわい」「こわくない」って単語が頻発してたのと、関数型の考え方の何が嬉しいのかの具体例がなかった事。今回は初心者向けということで開催されたみたいなんですが、もっとゆるーく、ちょっとした利点が聞きたかったであろう人が(そういう人が居たのかどうかは分からないですが)、次回から来なくなるんじゃないかと心配だったりしました。

懇親会

せっかく大阪まで行ったし、知ってる人が全然居ない勉強会だったので、誰か一人でも多くの人と知り合いになろうと思って懇親会にも参加してきました。人見知りなのはいつも通りビールで酔って、勢いでカバー。

印象的だった言葉「今日の勉強会で軸がブレました」。これに爆笑。
これすごいわかる。
私が関数型言語に興味を持って勉強してみようと思ったきっかけって、あんまり覚えてないけど、知ってると役立つ、生産性が上がるっていうのが目的だったのに、気づいたら他の言語覚えること自体が目的になってて、なんか数学の勉強にまで興味が移ったり、どんどんハマっていく感じで。
どうやら懇親会で話してた方々も似たような感じらしくてちょっと面白かったです。