吟遊プログラマー

新刊邦訳&原著紹介、IT×読書の実験など

2023-05-11発売の翻訳書籍

人類の知らない言葉

訳書

原著

原著ratings

|Amazon| 4.3 | |GoodReads| 3.95 |

読者の声

good

  • 面白い設定と魅力的なストーリー
  • 翻訳と異文化交流に関する興味深い解説
  • 現実味のある近未来の世界構築
  • ジッピーで皮肉屋でサブジャンルの混合
  • 楽しくて速いペースで読める

bad

  • 書きすぎでややこしい部分がある
  • 登場人物が多すぎる
  • 期待外れの終わり
  • ロックされた部屋の謎が複雑すぎる
  • ハードSFを好む読者には物足りないかもしれない

keywords

  • Logis ★★
    テレパシーで通信するエイリアン
  • Smart glasses ★★★
    インターネットに接続し、ビデオを録画できる眼鏡
  • Truthfulness rating ★★★★
    ニュース記事やソーシャルメディア投稿にAIが割り当てる評価
  • Urban Fantasy ★★
    都市を舞台にしたファンタジーで、しばしば超自然的要素が含まれる
  • Bibliophile sub-genre ★★★
    本、本の収集、本に関連するテーマに焦点を当てた小説のサブジャンル

関連書籍

  • A Memory Called Empire (著者: Arkady Martine)
  • Machineries of Empire (著者: Yoon Ha Lee)
  • Teixcalaan series (著者: Arkady Martine)
  • Hearts of Oak (著者: Eddie Robson)
  • Parasite (著者: Bong Joon-ho (film director))

Jackler 耳科手術イラストレイテッド

訳書

原著

原著ratings

|Amazon| 4.5 | |GoodReads| 0.0 |

読者の声

good

  • 優れたイラスト
  • 耳科手術のステップバイステップ
  • 物理的に大きな教科書で、写真に最適
  • ウェブサイトでスクラッチオフコードを使ってダウンロード可能なPDFの章

bad

  • 特になし

keywords

  • otologic surgeries ★★★
    耳とその障害に関連する外科手術

2023-05-10発売の翻訳書籍

ヴェーロチカ/六号室 : チェーホフ傑作選

訳書

原著

原著ratings

|Amazon| 4.7 | |GoodReads| 4.31 |

読者の声

good

  • 壮大なタイトルストーリー
  • モダンで魅力的な物語
  • 自然に流れるユーモア

bad

  • チェーホフの人生観が暗いと感じる人もいるかもしれません
  • すべての話がタイトルストーリーほど楽しめるわけではありません

keywords

  • Chekhov's Gun ★★★
    物語の中のすべての要素が必要であり、関係のない要素は削除すべきであるとする劇的原則。
  • Apothegm ★★★★
    簡潔な格言や教訓で、一般的な真実やアドバイスを含むことが多い。

関連書籍

BOSSY

訳書

原著
Bossy

Bossy

Amazon

原著ratings

|Amazon| 4.6 | |GoodReads| 4.21 |

読者の声

good

  • ストーリーのペースが良い
  • 本物のような成熟した関係の成長
  • 低アンスト、高熱の現代ロマンス
  • 主人公同士のユーモアと相性
  • よく書かれたスパイシーなシーン

bad

  • 緊張感とプロットの欠如
  • ビジネスを立ち上げるための現実的でないタイムライン
  • 退屈だと感じる読者もいる

keywords

  • MM Contemporary Romance ★★
    現代の設定で男性同士の関係に焦点を当てたロマンスのサブジャンル
  • HEA
    ハッピーエンドを意味するロマンス小説で一般的な用語
  • 2POV ★★★
    2つの異なる視点から物語が語られるライティングスタイル
  • 1st person
    'I'や'we'を使ってキャラクターの視点から物語が語られるナラティブモード

関連書籍

  • Franklin University series (著者: N.R. Walker)
  • Red Dirt series (著者: N.R. Walker)
  • Kite (著者: N.R. Walker)
  • Davo (著者: N.R. Walker)
  • Code books (著者: N.R. Walker)

デミーンの自殺者たち : 独ソ戦末期にドイツ北部の町で起きた悲劇

訳書

原著

原著ratings

|Amazon| 4.4 | |GoodReads| 0.0 |

読者の声

good

  • 悲劇的な歴史的事件に取り組む

bad

  • 本を正当化する十分な文書がない
  • ページを埋めるための繰り返しの内容
  • 学術的な深みを与えるための専門用語と引用の使用

keywords

  • Armée Rouge ★★
    ソビエト連邦の軍隊である赤軍のフランス語
  • patine universitaire ★★★★
    学術的な信憑性の表面的な外観を指すフランス語の「学術的なパティーナ」

2023-05-09発売の翻訳書籍

ゆがめられた世界 ミラー、ミラー 上

訳書

原著

原著ratings

|Amazon| 4.8 | |GoodReads| 3.79 |

読者の声

good

  • 新しいエキサイティングな展開がオリジナルの物語に加わっている
  • 白雪姫と魔女の視点が交互に描かれている
  • 魔女と魔法の鏡のバックストーリーがある
  • 白雪姫が強く独立したキャラクターとして描かれている
  • 上手に書かれていて流暢

bad

  • 時々プロットがだらだらとしている
  • キャラクターにもっと深みがあってもよかった

keywords

  • Twisted Tales series ★★
    ディズニーの古典的な物語をひねった形で再構築した一連の本
  • YA-spectrum ★★★
    12歳から18歳を対象とした若者向けの文学
  • retelling ★★
    物語の新しいバージョンで、プロットやキャラクターが少し変更されている

関連書籍

  • Part of Your World (著者: Liz Braswell)

因果推論入門〜ミックステープ:基礎から現代的アプローチまで

