KeynoteでDroidKaigi 2016のオープニング映像を作った話

カンファレンスのオープニング映像が急に欲しくなったら…?Keynoteで作ればいいじゃない!

droidkaigi-2016-opening.key

とりあえず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年住んでみて割と合ってたので職場移転と同時に引っ越し
意識的にストレスない環境を作っていくぞ

ついにスピーカー買ったら案の定さっさと買っとくべきだったという感想:


自分の過去のトラックを開いてはそっ閉じする日々

最近の失敗:


いただいた感想:

あと思いつきで数年ぶりにエゴサなんてしてみたら衝撃しかなかった図:
Screen Shot 2016-07-20 at 10.07.10 PM
インターネット怖いな!

Android開発で得た気づきをDroidKaigiでシェアしよう

TL;DR Android開発の知見があったらそれを聞きたい人が集まるDroidKaigiで話すとさらにいい知見が集まってすごい

続きを読む Android開発で得た気づきをDroidKaigiでシェアしよう

議論に特化したクールなフォーラムを1分で設置できるMootがすごい

作ったサービスにフォーラムを設置したいんだけど、なんかモダンで良いのないかなー、って探してたら、@jfssoTechCrunchで良いの見つけたよ!って教えてくれて、見てみたらなんかすごく良さそうだったのでさっそく試してみたよ。

それがMootです。ちなみにまだベータ。

続きを読む 議論に特化したクールなフォーラムを1分で設置できるMootがすごい

勘違い系CDJ60th (でした)

今日は勘違い系CDJ60th @ MOGRAでした…じゃなくて事前告知しろよ。(すみません)

で、流したものリスト欲しいって言われたのでとりあえず書きます。

  1. DANCE☆MAN / オレはビートマニア! お前は何マニア?
  2. reo nagumo feat. hajime.y / E.V CAFE
  3. baby weapon feat. Asuka.M / Dr. LOVE
  4. SILVA / morning prayer
  5. Shoichiro Hirata / Nothing Ain’t Stoppin’ Us
  6. DANCE☆MAN feat.Disっ娘 / We are Disっ娘よっつ打ち命
  7. Sana / 真夏の花・真夏の夢
  8. Dirty Androids / Golden Palms
  9. D.J. Spugna / Bad Routine
  10. good-cool / Spin the disc
  11. good-cool / Drop on the floor
  12. good-cool / I Was The One
  13. good-cool / 19, November
  14. good-cool feat. Aundrea L.Hopkins / Come With Me
  15. good-cool feat. すわひでお / 夜のサングラス
  16. good-cool feat. Andrea L.Hopkins / Your Body
  17. good-cool feat. Brenda Vaughn / You Were The One
  18. good-cool / Somebody Like You
  19. baby weapon feat. Asuka.M / Nasty!
  20. Remixed by Orange Lounge / BREAK OUT
  21. JaccaPoP / MIRU key way
  22. seiya-murai Feat. David Solanes Venzala / La Mar
  23. Dirty Androids / Miami Sunset Drive
  24. Mitsuto Suzuki / Let’s run
  25. kors k / evergreen
  26. kmp feat. echo / Liquid Crystal Girl
  27. kors k / heaven above
  28. 壱岐尾彩花 / Get Out
  29. Dirty Androids / Last Burning
  30. Sunset In Ibiza / thunder (HOUSE NATION Sunset In Ibiza Remix)

ボスからこんなオーダーがあったのでそんな感じの選曲です。
1st から Lincle まで大体使いました。 substream と IIDXRED がお休みです。

123-133bpm でなんというか至って健全なつもりだったんですけど 完全に 殺しに 掛かられた と言われてしまいました。まあ大体計画通りです。恐縮です。

あと、何故か明日アメリカに帰るという Yelp のソフトウェアエンジニアの方からお褒めの言葉を頂戴し、勘違い系 CDJ のグローバル化に驚きを隠せません。

SEL50F18を買った

2 月についうっかり NEX-C3D を 2.6 万で手に入れるという事件があり、そこからさらに先週末発売された E 50mm F1.8 OSS なヤツでついにレンズの沼へ一歩踏み出してしまいました。

な感じのビデオを試し撮り。

やー、これだけ撮れて、合わせて GX200 より安いなんて…

もし間違ってDROP DATABASEしてしまったら

