1000人スピーカプロジェクト 第2回カンファレンス(2008/02/23)-後半

まだ書きかけ。→書いた。ちなみに前半はこっち

頼れる執事Hudson - cactusmanさん

「さぼてん」さんと呼んでいいけど、決して「さぼてんマン」とは呼ばないでください。

  • Hudsonって何? → CI(継続的インテグレーション)ツール
    • 知らない人は「アジャイル・プラクティス」という本がお勧めです
    • 大雑把には「デイリービルド+テストを日に何回もやる」XPのベストプラクティスのようなもの、くらいに考えとけばいいかも
  • HudsonはWebアプリ(Java Servlet)
    • 設定が簡単
    • ビルドが失敗したらレポートしてくれる→みんなで問題解決に取り組む
  • 実はHudsonのコミッタです。日本語化とかやってます。
    • BlogにHudsonのことを書いたら、Hudsonの作者が誘ってくれたのがきっかけ。
  • コミッタになって思ったこと
    • 自分の力に自信がなくても、いろいろ出来ることはあるし、やってれば成長するよ。まず一歩踏み出そう
    • 0.1は0じゃない
  • 質問:Hudsonを一人プロジェクトで使うメリットは?
    • 複数環境でのビルドが一気に試せる(手でやるよりずっと楽)


デモを見たら、けっこう手軽に使えそうな感じ。自分好みにするのはちょっとたいへんそうだけど、出来るとすごい便利そう。ところで、執事を名乗るなら銀食器磨きの腕を見せてくれないと。

::outside擬似要素の話 - ykztsさん

  • 大雑把に言えば、::before, ::after の擬似要素と似たもの
  • これを使えば、涙ぐましい div タグの入れ子がなくせる素敵要素
  • 実は自分もよくわからないから仕様を読んでね
  • そして実は、対応してるブラウザがないんだ!
    • ワーキングドラフトが出て5年も放置されてるのはきっと無名なせい
    • 皆さんBlogで「::outside欲しい!」と言ってください → きっとMozillaの人が見て実装してくれます
  • Javascriptで実装できないの?
    • →::first-letterをやってる例があるので、出来るかも
    • →って言ったら、今日の発表を聞いた誰かが作ってくれるかもって期待してます

脅威のおねだりメソッド! でも面白そうなんで誰か出て来て欲しいなー。
自分はCSSがだいぶわかってないので出来る気がしない。というか、出来る頃には他の人がさくっと片付けた後の予感大。

社内コミュニケーションにおけるunkの可能性 - onkさん

  • 大事な話は「タバコ部屋」の上下関係のない雰囲気で行われる
    • →社内メッセンジャの発言にとある単語をつけることで、そんな雰囲気を醸造しようという試み
  • 社内メッセンジャ Jabber
    • オープンソースのIMメッセンジャ。XMLベース
    • 人じゃなく場所基点(会議室があるとか)な所がいい
  • クライアント Pandion

こっちも自重しる。

Javascriptでクライアントがいじれるのが面白かった。

プログラム言語とかに関する、ちょっとした話 - akio0911さん

Javascriptに挫折したのでオーサリンツール、という発想がすごい。是非作ったものが見たかったけど、お許しが出なかったそうで残念。

syobocalplus.user.js - GreasemonkeyMigemo検索 - gyuqueさん

  • syobocalplus.user.jsとは
  • ページ内容をスクレイピングして色づけ
    • DOMでいろいろ頑張るよりは、XPath使った方が少し速いです
  • Migemo風の検索
    • Migemo はローマ字のまま日本語をインクリメンタル検索するためのツール
    • 漢字辞書は実は本文に打ち込んでます
  • 検索結果をSafari風にハイライト
    • DOMでスタイルを触るより、CSSルールを書き換えた方が高速
  • キー入力(ESC:リセット,↑/↓:1行スクロール)
    • Firefoxの検索部分(findBar.js)を参考にした
  • メトロマップ検索も作りました
    • Migemo風検索で駅を絞り込み→駅周辺をMap表示
  • yobocalplus.user.jsもメトロマップ検索もCodeReposにあります