訳書

原著

原著ratings

|Amazon| 4.6 | |GoodReads| 4.35 |

読者の声

good

  • 経済計量学と因果推論技術の包括的な概要
  • 直感的な説明と実用的な例
  • RとStataのコードが含まれているため、簡単に適用できる
  • アクセスしやすく楽しめる執筆スタイル
  • 現代のツールと分野の最新の動向をカバー

bad

  • 重要な説明や中間のステップを省略することがある
  • アクセスしやすさと厳密さの間で苦労している
  • 初心者や上級者には適していないかもしれない
  • いくつかの章は他の章よりも強力
  • 数学の誤りやタイプミスが多い

keywords

  • DAGs ★★★
    因果関係をグラフィカルに表現したものである有向非巡回グラフ
  • RD ★★★★
    処置割り当てにおける不連続性を利用した因果推論方法である回帰不連続
  • Diff-in-Diff ★★★
    時間をかけて処置群と対照群の結果の変化を比較する因果推論方法である差分法
  • Instrumental Variables ★★★★
    観測されない交絡や内生性がある場合に因果効果を推定するために使用される方法
  • Causal Inference ★★★
    変数間の因果関係を決定する方法

関連書籍

  • Introductory Econometrics: A Modern Approach (著者: Jeffrey M. Wooldridge)
  • Mastering 'Metrics: The Path from Cause to Effect (著者: Joshua D. Angrist and Jörn-Steffen Pischke)
  • Mostly Harmless Econometrics: An Empiricist's Companion (著者: Joshua D. Angrist and Jörn-Steffen Pischke)
  • Imbens and Rubin (著者: Guido W. Imbens and Donald B. Rubin)

二人の小さな野蛮人

訳書

原著

原著ratings

|Amazon| 4.5 | |GoodReads| 4.37 |

読者の声

good

  • 面白い物語とキャラクター
  • 自然に関する実用的なスキルや知識を教える
  • 想像力とアウトドアへの愛を育む
  • 著者による美しいイラスト
  • 子供と大人の両方が楽しめる

bad

  • 古くてポリティカル・コレクトでない言語や言及がある
  • すべての現代の読者には魅力的でないかもしれない
  • いくつかの文化的に不適切な発言
  • N-ワードが1回使われている

keywords

  • Teepee ★★
    アメリカ先住民が使う、動物の皮やキャンバスで作られた円錐形のテント
  • Wigwam ★★★
    アメリカ先住民が使う、樹皮や皮、マットで作られたドーム型の小屋やテント
  • Taxidermy ★★★★
    動物の皮を使って作られた展示用の剥製の技術
  • Tanning ★★★
    動物の皮を使って革を作る工程
  • Tom Tom ★★
    アメリカ先住民が使う簡単なドラム

関連書籍

  • The Boy Scout Handbook (著者: Ernest Thompson Seton)
  • Cache Lake Country (著者: John Rowlands)
  • Wild Animals I Have Known (著者: Ernest Thompson Seton)

2023-05-08発売の翻訳書籍

計算理論の基礎 [原著第3版] 2.計算可能性の理論

訳書

原著

原著ratings

|Amazon| 4.6 | |GoodReads| 4.23 |

読者の声

good

  • 明確な文章と明快な説明
  • 証明に入る前に「証明アイデア」を提供
  • 役立つ図や例
  • 独学に適している
  • 非常にアクセスしやすく、うまく書かれている
  • 証明のスケッチがある良い構造

bad

  • 文脈依存文法のカバレッジが不足している
  • 非常に徹底していないため、より深い理解のために補足資料が必要
  • 説明や事前知識の仮定にいくつかのギャップがある
  • いくつかのセクションが他のセクションよりも暗号的である
  • 実用的な例や実世界のアプリケーションが欠けている
  • 一部の読者には包括的ではない

keywords

  • Automata ★★
    抽象的な自己推進型の計算デバイスで、所定の操作のシーケンスに従います
  • Context-free languages ★★★
    文脈自由文法によって生成される形式言語の一種
  • Turing machines ★★★★
    ルールの表に従ってテープの上の記号を操作する理論的な計算機
  • Pumping Lemma ★★★★
    言語の正規性を否定するために使用される証明手法
  • Church-Turing Thesis ★★★★★
    アルゴリズムによって計算できる任意の関数がチューリングマシンによって計算できるとする仮説
  • Automata Theory ★★★
    抽象機械とその計算科学への応用の研究
  • Turing-completeness ★★★★
    任意のチューリングマシンをシミュレートできるデータ操作ルールのシステム
  • Computability Theory ★★★★
    計算可能性と計算に必要なリソースの研究
  • Complexity Theory ★★★★
    問題の時間と空間の複雑さを入力と関連付ける研究
  • Finite Automata ★★★
    入力文字列を処理し、その構造に基づいて受け入れるか拒否する計算モデル

関連書籍

  • What Can Be Computed?
  • The Annotated Turing
  • Gödel's Theorem: An Incomplete Guide to Its Use and Abuse
  • Exact Thinking in Demented Times: The Vienna Circle and the Epic Quest for the Foundations of Science
  • Automata, Computability and Complexity: Theory and Applications (著者: Elaine Rich)
  • Introduction to Automata Theory, Languages, and Computation (著者: John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman)

増補バンクシー ビジュアル・アーカイブ

訳書

原著

原著ratings

|Amazon| -1.0 | |GoodReads| 4.01 |

読者の声

good

  • Banksyのストリートアートの象徴的な意味についての簡単な洞察を提供
  • 日付、場所、現在のステータスごとにきちんとカタログ化され、それぞれの解釈が試みられている

bad

  • 網羅的でも偏りのないものではない
  • いくつかのストリートアート作品が消えてしまっている

