本を読む

読書やコンピュータなどに関するメモ

Enumerableのメソッドチェーンでループを1回にする

 RubyのEnumerableなオブジェクトでは、メソッドチェーンでどんどん処理を足せたりします。

(1..10000).map{|e| … }.map{|e| … }.find_all {|e| … }

 でもこれ、各段の処理ごとに10000回ループするのがもったいない気がします(貧乏性)。そこで、1回のループで処理するものを試作してみました。

 使い方は、「.to_oneloop_enumerator」をはさむだけ。

require 'oneloop_enumerator'

(1..10000).to_oneloop_enumerator.map{|e| … }.map{|e| … }.find_all {|e| … }

 たとえていうと、

(foo.map{|e| … }).map{|e| … }

foo.(map{|e| … }.map{|e| … })

に変換するような感じ(イメージなので、この式はエラーになります)。

 …ただ、こうしても、ブロックになっている部分の実行回数は変わらないので、あまり意味はないことに気付きました。だめじゃん ><

「フェイスブック 若き天才の野望」

フェイスブック 若き天才の野望 (5億人をつなぐソーシャルネットワークはこう生まれた)
デビッド・カークパトリック
日経BP社
売り上げランキング: 881

 発売直後に途中まで読んで中断していたのだけど、半年弱ぶりにふと思い立って通読。中断したのはつまらなかったからとかではないので、再開したら一気に読んだ。

 映画「ソーシャル・ネットワーク」では、Facebookを開発しているのがほとんど主人公だけに見えるし、リリースした次の瞬間には成功している。あれはあれで面白かったけど。いっぽう本書では、映画で抜けていた成功までの過程と、そこに関わった人達を追っていて、企業のサクセスストーリーとして興味深い。

 以下、自分メモ。

  • ザッカーバーグは高校時代フェンシング・チームのキャプテンで、モテた
  • ハーバード大学は、全部の寮の「フェイスブック」をデジタル化すると約束していたが、実現していなかった
  • モスコヴイッツはFacebookのトラフィックから、「あらゆる大学におて、すべての学生は2次以内のつながりで知り合い」と発見
  • ザッカーバーグや初期のメンバーは、The Facebookのヘビーユーザーではなかった
  • FriendStarは、成功によってサーバーがどんどん重くなって自滅した
  • 2004年当時、MySpaceが機能をたくさん持ち、なんでもありの雰囲気だったのに対し、The Facebookはシンプルで大学生限定と対極的だった
  • 投資受け入れ後、The Facebookの取締役は4人に決められ、投資家のピーター・シール、ショーン・パーカー、ザッカーバーグ、ザッカーバーグが指名権を持つ空席とされた(乗っとりを防ぐためのパーカーの策)
    • パーカーが辞任するときに、自分の議席をザッカーバーグに渡した
  • アクセル・パートナーズの投資のとき、創業者の株式持ち分を希薄化するのを拒否し、ストックプションのプールのためにアクセルに半分拠出させた
  • 元PayPalのエンジニアが数週間Facebookで働いたあと、起業するといって辞めた。後のYouTubeである
  • 当初のThe Facebookのソフトウェアはシステム全体が単一の巨大プログラムだったため、1つのエラーでシステム全体が止まった。後に、機能ごとに独立した形に書き直された
  • ザッカーバーグとパーカー、モスコヴィッツは、2005年半ばから、Facebookはクールである必要はなく、有用であればよいと言っていた
  • ニュースフィード機能が導入されたとき、抗議グループが盛り上がった。これもニュースフイードの影響
    • Facebook上で費やす時間がニュースフィード導入によって劇的に伸びたというデータが明らかになっていた
  • 「誰もが自分のことを知っている田舎町での生活の力学を思い起こさせる」(NewYork TImes クライブ・トンプソン)
  • 2009年の調査で、全米の35%の企業がソーシャルネットワークで見た求職者の情報を理由に不採用にしている
  • 「ウェブでは、誰でも15人に対して有名になれる」(デビッド・ワインバーガー)
  • Googleのアドワーズ検索は「要求を満たす」、Facebookは「要求を生み出す」
  • 「ポトラッチ(贈与経済)が有効になるのは、コミュニティが小さくお互いの貢献が目に見える事実から。ただし、その社会が一定の規模を超えると、起きていること全部を見られなくなり、破綻する」(ザッカーバーグ)
  • 風刺グループ「私はFacebookの新しいホームページを自動的に嫌いになる」
  • Facebook社員1400人の平均年齢は31歳

