月別アーカイブ: 2012年12月

2012年を振り返る

こんにちは、おがた (@xtetsuji) です。

題の通り、2012年を振り返ってみたいと思います。いままでブログも遅筆だったり書くのに積極的ではなかったので、こういうエントリは初めてかも。

1月〜3月

仕事では、新年になって新しい技術者雇用をしようという話になった。いままで外部の人に会社の技術者の現状を話すと「よくそれでまわりますね…」と言われるほど少人数で綱渡り運用だったことは自分でも不安に思っていたことなので、一人採用という会社の方針でも非常に嬉しいことだった。うちの会社のネームバリューの無さから業界の大物といった人物を雇えないことから、育てる事を主眼に入れた未経験に近い人を雇用することになった。この会社に努めて10年近く経つ平社員だけど、面接にも同席して数名の方とお話をする中で今の後輩の入社が決まった。業務未経験ではあったものの、在野で勉強をしてIT業界にあこがれを持っていた事や、基本的なウェブアプリケーションをPerlで書けることが採用の決め手につながった。3月1日入社。

上司が書くコードに対して、mod_perl技術への助言などを行うほどmod_perlについて見識を貯めたつもりだったが、ひょんなことから某案件でApache worker MPMとPerl ithreadsを使うことになった。Perl ithreadsは危ないと散々反対したものの、結局紆余曲折あってそれでKVSより少し融通が効くようなサーバを作ることになった。入念なテストは行って、大丈夫だと手応えが出てくるうちに最初に反対したことは忘れて、mod_perlの貴重な経験ができて良かったと思うようになった。この案件にはPerl ithreadsで動くコードを納品することになって、多少トラブルがあったものの、最終的には当初の構想とだいたい同一のものが動くことになった。ただ、しばらく後で上司と飲み会でこの話をした時にあれだけ私の反対を押し切った上司が「あれはもうちょっと時間があればAnyEventとかの別実装のほうがよかったよね」と言っていて多少仰天した記憶があるけど、10年近く働いている中で結構こういうことはあるので、それほど驚愕はしなかった。

仕方がなかった事だけど、2月に会社がDebianプロジェクトに資源を提供していたg15プロジェクトが終了してしまったのは残念だった。一つ自分の肩書きが減った、といっても自分は大したことはしていなかったけど。

2011年5月にHokkaido.pm#5で初トークしてから、YAPC::Asia Tokyo 2012を目指して、それ以降はトーク経験を積んだ。地域PMに限らず、Twitter API勉強会(#twtr_hack)等でもLT登壇。これはあまり上手く行かなかった思い出があるが、場数を踏むという点では良かった。

主なブログエントリ。

4月〜6月

3月に入社した後輩の教育がさかんになった季節。もともとPerl CGIでウェブアプリケーションを作れるスキルはあったが、LinuxやApacheの基礎だったり、社内開発の独特の流れや、mod_perlについての解説等、教え好きの自分の面目躍如だった。ありとあらゆることを教えた。まずはいじり壊しても影響がない社内ツールを教材に、IRCボットをPOE::Component::IRCベースからAnyEvent::IRCベースに書き換えてもらったり機能強化してもらったりと、ウェブアプリケーション以外でもスキルは確固たるものだということを見せつけられた。採用に狂いはなかったなと確信した。開発者という集まりで社内勉強会が開始されたのも4月だった。

社内には私と上司を含めて2名しか事実上専業プログラマーがいない(プログラミング出来る人はいるけど職務上は基本的にしない)という状況だったので、前職がIT系ではなかった後輩には「プログラミングやプログラマって世間ではこうなんだよ」という広い世界を知って欲しかった。そこで、手頃な勉強会を探して @ytnobody さん主催の「Perl Beginners#2」にめぐり合った。後々も毎回参加することになって、後輩に広い世界を知ってもらうよいきっかけになった。自分も振り返りの機会としてとてもよい勉強会だった。

4月から裁量労働制がフレックス制に変更になって、働き方が変わった。後でも振り返ると思うけど、通年を通して色々と病気していた一年間だったものの、裁量労働制のおかげで自宅で仕事…ということがフレックス制によりできなくなり、遅刻という概念が生まれることになった。