keywords

  • Geographic profiling ★★★
    犯罪の場所を分析して連続犯罪者を捕まえるために使用される技術
  • Art provocation ★★
    反応を引き出すことを意図したアートや社会的規範に挑戦するアート
  • Exit Through The Gift Shop ★★
    2010年のBanksyに関するドキュメンタリー
  • Girl with the Red Balloon ★★★
    有名なBanksyのアート作品

関連書籍

  • Banksy: The Man Behind the Wall (著者: Will Ellsworth-Jones)

オパールの囚人

訳書

原著

原著ratings

|Amazon| 4.5 | |GoodReads| 3.57 |

読者の声

good

  • 良いミステリーとオカルト要素
  • 興味深く複雑なプロット
  • 機知に富んだエンターテイメント性のある文体
  • カラフルで魅力的なキャラクター

bad

  • 長すぎる説明と言葉遣い
  • 疲れるほどうるさい主人公
  • 繰り返される冗談と慣用句
  • 読者に十分な証拠が提供されていない

keywords

  • Sûreté ★★
    フランスの警察組織
  • Médoc ★★★
    フランスのボルドー地方のワイン産地
  • Aleister Crowley ★★★★
    英国のオカルティスト、儀式魔術師、作家

関連書籍

  • The Four Feathers (著者: A. E. W. Mason)
  • Inspector Henri Bencolin series (著者: John Dickson Carr)

闇が迫るーマクベス殺人事件

訳書

原著

原著ratings

|Amazon| 4.4 | |GoodReads| 3.9 |

読者の声

good

  • 詳細な舞台制作の描写
  • クリスプな対話と筋の通ったストーリー
  • 巧妙な謎と魅力的な探偵
  • マクベスに関する素晴らしい舞台裏話
  • 劇が形になるまでの詳細な説明

bad

  • 殺人と捜査が物語の後半で起こる
  • 一部のキャラクターが深く開発されていない
  • アガサ・クリスティのプロットほど複雑ではない
  • 容疑者が限られた簡単な推理物語
  • 進行が遅く、不満足な終わり

keywords

  • claidheamh-mor ★★★
    スコットランドの剣の一種で、クレイモアとも呼ばれる
  • sonky-polly-lobby ★★★★
    一部のキャラクターが使う俗語で、おそらく学生の俗語を表すもの
  • cosy British mystery ★★
    暴力が軽視されたりユーモラスに扱われたりし、探偵がしばしばアマチュアである犯罪小説のサブジャンル
  • Macbeth
    ウィリアム・シェイクスピアによる悲劇で、魔女から王になる予言を受けたスコットランドの将軍が最終的に破滅する物語
  • Roderick Alleyn ★★
    ロデリック・アレイン警部は、ナイオ・マーシュの探偵小説シリーズの主人公

関連書籍

  • Death at the Dolphin (著者: Ngaio Marsh)
  • Money in the Morgue (著者: Ngaio Marsh and Stella Duffy)
  • Killer Dolphin (著者: Ngaio Marsh)
  • Macbeth (著者: William Shakespeare)

2023-05-02発売の翻訳書籍

ホステージ 人質

訳書

原著
Hostage

Hostage

Amazon

原著ratings

|Amazon| 4.2 | |GoodReads| 3.92 |

読者の声

good

  • 素晴らしい美味しさ、非常に中毒性があり、絶対に賢い、ねじれた、閉鎖的で高い緊張感のある物語
  • 詳細でつながりのあるキャラクター描写
  • 緊張感が徐々に高まる
  • 壊れた結婚と、hyperlexiaに苦しむ才能ある養子縁組された5歳の娘の心に痛む物語
  • アクション満載、心臓が踊るような、爪を噛むような、心をひねるような演出
  • たくさんのひねりと、予想外のパンチ
  • 美味しくて、驚くべき結末

bad

  • その結末は良くなかった

keywords

  • hyperlexia ★★★
    子供の読書能力が年齢よりもはるかに優れているが、言語を理解し使用するのが難しいという症候群
  • inaugural flight ★★
    新しい航空路線や新しい航空機タイプの最初のフライト
  • epipen ★★
    重度のアレルギー反応を治療するためにエピネフリンを注射する医療機器

関連書籍

  • I Let You Go (著者: Clare Mackintosh)
  • Falling (著者: T.J. Newman)
  • Little Black Kitten (著者: Ruth Kirk)
  • My Velvet Elvis Memoir (著者: Ruth Kirk)

きみがいるから たのしい

訳書

原著

原著ratings

|Amazon| 4.8 | |GoodReads| 4.26 |

読者の声

good

  • 心温まる友情についての物語
  • 素晴らしいイラスト
  • キャッチーな韻律
  • 愛する人と過ごす時間に対する前向きな見方
  • 幅広い年齢層に魅力的

bad

  • 一緒に過ごす時間と離れる時間の利点を示す機会を逃している
  • 他人が自分のアイデンティティを決定する必要性を強調
  • 紛争が簡単に解決されるように感じるかもしれない
  • メッセージが少し混乱しているかもしれない

keywords

  • SEL ★★★
    社会と感情の学習
  • Aristotelian friendship ★★★
    アリストテレスの哲学に基づく友情の概念で、相互の善意、共有された価値観、忠誠心を強調

関連書籍

  • Miša lavljeg srca (著者: Rachel Bright and Jim Field)
  • Frane i Brane (著者: Chris Naylor-Ballesteros)
  • Poplava (著者: Mariajose Gajate Molina (Mariajo Ilustrajo))
  • The Duck Who Didn't Like Water (著者: Steve Small)

人生を豊かにする科学的な考えかた

訳書

原著

原著ratings

|Amazon| 4.2 | |GoodReads| 3.53 |

