iTerm2でvimを:set mouse=aで使ってるときにあれしたいときはOption+ドラッグでいけるようだ
PuttyならShift+ドラッグでいけるようだ
打ち込みとかしてみた
エヴァ破サントラからお気に入りの曲を耳コピ&打ち込みしてみた。耳コピにはMixxxを、打ち込みにはGaragebandを使用。鍵盤は素人なのでいろいろおかしいかもしれない。
Mixxxというアプリが神がかりすぎている件
Mixxxというアプリがすごいです。MacでDJ的な遊び方ができるソフトウェアを探してたんですが、これは必要最低限の機能が備わっていて、しかも無料ということで、少しでも音楽に触れる全てのMacユーザはダウンロードしておいて間違いないソフトウェアだと思います。
DJに関しては全く初心者な私ですが、ショートカットを駆使すると耳コピなんかにも威力を発揮しそうです。以下、便利だと思うショートカットを挙げておきます。
左デッキ(右デッキ) d(l) PLAY/POSE Shift+d(Shift+l) 現在の位置にキューポイントを置く e(o) (再生中)キューポイントにジャンプ+停止 (停止中)キューポイントにいれば押している間キューポイントから再生 キューポイントにいなければ新たにキューポイントを設定 a(j) 巻き戻し s(k) 早送り Shift+a(Shift+j) 再生中に逆再生。Shiftから先に離すとロックする zxcv(m,./) キューポイント1,2,3,4の設定およびリプレイ。Shift同時押しで各リセット t(y) モニターのON/OFF F2(F6) スピードアップ F1(F5) スピードダウン F4(F8) 一時的にスピードアップ F3(F7) 一時的にスピードダウン g クロスフェーダを左へ h クロスフェーダを右へ
これで主要な操作は殆ど網羅してるのですが、他にも数字キーで周波数カットやエフェクトのON/OFFが簡単に出来たり、テンポの自動判別やオートシンクなどもできて至れり尽くせりです。
Graphviz練習
Qwerty(英語配列)でAに該当する位置を押すとDvorakではBになるという関係をA→BとしたときのグラフをGraphvizを使って出力してみた。
ソース
// q2d.dot digraph q2d { graph [rankdir = LR]; "a" -> "a"; "b" -> "x"; "c" -> "j"; "d" -> "e"; "e" -> "."; "f" -> "u"; "g" -> "i"; "h" -> "d"; "i" -> "c"; "j" -> "h"; "k" -> "t"; "l" -> "n"; "m" -> "m"; "n" -> "b"; "o" -> "r"; "p" -> "l"; "q" -> "'"; "r" -> "p"; "s" -> "o"; "t" -> "y"; "u" -> "g"; "v" -> "k"; "w" -> ","; "x" -> "q"; "y" -> "f"; "z" -> ";"; ";" -> "s"; "'" -> "-"; "/" -> "z"; "-" -> "["; "=" -> "]"; "," -> "w"; "." -> "v"; "[" -> "/"; "]" -> "="; }
変換
dot -Tgif q2d.dot -o q2d.gif
もっと正方形に収めるにはどうすればいいんでしょう。
cjhde.vktyfugi
と bxq'-[/z;sorpln
という文字列は繰り返し打ち続けるとQwertyでもDvorakでも同じ手の動きになるというのが面白いです。
既に PHPUnit が入っている環境で WP-Unit を使うときは要注意?
とあるテストケースがどうしてもエラーになってしまい、ログにも残らないので大変嵌っていた。いろいろ調べた結果、$wpdb->dbh
がどっかのタイミングでリソースではなく整数値 0
になってしまっていたというところまでは分かったが、それが何処かを特定するには至らなかった。
そこで、 WP-Unit には PHPUnit が付属しているものの、システムに PHPUnit がインストールされていればそちらを使うようになっていたことを思い出した。いわゆる「相性」の問題かもしれないと、下記の修正を施した。
<?php // wp-content/plugins/wp-unit/WPUnit.php $currdir = getcwd(); //fixes php unit installation problems -ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . ABSPATH . 'wp-content/plugins/wp-unit'); +ini_set('include_path', ABSPATH . 'wp-content/plugins/wp-unit' . PATH_SEPARATOR .ini_get('include_path')); //require_once('wp-load.php');
つまり、付属のPHPUnitを先に読みに行くようにした。これにより、謎のエラーは出なくなった。後で暇だったら根本的な原因を探る。
WP-Unit の testcase に覚えのないクラスが含まれている件
テストなしで WordPress のプラグインの開発をしていたが限界を感じたので、 WP-Unit なるプラグインを導入。 PHPUnit によるテスト体制を整えることを試みる。
が、おもむろにサンプルのテストを走らせてみると、いきなり出鼻を挫かれる。
testcase
ディレクトリの中には見当たらない、 PHPUnit_Framework_Warning
なるクラスが含まれている。どうやら PHPUnit フレームワークに含まれている、 PHPUnit_Framework_TestCase
を継承したクラスのようだ。 WPUnit.php
を覗いてみると、どうやら PHPUnit_Framework_TestCase
を継承したクラスを全てテストに含んでいるようなので、以下のパッチをあてさせていただいた。
<?php // wp-content/plugins/wp-unit/WPUnit.php if($_POST['Submit'] =='Run') { + $predefined_classes = wptest_get_all_test_cases(); /*require all test cases within testcase directory*/ $files = wptest_get_all_test_files(DIR_TESTCASE); @@ -61,6 +62,7 @@ function manage_page() } $classes = wptest_get_all_test_cases(); + $classes = array_diff($classes, $predefined_classes); // run the tests and print the results