って状況から脱出するというお仕事をしたのでメモ。 DROP TABLE でも、単純に rm してしまったら、でも同じ。今回の状況は次の通り。

  • バックアップなし、レプリケーションもしてないので binlog もない
  • MyISAM が数十テーブル、合計 20GB 弱
  • datadir のパーティションは /dev/sda2, ファイルシステムは ext3

 

 

1. 今すぐパーティションをアンマウント

# umount -f /dev/sda2

次のマウント時にジャーナルやinodeがクリーンアップされてしまうので、再起動とか remount は厳禁。 (ro は大丈夫かも)

一方で今まで動いてた mysql は身動きできなくなってしまうのでこっちも stop する。同じパーティション上に存在する他のテーブルに対する flush されてない変更は失われてしまうけど、それが実行されて上書きされると元も子もないので思い切って止める。

2. 現状を丸々ディスクイメージとして保存

# 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 をまたいで参照するようなサービスを運用していた場合は、そもそも不整合が発生してしまうので復活させてはいけない。ケースバイケース。

3. extundelete をダウンロード & ビルド

extundelete は、 ext3/4 向けの削除ファイル復元ツール。

Fedora 16 など extundelete をバイナリで取得できるディストリビューションであれば yum なり apt-get なりで導入できる。ただそうでないケースの方が現状多いので、自前でビルドする。基本的に  tar を展開して ./configure && make すればひとまず src の下に extundelete コマンドができるはず。ビルドには e2fslibs などが必要なので、適宜 apt-get するなりなんなりで足す。パッケージが足りてるのにビルドできない!って時はもはや gcc とかが古いので、別の新しい環境に上で作ったイメージをコピーして作業。(今回はそうするために前節のgzipで圧縮、をやった)

一般的に、ファイルを削除してしまった同じ環境上で、新しいツールのインストールやビルドといった write の発生する処理をやるのは怖いイメージがある(自分だけかもしれない)けど、今回はすでにイメージを取っているので何やっても大丈夫。

4. いざ復元

# extundelete --restore-all /somewhere/image

これだけ。その他のオプションは特に要らない。実行すると、カレントディレクトリに RECOVERED_FILES というディレクトリができ、その中にどんどん救出されたファイルが出てくる。すんばらしい。必要であれば削除した日時でフィルタリングしたり、ファイル名を直に指定して復元したりできるので、その辺はドキュメントを参照。

一通り終わってディレクトリを見てみて、 myisamchk *.MYI とか掛けてみる。あれ、 table.MYD not found ? どうもファイルが足りない?

extundelete はどうも 0 バイトのファイルは復元してくれない模様。空のテーブルの MYD ファイルは 0 バイトなので、元々空だったな、と思ったら touch table.MYD とかで作ってしまうのも手。でもどうも違う気がする、場合は次に続く。

5. 漏れたファイルは名前を指定して復元

# 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 になったんでした。
だんだんいろいろ言い訳できなくなってくる歳ですね!

2011夏ダイジェスト

鹿児島空港
  • 埜庵のスイカを食べ損ねて俺の夏が終了のお知らせ
  • 夏コミ2日目にぶらっと行ったら、いろんな方に会って、いろんなCDを頂いたので聞き込む毎日。あとステーキを食う。
  • 夏コミ3日目に、ついにつくしあきひとさんにお会いする。しろさんおおさかさんに布教する。
  • 会社の Hackathon で優勝してしまってまさかの MacBook Air 11″ (2011 Mid) を頂く。薄い!軽い!速い!
  • 研究室の 20 周年パーティ兼先生の還暦祝いで京都へ
  • そのまま実家に戻り 1 週間ウルトラぐーたら生活
  • 鼻の調子が悪いぞー、と病院行ったら、軽い副鼻腔炎とアレルギー性鼻炎で薬をどっさりもらう

気がついたら怒濤の週末の埋まりっぷり。充実してるのはいいけど、休む暇がねえー!ってことで、帰省したら意識的に家でゴロゴロ。の割には、弟に突然飲みに連れ出されたり(既に晩飯食べて酒も入ってるのに)、高校の同級生と久々に集まってみたら女子会の中に俺一人状態だったり(ありがち)、小学校の同級生と久々に会ったら1ヶ月前の訃報を聞いたり(全然連絡回ってきてなかった…)、なかなかの浮き沈みの展開。

ひとまず、夏終わったかなー。と思ったら来週末は修学旅行だった。週末充は続く。