読者の声

good

  • 基本的なアイデアやヒントをうまく繰り返している
  • 標準的な批判的思考を提供している
  • 効果的で考えを刺激する類推を使っている
  • コンパクトな形で心に豊かな食事を詰め込んでいる
  • 科学者が世界をどのように見ているかを説明し、誰もが学ぶべき教訓を引き出している

bad

  • 興味深い科学や発見の物語が欠けている
  • 熟読者にとって新しい素材があまりない
  • 著者の議論に矛盾や不整合がある
  • The World According to Physicsほどアプローチしやすい科学を提供していない
  • 科学の単純化された見方など、本のいくつかの制限がある

keywords

  • Relativists ★★★
    すべての真実が相対的であり、個々の視点に依存すると信じる人々
  • Reference frame independent ★★★★
    主観的でなく、個々の視点に依存しない世界の理解方法
  • Kant's 'Ding an sich' ★★★★
    カントのそれ自体のものという概念で、現象を通じてしか直接関与できない
  • Superstring theory ★★★★★
    粒子物理学の点状の粒子が一次元のオブジェクトである弦に置き換えられる理論的枠組み

関連書籍

  • The Demon Haunted World: Science as a Candle in the Dark (著者: Carl Sagan)
  • The Case Against Reality (著者: Donald Hoffman)
  • The World According to Physics (著者: Jim Al-Khalili)
  • How to Talk to a Science Denier (著者: Lee McIntyre)
  • Making Sense of Science (著者: Cornelia Dean)

おばあちゃんの にわ

訳書

原著

原著ratings

|Amazon| 4.5 | |GoodReads| 4.42 |

読者の声

good

  • 美しい魅力的なイラスト
  • 少女と彼女のナナとの関係、そして人生のサイクルを扱っている
  • スムーズに流れる韻を踏んだテキスト
  • さまざまな感情や経験を描写
  • 自然やガーデニングとのつながり

bad

  • ナナが年老いて亡くなる過程があまりにも急激
  • 物語が悲しいと感じる読者もいるかもしれない
  • 一部の読者にとっては感情的すぎるかもしれない
  • 喪失と悲しみのテーマのため、すべてのストーリータイムの設定には適していない
  • 死と悲しみの予期しないテーマ

keywords

  • Edelweiss ★★
    書評家や業界関係者がデジタルレビューコピーにアクセスできるオンラインプラットフォーム
  • Candlewick Press
    子供向けの本を出版する独立系出版社
  • Rebirth ★★★
    転生または再生のプロセスで、衰退や喪失の後の更新や成長のたとえとしてよく使われる
  • Bipoc ★★
    黒人、先住民、および有色人種

関連書籍

  • Birdsong (著者: Julie Flett)
  • Hike (著者: Pete Oswald)
  • The Old Truck (著者: Jarrett Pumphrey and Jerome Pumphrey)

初海外ハッカソン!

語り得るものについては、沈黙してはならない。特に初海外ハッカソンなら。(ヴィトゲンシュタイン 自分)

はじめに

ベルリンで行われたハッカソンPhotoHackDay4」に参加し、開発し、発表してきました。

以前からベルリンがスタートアップにとってホットスポットになりつつある、と聞いて興味があったのですが、こちらの堤さんの記事、

d.hatena.ne.jp

を読み、うらやましくなり大いに刺激され、英語コンプレックス撲滅とネットワーキングを兼ねて参加することにしました。

PhotoHackDayは今年4回目になる中規模のハッカソンで、1日半で何か写真に関するプロトタイプアプリを作る、という内容です。CanonAmazonも後援しており、ニューヨークや日本でも開催されているようです。

今回はEyeEmという、インスタグラムのようなアプリを作っている企業が主催者です。ベルリンを拠点としているだけあって地元の若者は皆知っていました。

ドイツも初めてなら、人前で英語で話すのも初めてでしたが、人生最高の経験になりました。どれほど最高かというと、ハッカソンの後にベルリンの中央駅でプロ集団に財布を掏られてすべてのカードを失い、早急に帰国することになったのですが、それが全然気にならないほど最高でした。

作ったもの

http://commentie.net/commentie.net

Commentieという、ちっちゃなツールです。技術的に新しい挑戦は一つもありません。

EyeEmのサイトで公開されている写真のURLを入力すると、その写真に対して寄せられたコメントが重畳表示されます。ユーザはコメントをマウスで動かしたり、吹き出しを付けたりでき、画像としてダウンロードできます。

コメントが無い/少ない写真の場合は、おまけの機能(後述)があります。

※僕はバックエンドエンジニアなのでその辺大目に見てください(言い訳)

以下、時系列で書きます。

当日まで

僕がいつも心配で眠れなくなるのは、自分のアイデアが公知のアイデア/製品ではないか、ということです。誰かがすでに作ったものについてモチベーションが湧く訳がありませんし、開発者へのリスペクトもあります。

しかし案外この感覚がない参加者がいて、チームでアイデア出しをする場合、平気で思いつきの(公知の)アイデアを出してきます。

そういう人に限って、普段から情報収集もしなければ、その場でググることさえしません。こちらが類似を指摘すると水を差すな、みたいな顔をします。パッと類似アプリが思いつくアイデアなど大した価値はないと思うのですが。

今回はphotohackdayということで写真関連なら何でも構いませんでした。

ARや画像認識、新種のエフェクタなど30個ほどアイデアを練りましたが、連日ググった結果、全て公知であり、しかもPhotoHackDay1~3で出尽くしていたアイデアでした。エフェクタについてもphotoshopが最近のリリースでカバーしていました。ここが4回目の不利なところです。

今回は技術力をアピールすることより、英語でのプレゼンが目的だったので、技術的に凡庸なアプリであっても、自分の中で「公知でない」ことさえ確認できればそれでいこうと思いました。

