弦をDRに変えたらコシのあるサウンドで満足

最近のアーニーボールは以前ほど寿命が短くないと言う話をネットで見かけて、それならあのギラギラをと思って張り替えてみたのだけど、記憶のギラギラはなく(記憶なので不正確)少しまったりした感じの音だった。

それ自体は単なる記憶との差なので、まぁこんなものかなと思っていたら、弾いている最中に1弦を切ってしまった。

もう何年もギターを弾いている最中に弦を切っていないので、アーニーボールの印象が大分悪くなってしまった。

ダダリオやディーンマークレーに戻るのも面白くないので、改めてネットで評判の良い弦がないか探したところ、最終的に DR にしてみた。

なかなか良い。金属感はほどほどで高音の煌びやかさはそこまで強くないけれど、中音がしっかり鳴る。ディストーションとの相性もよく存在感のある音がする。手触りも良い。

張り替えてから十日ほど経っているけれど、あまり劣化していない。

知らなかったけれど、ダイムバッグ・ダレルが使っていたみたい。

しばらく DR を使ってみようと思う。

子供にレッテルを貼らない

「魔の2歳児」という言葉がある。「悪魔の3歳児」「天使の4歳児」というのもあるみたい。魔の2歳児はイヤイヤ期とも言われている。

子供が0歳〜1歳くらいの時に先輩パパ・ママたちに「今が一番可愛いいですよ。2歳になったら大変よ」とたくさん脅された。

子供はその時々でそれぞれ可愛いだろうし成長による充実もあるだろうから、先輩方のお話は話半分に、いや本当のところは話一厘くらいにしか聞いてなかった。

そして、2、3歳が過ぎて感じるのは、やっぱりそんなことはない、だ。

子供は脊髄反射でイヤイヤ言っているわけではなくて、もっと遊びたい、などのやりたいことの裏返し表現であることが多いように思う。そして、それは多くの大人たちと同じだと思う。ドラクエをもっとやりたいのに皿洗いしろだの早く寝ろだの言われた時の気分を考えて欲しい。子供の嫌がる気持ちはほとんどの場合で共感できた。

もちろん、子供のやりたいことを全て叶え続けることはできず、子供の嫌を押し切って進める結果、泣かれることもあるし、それ自体は親にとってストレスである。ただ、だからと言って、子供の主張が理不尽というわけではない。

僕は「魔の2歳児」という表現は良くないと思う。このようにレッテルを貼ってしまうと、子供が嫌と言う理由が「2歳だから」になってしまう。子供を「どうせ子供だから」と決めつけずに、大人と同じと考えれば、不思議な行動なんてないし「魔の」(や、悪魔の)などと揶揄されるような邪悪なものでは決してないと思う。

親が推測しきれなくてわからないことはたくさんあるけれど、それも単にわからなかっただけ。大人同士でもよくあること。というか日常的なこと。

未だに「今が一番可愛いですよ!」と言われることがあるけれど、今も将来も可愛いでしょ?と心の中でつぶやいている。

phpunitのUndefined class constant ’PARSE_CUSTOM_TAGS’の対処

はてなダイアリーのタイトル文字数の制限でSymfonyと入れられなかったけれどSymfonyの話。

The PHPUnit Bridge (The Symfony Components) を使う。

もしくは、PHPUnitを6.2.3にアップグレードしたら解決した。

■個人的に発生した環境
PHPUnit 5.7.2(phar)、Symfony v3.3.4

■参考
https://github.com/symfony/symfony/issues/19532

iPhone 7 Plusを買った

iPhone 7 Plusを買った。10/8に注文して11/13に届いた。色はローズゴール。ジェットブラックは店舗で見てみたけど指紋が目立ちすぎで僕には無理だった。

Apple Storeで購入して(SIMフリー)、LINEモバイルを契約した。色々速度比較サイトを見て通信環境が良さそうなのと、フリーカウント大きいなというところ。速度に関しては、通信環境の不満が大きくなった時に会社的に対応が早いだろうという憶測もして(ビジネスに直結だろうから)LINEモバイルに決めた。

