詳細を見るポール・グレアムによるVC「Yコンビネーター」のブートキャンプを、スティーヴン・レヴィがレポートしているということで、読んだ。採用から開発、投資家にプレゼンする“デモ・デイ”まで、分量は長くないんだけど、生き生きと、ポイントを押さえつつ描写。「採用ではサービスより人物を見る」「途中でプランを変更することもよくあるし、それで成功した例もある」「最後の1週間は徹底的にプレゼンを叩き込む」といったあたりが印象に残った。「それだ、その瞬間にみんな自分のブラックベリーに目を落とすぞ!」というダメ出しのシーンを拾って描くところとか、うまいなあ。同じ頃にTechCrunchで「シリコンバレーで起業した日本人が語るスタートアップガイド2――シリコンバレー流の資金調達」を読んだので、相互に理解が進んだ。ほかの記事では、麻薬密売組織が独自に開発した潜水艦の話が面白かった。いう、自分ではまったくマークしていなかった方向の記事が入ってくるのが、自分にとっての雑誌の利点だなあ。同じ号の記事「そして雑誌はやがてアンバンドル化する」とは逆だけど。詳細を見る表紙に「うんこ」の文字が載った号。「うんこ演算を支えるUnkoScript」という記事で、子供の計算問題をうんこを題材にして出すアプリ「うんこ演算」についての解説だった。問題のテンプレート用DSLとして、カッコによるS式で演算子を前置して記述し、パースしてコンスセルによるリストを作るという、どこかで聞いたような仕様を採用してるとか。文章もユーモラスなもので、「三度の飯よりうんこが好き」とか、電車の中でリアルに噴いてしまった。最近は、すぐにデプロイできることや、言語コミュニティ間の交流を意識している、と。あと、前置きによると、「Heroku」の由来は「hero」+「haiku」なんだとか。Fusion、テキストエディタなどを解説。クックパッド社開発陣のMac活用事例もあった。「イケてるGitの使い方」は、現在Subversionを使っている現場を想定して、SubversionやほかのDVCSとの比較、git-svnでSubversionリポジトリのローカルリポジトリを作ってgitで管理する方法、Redmineとの連動などを解説していた。11.10の紹介記事だった。dankogai氏連載は、Unixの歴史と最近物故された大物たちをからめるというもので、こういう独自のコンテキストを組み立てるのがやはりうまいと思った。連載ではほかに、新連載「mixiエンジニアがおくるソーシャル開発実践講座」がスタート。OpenBlockS連載が最終回で、CUPSサーバー。OpenFlow連載は、Tremaを使って実際にコントローラを作るサンプル。Japanから生まれたプロジェクト達の紹介。Emacs連載は、Mewのユーザーインターフェイスについて。アメーバ連載は、ひきつづきChefとVagrant。iPhone開発連載は、スタティックライブラリ(*.a)。Android開発連載は、ホームアプリの中身。2011」に行ってきました。モノを実際に作って動かしている話しとか、そのための運用とか、現場の人が自分のやっていることを紹介するセッションが多かったと思います。こんな時期にブログに書いても、もはや自分しか得しない気がしますが、とりあえず自分メモとして。1日目オープニング(941)今回はいろいろな面で最大規模だったという話で、伸びてるなあと。あと、交流をテーマにしているとの話もありました。Vincent)Perlのリリースサイクルを作って10月31日にPumpkingを引退したobra氏のセッション。「ようやくビジョンを語れるようになった」ということで、「Perlは変わり続ける」「Perlのコアをコンパクトにする。5.14以降という指定だったが、それでは5.30とかで動くとは限らない。5.16そのもので動くという意味にして、後方互換性をできるだけ保つ」という話が印象的でした。Carton(miyagawa)YAPC::Asiaといえばのmiyagawaさんのセッション。アプリをほかの環境にデプロイしたときにモジュールのバージョン違いで困らないように、使っている全モジュールのバージョンを固定する「Carton」というしくみを開発したという紹介でした。RubyのBundlerを参考にしたとのことです。exec」でその環境でアプリを動かすというのをデモしていました。Twitterでも、「使いたい」という声が多数並んでいました。Android(まだおもちゃ)、Nodeなどを紹介していました。Lehmann)Nodeのベースになっているlibev&libeioや、AnyEvent、Coroなどの作者のmlehmann氏のセッション。勝手に大学の先生っぽい人を想像してましたが、どちらかというとオタクっぽい感じで、そのへん親近感を覚えました。そんな感じで、たくさんのアニメのファイル(大容量+多数)をダウンロードさせるサーバーを立てようとして既存のサーバーを試したけど使えるものはなかった、じゃあ自分でいうことで、CoroとかAnyEventとかIO::AIOとかイベント駆動で作ったとかなんとか。ときどき10秒止まるのでおかしいなーと調べたら、ノンブロッキングのはずがOSがファイルを先読みしててブロックしたという話なんかもありました。あと、イベント駆動はコールバックスタイル(継続渡しスタイル)で制御の反転になるけどCoroなら普通に書けるぜとか、PerlのiThreadはプロセスみたいなものでスレッドじゃないからCoroこそがスレッドだとか、IO::AIOはもとはPOSIXのラッパーだけどいろいろesotericなものをラップしてるぜとか、Coro::AIOならIO::AIOを普通のI/Oの書き方で書いて自動変換してくれるぜとか、いろいろ語ってました。Perlで構築されたサイトの移転(fujiwara)カヤックの音声投稿共有サイト「こえ部」を、止めずに、レンタルサーバーから自社インフラに移転した話。一度に動かすとトラブルが起きたときに発生箇所がわからないので一つずつ動かしたとか、DC間をOpenVPNでつないだとか、移行先にDBの子レプリケーションと孫レプリケーションを作ってDC間を切ったら元の子レプリケーションがマスターにしたとか、投稿と参照のFQDNが違ってDNS切り替えのタイミングが違うので404になったときに違うほうのサーバーにフォワードするとか、さすがいろいろ工夫してるなあと思いました。Mobageオープンプラットフォームの事件簿(zigorou)Mobageオープンプラットフォームの障害事例を紹介してました。updateが遅くてデッドロックが多発とか、DELETEが遅くて遅延とか、有名人が何かするたびに負荷がすごいことになるとかの話で、大変だなあと思いながら聞きました。LT:Perl同人活動(makmaka)毎年名物のPerl同人誌「Acme大全2011」の紹介でした。LT:(hakobe932)WebService::SyoboiCalendarで関西のアニメ放送予定をチェック、という話でした。カヤック同日発表された「Perl道場」を紹介していました。LT:(Yappo)IRCボットフレームワークApp::Ikachanの紹介でした。LT:(charbar)CPANに「倉庫番」の盤面パーサーはあっても実際のゲームはなかったので、URLを指定してパースして遊べるゲームを作ったという話でした。LT:(egopro)去年のYAPCに参加した影響で作ったというSendai.pmの活動紹介でした。スカイアーク北海道のIT勉強会の紹介でした。LT:(issn)Nagoya.pmの活動紹介でした。Tayumi)6Aの広報さん。Perlプログラム「iSteve」が会場で大ウケでした。LT:(karupanerura)Class::Accessor*でアクセサを作ると呼び出しコストがかかるので、普通のアクセスを制約する「Class::VirtualAccessor」というのを作ったという話でした。Variable::Magicでhookしているとか。LT:(岡部恵一)Perl商標問題と、それに対するJPAの戦いの報告でした。LT:Perlで次世代ゲーム開発(keroyonn)ssh端末のフォントを極小にしてドットに見立てて8bitゲームふうのアクションゲームを作ったということで、実演もしてました。Arisawa)perlbrew+darkpanの紹介でした。LT:(nekokak)DBIx::Handlerなどの“薄い”ORMの紹介と考察でした。LT:ISUCONやった話(tagomoris)集まってその場でWebアプリケーションをチューニングする「ISUCON」を開催した報告でした。Oku)去年に引き続き、Unix系OSのシステムコールがらみのトラブル例と、トラブルにはまらない心得の解説でした。今回は、子プロセスからのデータをパイプで受け取る場合の問題と、シグナルをチェックするタイミングの問題について。パイプについては、子プロセスが入力待ちになる問題や、読まないでいるとパイプのバッファサイズ制限に引っかかる場合がある問題、標準エラー出力の問題を指摘し、「テンポラリファイルを使うほうが楽」とまとめていました。XやAndroidではpselectの実装がおかしい問題などを指摘し、sleepのかわりにselect()を使う回避策などを紹介していました。Shimada)Mobageオープンプラットフォームの数十億PV規模で起きたmemcachedの問題とその対策の紹介でした。コネクションタイムアウトなどでキャッシュが更新されていないことがあるのでsetやdeleteの戻り値を見る、いろいろなアプリがキャッシュするのでworkerにまとめる、keyの分散が偏るのでkeyにsuffixを付ける、内部向けDNSでDBの負荷分散をしているのだけどPVごとにDNSルックアップが発生するので結果をmemcachedにキャッシュする、外部ドメインにアクセスするときDNSルックアップをキャッシュするのにクライアントとしてFurlを使う、などの話でした。ぼくのかいがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく(cho45)後にリリースされた「はてなブログ」のためのWebアプリケーションフレームワークの話でした。大規模で長期的にメンテナンスするシステムのためには、「限りなく薄いフレームワーク」が求められる、と。PSGIを出して「最小のフレームワークは書かないフレームワーク」「共同開発に必要なのは共通の実装ではなく共通の設計指針」と。そのほか、「ドメイン特化にならざるをえない」「危険なことをするのにコストがかかるように」「3回コピペしたら抽象化」などの言葉も面白いと思いました。(yusukebe)画像を操作するライブラリのImagerで、「幕末写真フィルタ」「Instagram風」「Facebookカードを作る」といった応用例を見せていました。画像認識と組み合わせて「キャプチャ破り」や「miyagawanaize」、さらにOpenCVと組み合わせたOppai-Detect(笑)までやってみせていました。(TAKESAKO)WindowsアプリケーションをWin32::GuiTestで操作する話でした。キーストロークを送ったり、ウィンドウタイトルをあいまい検索したり、マウスを動かしたりといったのをやってみせた後、マインスイーパーを自動で解く「Acme::MineChan」を解説してデモして、会場を爆笑と驚愕の渦に巻き込んでました。苦労した点として、画像マッチの素材として「8」を出すのに苦労したとか、暴走するとキーボードやマウスが奪われていて止められないのでUSBメモリのautorunでtaskkillを実行とかいうエピソードも。Signes)CPANの数々のEmail処理モジュールの作者による、「本当は怖いEメールのフォーマット」の話。ヘッダの折り返し方法とか、空白の扱いとか、コメントの扱いとか、日時の表記とか、よくこんなのパースできるなあという感じで、モジュールに感謝。あと、MIMEの恐怖の話については、日本人は英語圏ほど意外性を感じにくいのかもと思った。Apartのcomewalkさんによる、ブログの歴史のふり返り。(pingやOpenSEarch、OpenID、PUSH)などと進化してきて、2004年ぐらいから進化が止まっているのではないかということでした。手をつけなくてはいけないこととして、インポートとエクスポートが挙げられていました。少人数のWebアプリ開発(aloeight)会社の小規模なCGIシステムが、毎年のYAPCに影響されてmod_perlやPlackなどに変わっていった過程の報告でした。それだけでなく、「ファイル名による人力バージョニング」「Excelでタスク管理」から、SubversionやTracの導入の変化が、会場の興味を惹いていたようです。Kataoka)異色のセッションで、プログラムで波形などをいじって音を合成し、音楽を演奏するシステムの話でした。それ系のライブでは、ステージでコンピュータを操作しているとメールでも見ているようにしか見えないという「メールチェックライブ問題」があるんだとかw。その場でコードを書いて即興演奏しようという話でした。音を合成するロジックもPerlを内部DSLとして書いて、それをクライアントからHTTPで音声合成サーバーに送ってオンザフライで演奏を変えられるそうです。実際に、その場でコードのパラメータやプログラムを変更してデモというかライブをやってみせてました。(keroyonn)1日目のLTでもやっていた、ssh端末のフォントを極小にしてドットに見立てて8bitゲームふうのアクションゲームを動かすGames::BeLike::EightBITの解説とデモでした。30fpsぐらい出るんだとか。Async(kiwanami)EmacsでGoogleカレンダーふうのカッコいいカレンダーを作ったり、3Dマルチプレイヤーゲームを作ったりしてEmacsユーザーを驚かせているkiwanamiさん。会場でも、あれがEmacsか、という声が。Perlネタは、EmacsからDBにアクセスするのにPerlを使う話。Lisp使いのnitro_idiotさん。Lispの遍歴と、そこから思ったことを発表していました。Perl”は毎年変わるので、ついていくのが大変」という言葉が印象的でした。ガイアックス福岡はいいところだよ、都会だけど東京ほど混んでないし、ちょっと行くと自然もあるし、美人が多い(と嫁写真を披露w)、とアピールして、福岡支社を作るので募集中、という話でした。LT:bouneHammer(azumakuniyuki)バウンスメールの解析ツール「bouneHammer」の紹介でした。ライブドアworemacxさんによる、ロケタッチの紹介でした。LT:(Yappo)前日のIRCボットフレームワークの話に続いて、社内でのサーバーの通知情報などをIRCに集約して仕事効率化、という話でした。Tomita)Perlモジュール本を書いた富田さん。Acme以外の面白モジュールをいろいろ紹介していました。「Moose」を簡略化して「Moo」→「Mo」→「M」とかw。LT:File:::Zgob(tokuhirom)zshのように「**」が使えるzglobと、その他最近開発した多数のライブラリの紹介でした。mixi雑誌でも記事を書いていた「静的解析」への取り組みを紹介していました。社内で開発したプログラムの「負債」度を測る指標だそうです。authorトップ10の発表でした。LT:MySQLでMessagePack(kamipo)MySQLのレコードにMessagePack形式でデータを入れたのを検索する、MySQLプラグインを書いた紹介でした。LT:エロサイトの裏側(yusukebe)個人によるエロサイトの開発と運営で学んだ技術的経験の話でした。LT:(takesako)通常のセッションでやった「Acme::MineChan」を、2分で紹介しデモして、みごと解いてみせ、喝采を浴びてました。Hackers(hidek)基調講演としてDeNAでハッカー集団を束ねるマネージャーとしての心得を語っていました。チームは必要であり指揮者のようにマネージャーも必要、という存在意義の話から、エンジニアの現場をマネージするにはエンジニア経験のある人間でないといけないという話、丸投げではなく任せるという話、クセのあるハッカーたちをまとめる心得、などについての話でした。Maki)ベストスピーカー賞を発表。あと、「来年(良いほういも悪いほうにも)どうなるかわからない」と話していました。|Clojureのhttp.async.clientを試したClojureの半日ハッカソン「Tokyo.clj」に参加して、ClojureのHTTPクライアントライブラリであるhttp.async.clientを初めて試しました。背景ClojureのHTTPクライアントライブラリは変動が激しいようです。deprecated」と書かれているとか、さて、どれがいいんだろうと悩みます。clojure-http-clientのドキュメントには、clj-httpかhttp.async.clientがいいんじゃないか、と書き添えてあったので、この2つが気になっていました。私の目的が、複数同時接続なので、非同期リクエストのhttp.async.clientを試してみることにしました。なにものhttps://github.com/neotyk/http.async.clientイベント駆動型の非同期HTTPクライアントで、Nettyベースだそうです。APIとかに力を入れているような印象です。単純な例とりあえず単純な例から。newして、project.cljの:dependenciesに追加します。"0.3.1"]src/hoge/core.cljに、ほぼサンプルからコピペで書きます。)ドキュメントによると、client/GETではブロックせず、client/stringで内容を見に行くときにブロックするそうです。(以下略)無事、コンテンツが表示されました。冒頭にSLF4Jの「ロガーが設定されてないよ」というメッセージが出てますが、ここでは置いておきます。同時接続を試すために、「時間のかかるWebサーバー」をローカルで動かします。)READMEのサンプルにThread/sleepを入れただけです。同時接続を試すlocalhostの8080番ポートに10接続かけてみます。src/hoge/core.cljはこんな感じ。)))10個の(同じ)URLをmapでclient/GETにかけてから、またmapでclient/stringにかけます。その直前に経過時刻を表示することで、各client/stringが呼ばれる間隔を調べます。Ring")1リクエスト目のclient/stringでブロックしたあとは、2リクエスト目以降はさくっと返ってきています。同時接続しているように見えます。非同期リクエストなのでコールバックインターフェイスもあるかと思って探したところ、client-request-streamがコールバックを取るようです。同じように試してみます。)))コールバック関数からのやりとりにpromiseを使ってみました。実行すると、client/GETのときと同じような動作になります。Content-Length:が0だとうまくいかないとか、ちょっとクセがあるようです。APIで使うのに都合がいいように作られているようで、そうでない用途なら素直にclient/GETを使ったほうがよさそうです。詳細を見る舞台を青森に移してスーパー1の苦闘が続く。オリジナルキャラの義経がいい味出してるなぁ。村枝アキニが初期からよく出すタイプのキャラの発展形なんだけど。キメのコマは、3人同時変身。あと、泣かせ所はトビラ絵かな。11.10のレポートを3ページだけ書いたので、遅ればせながらご報告。内容は、GUIの変更やパッケージのバージョン、multiarchあたり。自分の記事はさておき、全体を見ると、パーソナル、システム構築管理、ガジェットの3つの柱のバランスを意識的にとってるのかなと思った。Pipes、Twitterボット、AndroidのGPSなどを解説している。特別企画はH.264のコーデックやBlu-ray化。システム系でいうと、先月号に続いて「「カーセンサーnet」リニューアル奮闘記(後編)」が面白い。Webサーバーのボトルネックを延々と追っていく話で、今回はOProfileやSystemTapでカーネルの中を調べて、NFSによるBKLの問題にたどりついている。3.6あたりをSMB2を中心に解説している。6で採用されたSSSDやIPAのあたり。OSS-DB試験の連載は、SQLのDMLの基礎あたり。LPIC連載は、サービスまわり。ガジエット系でいうと、特集3が、WM8650ベースの中華Padのroot取りや改造ファームウェア、Debian化。Library周辺の心得について。そのほかでは、マンガ「シス管系女子」と「やさしいLinux」の2連載がどちらもvi(vim)の初心者向け入門。美女Linux連載はフォーマットが会話形式になっていた。プリンタ連載は、LinuxとWindowsの組み合わせでリモートプリントする場合のそれぞれの組みあわせごとの解説。Upstart連載は、すでに用意されている設定ファイルの解説と、実際に自分で設定ファイルを作ってみるところ。9.1」のデータベース記事2つが圧巻。前者は大規模サイトでのRDBMSについて、インフラから設計、チューニングまで解説している。9.1の新機能や変更点についてまとめている。特集1の「Webエンジニアが知るべきインフラの基礎知識」は、開発系エンジニアのためのインフラ基礎知識。ネットワークから監視すべきポイント、ツールまでポイントを押さえていて、開発系エンジニアでなくても参考になる。特集2はPHPフレームワーク。Silex知らなかった。JavaScript連載は、CofeeScriptから学ぶJavaScriptの落とし穴。