結局、31個目に考えた「SNSに投稿された写真と、それに対するコメントを自動合成して一枚の画像にする」アプリにしました。これなら、

  • フロントエンドでよく遊んでいる自分にとって新たな技術を必要とせず、1日半で完成できる
  • 想定SNS=EyeEmとすることで、EyeEmのAPIを自然に利用できる
  • 時間が余っても、画像処理、コメントの装飾、コメントの自動生成など、付加機能で遊べる
  • それらしい機能のSNSアプリが見つからない(でも絶対あると思う)

という条件も満たしていました。

決戦前夜

主催者により早々にslackが立ち上がり、EyeEm-APIの使い方など質問が飛び交います。

APIの説明は初日の午前に時間が取られているのですが、EyeEm側も質問にどんどん答えて、github上のAPIドキュメントが最新の情報に更新されていきます。

API利用のためには開発者登録をし、ClientIDとClientKeyを取得し、それを使うアプリも登録する必要があります。アプリをEyeEm側が認証するのには時間がかかります。

また、EyeEmのAPIはOAuth2を利用していて、EyeEmアプリに使うサイトはHTTPSで提供する必要があるということでした。サーバ(AWSインスタンス)を立てるのは数秒ですが、SSLを使うためには、ドメインを取り、SSLを購入しなければなりません。ドメインSSLが有効になるにも一定の時間がかかります。

これらを当日やっていたのでは到底実装に間に合いません。戦いはすでに始まっているのです。

アプリ申請、ドメイン取得、廉価SSL取得、httpsサーバセットアップ、すべての処理を前日までに終えて、当日の朝を迎えました。

あとは実装するのみです。

当日朝

目的達成のためには明らかに一人チームがベストだったため、そのつもりで会場へ行きました。
イデア持参の何人かが、開発者としてうちのチームに来ないかとやんわり誘ってきましたが、
「自分のアイデアを実現するために来たのですみません」とやんわり断りました。

こちらはもう、APIを利用するために、サイトのドメインSSLまで取ってしまっているので、いまさら別のアプリに変更はしたくありません。

一人チームにしたかった理由は、自分のアプリのアイデア固執したいからではなく、

  • 確実に自分でプレゼンできる
  • 作業をコントロールできる
  • 作業コストの見積もりが正確にできる
  • 監督脚本主演はある意味最も効率的

からです。以前、当日チームビルドして臨んだ日本のハッカソンで、

  1. イデアと方向性と実装機能を決めるのに時間がかかって実質的に開発工数が短くなる
  2. エンジニアに負担が集中する
  3. 「今はプログラム書かないけど昔やってたできる」という人がいて「できる」と言うから作業を任せたのにいくら待ってもできなかった

という苦い経験をしました。マネジメントする人がいなかっただけで、自分にも責任はあります。

しかし別のハッカソンでは凄腕エンジニア&デザイナーのメンバーに恵まれ、アイデアも一瞬で固まり、全ての作業が予定通り進みました。運の要素、つまりリスクがあるということで、今回それを避けたかったということです。

あと上記(3)の相手がそうでしたが、ハッカソンを仕事より格下の遊びと考えて、

「まあ予定通りできなくても仕方ないね、出来なかった分はモックにすればいいし。ところで昼ご飯なに食べに行く?」

とみたいなことを一日目から言い出す人がいます。何なんだ?と思います。仕事じゃないと思ってなめているんでしょうか。恐らくこの人は仕事でも手を抜いているのではないかと思います。

ハッカソンは所詮は遊びですが、大人の遊びというのは本気で、命がけでやらないと面白くありません。またハッカソンで有用な技能というのは仕事に有用な技能とかなり共通しています。「この人すごいな」と思うエンジニアやデザイナーは普段から刃を研ぎ澄ましています。油断すると一瞬で打ちのめされます

そういう意味で、ハッカソンは仕事と同じ真剣勝負だと思います。全力で臨まないと後悔しか得られません。

最初から熱くなりました。

アジア人は自分以外に3人いました。後になってわかったことですが、中華系マレーシア人(ハンくん)、中華系インドネシア人(エリサ)、謎の中国人という3人で、結局日本人は自分だったようです。

ピッチとチームビルドタイム

ピッチ&チームビルドの時間になりました。

いくら何でも「完全秘密裏に一人で開発するから発表のときだけ混ぜてくれ」というのはハッカソンの礼儀に反します。
ピッチをしても良かったのですが、やたらピッチに立つ人が多かったのと、万一誰かきて予定を狂わされたくなかったので、
ピッチタイムの間に自分のアプリ企画資料を書き、それをslackのチームビルド板にアップして、「来るもの拒まず」とだけ通知しておきました。

もちろん主催者にも伝えて了解してもらいました。

開発タイム

開発は、

  • EyeEmアプリのOAuth認証が途中でエラーになる
  • EyeEm上の写真を、自サイトのcanvasに画像URL経由でコピーするとクロスドメイン制約でデータを加工できない

という想定外の問題が想定通り発生しましたが、EyeEm技術者に相談したり、
アプリのアーキテクチャをサーバサイド中心に変更したりして、落ち着いて対応できました。

夜になりちょっと寂しい気持ちになっていた頃、二人の来客(ふらっと机に来るだけ)がありました。

ハンくん

数少ないアジア系の参加者で、マレーシアのペナン島からライプチヒに留学中の大学生。制作中のサイトに動きを入れたいのでjqueryでのやり方を教えてほしい、と突然聞きに来ました。

彼がどうして自分ならそれを解決できると思ったのか未だに不思議です。問題はshow()だけで解決したのですが、コピペばかりのGoogleMapのコードも動かないと嘆いていたので一緒に直しました。