届いたらまずは買ってあったガラスフィルムを貼った。

子供が触ることもあるのでブルーライトカット。この商品、なかなかよくて、変色した感じがほとんどしない。触り心地は程よく抵抗感がありつつもちゃんとスベスベしているし、汚れも簡単に拭き取れる。貼る時に入る気泡も簡単に追い出せたしとても気に入った。

iPhone 7 Plus
iPhone 7 Plus posted by (C)cloned

この大きさだと落とさない方が奇跡だと思って、ケースも買った。ケースは11/11に注文して11/18に届いた。とても長く待った気分。きっとAmazon慣れのせい。買った商品はこれ。 http://propeller-design.jp/item/1750.html かわいい。

ポートレートモード、デジイチで撮るのに比べると被写体深度が浅すぎる(近いはずなのにボケる)、輪郭がやや不自然、というのがあるけれど、それでもエフェクトでぼかすのに比べたら格段に良いし、何よりカメラそのものの写りが綺麗だから楽しい。

容量は256GBにしたので、やっとそれなりに好きな音楽を適当に入れられるようになった。1TBくらいあれば全部入るので、そういう時代になりますように。

あとはなんだろう。前がiPhone 6だったので動作が速くなったのは嬉しい。あとバッテリーが長く持つようになったのも嬉しい(iPhone 6の劣化が激しかった)。

PSVRを買った

予約しようとしたら予約開始早々にどこも売り切れになってしまったので、Amazon.co.uk(イギリス)で予約した。

到着は10/20予定となっていたけれど、発売日(10/13)に発送され10/17に届いたので、割とすぐに手元に来た感じ。

価格は42,240円(290.83ユーロ)で買えたので、定価48,578円に比べると結構安く買えた。

PSVR
PSVR posted by (C)cloned

PSVR
PSVR posted by (C)cloned

梱包が大きい。開けてみたらPSVR本体が結構大きかった。

PSVR
PSVR posted by (C)cloned

電源ケーブルの形状が海外仕様だったので、家にある別のケーブルを付け替えた。それ以外は説明書が英語なくらいで、問題なく動作した。

付属のdemoをやってみて、あとは評判の良いRez Infiniteを購入してやってみてる。まだArea Xをちゃんとプレイできていないので、Rez Infiniteの感想はまた今度。

ディスプレイの解像度はドットが視認できるので気になるといえば気になる。シネマティックモードで映画を観ると大画面の迫力は素敵である反面、たまにドットが気になって没入感が薄れることがある。

ジャイロセンサー、加速度センサーやリフレッシュレートなどは今の所気になるところはなく、自分の動きにしっかり追従してくれていると感じる。音もちゃんと自分の位置、向きに対応していて臨場感がある。

接続ケーブルや端末が多くて辛いけれど、PSVRに対応した大御所ゲームの発売が待ち遠しい。

音楽のレコメンド機能を作るには音源の解析が必要に思う

Apple Musicなどのアプリでレコメンドされる音楽はなかなか好きに出会えない。

人によるだろうけれど、音楽は好き/嫌いと感じるポイントが非常に細かくあり、ちょっと違うとあまり好きではないものになる。

例えば、僕はDream Theaterが好きだけど、プログレッシブ・メタルというジャンルだけで好きに出会うことはほとんどない。Dream Theaterが好きな理由を列挙すると

  • 音色/和音/旋律/展開/テンポなどが基本的に好み
  • 歌にメロディーがある方が好き
  • 綺麗に歌うボーカルが好き
  • 和音が感じられる楽曲が好き(必然とキーボードの音がある楽曲の方が好き)
  • 一塊のメロディーがたまたま変拍子であった、と感じられるような変拍子が好き(ランダムに切り取られたような激しすぎる変拍子は嫌い)
  • 速い奏法を生かしたソロフレーズが好きだが、緩急がなくずっと速いだけであったり、メロディー性が薄いソロは嫌い
  • ドラムやベースに繰り返しパターンが少なく聴き飽きないリズムが好き(特にポートノイ時代)
  • 楽曲としても繰り返しが少なく展開するものが好きだが、旋律が頭に残らないほど展開しすぎると嫌い
  • ヘビーなサウンドが好きだが、ドンシャリだったり低音を強調しすぎていると嫌い

