魔女っこ姉妹のヨヨとネネ

初日1本目の上映で見てきた。 めちゃくちゃ面白い!という程ではないけど楽しく観れるアニメ映画だった。 あと、プレゼントで焼きそばもらった。

ヨヨが異世界に飛ばされて…という話で、ネネが完全に遠隔でのサポート側にまわっていたから姉妹で活躍するシーンが少なかったのが残念、ネネが活躍するのを見たいと思った。でも、漫画の方を読むとネネが魔力無いのを工夫でカバーしてたりするので、前線に立てないのはしょうがなかった。前提知識なくてもなんとなく分かる映画ではあるけど漫画の方も読んでおいたほうが分かりやすい。氷漬けになってしまったヨヨを12年かけて助ける話をやってる漫画の方では、ネネにスポットライトが当たってるので、ネネの活躍分はそちらで満足できる。

ヨヨが歌うシーンが映像的に面白くて、もう一回見たい。

のろいや姉妹 ヨヨとネネ 上 (リュウコミックス)

のろいや姉妹 ヨヨとネネ 上 (リュウコミックス)

のろい屋しまい (リュウコミックススペシャル)

のろい屋しまい (リュウコミックススペシャル)

percolとskype_chatを連携させる

mooz/percol · GitHub

シェルでanything.elやunite.vimのような絞り込み検索を使うのに、今までzawを使ってきたけど、最近はpercolを使っている人を見る。気になるのでpercolを使ってみることにした。

percolについてはターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog;の記事が詳しい。

percolの最大の特徴だと思う点は、zshに依存せず、標準入力を絞り込んで標準出力に吐くだけという仕事にのみ特化しているところ。モジュール性が高く取り回しやすい。一つのことをうまくやる、美しいソフトウェアだ。

skype_chatと連携させる

前にSkypeをCLIから操作するskype_chatというものを作った。tmuxと組み合わせて、いくつかある会話部屋の内容を一覧できるので今もずっと使っている。

会話を読むときには

$ sky list # 部屋名とハッシュ化された値を表示
$ sky stream 部屋名がハッシュ化された値 # 会話を表示

という2段階の動作が必要で、listで表示された値を覚えておいて、sky stream e428のように指定して会話を見ている。gitでハッシュ値の前の方だけ指定しておけば、後ろは省略可能な様に、skyコマンドでも省略できる。しかし、意味のない英数字の羅列を覚えておくのは人間のすることではない。

今回はpercolを使って、以下の様に読みたい部屋の絞り込みを実現する。

$ sky list | percol | cut -f1 -d' ' |  xargs sky stream

sky listコマンドではエスケープシーケンスを使った色付け表示をしていて、percolではエスケープされずにそのまま表示されるから、色付けしないモード(list_no_color)を作ってとりあえず対処した。

これをzshのaliasとかに登録しておけば良い。簡単便利!

BADLAND

iTunes App Storeで2013年おすすめのゲームというところを見ていたら、BADLANDが紹介されていたので気になって購入した。350円。

BADLANDは横スクロールのアクションゲームで、画面をタッチするかしないかという単純な操作で遊べる。タッチしている間は飛行機が浮上して、離すと落ちていくという操作を繰り返して、障害物を避けるゲームに近い。


Badland - Universal - HD Gameplay Trailer - YouTube

BADLANDは不気味な背景や音で楽しませるような、雰囲気ゲー要素が盛り込まれているが、ただの雰囲気ゲーというだけじゃなくて、ゲームとしての難易度の高さや、やり込める要素もある。チェックポイント方式だから死んでもすぐに戻れて、何度もトライアンドエラーできるので、すごく難しいところでもストレスなくクリアできて楽しい。

あと、ボリュームがある。全体の構成として、DAY1とDAY2というのにステージが分かれていて、両方とも40ステージずつあるので、全部で80ステージある。軽い気持ちで始めた割には多くて尻込みした。多すぎてダレる部分もある。DAY1とDAY2に分かれているのは、単にパッケージングの違いで、最近のバージョンになってDAY2が追加されたみたい。

DAY2になるとレーザーやPORTALのワープする穴みたいなのが出てきて、かっこいいギミックもいっぱいある。横スクロールアクションゲームは、地形を使ったギミックがすごいとワクワクする。グラディウス外伝のステージ3みたいにレーザーが反射したりしていて楽しい。


Gradius Gaiden Stage 3 PSX - YouTube

ストーリーらしいストーリーは語られることはなく、DAY2の最後でそれっぽい演出があったけど、何を意味しているのかさっぱり分からなかった。DAY3に期待するしかない。

SHURE SE425

イヤホンを買おうと思い立って、SHUREのSE425を買った。

今まで使っていたAtomic FloydのPowerJaxよりも良いやつ&予算は2万円くらいという設定で調べて、欲しくなったのは3つ。ちょうど秋葉原でポタフェスという、ポータブルオーディオ関連のイベントをやっていたので、全部試聴することができた。以下それぞれの感想。

  • Atomic Floyd SuperDarts

【国内正規代理店品】ATOMIC FLOYD SuperDarts +Remote SAF-EP-000013

【国内正規代理店品】ATOMIC FLOYD SuperDarts +Remote SAF-EP-000013

PowerJaxが良かったので上位機を買えばどうにかなると思って選んでた。音はSE425と変わらないように感じたので、だったら別メーカーの方がリフレシュ感あるのでSE425に軍配が上がった(僕の耳で何が分かるのかも分からないが、ソースは電子音楽とか言われるような類をiTunes Storeでダウンロードしたもので、プレイヤーはiPhone 5)。

筐体がチタンになった作成中のSuperDartsも視聴させてもらった。音がマイルドになってるという説明で、それは確認できたけど、高音のでる従来のSuperDartsの方が好き。

  • Klipsch Image X11i

Klipsch Image X11i KLIMXJI111

Klipsch Image X11i KLIMXJI111

低音寄りで、高音が出てないのが残念だったけど、X11iの小ささは凄かった。こんなに装着しやすいイヤホンがあるのかと。小さいボディで迫力のあるサウンド、という月並みな言葉が浮かんだ。SE425は装着しにくくて、そっちの方にストレスがくるから、X11iにすればよかったかなぁと思っている。

  • SHURE SE425

【国内正規品】 SHURE 高遮音性イヤホン メタリックシルバー SE425-V-J

【国内正規品】 SHURE 高遮音性イヤホン メタリックシルバー SE425-V-J

今まで使ってたPowerJaxはドンシャリ系だったんだなぁというのがよく分かるフラットさ。音を大きくしなくても細かい音が聞こえるようになった。

分かりきっていたことだけど、コードを耳にかけるSHURE掛けは装着しにくい。人から話しかけられた時に外して、付け直す一連の作業に時間が掛かる。慣れる気がしない。

きよしこのテスト駆動開発

もうすぐクリスマスですね!みなさん、アドベントカレンダーの進捗どうですか?

僕はクリスマスとは無縁な日々を過ごしているので、アドベントカレンダーのおかげでクリスマス気分を味わえて嬉しいです。

※ この記事は VOYAGE GROUP エンジニアブログ : Advent Calendar 2013 の9日目の記事です。

クリスマスのデート先といえばきらびやかなイルミネーションスポットですが(たぶん)、人がいっぱいいて大変ですよね(想像)。そういう時はイルミネーションを自分で作って、家に飾ればいいんじゃないですかね。

  • 用意するもの
    • LEDテープ
    • Arduino
    • ハンダ付けセット
    • クリスマスツリー

LEDテープ

今回はフルカラーシリアルLEDテープを使ってイルミネーションを作っていきます。使用したものはスイッチサイエンスさんで販売されているこのLEDテープです。1mの長さで60個のLEDモジュールが連なっています。

モジュールの制御方法ですが、制御線1本でできます。連結されている各モジュールのDINにG,R,Bそれぞれ8bitずつ24bitのデータを送ってあげることで、どんな色に光らせれば良いか教えてあげることができます。「1つ目のモジュールの24bitのバッファがたまったら、次のモジュールにそのデータを渡す」という様にデータが伝送されていき、50μs以上LOWを入力すると全モジュールでデータが確定してLEDへ出力されます。

この制御はArduinoが担当します。なので、制御プログラム(Arduino用語ではスケッチ)を書かないといけませんね。と、ここで重い腰を持ち上げるわけですが、既にLEDを制御する使い勝手の良いライブラリが存在しているので、書く量はそんなにありません。

LEDテープを制御するスケッチが書けたら、あとはハンズで買ってきたクリスマスツリー(1980円)にLEDテープを飾ってあげましょう。こんな感じに激しく光らせることができます。

きれいですね。こんな素敵なクリスマスツリーが部屋にあったら、ロマンチックなムードになること請け合いです。

テスト成功率

まあ、誰も来ない僕の部屋にこんなクリスマスツリーを飾っても虚しいだけなので、もっと別なクリスマスの楽しみ方を見つけましょう。正月が初詣に行くだけではなく、お年玉を貰ったりおせち料理を食べたりするように、クリスマスにもイルミネーションを見る以外の楽しみ方があります。

ということでテスト駆動開発(TDD)の話をしましょう。TDDでは、

  1. テストが失敗するテストを書く(RED)
  2. テストが成功するコードを書く(GREEN)
  3. リファクタリング

というサイクルを繰り返してプログラミングしていきます。

  1. テストが失敗するテストを書く(RED)
  2. テストが成功するコードを書く(GREEN
  3. リファクタリング

RED, GREEN・・・ ・・・・・・ といえばクリスマスカラー・・・

「はっ!つまり、TDDはクリスマスにまつわる聖なる行為だったんだよ!」

Ω ΩΩ<「な、なんだってー!」

ならばTDDにも、もう少しクリスマスっぽさが必要ですね。さっきのクリスマスツリーを活用して、テストの成功率をイルミネーションとして可視化したいと思います。

成功率の可視化

まずはテストが失敗することを確認するところから始めましょう。

よし、オールレッドですね。次はテストが通るように修正しました。

成功率100%です!やったね!次はリファクタリングしてみましょうか。

ありゃ、20%にまで下がってしましましたね。

というふうに、クリスマスツリーを眺めながらテスト成功率を知ることができるようになりました!これでクリスマスに清らかな気持ちでTDDできますね。

実装

今回は以下の手順で、成功率を可視化しています。

  1. RSpecのテスト結果をテキストファイルとして出力
  2. Guardでそのファイルの変更を検知して、テスト成功率を計算
  3. 成功率をシリアル通信でArduinoに送信
  4. 成功率に応じてLEDテープを制御

今回書いたコードはここに置いています。

はい、トンデモ記事でした。みなさん、思い思いのクリスマスを楽しんでくださいね。

明日の #vgadvent2013 は @takkyuuplayer さんです。

※ 本記事は「きよしこのテストカバレッジ」というタイトルでアップロードしていましたが、テストカバレッジは成功失敗に関係なく、テストがどれくらいメインのコードをカバーしているかだよねとご指摘頂いたので「きよしこのテスト駆動開発」に変更しました。

Nihilumbra

FallOut 4の情報が出てきてるのを見てると、何かゲームがやりたくなったので、サクッと終わりそうなNihilumbraを遊んだ。

 
雰囲気重視の横スクロールアクションで、画面にタッチで色を塗りつけて主人公をサポートする。水色を塗れば足場が氷になってよく滑るようになったりする。
 
画面上に文章が表示されていて、その文章がヒントだったりストーリーになっている画面が切り替わるたびにストーリーが進むので、絵本を読んでいるみたいだった。
 
※ FO4の件は壮大な釣りだった模様。残念。