フランシー

開発が山場に差し掛かるころ「あなたのアプリ資料を読んだわ。ちょっと話したいけど良い?」という声が降ってきました。誰も見てくれるな、と思ってこっそり資料を置いたのに、もっと手抜きして書くんだったと一瞬後悔しました。

でも後になって考えると、彼女への説明は良い仮想ピッチになったような気もします。彼女は企画意図をすぐ理解しただけでなく、

「背景色によってコメントが見えづらくなる」という問題に対しては、
「コメントテキストに反対色の縁取りを付ける」「コメントを枠線つき吹き出しにいれる」という解決策を、

「写真投稿からコメントが付く時間を十分空けてから、コメントのレイアウトを調整するユーザ負担がある」という潜在的問題に対しては、 「写真投稿時にユーザがコメントエリア(吹き出し等)を事前に設定しておき、後にコメントがされると自動的に配置されていく」

という解決策を提案してくれました。

各機能の実装優先順位が難しいところですが、とりあえずフロントで遊びたかったので、
吹き出しを付けたり外したりできるようにしました。

f:id:hitokun-s:20151212224029p:plain f:id:hitokun-s:20151212224053p:plain

さらに、写真投稿者とコメント者の親密度に比例してコメントサイズを変える機能についても、 僕の構想ではユーザの相互コメント量から親密度を計算してサイズに反映、としていたのですが、
SNSでの「いいね」を加味するというアイデアを出してくれました。

とても頭の回転の速い人でした。

意外だったのは、「写真を文字などで装飾する文化はドイツにはない」とフランシーが言ったことでした。

「でも女性はデコレーション好きだから、プレゼンが良ければ審査員に訴求すると思うわ」と言ってくれて、これは発表時に背中を押してくれました。

フランシーのチームは、開発プランがまとまらない上に、唯一の開発者であるフランシーに負担が集中し、さらに他のチームメンバーは早々に帰宅してしまったらしく、若干投げやりになって気晴らしに話をしにきたらしいです。

彼女のチームは結局、翌日プレゼンできないという悲しい結果に終わりました。

このように崩壊するチームが出るのはどこのハッカソンも同じです。翌日助言のお礼を言いたかったのに、フランシーを見つけられませんでした。

プレゼン当日朝

翌朝会場に向かうUバーンに揺られながら、プレゼンのシミュレーションが頭の中で終わりました。

今回のPhotoHackDayで良いと感じたことの一つに、「プレゼンはデモのみ」ルールがありました。

パワーポイント的な説明資料なんて見たくないからとにかく持ち時間フルに使ってデモをしてほしい、というアナウンスが実に気持ち良かったです。

ただし審査員に向けての簡単な説明資料はプレゼン前に提出しなければならず、Slackで提出デッドライン時刻を質問したのですが、

「12時半までOKだよ。でも忘れないで、資料作りよりハックが大事だよ

とコメントされ、うんその通りだね、と頷いてしまいました。

実装まで到達できず資料で構想を紹介してお茶を濁すようなプレゼンや、非エンジニアが登壇して美しくデザインされた資料で熱弁を振るうプレゼンをたまに見かけますが、やはりハッカソンは動くものを作るところであってほしいです。構想だけなら誰でも考えられます。アイデアソンやプレゼン大会に来たわけではありません。

かといって、疲れ切ったフランシーやかつての自分のように、過度の負担がエンジニアに集中するのも正しい姿ではなく、難しいところです。

ちなみに他に今回良かったことは、

  • 参加無料
  • Slack上でのスムーズなコミュニケーション
  • 食事が非常に豪華で美味しい
  • 主催者スタッフがフレンドリー

などです。

プレゼンタイム開始後

自分の発表の番が来るまでが、最後の追い込みです。

理想的にはPCを閉じて、観客席で足を組んでコーヒーでも飲みながら、他者の発表を拝聴するべきなのでしょう。

でもそんなお行儀の良いエンジニアがいるでしょうか? もっと改善できたのに自分は全力を尽くさなかった、と毎夜枕を濡らしたいエンジニアがいるでしょうか?

ステージに上ってマイクを握るまで、戦いはまだ終わっていないのです。

+αの機能やデザインの手直しなど、優先順位で後回しにしていた開発項目を時間の限り消化していきます。  

今回やったことは3つ。

(1)タイトルの文字サイズの変更

観客が気に行ったチーム/アプリの名前を紙に書いて投票する形式でした。
名前がわからないと投票しようがないので、アプリ名「Commentie」を大きく表示しました。

(2)「秘密のボタン」を隠す(デフォルト非表示にする)

今回、プレゼンの秘策として「秘密のボタン」をつけました。 写真にあったコメントを自動生成する、というものです。

しかし時間がなかったために、プレゼンタイム開始時点では「秘密のボタン」は最初から表示されていました。 最初のノーマルな機能の説明時にも、観客の意識が秘密のボタンに行ってしまい、 「秘密のボタン」が観客に与える効果は半減してしまいます。

そこで、当初、

f:id:hitokun-s:20151212221515p:plain

というように最初から秘密のボタンが出てネタバレ状態になっていたのを、

f:id:hitokun-s:20151212221616p:plain

という動きになるように変更しました。

起承転結というと大げさですが、この場合、

  1. コメント付写真を使ったデモでノーマルな機能をさらっと紹介して、これで終わりです、という雰囲気を作る
  2. コメント無写真という、かわいそうな場合もありますよね、と言って「まだあるんです」と興味を引く
  3. その場合どうなるんでしょうか?といってデモ
  4. コメントが自動生成されたのでもうさみしくありません!
  5. 自動生成機能について説明してEyeEm-APIの活躍をアピール

という展開が理想です。 振り返ると、この変更が今回最大のポイントでした。