「Software Design」2011年7月号

 第2特集が「LANケーブルを作れますか?」。カラーページも使って、実際にLANケーブルを作るところを実演している。取り回しをきれいにするため、という理由もあるんだけど、特集全体としては、LANケーブルの仕組みについて理解するというのが意図みたい。「小悪魔女子大生のサーバーエンジニア日記」のaicoさんのイラストを交じえた解説もあり。

 この号ではほかにも、「はんだづけカフェなう」がArduinoによるガイガーカウンター作成とか(開発には放射線源が必要なのね)、連載「自作インフラのススメ」とか、自作系の記事が並んでる印象。

 「小悪魔女子大生のサーバーエンジニア日記」といえば、湯本堅隆(gothedistance)氏&aicoさんによる新連載「教えてゴザ先輩」もスタート。新連載ではほかに、mixiのインフラまわりの特殊な部分を解説する「システム基盤構築記」も始まって、今回はmixiボイスの「あけおめアクセス」対策。

 連載インタビュー「Software Designer」はWikiを作ったWard Cuninghamで、Wikiとアジャイルについて。特集1は、エンジニアのためのMac OS X入門で、清水亮氏・和田裕介氏・小飼弾氏などによるコラムあり。Ubuntu連載はVirtualBoxの仮想マシンを常用環境化する話。Emacs連載はSKK。勉強会&イベント探訪記はTech LION、OSC2011 Kansai@Kobe、セキュリティキャンプ・キャラバン、OSC2011 Oita、組込みこぞう勉強会。

「Q.E.D.」39巻、「C.M.B.」17巻

 待ってました。毎度おなじみミステリーコミック、今回も2冊同時発売。今回も堪能させていただきました。

 しかし、短編連作ミステリーって容疑者をキャラクタ付けして描きわけないといけないから大変だなぁ。

 以下、ネタバレは含まないようにしてるつもりだけど、念のためご注意を。

 「Q.E.D.」は、「ああばんひるず6号室事件」と「グランドツアー」の2編。「ああばんひるず6号室事件」は、水原さんが事件のあったボロアパートの管理人さんになる話。そうか、アレとアレが結びつくのか、と。

 「グランドツアー」はサイエンスもの。ボイジャーがなぜあのときに打ち上げられたかの話(実話)と、その通信モジュールの開発チームの苦労とそこで起きた事件(フィクション)がからんで、ストーリーが3重になっているようなのが面白い。

 「C.M.B」は「プリニウスの博物誌」「隠れ里」「モザイク」「幻の車」の4編。いずれのエピソードも、展開がひとひねりふたひねりと。

 「プリニウスの博物誌」は、冷戦時代のベルリンの壁で何が起こったのかを探る話。登場人物の出し方が印象的。博物ネタは、題名どおり、プリニウスの「博物誌」。

 「隠れ里」は、たわいもないといえばそうなんだけど、伏線の出し方にやられた。C.M.B.のクラスメートシリーズって、解決するあたりになって事件がわかるような作りになっていることが多くて面白いと思う。博物ネタは、隠れ里伝説と七草がゆ。

 「モザイク」は、建築家の建てた家の謎。Q.E.D.のアレと一種通じるものがある。博物ネタは、古代のモザイク模様。

 「幻の車」は、幻の自動車の来歴と、昭和の家族の愛憎の話。博物ネタは、戦前の自動車の筑波号(ローランド号)。

親指でShiftキー

 キーボードでは日本語配列(JIS配列、ロジカルペアリング配列)を愛用しています。Macでは、かなキーと英数キーでの日本語入力切りかえが便利。Linuxでは、変換キーと無変換キーをShiftキーにしています。

$ cat ~/.Xmodmap
keysym Muhenkan = Shift_L
keysym Henkan_Mode = Shift_R
clear shift
add shift = Shift_L Shift_R

「日経Linux」2011年7月号

 先月ちょうど話題になった「jslinux」の紹介文を、レポートコーナーで1ページだけ書きました。まあ概要です。

 自分の記事はさておき、レポートコーナーでは、Fedora 15の速報紹介があって参考になる。

 特集1は恒例の中古PCをLinuxで復活させる記事。書いてる人ごとにソフトウェア構成とかハードウェアのチェックとかブート方法とか観点が違うところが面白い。

 特別企画として、Amazon EC2のリモートデスクトップ利用記事と、Zeroconf(Avahi、Bonjour)の解説記事。短期連載のデジカメ写真の記事と、ディスク暗号化の話が最終回。Windowsからの移行の連載とフリーソフトコーナーの両方でEvolutionが取り上げられていた。

 Matzさん連載は、イベントドリブンの非同期処理の説明で、「Rubyより説明しやすい」ということでnode.jsを使っていた。カーネル新機能連載ではIP setを解説している。