最近DOMをどーたらこーたら、というのをやっているので、この辺の話はすごく役に立つ。Firefoxのソースを参考にしてるとか、当たり前のように超ナチュラルに言うので密かにびびった。そこまでしたことないや...今度見てみようかな。

分散と並列について - otonasikaoruさん

某絶望アニメをリスペクトしたプレゼン動画(スライドショー?)をJavaで作ったけど、PCが壊れて音が出ない! → この後、懇親会の時何とか披露。

  • 並列処理:一つのマシンでいっぱいの仕事
    • CPUが多いほど多スレッド、メモリに乗せきられる仕事は高速
    • 性能アップにはハードの性能を上げるしかない
  • 分散処理:たくさんのマシンでいっぱいの仕事
    • 性能アップには、マシンを追加すればよい
  • 並列処理と分散処理の併せ技という手もあり
  • プログラミングは、どちらも滅茶苦茶難しい
    • まずスケールアウトがたいへん(1CPUの場合とは勝手が違う)
  • Googleの例
  • Amazonが1時間0.1ドルくらいで分散処理システムを時間貸ししている
  • ちなみに、並列処理をやるには"java.util.concurrent"

1000speakers conference:2 - nyaxtさん

上野氏は仮想人格です。

  • Nytr Renderer作ってます
    • 最近やったのはlibpolatskというタスクベースの分散コンピューティングライブラリ
      • よくわかんないけど、仮想的なタスクプールでタスク管理とかしているらしい
  • マルチスレッドプログラミング
    • 難しい、デバッグしにくい
    • 同期処理が鬼(Mutexのつけ忘れ頻発、しかも遅い) → そもそもMutexのいらない仕組みにしたい
  • Lock Free Queue
    • Mutexなしで動くデータ構造。複数スレッドの同時操作可。
    • WriteのみでReadしない時に使う。Read/Write入り混じるのはNG。
    • push:信頼性を低めることで高速化。Tailポインタは"おおむね"最後の方を指していればよいことにする
    • pop:free済ポインタを再freeしようとして落ちるので、free済のポインタをfreeしても落ちないようにした
      • Memory Block Arene:ブロックを多めにmallocして切り売り。malloc/freeはステータスフラグで管理
      • →free済ブロックの再freeを許可。立ってるフラグをさらに立たせようとするのはエラー。
    • この辺、C++では自前実装だけど、Javaとかは実はもう入ってる

この辺の話はあまり免疫がない。自分なりに大雑把には理解したつもりだけど、それでいいかどうかは><。

懇親会

久々にピザ食べたけどうまい(^-^)。

懇親会の間中、ずーっとPCいじってたotonasikaoruさん、お疲れ様でした。ピザとかちゃんと食べられたのかな...。

そして、ゴミや空き缶が増える度ひたすら綺麗にしてたTanyさん、「バーベーキューの時、女の子に食べ物をかいがいしく運ぶ男性より、黙々と焼く男性の方がもてる」と最近どっかで読んだのを思い出しました(後で元メイド喫茶店長と聞いて、その気配り度の高さに納得)。

それにしても、コンパイラを作る中学生の出現にはびびったwww。

第2回のお菓子

今回はベルンのアソート詰め合わせ。けっこう売れ行きが良かったのがうれしい(^O^)。ベルンはミルフィーユが有名な老舗らしい。リンク貼ろうと思ったのに、サイトがないみたい。

あと、お菓子の写真撮るの忘れたorz。1000人スピーカの裏歴史として、脈々と記録を残そうと思ったのに...。

第3回の予定

3/22(土) at サイボウズ・ラボ

詳細はこちら→1000speakers:3

  • 聞く人の募集:3/1(土) 24:00より
  • 話す人の募集:3/8(土) 24:00より
    • 話す人の方が人気で、けっこう瞬殺です。聞く人とのダブルで申し込みをお勧めします
    • 話す人になったら、聞く人枠はキャンセル可です
    • ↑というわけで、聞く人の中には話す人に昇格してキャンセルする人が相当数います。聞く人枠が埋まっていても、諦めないでキャンセル待ちに並びましょう。

2回連続行ったから、次はUstream参加にしてみようかな。