4月16日の「foursquare Meetup」といった毛色の異なるイベントにも出席した。foursquareのファンというだけのつながりのイベントだったけど、とても面白いイベントだった。2013年も4月16日に行われることになりそうだけど、ぜひ行ってfoursquareや最近のロケーションベースサービスについて語りたい。

仕事やプログラミング以外では、スゴイ面白くて好きだったアニメ「ジュエルペット サンシャイン」が3月末で終了してしまったことが寂しかった。この後、DVD-BOXを買ったり声優さんのイベントに乗り込む原動力となるのだが、熱い想いを書いたブログエントリが非常に大きな反響を呼んだのには驚いた。

私のトーク活動の出発地点となったHokkaido.pmも第7回目となり、Hokkaido.pm#7にも出席した。

主なブログエントリ。

7月〜9月

9月末にYAPC::Asia Tokyo 2012でトークをするために走り抜けた期間。緊張の申し込みから入念なトーク資料の準備、そして当日の発表まで、大変だったけど結果が良かったので非常に満足な期間でした。

(書き途中なので少し待ってね)

10月〜12月

(書き途中なので少し待ってね)

まとめ

ザ・インタビューズで「今年の漢字は?」と聞かれたときに「集」と答えたように、今年は会社の後輩から勉強会での新しい出会いや古い出会いの温め、そしてYAPCで登壇したことによる新しい出会いなど、私にしては例年にないほど多くの出会いがありました。2013年もこの勢いで多くのよい出会いを作っていきたいと想います。

昨年2011年もそうでしたが「病気のデパート」と言われそうなほど年中身体を壊して、特にYAPCが終わった10月以降は力尽きてしまった感もありますが、来年は体調管理をしっかりしたりすることで2013年はできるだけ健康に過ごしたいと思いました。

俺得開発を細かく行ってはいましたが、個人開発物としてまとまった成果をOSSやウェブサービスの形で外に出すことができなかったのは心残りでした。YAPCで宣言した「mod_perlのエバンジェリストとなって情報サイトや啓蒙活動を行う」というのもその後の体調を崩したりしたことで言いだしっぺで止まっているのも気になるところです。2013年はこの点を払拭して、トーク活動以外の有用なアウトプットをしていくことを目標にします。

皆さん、2012年はありがとうございました。2013年もよろしくお願いします。

Hokkaido.pm#8 に行ってきました #hokkaidopm

こんにちは、北海道生まれ北海道育ちの おがた (@xtetsuji) です。

2012年12月23日に行われた Hokkaido.pm#8 に行ってきました。

その他、2012/12/30 現在でアップされている参加者の皆さんのレポート。

私のレポートよりも参考になると思います。

今回のHokkaido.pm#8は

  • 2012年も年の瀬
  • SMAPのコンサートと時期が重なった
  • フィギュアスケートと時期が重なった

などの理由により参加者が少なかった・参加者が参加に苦労した回でした。かくいう私も、普段は普通に(懇親会の会場となる)すすきのに宿をとるのですが、すすきのどころか札幌駅近郊のホテルがのきなみ満室で、僻地恵庭に宿をとることになりました。

以下、発表、LT、懇親会レポートなどをつらつらと書いていきます。

MojoliciousをPerl5.8で使えるようにする

@jamadamさんによる発表。