(3)自動生成コメントの多様化

上記が終わってまだ時間が余ったので、自動生成コメントを多様化しました。
まあ多様化といっても、Vision APIが返してくれる写真中の事物名称(mountain, flower, humanなど)に、
"Great"、"Amazing"、"Excellent"、"Nice"、"What a" などをランダムに付け足すだけです。

程なくして「次の発表チームは・・・Commentie、お願いします」というアナウンスが聴こえました。

プレゼン

PhotoHackDayはハッカソン参加者以外の観客がかなり来場していました。小さい子どもを連れた家族もいます。もしかすると参加者や主催者の家族なのかもしれませんが、いずれにせよ日曜の午後というプライベートの時間を割いて、自分の発表を見に来てくれた人達です。少しでも楽しんで帰ってほしいです。

マイクを握ったとき、一瞬、

「すみません、僕は日本から来た旅行者なので、英語が下手で聞き苦しいかもしれませんが、宜しくお願いします」

と前置きしたい衝動に駆られました。しかしこれを言った瞬間に自分は何かに負けて何かを失うことがわかっていたので我慢しました。

一体これまで何度、そのような卑屈な言い訳を繰り返して相手と自分を誤魔化してきたことでしょうか?

英語で苦労しているのはみんな同じです。それによく考えてみると、聴衆であるドイツ人にとっても英語は外国語です。

でも何か言いたかったので「大したことないアプリだからみなさん寝ていいですよ」とだけ言ってプレゼンを始めました。

僕はプレゼン大好きというか熱中するタイプで、結局それは英語でも変わりませんでした。とにかくアイデアをきちんと伝えたいという気持ちが常に緊張を上回ってしまうのです。開発期間は1日半でも1週間考え続けたアイデアです。出来の悪い不細工な我が子への愛情を、恥ずかしがらずに出すだけです。

さて、

「写真のURLをコピーして」「このボタンをクリックすると」というように、説明と操作を同時にこなしていき、

SNSへのコメントが自動で重畳されて、吹き出しもつけれて、あと勿論、画像として保存できるんですよー」

というノーマルな機能の説明まですらすら終わってしまいました。

予想通り観客の反応は静かなもので、これで終わりと思っている人もいそうな感じです。うふふ。

いよいよOne More Thingの時間です。

「しかしコメントがある写真ばかりではありませんよね? 例えば、この人の写真には誰もコメントしてくれる人がいないようです。何てかわいそうなんでしょう」

いわゆる外人特有の、胸に手を当てての「Ah...」が聞こえます。新たな展開に興味を引いたのがわかります。

「ではこの写真でアプリを実行してみましょう。もちろんコメントは現れませんね。。。」

「おや、何かメッセージが出てきました、読んでみましょう」

(観客笑い始める)

「ではこの秘密のボタンを押してみましょう。さて、何が起こるでしょうか?いいですか、押しますよ」

(静寂)

(コメントが自動生成される)

https://twitter.com/imagingmind/status/670972366953029632

(拍手、笑い声、口笛、足を鳴らす音)

「Let's me explain more, please!」(観客を鎮める)

「このコメントは適当なものではなく、EyeEm Vision APIによる事物認識結果を加工したもの、つまり妥当なものなのです!」

(拍手)

受賞者発表タイム

遠くから「Commentie!」と呼ぶ声が2回聴こえました。

1回目は、本当に自分ですか、と聞いて笑われながらカメラ付きドローンをもらい、

2回目は、さっきもらいましたが本当にまた自分ですか、と聞いて笑われながらAWS券をもらいました。

f:id:hitokun-s:20151212221813p:plain

2回目だったと思いますが緊張して出ていくとき転びました。

観客が大きく拍手をしてくれたのを聞いて、一応印象には残っていたようだと安心しました。

ドローンの方はEyeEm-API賞なので、EyeEmのVisionAPIをきちんと使ってあげた事が良かったのでしょう。

実はアイデア段階ではfacebookアプリにしようかなとも思ったのですが、主催者であるEyeEmとしてはAPIを宣伝したいという思惑もあるでしょうし、エンジニアとしては、技術的本質に関わるものでなければ、多少主催者に擦り寄ることには何の抵抗もありません

むしろそれくらいの気遣いはしても良いと思うのです。ご飯が本当に美味しかったですが、世の中本当にタダのものはありません。

twitterやブログ記事でも、EyeEm Vision APIによるコメント自動生成機能がメインに扱われている感があります。

https://www.eyeem.com/blog/2015/12/the-winning-hacks-from-photo-hack-day-4-berlin/www.eyeem.com

このブログ記事を読んで、はじめて自分が2位だったことを知りました。これで来年も参戦しなければならなくなりました。やれやれ。

その後

発表後、謎の中国人やその他多くの人が、日曜のミサでもないのに握手を求めてきました。

そのうちの数人は、「一緒に何かしよう」「仕事の話がしたい」といって声をかけてくれ、その後各々とミーティングや食事をすることになりました。

Zavenはシリコンバレーからヨーロッパに移住した起業家で、その後、起業家プレゼン大会に一緒に行きました。

「去年googleに会社を売りました」みたいな人がいて、なかなかのホットスポットぶりでした。

ヴォイチェクとはその後親しくなり、ちょっとした反省会をしました。

「僕は君の言っていることを100%理解できた。」と言ってくれて、心の中で号泣しました

「特に、『コメントをくれる友達がいないとき』の仕掛けは、ハートウォーミングな演出で観客に届いたと思う」

と言うのを聞いて、最後まであきらめずに開発して本当に良かったと思いました。

ヴォイチェクはデザイナーですが、ハードウェアを含む幅広いプロジェクトに興味があり、EMOTIVを使ったアプリを一緒に作って別のハッカソンに殴り込む約束をしました。

