最近

近況というより雑なメモ

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ヶ月前の訃報を聞いたり(全然連絡回ってきてなかった…)、なかなかの浮き沈みの展開。

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

アレが届いて2週間

Cruise and Baron

机とイスは大事だよね、と前回書いておきながら続きを書いてなかったんですが、憧れの Cruise & Atlas を買いました。やー、行くところまで行ってしまった感があります。

買ったのは B タイプの 1m 幅のやつ。 6 畳の 1K には大きくて、到着する1週間ほど前から夜な夜な配置に悩んでいたのですが、意外と綺麗に収まりました。もともと使ってた IKEA の机 (120+80cmにしたアレ) をバラして短くしたり、コタツを実家に送りつけたり、要らない棚を捨てたり、まあ色々と模様替えも兼ねて。

2週間ほど使ってみて、だいぶ慣れてきた、というか、「なんとなく首がちょっときつい、気づくと前傾になってる」みたいな状況を把握して、「ディスプレイの高さが足りない。視線が下を向いてるので無意識に頭が浮いてしまっている」という原因までたどり着きました。そういう、自分の欲求を明確化するのにちょっと時間が掛かる感じ。基本的に、まっすぐ向いて、あごを引いて、頭はヘッドレストに軽く乗せる、といった体勢を自然と作れる環境がゴールで、それを実現するために、大き目のディスプレイや、アームが欲しくなってくる。

特にアームは必須。ディスプレイとの距離が遠くて辛いというのもあるけど、それ以上に、若干上向きの視線に合わせて、ディスプレイの高さを調整できる機構がないと、後傾姿勢を維持できず、この環境の本領を発揮できない。というわけで、少なくともアームを導入するまでは、まだこの環境は未完成ということに。今はディスプレイの下に段ボール箱置いて高さを稼いでます。地震怖い。

でも現状でも、ひとまず肩こりとか、背中痛いとか、そういうのはだいぶ減って、長時間作業の後も意外と疲れてない、まだ余力がある感じが体感できている。社会人になってから、もうだいぶ放置してたブログに、こういうエントリを書くぐらいの余裕が出てきた。よーしいいぞー。