前回(#7)の発表から特段新ネタは無いとのこと。スライドは早々に終了して、以後はライブコーディングというかライブメンテナンス作業を見せるという斬新な光景になりました。会場提供のWi-FiではGitHubにアクセスできない等トラブルもありましたが、面白かったです。

プログラマーと仕事 → XSにまつわる話

JPAからいらっしゃった@typesterさんによる発表。

この「XSにまつわる話」はスライドがSpeakerDeckにアップされており、@akiyamさんによる詳細なレポートがあるので、そちらをご覧になると良いと思います。

XSとは何かという話から、実際に@typesterさんがXSを始めることになった話から、XSの初歩まで、盛りだくさんんで非常に参考になりました。「あぁ、XSってこういう時に使うべきなんだ」って、改めて実感がわきました。「高速化」というのはあくまで黒魔術師がやることであって、本来はCで書かれたライブラリを低コストで呼ぶものだということなど。

  • XSに手を出すまで→XS食わず嫌い期
  • lestrattさんとかgfxとか会話意味不明だし難しそう…;
  • iOSアプリのためにCでAMF/RTMPパーサーライブラリを書いた
    →これをXS化したい
  • * Data::AMF::XS
  • XSとは
    • Perlと外の世界をつなぐ物
    • XSで高速なPerlプログラミング!っていうのは異端 (e.g. Mouse, Text::Xslate)
  • 普通の人は、まずライブラリを普通に書いて、それをXSでバインディングを作れば良い
  • 普通の人はXSで書いても高速化しない。
  • XS書くのに必要なもの
    • ターゲットライブラリの使い方(C/C++とかの知識も含む)
    • *XSの知識その1、XSのマクロたちの使い方
    • *XSの知識その2、Perl<=>Cのデータ変換
    • ターゲットライブラリの使い方(@typesterさんの場合) *iOSアプリケーションの開発が大きい
  • Cocoa APIは慣れた物
  • libmsgpack, libev, libuv とかもアプリからよく使う
  • XSの知識その1
    • XSマクロの使い方(.xs内の構文)
    • ST(N)とかXSRETURN(N)とかのマクロ
    • perldoc perlguts
  • XSの知識その2
    • Perl<->C
  • XSモジュールの作り方
    • Module::Insta::XSUtil or Module::Build::Pluggable::XSUtil を使うと非常に簡単
    • 後者は使ったこと無いけど次のモジュールで使おうと思います
    • M::I::XSUtil
    • gfx作 2010年のAdvent Calendarに載っている
  • DEMO: DISCOUNT Cで書かれたMarkdown変換ライブラリ
    • 型変換を自動でやってくれる仕組みがあるのでそれを使うとコード量が減る。
  • XSでObjective-C
  • 二つ方法がある
    • *.xsをかかずにxsubppで生成されたcファイルと同じ形式のファイルを.mで書く
    • *.xsでObjective-Cを書き、xsubppで変換された.cファイルを.mにリネーム
  • *Hacking Mac Cocoa API from Perl (YAPC::Asia 2011)
  • MacRuby的なの?
    • PerlでMacアプリが書きたいわけじゃなく、PerlでMacの機能にアクセスしたいだけ
    • PerlでObjective-Cの構文を表現したりとかするとカオスになるのは目に見えているし
    • 単機能をPerlの流儀で使える単体モジュールにしていったほうが良い
    • Objective-C自体もLLっぽいし、メモリ周りはPerlといっしょ(refcount方式)だし…;
  • まとめ
    • XSはPerlを外の世界とつなぐもの
    • Perlの世界と対象の世界、両方の知識が必要(両方の知識がある人には夢のツール)
    • Perlしかしらないけどあのライブラリ使いたい!ってときは、そのライブラリ使える人に頼む
    • 自分でそのライブラリを勉強しつつかく
    • XSからCを勉強してもいいんじゃない?
    • 牧(dmaki)さん、0mqさんのXSコードは綺麗で参考になる
    • 基本、一回書いたらコピペが多い

PM運営について

Hokkaido.pmのボス(?)@onagataniさんによる発表。

次回は3月初旬開催予定、というか確定。

@onagataniさんだけでは負担。運営やりたい人いる?→@aloelightさんにお願い。

次回はJPAから@xaicronさんが来てくれることになった。

未来をつくるプログラム

引き続き@typesterさんによる発表。

こちらは先ほどのXSのトークとは違ってスピリチュアルトーク。勇気づけられました。

  • 未来をつくるのは技術者
  • せっかくプログラマーになるなら”未来をつくるプログラム”を書こう!
  • 仕事と趣味の話 (収入を得る得ない、人生を賭ける賭けない)
  • シェアタイム
  • アイデアは常に考え続ける →習慣になっていないとできないこと
  • 技術は常に磨く →今できるのか、それとも少し勉強すればできるのか
  • ハックの精神 →ちょっと自分の周りを便利にするの大事
  • ロールモデルをもつ →一人だと難しい
  • ライバルをもつ →こいつには負けたくない
  • 仲間を持つ →一緒に何かをやってくれる人
  • 下に行くほど難しい
  • ロールモデルの人物
    • Tatsuhiko Miyagawa
      • 日本のPerl界のカリスマ
      • つくるもののセンスがいい
      • 速い
      • ログ記事からハック精神に溢れている
    • Brad Fitzpatrick
      • Livejournal
      • Memcached, Gearman, TheSchwartz
      • 自分のサービスのために自分でミドルウェアを作る。
      • Androidガレージ開け、双子の名前アナグラム提案など。
    • Mat S Trout
      • DBIx::Class
    • Marc Lehmann
      • AnyEvent, libev, libeio
  • ライバルの人物
    • Masakazu Ohtsuka
      • こえ部, ナカマップ, Wonderfl, jsdo.it, 写真袋
  • 仲間の人物
    • Shunichiro Fujiwara
      • 信頼のインフラエンジニア
      • ISUCON二連覇
      • チャレンジングだけど不安な事にダメ出しをしてくれる。だけど保守的ではない。
  • プログラマという仕事に誇りを持って!

サルでもわかるOAuth2

@zigorouさんによるトーク。

非常に詳しいトークでしたがテンポも早く、手元のメモそっちのけで聴いていました。こちらはUstreamによる録画があるので、そちらをご覧頂くのがよいかと思います。@zigorouさん自身も、スライドが完成したら公開するとおっしゃっていたので、それを期待しましょう。

LT

  • @__papix__ さん
    • 25歳
    • モジュール作ってみた
    • Module::Setup
    • テストも書く
    • PODを書く
    • Makefile.PLを修正する
  • @moznion さん →スライド
    • 2年前まで道民
    • 学生
    • 数値計算
    • テスト大事
    • テストの書きやすさマジ重要
    • (トーク非常に素早かったです)
  • @techno_neko さん → スライド
    • 名前付き引数のお話
      • 順番で渡す
      • ハッシュで渡す
      • ハッシュリファレンスで渡す
    • Hokkaido.pm Casual
    • ベストエルティニスト
  • @koji_magi さん →スライド
    • Kokusaitenjijoumae.pm
    • リア充爆発しろ
  • @akiym さん →スライド
    • Perl5.18予想
    • state sub, my sub, our sub
    • Perl5.17時点での予想なのでPerl5.18では変わるかも
  • @xtetsuji →スライド
    • スピリチュアルトーク
    • Hokkaido.pmのおかげでYAPCでトークできた
    • ありがとうHokkaido.pm!

懇親会

鶏屋とことん

前回好評だった、本会終了から時間を待たず17時30分から飲み始めるパターン。

今回はすすきの移動ではなく、東札幌駅近くの居酒屋での開催となりました。料理が美味しかった。

本会は参加人数は少なかったですが、そのほとんどの人が懇親会にいらっしゃっていて、非常に密に盛り上がれたと思います。これはこれで楽しかったー。

二次会

酒肴酒菜 掌-てのひら-

外はすっかり吹雪いていましたが、タクシーですすきのに移動して @onagatani さん推薦の活イカの店でイカや日本酒を堪能。これまた美味しかった。

三次会

すみれ 札幌すすきの店

お決まりのコース、すみれでラーメン。

23時30分ごろには解散。

その後

今回はすすきのに宿が取れなかったので、地下鉄とJRを乗り継いで恵庭のホテルに帰ることになりました。ただ、JRで2駅寝過ごしてしまって恵庭で降りられなくて、タクシーで戻ることに。1800円くらいの痛い出費をしてしまいました…;。SMAPとフィギュアスケート…;。

写真は外部リンク(Twilogや4sqなど)から参照してください。現在写真整理中…;。「顔出しNGの人いますかー?」って聞かなかったなぁ、そういえば。今回は下手ながらコンデジで頑張って写真を撮ってみたのですが、無難に限定公開できる場所に公開できればします。

まとめ

今回はガチ技術論というよりもスピリチュアルなトークや概論的な話が多かったような気がしましたが、聴いて奮い立たされる話が多くて面白かったです。

いつも来る人が来れなかったり、参加者が少なくもあったのですが、これに関しては時期的にもアレ的にも仕方がなかったです。3月開催予定のHokkaido.pm#9に期待です。よほど避けられない予定がなければきっと行きます。

久々に大書店「ジュンク堂書店池袋本店」に行ったけど、やっぱり良かった話

昔はかなりの読書家だった おがた (@xtetsuji) です。

今日、本当に久々にジュンク堂書店池袋本店に行ってきました。言わずと知れた日本最大級の売場面積を誇る大書店。

以前は大学が池袋のジュンク堂書店の近所にあったので、専門書(数学科だったので主に数学の専門書)を買いに毎週のように通っていましたが、社会人になってから足が遠のきつつありました。

特に忙しくなってから、一通り仕事での専門書(プログラマーになったので主にコンピュータ書籍)を買うと大体買い方が分かってきたので、ネットで流行をウォッチしてネット書店Amazonで買うという流れが定番になってきました。最近は娯楽でマンガを買ったり、コンピュータ系の雑誌を買ったりすることもありますが、自宅近くの小さめの街の書店で買うことが多いです。

どうして大書店から足が遠のいたか考えてみましたが

  • 自分の拠点から遠くなった
  • 大書店は人の集まるところにあるので、人混みが苦手な自分はそれを避けるようになった
  • 売り場が広いのでついつい歩きまわってみてしまって、結果疲れる

といった要因があるようです。ネット書店や街の書店にはこういうのは無い。

ただ、大書店ならではのメリットというのは確実にあるなぁとも思いました。

  • 品揃えが随一
  • 実際に手にとって見ることができる
  • 棚を俯瞰することができる
  • 新しい本との出会いが多い
  • 運動になる

ネット書店の手軽さを享受したい思いや、街の書店を大切にしたい思いもありますが、たまには大書店に行ってみるのも悪くないですね。新しい本との出会いが多くて、金や読書時間がいくらあっても足りないという新たな悩みも発生しますが…;。

今日購入した書籍は以下。

今回購入した書籍 - 2012年12月

今回はコンピュータ書籍フロア(5階)と、理工学書フロア(6階)を回ってきました。本当は数学書を買うつもりは無く(自宅をまさぐれば、学生時代の数学書はいくらでも出てくるから)、たんに2010年に改訂版が出た「解析概論」の中身を見てこようと思っただけでしたが、「そういえば解析学ばっかりやっていて、ガロア理論は学生時代からさっぱり分かっていないなぁ」と思って一冊買ってきました。表紙はヌルそうな感じですが、中身はしっかり書かれていたので、これをチョイスしてみました。数学書は本当に数が多い。コンピュータ書籍よりもずっと数が多くて、しかもページ数の割に値段も高くて、自分の一冊を見つけるのは本当に苦労します。学生時代は書籍を買うためにバイトをしていたくらいです。

解析概論の改訂版は、中身が本当に綺麗に組版されていて、本当に買う直前まで行きましたが、金がない事と、荷物が重くなること、第3訂を持っている事を考えて、今回は買いたい気持ちをグッと堪えました。

過去の改訂版を持っているから買わなかったといいつつ、「LaTeX2e美文書作成入門」(通称:奥村本)は買ってしまいました。というか、この書籍は学生時代は初版から版が変わる毎に買っていたくらいのLaTeXマニアでした。最近はLaTeXからはすっかり離れてしまっていましたが、MathJaxをいじりはじめたり、仕事の文書作成でもLaTeXを利用してみようかと思い始めたこともあり、最近のLaTeX事情を知るために購入してみました。

「Webサービスの作り方」は今話題のコンピュータ書籍です。Amazonで買おうかと思いつつ思いとどまっていたのですが、店頭に並んでいるのを見てつい買ってみました。

オライリーの書籍も買おうかと思いましたが、池袋ジュンク堂書店ではまだ「2012年秋のオライリーセレクションフェア」が始まっていないようだったので、購入を控えました。良書とネットで散々話題になっている「リーダブルコード」や、Haskellの書籍「Real World Haskell」など以前から興味があった書籍を手にとって買う気まんまんだったのですが、そんなわけで次回へ見送ることに。

オライリーのフェアについては店員さんに聞いて、開始したら電話してもらうことになったので、そうしたらまた足を運びたいと思います。

久々に行ってみた大書店はとても良くて知らない書籍との出会いも結構あったので、Amazon等のネット書店や街の小さな書店と使い分けて、これからも億劫がらずたまには足を運ぼうと思いました。

電子書籍が流行っていますが、紙の書籍もいいものです。ただ、東京の狭い自宅では書籍の保管スペースが…;。もう既に部屋には積み本タワーがいくつも…;。何事もトレードオフなのかもしれませんが、難しい問題ですね。