エリサ&アレックスもその後連絡をくれ、エリサがアルバイトしているインドネシア料理店で夕食を食べました。

アレックスはドイツ人ですが、フリーエンジニアとして東京やロンドンでも働いた経験があり、フリーエンジニアが外国やベルリンで仕事を得る上での実体験をいろいろ教えてくれました。ベルリンはスタートアップは確かに多いが、大企業や高給の仕事はやはりロンドンや東京が良い、ということでした。

エリサは東京やベルリンに語学学校の学生ビザで滞在しつつ、フルタイムのグラフィックデザイナー職を探している若者です。

親子ほど年の離れた二人は、数か月前の日本語好きMeetupで知り合い、PhotoHackDayへの参加を決めたそうです。

エリサはジャカルタで暮らしたくはなく、アレックスはベルリンで暮らしたくはなく、僕は東京で暮らしたくはありません。

エリサはベルリンや東京が良いと思っており、アレックスはロンドンや東京が良いと思っており、僕はベルリンが良いと思っています。

もっとよく話す必要がありそうです。手っ取り早いのは一定期間、各地で暮らしてしまう方法です。

振り返って

今回うまくいったのは運が良かった事もありました。

  • ちょうど個人サイトを[手動で超シンプルなStatic Site Generatorに改造したところで、デモサイトをパッと作る準備ができていた
  • 個人サイトで過去の遊びの作品をまとめたので、あの技はここで使ったはず、と思い出してコード再利用できた

また開発者としては、

  • 開発した機能と工数が想定通りだったこと
  • 1日目の夜9時くらいにはホテルに帰って、7時間くらい普通に寝たこと

が良かったと思います。徹夜してフラフラになる達成感も悪くありませんが、全力で臨むというのは寝ないとかレッドブルを積み上げるということではなく、プレゼンを含めて最大のパフォーマンスを発揮できるように調整するということです

しかし何といっても今回の最大の成果は、英語のプレゼンが何とか通じたこと、でした。

「たぶん海外の開発者やハッカソンも日本とそんなに変わらないんだろうな」と想像はしていましたが、この問いにYesで答えられるようになりました。

海外旅行でもスカイダイビングでも何でも同じですが、「どうせ○○だろうから別に経験する必要はない」という分析は、客観的なものなら問題ないですが、憧れや言い訳の成分が混ざっているとコンプレックスに発酵しやすいです。さっさと経験するに限ります。ベン・スティラーの『LIFE!』がちょうどそんな映画でした。

ただしスカイダイビングには当面は挑戦しないと思います。万一命に関わる事故が起きてしまったとき、もっと作りたいものがあったのに、もっと勉強したかったのに、と間違いなく後悔するからです。びびっているだけかもしれませんが。

海外ハッカソンの場合、方法は非常に簡単です。Eventbrite->Skyscanner->HostelWorldの順に数回クリックするだけで、あとはキャンセルさえしなければ、物事は勝手に進んでいきます

遣唐使船が沈む訳でもなく、黒船に密航しないと外国に行けない訳でもなく、数か月分の給料を使わないとジェット機に乗れない訳でもありません。ちょっとした挑戦をするのに、自分自身以外、外的な障害は何もありません。そこは日本人に生まれたことを非常に幸運に思うべきます。

とにかく英語に自信がなく、Startup Weeekend Tokyo(英語版)への参加や、IdeaConnectionやInnocentiveへの応募も躊躇していましたが、今後は多少違った態度で臨めるに違いないと思います。

出会った開発者の一部はドイツ以外から来ていて、非母国語の英語で仕事をしていました。 ヴォイチェクにしてもポーランドから来てベルリンのスタートアップで働いており、社内は英語のみのためドイツ語が全く話せません。 ハンくんの英語も少々怪しいところがありましたが、彼は僕のフロントエンドの知識を吸収しようと必死でした。

名前を忘れるほど多くの人と会話をしましたが、誰一人、僕が相手の英語を理解できなかったときに嫌な顔をしませんでした。

考えてみると、日本がたどたどしい外国人がこちらの日本語を理解できなかったとしても、普通は嫌な顔はしないでしょう。相手の熱意が伝わる限り。

語り得るものについては、沈黙してはならない。開発者なら。何か作ったなら。(ヴィトゲンシュタイン 自分)

自分からは以上です。

1.7€の蜂蜜ミルクの美味しさの秘密について

Betahaus Cafeでサイトを更新していると、横にいた人(フィリップ)が、

MacMySQLをインストールしたのはいいが起動するとエラー終了して、もう2日間先に進めていない」

ということだったので、エラーを一つずつつぶし、ついでにrootパスワードの変更等もしてあげた。
是非にというので一杯ご馳走してもらった。

人と一緒に画面をみながら、叫んだり怒ったり興奮したりしながら、作業する感覚は最後のハッカソン以来だ。

リモート外注として仕事をしてきて感じるのは、 「何かでつまづいたときに、絶対に自分で何とかするしかない」 ということ。別にネガティブな含みは全くない。それで良いと思う。 現実的に日米時差の問題があるので、リアルタイムでのやり取りは難しいということもある。

たいていの問題は自分で解決できるという自覚があるし、そこを信頼してもらっているから仕事があるのだと思う。 完全に解決できなくても、

  • わかったことをまとめて報告
  • 代替策を調べておいて提案する
  • その上で残りの時間は別タスクに割く

という常識的行動をしておけば、たいてい問題は起きない。

仕事としてはそれで良いが「人と一緒に作業する」というのは食事や運動と同じで、 プロセスの共有という見えない利益がある。

昨日はノマドインタビューでお菓子をもらい、今日はサポートで蜂蜜ミルクを飲み・・・明日が楽しみだ。