キリがないけれども、こういう細かいポイントがいろいろあって好きなのであって、とあるジャンルが好き、というのでは全然ない。

また、上はDream Theaterが好きな理由であって、例えば、たかじんの歌が好きな理由は全く異なる。

こうしたことを考えると、好きな(好きそうな)音楽を提案するプログラムを作るのであれば、音源を解析し一つ一つの音楽がどういう情報を持っているのかを把握できないと難しいだろうなと思った。

Symfonyから手早くYAMLのFixtureを読み込めるAliceFixturesBundle

この記事は Symfony Advent Calendar 2015 の4日目の記事です。

開発環境向けのテストデータ(Fixture)作成は hautelook/AliceBundle を使えば便利だけど、テストコードからFixtureを読み込もうとすると一手間かかるので、何かないものかと探したところ h4cc/AliceFixturesBundle に出会った話。

データベースを利用したテストコードを書く場合、テストデータの準備が必要になることが多い。 「テストコードを書く労力を減らす」「テストコードの見通しを良くする」という観点から、テストコードのためのデータ準備は極力簡単にしたいところ。

Symfony + Doctrineを利用している場合に真っ先に選択肢に上がるものとして DoctrineFixturesBundle があるけれど、見ての通りFixture自体がPHPコードであり、テストデータの準備に苦労が絶えない。

そこで登場するのが nelmio/alice を利用できる hautelook/AliceBundle で、これについては去年の Symfony Advent Calendar 2014 の記事である [Symfony] AliceBundleで自動テストのfixtureをyml化しよう が詳しい。すごくわかりやすいのでご一読を。

どういうYAMLになるかというとこういう感じ。

AppBundle\Entity\User:
    user{1..10}:
        username: <username()>
        fullname: <firstName()> <lastName()>
        birthDate: <date()>
        email: <email()>
        favoriteNumber: 50%? <numberBetween(1, 200)>

これで10件のuserが作成され、それぞれにFakerを利用したランダムな名前や誕生日、メールアドレスなどが設定される。

PHPコードでテストデータを用意する苦労からは解放されたものの、まだ面倒な点があり、先に紹介した [Symfony] AliceBundleで自動テストのfixtureをyml化しよう から引用させていただくと、

<?php
$this->loadFixtures(
    array(
        new UserFixtureLoader(),
    )
);

このように一つのFixtureごとにPHPのクラス(ここではUserFixtureLoaderのこと)を作らなければならない。これは結構面倒だ。

それで色々と探していたところ h4cc/AliceFixturesBundle を発見した。DoctrineFixturesBundle に依存しないため、より簡潔なFixtureの読み込みを実現している。

具体的な実装はデモのテストコード、AliceDemo/src/h4cc/AliceDemoBundle/Tests/Controller/UserControllerTest.php を見るとわかりやすい。

抜粋すると、

<?php
public static function setUpBeforeClass()
{
    $client = static::createClient();
    $manager = $client->getContainer()->get('h4cc_alice_fixtures.manager');
    static::$fixtures = $manager->loadFiles(array(__DIR__ . '/DataFixtures/Alice/alice.yml'));
    $manager->persist(static::$fixtures);
}

こういう感じで直接AliceのYAMLを指定するだけとなっており、Loaderクラスを作成する必要がなく大変便利。

ということで、 h4cc/AliceFixturesBundle の紹介でした。なんと Symfony Advent Calendar 2015 の次の日、12/5はまだ空いているので、どなたかよろしくお願いします!