カンファレンスのオープニング映像が急に欲しくなったら…?Keynoteで作ればいいじゃない!
とりあえずMacやiOSのKeynoteで開いて再生すれば上のYouTube動画と同じアニメーションが再生されるはずです。
昨年あったDroidKaigi 2016で基調講演会場を担当した話を以前書いたのですが、その時に上のオープニング映像をKeynoteで作ったという話をしていて、すっかり上げるのを忘れていました。iOSDCのオープニング動画の方にも参考にしていただけたみたいでよかったです。
最近知人に「結婚式で上映するスライドの参考にしたいのでKeynoteファイル共有してほしい」という話を受け、たしかに作り方をここで細かく説明するより直接ソース見てもらった方が早いな?ってことで、雑ですがそのままのファイルを公開することにしました。
各種イベントのオープニングとか、なんか急に映像が必要になったときとか、ふとKeynote芸がしたいと思ってしまった時の参考にどうぞ!
なおBGMは後載せです。KeynoteはBGM再生したまま次のスライドに進めない!BGM自体は、Premium Beatというロイヤリティーフリー音楽や効果音を買えるサイトで選んだ Hello, Sunshine って曲で、Keynoteから映像をQuickTimeにエクスポートした後、曲の長さに合わせてアニメーション速度を調整してます。その辺自分はPremiere使いましたがiMovieでもなんでもできるはず!
お知らせ
今年も DroidKaigi 2017 があります。みんなで最新の Android 開発の知見を吸おう!あの海外スピーカーも来るよ!
https://droidkaigi.github.io/2017/
なお今年のオープニングは自分みたいな素人ではなく、ちゃんとその道を極めし強の者に制作をお願いしておりますのでお楽しみに!
自分は引き続きスタッフやりつつ、今回はこっそり登壇もします。1日目の最後に自転車とAndroidでイチャイチャする話をします。最近の自転車ってBluetooth喋るんですよ!これが21世紀か…
近況というより雑なメモ
Blog書きたい感じが改めて復活しつつある
そのタイミングでの思考を記録しておいて振り返りたい
書き出したあと忘れ去ってしまう運用
安定して何かに集中できる時間が減っている印象
複数の立場でそれぞれやりたいことを持っているが整理しきれていない
断捨離しつつ枠を確保する運用を始めよう
慣れてないことは進捗を感じづらい
冷静に考えると昨日より今日は色々できるようになっているのだけど
なかなか体感が難しくスッキリしない
最近の技術を触りつつ基礎の復習をしたい
普段なんとなく触ってるものからまったく手がついてない領域まで
仕事とか趣味とかひっくるめて、興味ドリブンな感じで
回復力を高めていきたい
何かと体調を崩したり持久力が下がっている感じが否めないので
運動するためジムに通うの再開したけどもう少しなんとかしたい
もろもろ断捨離して渋谷から渋谷に引っ越した
職場徒歩圏内4年住んでみて割と合ってたので職場移転と同時に引っ越し
意識的にストレスない環境を作っていくぞ
ついにスピーカー買ったら案の定さっさと買っとくべきだったという感想:
GENELEC M030AMなんだけど、これまでやってきたマスタリングもどきが赤裸々に暴かれて辛いし、世の中にリリースされてる楽曲も丸裸な感じですごいっていうかほんとなんかさっさと買うべきだったって気持ちしかないし、昔も今もARC2使ってるけどそれでも全然違うの何なの
— Yuki Fujisaki / tnj (@tnj) July 2, 2016
自分の過去のトラックを開いてはそっ閉じする日々
最近の失敗:
zfs attach のつもりで zfs add して取り返しがつかないやついま
— Yuki Fujisaki / tnj (@tnj) July 18, 2016
いただいた感想:
夏だ。ホラーだ…。https://t.co/xuBiZRHnSj
— きくちゃん (@kikuchan98) July 18, 2016
あと思いつきで数年ぶりにエゴサなんてしてみたら衝撃しかなかった図:
インターネット怖いな!
概要: DroidKaigi 2016の基調講演の機材準備、進行、オープニングビデオ、入場中BGMを担当して大変だったけど得るものは多かった
お久しぶりです tnj です。
昨年に引き続き 2016/02/18 と 19 に東京工業大学であった DroidKaigi 2016 で基調講演をまるっと担当してました。全体感は OECさんのblog とか Togetterまとめ とかで見てもらうとして、 Android 開発者コミュニティによる Android エンジニア向けの参加者 600 人規模の結構大がかりなカンファレンスでした。
てなわけで長めですが、以下自分のやってたことの振り返りを忘れないうちに書いときます。
「基調講演のリハーサル」
DroidKaigi スタッフミーティングも何度目かの2015年のクリスマスイブ、その Issue は突然自分のもとにやってきた。しかし完全に気づかず、状況把握したのが年明け 1/19 ……あと 1 ヶ月じゃん!と最初から不安しかないスタート。
リハーサルという名前に反して、そもそもプログラムがまだなかったのでそこから始めることに。遅れを巻き返すべく1人ブレストして、ざっくりした流れ、必要そうな人とモノ、起きうる問題、その他チェックリストを作り、会場確認の日程調整をして大学側担当者の方に予約を依頼。
この時点で役に立ったのは、941さんのYAPC::Asia Toyko 2010 をやってきた! (準備編)と当日編の記事。なにしろ会場について知見がない(最後に東工大に行ったのは2001年のSuperCon本戦の時)ので、会場となる70周年記念講堂がどんな会場かもわからず。この記事の写真のおかげでだいぶイメージがついた感じ。
1/29 に、何人かのスタッフで会場となる東京工業大学 70周年記念講堂を下見。写真とビデオを撮りまくりつつ機材を確認。必要なモノは大体一通り揃っていて、会場機材だけでも大丈夫そう。足りないものや分からないことも事務の方へ質問して大体クリアになった。いけるのでは?という気持ちになる。(こう思うときはだいたいいけない)
基調講演の進行計画で、当初は司会をプロの方にお願いできるつてがあるという話があったこともあり、最初から最後まで司会がいる前提の流れを考えていた。しかし、諸般の事情からそれが難しいということになった。
代わりを立てることもできたけど、今回基調講演のプログラムとしてやる内容は3つしかないシンプルなものだったので、司会なしで最初の挨拶をする代表の @mhidaka 氏に繋いでもらう形を考えた。 Google I/O の基調講演のイメージ。
そういえば DroidKaigi は I/O の基調講演にいろんな部分で影響を受けていて、 2015 の時は「基調講演が始まる前に会場内で流れている BGM は海外カンファレンスみたいなテクノ?な感じがいいなー誰か DJ のお知り合いいませんか」という流れで、じゃーやりますよって形で DJ を務めることになったりした。
会場も大きいし、司会もないし、より I/O に近いイメージになるなーと改めて考えながら、あれ、 I/O といえば、アレが欲しいぞと思い始める。
満席の参加者でざわつく基調講演開演前。フッと会場の照明が落ちて、真っ暗な中オープニングビデオが流れ出す!ビデオが終わり、ステージに照明が当たりスピーカーが登場。 Good morning!
おお、いいじゃん!やりたい!と勝手に妄想を膨らます。
その後のスタッフミーティングで話してみたところ、それなりにウケはよかったので実際考えてみようということに。
でもそのためにはビデオの用意をしないといけない。ひとまず、身近な某ビデオ制作系クラウドソーシングの偉い人に相談してみたところ、「やフツー納期45日とかが平均やし2週間とかマジ特急もいいところやでJK」と社会常識を教わる。そうね、そうだよね…あんまり予算も割けないし、どうやら外に投げるのは難しそうということが分かった。
やっぱ無理かーと、諦め半ばIPA未踏スーパークリエータであるところの @kyoro353 ならなんとかしてくれるはず!スーパークリエータだし!と相談してみたところ、おもむろにMacBook Proを開き以前見せてもらったことがある動画を開いて見せ、「これ、 Keynote でできるやで」と言ってきた。マジか。 Keynote 最高か。なんかできそうな気がしてきたぞ。やるか。
というわけでビデオを作るというタスクが発生。自分で自分の仕事を増やす攻めの姿勢。それでもやりたくなっちゃったんだから仕方ない。
ビデオはなんとなく作れるんじゃないかという気持ちになりつつ、他の諸々の用意を考える。
入場中の BGM は今回自分は DJ できないので先に録る、画面に出しとく案内を考える、当日の映像や照明の切り替えを一覧できる進行表を作っておく、進行時に登壇者を紹介するスライドを用意しておく、会場の諸注意の台本用意する、などなどを issue 切ったりしつつ 10 日前あたりから準備。基調講演のタイムキーパーも要るなーと @tarotaro4 さんにお願いしたりもした。
ビデオの素材としてスタッフの画がどうせ欲しくなる気がしていたので、開催 5 日前にあったノベルティを袋詰めしたりネックストラップを準備する作業の会場に三脚とカメラを構えて登場。
ついでに PCDJ コントローラも持ち込み、作業用 BGM を提供すると見せかけて入場中 BGM 用 Mix を録ったりした。お邪魔しました。
ついに開催前日。音量や出力の確認のためビデオも一旦完成させたり、作り切れてなかった進行表を作ったりして、結局1時間半しか寝てなかった。夏休みの宿題か。
朝10時から講堂を借りてリハの予定だったが、鍵の受け取りの依頼を忘れており慌てて電話連絡して対応いただくことに。
講堂に到着して設備の電源を入れ、改めて機材を接続したところ早速問題発生。登壇者用に使う予定だった VGA 入力に Mac からの映像が出力されない。前回 Windows PC で問題なく出力され、念のために持ち込んでいた短めの VGA ケーブルだと Mac でも映るので、会場に用意されている 10m の VGA ケーブルに Mac の出力が不足している模様。
いろんな要素を考えた結果、接続を全部 HDMI に統一して、ケーブルと延長器と切換器と変換コネクタを持ち込み DVI 入力に突っ込むという運用に変更。確認したところ基調講演会場の登壇者が全員 HDMI 出力のある Mac/PC を使っていたし、むしろ画質面でも好都合だった。
ケーブル問題以外はおおむね順調に進んだ。借りたワイヤレスマイクやPCの音量も調整し、ミキサーのフェーダーの位置をカメラで撮影してメモっておく。ワイヤレスマイクレシーバの音量は最初からマーキングされていたのだけど、その位置で使うとミキサーへの入力時点でピーク叩いてしまって音が割れちゃう感じだった。謎。あとは画面にオープニングビデオを流しながら、あーここ背景色明るすぎて白文字読めないな、とか見た目の確認をした。
そんなこんなで、流れも確認して、必要な物品も購入して、残りは当日を待つのみ!今日は早く寝るぞ!あ、ビデオ修正しないと…となんだかんだ1時ぐらいに就寝。
当日は朝8時に集合!というわけで6:30から起き出して諸々準備。慣れない乗り換えに若干迷いつつ会場には7:50頃到着。早めに入った人たちが居て、もう会場の電源や暖房は入ってる状態でスムーズに準備が始められた。
(HDMI 5m + 延長器 + 1m) → (HDMI切換器 + HDMI/DVI変換コネクタ) → (DVI 2m) というちょっと不安な接続だったものの、特に延長器の電源が必要になることなく無事接続できた。
リハ通りに諸々のセッティングを行い、登壇者とのブリーフィングを済ませ、開場30分前にあらためて PC の接続と流れを確認。緊張感が出てくる。
やんごとなき事情で、サポートをお願いしていた @tarotaro4 さんが来れなくなってしまったものの、なんとか一人でも操作できる見込みがたったのでそのまま進行することに。
そして開場。BGMを流す。スクリーンには @pside さん謹製の案内スライド兼ビジュアライザーが映る。徐々に人が入ってきて着席していく。登壇者控え室では発表前の @wasabeef_jp さんと @mhidaka さんが資料の最終チェックをしている。
途中、基調講演会場内の飲食禁止と、Wi-Fiがない旨の説明が必要となり、 @mhidaka さんにそれぞれ開始前と最初の挨拶内の案内をお願いした。
9:45頃、開始5分前なのに席が埋まりきっていない。どうやら電車遅延があり入場が押してしまったようで、まだ受付に列がある状態らしい。10時スタートにしましょうと連絡があり、全体を10分後ろ倒しに。BGMの長さが足りないため仕方なく2週目突入。
そして10時。 BGM をフェードアウトさせ、会場の照明を全部落とす。オープニングの再生開始。ひとつひとつ進行表に書いておいた通りにやっていく。登壇しているわけではないけど、どの操作も全員に影響するのですごく緊張する。映像を見ている人はどんな反応をしているのか見たいけど、ここからは見えない。
映像が終わったら、壇上だけ照明を上げる。 @mhidaka さん登場。拍手喝采。登壇者名表示が終わった段階で、登壇者PCへ入力を切り換える。
挨拶を終えると引き続き @wasabeef_jp さんの登場。画面を切り替えて登壇者名を出し、終わったら再び登壇者PCへ入力を戻す。
そんな流れで無事、基調講演が始まった。舞台の裏にいると、袖まで近づかないと発表内容が聞こえてこないので残念ながら内容はほとんど見れなかった。
基調講演が終わり、最後の仕事は会場諸注意の案内。壇上に出て、ネックストラップは着用してね、ランチはここで配られるよ、会場出てセッション会場への移動は外に誘導スタッフがいるよ、といった案内をする。 Keynote Remote で操作して切り換えてたら途中でが接続が切れてしまって困った。舞台袖で @mhidaka さんが手動で切り換えてくれてなんとか事なきを得た。
基調講演全プログラムが終了し、 DroidKaigi 2016 が始まった。
翌日必要なものを残し会場を一通り片付け、撤収。うおー、やり遂げたぞ。思いのほか緊張したぞ。 Twitter でエゴサしてみると、 BGM もオープニングも概ね好評だった模様。よかった!
Love the visualization in the #DroidKaigi intro pic.twitter.com/0hiHI55X1W
— Chiu-Ki Chan (@chiuki) February 18, 2016
会場のBGMでひたすらテンションが上がっている #droidkaigi
— クソメガネくん@どくぴー (@e10dokup) February 18, 2016
オープニングかっこいいぞw #DroidKaigi
— furusin (@furusin_oriver) February 18, 2016
その後は写真撮影 & Twitter 係として記録・広報・SPAM通報活動の @keithyokoma 御大のサポートに従事。
DroidKaigi はいいぞ #DroidKaigi
— DroidKaigi(Official) (@DroidKaigi) February 18, 2016
1日目で慣れたのでもう大丈夫だろー、と思いつつ2回目が一番失敗しやすいことをこれまでの人生でよく知っているので、改めて進行表を用意して挑む。
朝も8時前には講堂に着き、今日は @tarotaro4 さんも居たので、照明と基調講演のタイムキーパーをお願いする。 @tarotaro4 さんは、その場で紙に自分のやることを時系列で書き始めて抜け漏れがないようにしてたのですごくできる人。
HDMI切換器の都合上、切り替え時に接続が切れてしまうことが昨日の時点で分かったため、今日は登壇者の荒木さんにもそれを事前にお伝えして実際に試してもらい、できるだけスムーズに表示を開始できるように調整をお願いした。1日でPDCAを回していくスタイル。
今日壇上に上がるのは @mhidaka さん、首藤先生、 @konifar さん、荒木さんの合計 4 人。しかし映像記録で使うピンマイクが 3 台しかなく、最初に挨拶した首藤先生が退場したそばですぐにマイクを受け取り、基調講演の荒木さんに渡しに走るという運用。なんか AD っぽいぞ。
昨日と違い今日はオープニングがないため、最初からステージ上の照明は落とさずに登壇者表示 + 短いBGMで @mhidaka さんに入場してもらう形に。それ以外は昨日と変わらない流れで、大きな問題もなく、全体としてスムーズに進行した気がする。
ちょっと余裕があったので豆知識をツイートしたり、
基調講演開始までの間会場で流れているBGMはぜんぶ曲名に「Android」が入ってます #DroidKaigi #豆知識
— DroidKaigi(Official) (@DroidKaigi) February 19, 2016
ステージ周辺で記録用の写真を撮ったりした。
基調講演終了後は会場撤収し、全部原状回復させたあと撤収。 DroidKaigi における自分のメインの役目はこれにて終了。その後は後でYouTubeにアップロードする予定の講演ビデオの頭につけるタイトル映像を自動生成する仕組みを作ったりしていた。44本、やろうと思えば手動で作れるけど、修正が発生すると詰むんだよね…と思いながら AppleScript に詳しい方いませんかってスタッフ部屋でつぶやいたら、それ Automator でできるよ!って言われてやることが一気に減った。集合知の力すごい。
基調講演の責任者にアサインされ、ディレクターとして活動するのかと思いきや、図らずもDJをやり、オープニングビデオを作り、会場の映像と音声と照明の演出を考えるマルチメディア対応型おじさんとして活動することとなり、すごい大変だったけど割と自分ができることを活かすことができ、また新しい発見が多く楽しかった。
DroidKaigi はボランディアの集まりでできていて、集まる人がエンジニアなので割と方向性が近い人たちの集合なんだけど、それでもそれぞれ得意分野があって、基本やりたいIssueを自ら取っていく+手がついてないものを定期的に棚卸ししてアサインしていく、という運用で自然とそれぞれの得意分野を活かせる比較優位な動き方ができてるのがとてもよいと思う。
前日のレセプションパーティと最後のアフターパーティではいろんな方が集まり、特に海外のエンジニアと話す機会が持てるイベントになったというのはちょっと感慨深い。
これまでに得た知見を共有するための場所だったり、知らないことを知るために行く場所だったり、QiitaやTwitterで見た人が実在することを確認する場所だったり、人によって参加する目的は様々だと思うけど、そういう場が日本国内に限らず世界からも求められている(主に日本に行く口実が欲しい勢から)というのは個人的には新しい発見だった。
@queencodemonkey @DroidKaigi awesome, Next year I will submit a talk!
— Israel Ferrer (@rallat) February 18, 2016
@rallat @queencodemonkey @DroidKaigi Me too!
— Corey Leigh Latislaw (@corey_latislaw) February 18, 2016
まとめとしては、アフターパーティの寿司が最高にうまかったです。
DroidKaigiとにかく
が最高だったしいろんな実績が解除できてよかった
— Yuki Fujisaki / tnj (@tnj) February 19, 2016
オープニングビデオはこんな感じでした。
長くなったので、ビデオの制作やBGMについては別エントリで書くよ!
真っ暗なところだとこんな感じで映ってたのかー
TL;DR Android開発の知見があったらそれを聞きたい人が集まるDroidKaigiで話すとさらにいい知見が集まってすごい
Androidに関するイベントがいろいろある中、なんかビジネスとかマーケティングの話抜きに、純粋にAndroidの技術に関するトピックだけで一日中セッションやってるみたいなの、欲しいんだけどないんだよね……じゃあ、やればいいんじゃね?という人たちが集まってDroidKaigiというイベントを 2015/4/25(土) にやることになりました。
で、ただいま発表を募集しています!
DroidKaigiの発表は、Call for Papersで論文公募みたいな形で受け付けていて、2/25締め切りです。ちなみに現状の発表で集まってるのはGoogleスプレッドシート上で公開されているので、参考まで。
最近だとQiitaみたいな、オンラインで知見を公開する場も増えてとてもよいのですが、一つのトピックに興味がある人が一斉に集まって同じ場を共有することで、これまで別の方法で同じ問題解決をしてた人の知見が得られたり、あるいはこれまで興味がなかった人にも興味を持ってもらえたり、その時その場で生まれるメリットがあります。あんまり発表したこととかないなー、って方もこの機会に是非応募してください!
例えば、開発中についカッとなって作ってしまったライブラリの話とか、新しい人を迎え入れるにあたって作ったルールとか、なんでこんなことになってるのかわからないけどハマったAndroidの闇とか、話してみませんか?
聞きたい人いるのこれ?とか、ちょっと場違いかな?と思っても、とりあえず申し込んでみて大丈夫です。その辺は、審査担当の人たちがちゃんと判断しますので、当日気まずい思いをすることはありません!
なんか外で発表して、面白かったですって話しかけられてる自分とか、想像してみるとよくないですか?
作ったサービスにフォーラムを設置したいんだけど、なんかモダンで良いのないかなー、って探してたら、@jfssoが TechCrunchで良いの見つけたよ!って教えてくれて、見てみたらなんかすごく良さそうだったのでさっそく試してみたよ。
それがMootです。ちなみにまだベータ。
1. Setupに行って、フォーラム名を決めます。アルファベット5文字以上。
2. Facebookログイン or Mootアカウントを作成します
3. 板を作ります。1行1板になります。
4. 最初の投稿!というか定型文が入ってるのでそのままPostしたりします。
5. で、完成。
…で、 http://moot.it/nothing-sample なんてのができてるわけです。1分で。
Mootは、各々のサイトやページに埋め込んで使うのを前提に作られていて、 Embed ってボタンを押すと、スケルトンのHTMLが出てきます。
これをコピペして保存すれば後はやり放題。このコードも実際の所、ほとんどがコメントで、必要なのはCSSのlinkタグとJavascriptのscriptタグ(と、jQueryのscriptタグ)それぞれ1つずつです。あとは、フォーラムを埋め込みたい!と思ったところに、
<a class="moot" href="http://api.moot.it/nothing-sample"></a>
と書くだけで、フォーラムがこんな感じにできます。
[muut-forum]
↑これ、スクリーンショットじゃなくて、ちゃんと動きます。
ちなみにiframeで埋め込んでるわけではなく、aタグがそのままdivタグに置き換わって展開されるので、基本的に見た目は埋め込む場所のフォントサイズや色を継承してくれます。もちろん、CSSで自由に変更もできます。素敵。
Mootは、フォーラム全体だけでなく、板やスレッドを個別に埋め込むこともできます。ここでは、ソースが見えるようにJSFiddleで並べてみます。(ResultのドロップダウンからHTMLを選ぶとソースが確認できます)
ひとつの板を埋め込むと、いわゆるスレッド型掲示板に。
スレッドを指定して埋め込むと、純粋にコメント欄になります。
いろんな形で使うことができます。カスタマイズも含めて、詳しくはドキュメントで。
Mootの素敵な点として、最近のWebサービスでのユーザー体験が無駄なく取り込まれている点があげられます。
他のログインユーザーや新着コメントなどは、WebSocketを通じてリアルタイムに画面に反映されます。自分がコメントを書いてる最中にも、すごい勢いで別の人のコメントが書き込まれていったりします。各ポストにはいいね!を付けることができ、これも当然リアルタイムに反映されます。
その一方、投票機能やファイルのアップロードなど、無駄な機能が一切付いてません。単純にまだ実装されていないだけ、というものもありますが、コメントの編集機能や投票機能など、明確に「実装しない」と切り捨てられているものもあります。おいおい、コメントの編集ぐらいは必要なんじゃないの?と思うじゃないですか。普通。
Mootでは、投稿後2.71(=e)分以内であれば発言をUndoできるようになっていますが、それ以降は(管理者以外)削除も修正もできません。当然のように、それは不便だから今すぐ改修してくれ!と投稿が編集できるべき10の理由なんてトピックが立ったりします。でも、Mootのチームはこれを明確に拒否します。「これはデザインされたMootの提供するUXの一部だ」と。
誰かが馬鹿なことを言って、ヤバイと思って「削除」しても、結局魚拓を取られていて、さらに炎上して……そんなことがインターネット上では腐るほど繰り返されてきた。ネットは本質的にそれができる場所なんだから、すべてが印刷物のように編集不可になるべきなんてことは思わない。でも、発言する人が言ったことに責任をもって、読んだ人は読んだとおりのものを信用できる、そんなフォーラムも必要なんだ——MootのUXを考える上で、具体的に何ができて何ができないべきかについて多くの検討をしてきた。これらの決定が、質の高い議論を生み出す結果に繋がることを期待している、と。
このあたりの熱い想いは、Aboutからも読み取れます。Mootは、「実のある議論をスムースに行うための、ミニマルでシンプルでキビキビ動くサービスとベストプラクティスを、とにかく簡単に使える形で提供する」という点にフォーカスしてデザインされています。既存のフォーラムとかけ離れた部分も多く、それは「自分でホストできないとかありえない!」「機能なさ過ぎて全然使えない!」とTechCrunchのコメント欄が盛り上がりを見せるぐらいには議論の分かれる所ですが、個人的にはMootの方針は好きです。そもそも、自分は何も用意しなくても、ニュートラルな見た目の、テキストに特化したフォーラムを、既存のサイトに簡単に組み込める(ちゃっかりSSL対応)というのは、他に代替手段がありません。
そんな素敵なMootですが、基本的に全部無料で提供されてて、特に制限なく使えちゃうし、広告も出さないし、テキストマイニングしたりマーケティングデータ売ったりもしない、って言っちゃってるので、いったいどうやって収益化するのかなーと興味津々。カスタムロゴの表示、非公開フォーラム、シングルサインオンなど(いずれもまだ実装されていない)を有料サービスとして展開していくようです。
Our focus is not revenue but rather on improving online discussions. By making a useful product the revenue will naturally come. A business focused purely on generating revenue makes poor products.
なんて志の高さはいいのですが、実際どうするんだろ…。なんて思いつつ、かなり素敵なサービスなのでとりあえず紹介エントリを書いてみた次第。チームの人たちもすごくアクティブで、報告した不具合に対するレスポンスが6分で返ってきて2時間後にはリリースされていたり、スタートアップな感じがとても良いです。
多言語対応もまだできていないし(数週間以内に10言語に対応する予定)、万人に手放しでオススメできるサービスではないのですが、Redisをメインのストレージとして使うなど、すごくエッジの効いたことをやってたりするのが面白いのもあって、個人的には今後も応援していきたいプロダクトのひとつです。複数の国にまたがる、オフィスを持たないチームで開発しているのもすごく面白い。(リンク先は、彼らのひとつ前の会社FlowplayerのAboutページ)
まずはトップページを眺めてみるところからどうぞ→ http://moot.it
今日は勘違い系CDJ60th @ MOGRAでした…じゃなくて事前告知しろよ。(すみません)
で、流したものリスト欲しいって言われたのでとりあえず書きます。
ボスからこんなオーダーがあったのでそんな感じの選曲です。
1st から Lincle まで大体使いました。 substream と IIDXRED がお休みです。
123-133bpm でなんというか至って健全なつもりだったんですけど 完全に 殺しに 掛かられた と言われてしまいました。まあ大体計画通りです。恐縮です。
あと、何故か明日アメリカに帰るという Yelp のソフトウェアエンジニアの方からお褒めの言葉を頂戴し、勘違い系 CDJ のグローバル化に驚きを隠せません。
//www.youtube.com/watch?v=cTEPQJddeNs
2 月についうっかり NEX-C3D を 2.6 万で手に入れるという事件があり、そこからさらに先週末発売された E 50mm F1.8 OSS なヤツでついにレンズの沼へ一歩踏み出してしまいました。
な感じのビデオを試し撮り。
やー、これだけ撮れて、合わせて GX200 より安いなんて…
って状況から脱出するというお仕事をしたのでメモ。 DROP TABLE でも、単純に rm してしまったら、でも同じ。今回の状況は次の通り。
# umount -f /dev/sda2
次のマウント時にジャーナルやinodeがクリーンアップされてしまうので、再起動とか remount は厳禁。 (ro は大丈夫かも)
一方で今まで動いてた mysql は身動きできなくなってしまうのでこっちも stop する。同じパーティション上に存在する他のテーブルに対する flush されてない変更は失われてしまうけど、それが実行されて上書きされると元も子もないので思い切って止める。
# dd bs=4M if=/dev/sda2 of=/somewhere/image
現状のパーティションをディスクイメージとして、十分容量のあるどこかにまるまるダンプ。
容量が足りない!って時は裏技として dd bs=4M if=/dev/sda2 | gzip -c /somewhere/image.gz
とかやって gzip 掛けながらダンプ。今回のだと重複テキストの多いデータベースだったので 500MB ぐらいに縮んだ。
これが完了した時点で、元のパーティションはもう変更されても問題ない。必要であれば remount して、削除してしまった以外のデータベースについて mysql を復活させることができる。ただ、必要がないのであれば umount したまま(止めたまま)にしておいた方が無難。複数 DB をまたいで参照するようなサービスを運用していた場合は、そもそも不整合が発生してしまうので復活させてはいけない。ケースバイケース。
extundelete は、 ext3/4 向けの削除ファイル復元ツール。
Fedora 16 など extundelete をバイナリで取得できるディストリビューションであれば yum なり apt-get なりで導入できる。ただそうでないケースの方が現状多いので、自前でビルドする。基本的に tar を展開して ./configure && make
すればひとまず src の下に extundelete
コマンドができるはず。ビルドには e2fslibs などが必要なので、適宜 apt-get するなりなんなりで足す。パッケージが足りてるのにビルドできない!って時はもはや gcc とかが古いので、別の新しい環境に上で作ったイメージをコピーして作業。(今回はそうするために前節のgzipで圧縮、をやった)
一般的に、ファイルを削除してしまった同じ環境上で、新しいツールのインストールやビルドといった write の発生する処理をやるのは怖いイメージがある(自分だけかもしれない)けど、今回はすでにイメージを取っているので何やっても大丈夫。
# extundelete --restore-all /somewhere/image
これだけ。その他のオプションは特に要らない。実行すると、カレントディレクトリに RECOVERED_FILES というディレクトリができ、その中にどんどん救出されたファイルが出てくる。すんばらしい。必要であれば削除した日時でフィルタリングしたり、ファイル名を直に指定して復元したりできるので、その辺はドキュメントを参照。
一通り終わってディレクトリを見てみて、 myisamchk *.MYI
とか掛けてみる。あれ、 table.MYD not found ? どうもファイルが足りない?
extundelete はどうも 0 バイトのファイルは復元してくれない模様。空のテーブルの MYD ファイルは 0 バイトなので、元々空だったな、と思ったら touch table.MYD とかで作ってしまうのも手。でもどうも違う気がする、場合は次に続く。
# extundelete --restore-file path/to/table.MYD /somewhere/image
extundelete でファイル名を直に指定して救出を試みる。どうも restore-all だと見つけきらないこともあり、その場合もこのように直にパスを指定すると救出できた。
今回はこれでひとまず全部問題なく救出できた。あとは myisamchk ( -r なり -o なり ) を掛けて、ユーザー、グループ、パーミッションを確認して元の位置に移動して、 mysql を起動すれば、ジャーン!元通り。お疲れ様でした。
ファイルが足りなかった辺りで、 ext3grep (名前通り ext3 の superblock や inode を探索しつつファイルを救出するツール) も試して手動で辿るってのもやってみたりしたけど、結果的に extundelete の restore-file でも問題なく救出できて、使わなくてもよかったので特に記載せず。 HOWTO の “Manual recovery example” の手順通りにやると色々探索してる感があって面白いので、時間があれば試してみるのもいいかもしれない。ちなみにどちらのツールも、既存のファイルシステムに write する処理はないので live なパーティションで試しても安全です。
書きかけの投稿が貯まる一方です。
風邪ひいた、と思ったら軽いウイルス性腸炎じゃなかろうかという診断で、まあどのみち薬飲んで寝てるしかないのでそうしてます。
熱は全然ないものの、薬のせいか、特に日常的に無意識に行っている行動で判断力の低下が露骨に出てて笑えます。
仕事しちゃいかんな、という気分にしてくれます。
そういえば最近 28 になったんでした。
だんだんいろいろ言い訳できなくなってくる歳ですね!
気がついたら怒濤の週末の埋まりっぷり。充実してるのはいいけど、休む暇がねえー!ってことで、帰省したら意識的に家でゴロゴロ。の割には、弟に突然飲みに連れ出されたり(既に晩飯食べて酒も入ってるのに)、高校の同級生と久々に集まってみたら女子会の中に俺一人状態だったり(ありがち)、小学校の同級生と久々に会ったら1ヶ月前の訃報を聞いたり(全然連絡回ってきてなかった…)、なかなかの浮き沈みの展開。
ひとまず、夏終わったかなー。と思ったら来週末は修学旅行だった。週末充は続く。