UshahidiのPatrick Meierさんの講演を聞いた

 ちょっと時間がたってしまいましたが、5月31日にイベント「LinuxCon Japan」の前日イベントとして開催された「The Powerof Collaboration in Crisis」に行ってきました。中でも、sinsai.infoでも使われた非常時情報共有システム「Usahidi」のPatrick Meierさんが来日して講演するというのが目玉で、実際にUsahidiの辿ってきた道についてとても興味深い話を聞かせてくれました。

 以下、メモです。

RIMG0071
  • 地図を使うことによってボランティアの活動の活性化をはかる
  • 1994年 ルワンダの悲劇
    • 800,000人が虐殺
    • ラジオによる憎しみの発信
      • 数少ない情報ツール
      • コントロールすればすべてを握れてしまう
  • 世界はどうだったか
    • 無視
    • ダレル将軍が国連に介入を依頼しても認められなかった
    • 命令を無視して3万人を救った
  • ダレル将軍がTwitterを使っていたら?
  • 2007年 ケニア
    • 選挙後
    • 500,000人が殺された
    • 情報共有ができた
    • 相互接続
      • twitter、facebook、linkedin
    • エコシステム
  • ケニアの人が、状況を伝える地図を立ち上げた
    • Ushahidi
    • 政府の頭ごしに情報を伝える
    • SNSを活用
    • 人権違反があればそれを伝える
    • 「Ushahidi」 = 証人
RIMG0078
  • Ushahidiをいろいろなプラットフォームとつなげる
    • Facebook
    • iPhone、Android、Brackberry
  • 2010年 ハイチ地震
    • 発生後数時間でUshahidiのリーダーに連絡
    • すぐに反応
    • 「とにかくなにか手をうちたい」
    • 10日後、FEMAから「不可欠なものである」と評価
  • 雪のボストンの部屋で、12名ぐらいで作り上げた
    • ラジオもtwitterもFlickrも
    • 1週間で100名
    • やがて世界中から数百名
    • OSM
RIMG0085
RIMG0082
  • こんな地図が、ルワンダで使われていたらどうなっただろうか
  • 海兵隊「この地図で救助ができた」
  • シリコンバレー発ではない
  • アフリカ発
  • OSM
    • ハイチ島のいい地図はなかった
    • ドイツ人と日本人(ikiyaさん)
  • ロブ・マンロー氏
    • ハイチの人たちはPCやスマートフォンを持っているわけではない
    • FrontlineSMS(SMSゲートウェイ)につなげる
      • Mission 4636
      • ハイチの人はこの番号を使って情報を伝えられる
  • クレオール語を英語に翻訳
    • 10冊の本に相当する情報量
    • Ushahidiにアップロード
  • 使われた頻度の高い単語
    • help
    • please
  • 点の奥にはそれぞれ人がいる
RIMG0091
  • プロプライエタリーなソフトではできなかった
  • 2011年 日本
    • 大被害
    • その中にも希望があった
    • sinsai.info
    • 訓練された者でも、給与を得た者でもなかった
    • ボランティア
    • すごい速度で地図を使った
  • UNもツイッターで「ソーシャルメディアが不可欠」と認めた
    • Libya Crisis Map(OCHA)
    • 国連からの依頼
    • 国連局長「食料支援で役に立った」
RIMG0095
  • standb volunteer task force
    • このグループに1本メールを送ると、マッピングが始まった
    • 世界中に散らばっている
    • Skype
  • マップは危機にあたって世界を変えてきた
  • Activist(政治活動家)
    • Facebook、Twitter、Youtubeを使う
    • 同じようにマップを使う
    • シリア、スーダン、エジプト
    • Google Earthのスクリーンショットを使って逃げ道を指示
      • 静的
      • 動的にやるには
      • foursquareのチェックインを使う
  • Wikipediaには関心をもつ人が書き込む
  • Ushahidiも同じ
    • Ushahidiでハンバーガーショップ情報(BurgerMap)を作ってる人もw
RIMG0103
  • 技術にはもちろんわくわくする
    • ただ、それは10%
    • 実現する90%は人と人のコラボレーション
    • 地域とのつながり
    • いちばん重要な要素は人間

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly