2015年 個人的お気に入り音楽

新年明けました。本年もよろしくお願い致します。

去年を音楽で振り返りたいと思います。

星野源 - SUN

こういうハッピーな曲が好きです。

響き重視の複雑なコードとそれに絡むベースがいい。

SUN

SUN

Lolica Tonica - Make me feel (pop remix)

remixながらオリジナルかと思わせる再構築の上手さがいいです。

一条蛍(村川梨衣),越谷夏海(佐倉綾音),越谷小鞠(阿澄佳奈),宮内れんげ(小岩井ことり) - おかえり

ZAQ節と編曲とDメロが最高。

アニメ1期を見てから聴きましょう。

おかえり

おかえり

Plack::Middleware::Static::Range が使えない問題の解決方法

Plackを用いてHTTP pseudo-streamingを行いたい場合には、Plack::Middleware::Static::Range を用いれば良いという情報がよく書かれています。 しかしながらPerl 5.22.1のような新しいバージョンを利用している場合、依存している PerlIO::subfile というモジュールのインストールに失敗するため、インストールすることができません。

Plackとhtmlのvideoタグを一緒に使う場合に気をつける事 - Qiita

上記記事では開発版のPerlを用いていないことが原因とされていますが、本当の原因は、Perl 5.20あたりからusesfioというビルドオプションが無くなってしまったためです。

forkして修正しようかと思ったんですが、すでに作られていた方がいたのでそちらを利用しましょう。

nqounet/PerlIO-subfile

$ cpanm https://github.com/nqounet/PerlIO-subfile/archive/master.tar.gz

こんな感じでインストールしてから、もう一度Plack::Middleware::Static::Rangeをインストールすると上手くいきます。

3ヶ月ぶりに松屋に行きました

この記事は、松屋 Advent Calendar 2015 18日目の記事です。

3ヶ月ぶり(正確には2ヶ月と21日ぶり)に松屋に行きました。 なぜ3ヶ月もブランクが空いたのかと言えば、外食などという贅沢をする余裕がないためです。 貧乏学生たるもの、身の丈にあった食生活というものを送らざるを得ないのであります。 そんなことはさておき、久しぶりの松屋ですから楽しんでいきましょう!

17:16 - 到着

f:id:minasa757:20151219001408j:plain

昼間にやらなければならないことは終えたので松屋にやって参りました。 いつも通りの佇まいです。

17:17 - 食券購入

大好きな塩ビ丼(ネギたっぷり ネギ塩豚カルビ丼)を購入。

同刻 - 着席

f:id:minasa757:20151219001435j:plain

今日はいい席に座れました。 あまり席にこだわりはなく適当に座ってしまいますが、空調の風が直撃する場所だったり、店員さんが目の前でずっと作業をしていたりすると、少しテンションが下がります。

17:19 - Swarm チェックイン

f:id:minasa757:20151218235922p:plain:w320

残念ながらメイヤーは取られてしまっているようです。 しかし200回目の松屋 西千葉店でのチェックインだったらしく、ボーナスポイントがもらえました! 人間とは画面に数字が出てくるだけで喜ぶ生き物なのです。

17:25 - 塩ビ丼 到着

f:id:minasa757:20151219001452j:plain

ギリギリワンオペの時間帯で、お弁当のお客さんの扱いに少し手間取っていたため、若干時間がかかりました。 いただきます!

17:38 - 完食

f:id:minasa757:20151219001517j:plain

ごちそうさまでした。

おまけ:松屋遍歴

店舗別

  1. 202回 松屋 西千葉店 (2011/07/13 23:06)
  2. 5回 松屋 秋葉原店 (2011/06/12 18:38)
  3. 3回 松屋 稲毛店 (2011/12/18 06:28)
  4. 2回 松屋 秋葉原中央通り店 (2011/07/23 08:58)
  5. 1回 松屋 蒲田東口店 (2011/10/08 12:54)
  6. 1回 松屋 千葉幸町店 (2011/06/19 21:30)
  7. 1回 松屋 渋谷並木橋店 (2011/09/23 14:17)
  8. 1回 松屋 仲御徒町店 (2012/07/01 13:29)
  9. 1回 松屋 渋谷道玄坂上店 (2011/05/08 14:55)
  10. 1回 松屋 横浜西口店 (2013/01/15 11:52)
  11. 1回 松屋 穴川オーツーパーク店 (2013/10/23 20:54)
  12. 1回 松屋 大井町店 (2011/08/12 07:37)

約 5 年間で 12 店舗に 220 回行っているようです。 (チェックインしていないものもあるので、実際にはもう少し多いです)

あと、Swarm のアプリには 200 回目のチェックインって言われたんですが 202 回目だそうです。

時間帯

f:id:minasa757:20151218234808p:plain

17 時が最も多く、2,3,4,8 時が最も少ないようです。 行ったことがない時間帯がないというのはどうかと思いました。

Swarm から松屋遍歴を集計するPerlスクリプト

今回の記事を書くために使ったスクリプトです。 Check-in Feeds から ics をダウンロードして、以下のスクリプトに投げるといい感じに整形します。

matsuya.pl

ちなみに

来週水曜日(12/23)は、僕の誕生日です。

そして

明日の 松屋 Advent Calendar 2015rakugou さんです。

Haxe+OpenFL+Box2Dについていろいろ

先月末くらいから Haxe + OpenFL + Box2D でよくわからないものを作ってみたりしました。 そのときに思ったことをつらつらと書いてみます。


  • flash ターゲットはもちろん、windowsmac ターゲットも普通に動く
  • 画像、音、キーボード、マウスは完璧
  • TextField がかなり怪しい
    • フォントサイズ指定しても、環境によって大きさが違って崩れる
    • ttfフォント指定してもだめだし、同じフォントなのに高さが違ったりする
    • wrapping も挙動不審
    • mobile系のターゲットだとそもそも表示されないこともある
  • Asset がすこし不安
    • 動作自体は全く問題ないんですが、いざ配布するというときに中身が丸見えでそれに対応する方法がなさそう
    • ネイティブのファイルIOがあるので、それを使って自前で用意する必要がありそう


  • iOSターゲットが割と動いて楽しい
  • ただしビルドとデバッグがひたすら苦痛
    • シミュレータならそうでもない
    • そもそもC++コンパイルが遅すぎる
    • 1からコンパイルすると4年前のマシンで10分ほどかかる
  • マルチタッチも簡単
  • Box2D が悪いのかひたすらメモリを食いつぶすバグが出来て困ってます
    • Instruments とか使ってみたけどC++のコードを元に情報が表示されるので、なにがなんだかわからない

  • OpenFL版Box2Dは、本家をどれくらい追いかけられてるのかが不明
    • 確か本家の新しいバージョンだとBodyからContactが取れなかったはずだけど、OpenFL版は取れる
  • 困ったらソース読みましょう
    • openfl/box2d
    • samples/TestBed は非常に役に立ちますが、なかなかエグい実装
  • 最初は HaxeFlixel も使っていたんですが、それについていた Nape という物理エンジンの機能が少なすぎてやりたいことができなかったため、HaxeFlixel を諦めて OpenFL + Box2D という形になりました
    • OpenFL + HaxeFlixel + Box2D だと世界が3つになって管理が非常に難しい
    • OpenFL + Box2D だと2つの世界の橋渡しをするだけなのでまだ楽

  • Mac で開発する場合は Atom を入れるとよさげ
  • Haxe 向けのパッケージが充実
  • lint と autocomplete を動かすためには、プロジェクトディレクトリに hoge.hxml が必要
    • openfl display flash > hoge.hxml みたいな感じにすると生成できます
    • atom の tree view で hoge.hxml を右クリックすると Set as active HXML file という項目があるはずなので、それをクリックするとよい

  • 【完全な余談】
  • Contributors | Box2D にいる "Motokimi Kuzume" さんが気になる
    • ベアルファレス というプレステのゲームの開発チームの人らしい
    • そのゲームのシナリオとかを書いていて、パネルでポンの音楽スタッフでもある 葛目将也 さんはご兄弟なんですかね?

2D でマルチプラットフォームなゲームを作りたければ Haxe + OpenFL は割とありな選択肢だと思います。 特にWindows + Mac + Linux みたいな感じだったらソース書き換える必要すらないかと。

ガリガリ気張って書かなければいけないこともなく、かといって果てしないブラックボックスということもないこのバランス感が好きです。

Office for MacをインストールするとMS ゴシック等がWebサイトの表示に使用されてしまう問題を回避する方法

Office for Macをインストールすると、WordやExcelPowerPointが利用出来るかわりに、一部の 無能な Webエンジニアが書いたCSSによって、Webサイトの表示にMS ゴシックやメイリオといったフォントが使用されてしまいます。

美しいヒラギノフォントが使われないのはもったいないですし、なによりOS XのフォントレンダラによってレンダリングされたMS ゴシックほど醜いものはないので、一刻も早くユーザースタイルを適用しましょう。

方法

1. Stylish を導入する

上記Webサイトからインストールできます。FirefoxChrome以外はよくわかりません。

2. ユーザースタイルを適用する

Do not use ms fonts

Firefoxでは、アドオンマネージャから追加できます。それ以外の環境は調べてください。

3. 完了

醜いフォントが排除された快適なWebが待っています。

参考にしたサイト

Firefoxでエクスポートしたブックマークに自動でタイトルを付ける

タイトルの通りです。

「すべてのタブをブックマーク」で追加した場合や、「Bookmark All」を使用して追加した場合に、タイトルが付加されずURLで表示されるブックマークをどうにかするために作りました。

1ページ1ページ丁寧にクロールして、title要素の中身をタイトルとして追加していきます。 並列処理は面倒なのでしていません。

いくつかのCPANモジュールに依存しているので、適当にインストールしてください。

addbookmarktitle

Appleの電話サポートでなるべく喋らないようにする方法

先日iPhone6を購入した際、契約の都合で分割のAppleCareに加入できなかったため、Appleから直接AppleCareを購入することになりました。 AppleStoreでも購入できますが、交通費をかけたくなかったので、仕方がなく電話で購入手続きをすることにしました。

……したんですが、シリアル番号などを口頭で伝えなければいけないことが嫌で、AppleCareの加入期限ギリギリまでずっと先延ばしにしてしまっていました。 しかし、いざ手続きをしてみると、Web上であらかじめ情報を伝えられるシステムがあり、電話嫌いの方にもやさしいサポート体制になっていて最高でした。

嫌なことをしなくてよかったのが嬉しすぎたので方法をまとめておきます。 電話嫌いの方は参考にしてみてください。

手順

Apple IDでログインしておく

Apple IDを持っていて、住所を登録してあることが必要です。

「自分の製品を表示する」というリンクからログインができます。 ログインやらサインインのようなありがちな文言からログインできないのはダメだと思います。

f:id:minasa757:20141221190446p:plain

AppleCareを購入する場合は、ログイン後の画面で「すべての製品とサービスを表示する」をクリックすると手続きを進められます。

f:id:minasa757:20141221190444p:plain

サポート対象の端末かどうか確認しておく

「詳細情報を表示および編集」をクリックすると、どの製品に対しどんなサポートを希望するかといった内容が表示されます。 どの製品に対してかは登録されていないはずなので、シリアル番号を入力して登録します。

f:id:minasa757:20141221190443p:plain

登録するとサポート対象の期間に含まれているかどうかがチェックされます。

結果

以上の手順を踏んだ結果、口頭で伝えた情報は、

  • 郵便番号
  • 住所の町名以降
  • メールアドレス

のみです。 残りはサポートの方からの確認に対して「はい」やら「いいえ」と答えるだけです。

まとめ

シリアル番号のような長い英数字の羅列を口頭で伝えるのは苦痛でしかないので、他社のサポートもこれくらいできるようになってほしい。