noir_neo’s blog

日記と偶にスマホゲームの感想と、重箱の隅をつつくようなUI/UX批評

20171204 - 20171210

id:mentaiko_guma 氏に触発されて週間日記なるものを始めてみる。来週も投稿されるかは神の味噌汁。


今週も一回も定時に出社できなかった。

別に残業してやることはやってるし、そもそも裁量労働なので怒られたりはしない。けど、そろそろ定時に出社して定時に退勤する生活を送りたい。

仕事は、なんか予定していたことに付随してやらないといけないことが出てきたりして、そっちに時間かかってしまって、メインの予定していた仕事が持ち越しになってしまって週末を迎えている。まあいずれにせよやっておかないといけなかったことだし、(同僚のおかげで)多少の余裕はあるので精神的に厳しくはない。


今週の残業バッググラウンドアニメは天使の3Pだった。リアタイでも見てたので見直し。

先週くらいに、劇中歌でボーカルソフト音声として小倉唯ちゃんが歌っていた曲の音源が収録されていると知ってこれを買って、機運が高まっていた。

やっぱり小学生音楽は最高だぜ! という気持ちになる。

音楽、ゲームに関わるものの中で最も知識が薄いので、機会があればやりたい。と定期的に思っている気がする。

ちなみに OPED も今更買った。 「楔」めちゃくちゃかっこいいのでぜひフルで聞いて欲しいと思いました。

楔 - Single

楔 - Single

  • Baby's breath
  • アニメ
  • ¥500


今週は結構キーボードいじった。

SandS と Programmer Dvorak 突然思い立って初めたけど、かなりよさげ。詳しくはアドベントカレンダーの記事を。


木曜日くらいに、デュアルキーボードに関する記事を書いて社内のドキュメント共有サービスみたいなのに投稿した。

会社の開発者ブログ向けにもリライトしてあるので、できれば今週中に投稿したい。


土曜日はアドベントカレンダーの記事を書いてから、酒を買いに行った。

雪の茅舎の新酒を買った。クイーンズ伊勢丹は季節ものの日本酒が揃っているから神。

いま最後の一杯を飲んでいるので、土日で4合開けてしまった。 冬は日本酒がうまくて敵わない。

金土日と毎日、鍋かしゃぶしゃぶか湯豆腐かわからん雑な鍋ものを食って生きている。水菜が安くてうれしい。

これが日本酒とも合うからたまらん。


個人開発が全然進んでいない。

集中したら30分で終わるくらいの、ちょっとしたアニメーションをつける作業だけした。

シャワー浴びているときとかにやりたいことは思い浮かんでワクワクするので、やはりまずは定時出社定時退勤で平日の余暇生成をがんばりたい。


メロフラの時間なので今回はこの辺で。

広告を非表示にする

「入力」を大幅に見直した2017年

MD Advent Calendar 2017 10日目の記事です。

昨日は soymilk007 さんの ようこ — 「自担」とは何か? 【この記事はMD Advent Calendar 2017 9日目の記事です。】... でした。

とても真面目でしたね。「自担」って言葉は知りませんでした。私の知っている言葉だと、「ガチ恋」が近いかな?


改めましてこんにちは、メガネ美少女で有名な @noir_neo こと、ねおりんです。

MD を卒業できなかったタイプの人です。 普段は新宿の南口あたりでキーボードの音を奏でて生計を立てています。

これは大事なことなのですが、クリスマスイヴの予定はまだ空いておりますので、ぜひ Twitter などでお声がけください。25は仕事じゃ。


さて私の今日の話ですが、 今年は「入力」についてたくさんの見直しを行ってきた年だったので、その振り返りと布教をしたいと思います。

さて入力とはなんのことを言っているのかというと、当然コンピュータへの入力です。まあ具体的には、キーボードとマウスの話です。

Dvorak 配列にした

それではまず今年一番の大きな変化、配列の話からしていきましょう。

みなさんはどのようなキー配列を使っているでしょうか。おそらく多くの方は、左上が qwerty で始まる QWERTY 配列でタイピングしていると思います。 (配列とだけ書くと、 JIS とか US とかっていう配列もありますが、ここでは別の話です。ちなみに私は US 派です) ほとんどのキーボードに標準で印字されていて、標準で入力される配列ですね。

私は5月くらいから Dvorak という配列を使い始めました。 Dvorak 配列というのは、左上から dvorak... というわけではなく、ドボラックさんが考えた配列です。作曲家のドヴォルザーク(チェコ語の発音)さんの遠い親戚らしいです。

こんな感じの配列です。

https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/KB_United_States_Dvorak.svg/1080px-KB_United_States_Dvorak.svg.png Dvorak配列 - Wikipedia

おわかりのように、左手の中段に母音が集中しています。これによって右左右左とテンポの良い入力がしやすいのが特徴です。

使い始めのころの記事があるので、導入方法とか詳しくはそちらを見てみてください。

Dvorak 1日目 - noir_neo’s blog

初めはパソコン触りたてのようなおぼつかない入力でしたが、1ヶ月ほどですっかり慣れ、今ではもはや QWERTY が打てないほどになりました。(ぶっちゃけ、稀に職場で同僚のPCを触る必要があるときに困ります)

またこれは副作用ですが、習得時にとにかくホームポジションを守って指で覚えるようにしたため、今では綺麗なホームポジションでタイピングができるようになりました。

ところで、この Dvorak をさらにプログラマ向けに改良した Programmer Dvorak という配列があるのですが、つい最近これにしました。

https://www.kaufmann.no/roland/dvorak/images/dvp1.png Programmer Dvorak

ぱっと見の大きな違いは最上段の記号と数字の並びですね。一見ワケガワカラナイかもしれませんが、実際使ってみると、指で覚えやすい並びということがわかります。

そしてよく見ると気づくのですが、数字と記号が上下逆です。単体で押すと記号が、 shift を押しているときに数字が入力されます。なぜなら、プログラマーは数字よりも記号を打つことのほうが多いから!

さすがにハードル高いなーと思う人は、まず shift の逆転から始めるとよいです。わたしもしばらくそれでやっていました。これも過去の記事が参考になると思います。

Dvorak いじった - noir_neo’s blog

いろいろ拡張を入れていってる

Programmer Dvorak と同じタイミングなのでつい最近の話ですが、 SandS を入れました。

スペースバーを押しながら他のキーを押すと shift を押していることになる、という拡張です。スペースバーだけを押してそのまま上げるとスペースバー本来の働きをします。 だって shift とか小指を折り曲げないとだし、押しにくいじゃないですか。親指にもっと仕事をさせましょう!というやつですね。

まだ少し慣れていなくて、 へんかんSiyo みたいになることや、癖が抜けずに小指で shift 押していたりしますが、概ねとてもいい感じです。このまま慣れていきたい気持ちです。

他に、以前から入れている拡張だと、右 ⌘ と ijkl で矢印キーになるようにしたりしています。これはホームポジションを崩さずに右手だけで矢印キーを打てるのでとても便利です。

あとは ctrl + j (j は QWERTY での j)で esc になるのとか入れています。(今年 Touch Bar 搭載 MacBook Pro を買いました) いやでも、 Touch Bar の esc 云々以前に、頻繁に使うのに遠すぎですよね、 esc 。

デュアルキーボードをはじめた

ここまでソフトウェアの話をしてきましたが、次にハードウェアの話をします。

夏くらいにデュアルキーボードを始めました。 デュアルキーボードとは、2台のキーボードを左右に並べて、左のキーボードの左半分を左手、右のキーボードの右半分を右手でタイプするスタイルのことです。

そもそも分割キーボード(↓こういうの)に興味があったのですが、微妙に好みのものがなくて、

www.archisite.co.jp

会社にいる 変態 先達に倣って、手元にあった2台のキーボードでやってみたら快適だった、という経緯です。 左右それぞれの腕に対して楽な位置でタイプできるのもいいですし、スペースバーが2つになるのが素晴らしいです。(私は右のキーボードのスペースバーは ⌘ にしています)

MX ERGO でトラックボールデビューした

9月に ロジクール(Logitech)から7年ぶりの新作トラックボールマウスが発売されましたね。

www.logicool.co.jp

マウスでの Unity 作業にうんざりしていた私は、この機に購入しトラックボールを使い始めました。 もう最高ね。特にドラッグアンドドロップがとっっっっっっってもしやすいです。

さいごに

そんなわけで入力を見直してきた2017年ですが、いまの職場のデスクはこんな感じです。

f:id:noir_neo:20171209221017j:plain
Apple Wireless Keyboard(会社支給)、Majestouch2(私物)、Magic Trackpad(会社支給)、MX ERGO(私物) AbemaTV でアニメを見ているのは定時後だけです!!

まだまだ健全ですね。

以前は一日中コードを書いていると手首や指が痛くなったりして湿布を貼りつつ仕事をしていたのですが、最近はそういうことはなくなりました。 (設定をいじった直後とかは、意識しすぎて慣れない運指で攣りそうになることとかはあります)

諸々慣れるまでは決して楽ではありませんが、これまでの人生で入力した量と、これからの人生で入力する量を比較した時、移行コストが高すぎるということはないと思うのです。

コンピュータの入力に関して標準の環境というのは、改善の余地が多々あります。ぜひ自分のために、自分に合うものを選択しましょう。

この記事が、みなさんが一歩を踏み出すきっかけになれば幸いです。 私もまだまだ改善したい部分があるので、来年も引き続きやっていきます。

さて明日は Akkieeffect の日本酒クズの話ですね。 冬は、寒おろしはすごくうまみがあるし、新酒しぼりたては刺激的だし、日本酒がおいしい素晴らしい季節ですよね。 どんなお店を紹介してくれるのか楽しみです。

『心が叫びたがってるんだ。』(アニメ)を見ました。

(酔っ払ってるし、心が乱れてもうセマンティクスに文書かけないのでプレーンなテキストで書きます)

劇場公開当時ちょっと気になってはいたけど結局見ていなかった、ここさけ。

(たしか、 Charlotteラジオ聞いてて、内山昂輝さんのゲスト回であやねるの「心が叫びたがって」て忙しいんでしょ、みたいな発言から気になってはいた)

dアニメに追加されてて、「お、見ておこ」と思っていたところ 実写映画化されると聞いて、まあ明日も休みだしなあと晩酌しながら見始めた。

以下ネタバレ含む感想なので、実写映画観に行くつもりの未視聴勢に配慮して区切っておきます。


先に、誤解を恐れずに結論を書きますと、

オタクが見てはいけない作品です。

基本的に 青THE春 しています。

めんどくさいのであらすじは wikipedia とかを見てください。

心が叫びたがってるんだ。 - Wikipedia

ヒロイン[要出典]の成瀬順は、しゃべるとお腹が痛くなる呪いにかかってる系ヒロインなんですが、 オタクのおれらのお腹が痛くなってくるアニメでした。

お腹というか胃とかそのあたりが痛い。胸焼けする。

でもまあね、成瀬順はかわいい。

声豚的にはもうね、水瀬いのり〜〜〜〜〜〜って感じ。

最高です。素晴らしいです。

序盤のあんまりしゃべらない成瀬もかわいいですが、

佳境で

「わたし、坂上くんが好き」って告白して、

「ありがとう、でもね、好きなやつがいるんだ」のあと、

「知ってたよ」

って言うのとか無限リピートできます。

知ってたよって〜〜〜〜〜〜うん知ってたねえ〜〜〜〜〜あああ〜〜〜〜っていう感じです。

まあまずこのラストに向かって盛り上がるはずのシーンで主人公?がヒロインを振るのがどうなんだって思うところですが、水瀬いのりの演技に脳が支配されて、危険を察知できていませんでした。

あと時系列に沿って書くと、ここの間のミュージカルのシーンはとても良いので、どちらかというと、ここまで見たほうがいいです。すばらしいです。ちょっと泣きました。

問題は、ラスト、というか彼ら4人の恋の行末です。

ミュージカルが終わり、片付けの最中、ちょっくら告白してくるわ〜とか言い出す野球部の坊主。

主人公とサブヒロイン[要出典]が「は?」とか言う中、

私は「まじか」って声が出ました。劇場に見に行かなくてよかったわーって思いました。

そして、エピローグのナレーションが流れる中、

(ボイスはないですが)成瀬に告白する野球部と、赤面する成瀬たそ

はああああああ〜〜〜〜〜〜〜

お父さんは!!!!!!内山昂輝以外!!!認めません!!!!!!!!!!!!!!!!!

だってですよ、野球部の坊主っていうのは、オタクと正反対の立場なわけですよ。(元野球部オタクには申し訳ないけど)

学生時代の我々は、ブイブイ言わせてる彼らの遥か下のカーストでひっそりと暮らしてきたわけですよ。

オタクはね、主人公?の坂上くんに自己投影して(ピアノ弾けないけど)、ヒロインの成瀬マジ小動物かわいいって思って見てるんですよ。

そこで、まさかのチア部のサブヒロインとくっつくわ、ヒロインは野球部に持っていかれるわ、

いかに悲惨なエンディングか。

これが仮に Charlotte だったら高城と友利奈緒がくっつくようなもんだぜ??? 正気か??????

(この場合乙坂と柚咲がくっつくのは特に問題ないけど)

はあ〜〜〜〜〜

許せません。

騙されました。

水瀬いのり内山昂輝に騙されました。最悪です。

あの花見てないけど、覚えたぞ長井龍雪監督絶対に許さないからな!

まあ、オタク向けコンテンツでは絶対にありえない終わり方だなと思いました。

ちゃんとヒロインとくっつくか、ハーレム的な終わり方が一般的だからです。

でも、リアリティがあるというか、ああ、高校生ってこんな感じだよなって思うところもあって、 ミステリアスだけど普通の女の子でかわいい成瀬順が、 一気に普通の女子高生になってしまって、なんというか、

幻滅しました。

これはおたくに与えてはいけない感情です。

お腹が痛いです。

オタクに辛い過去を想起させるようなコンテンツを与えてはいけないのです。

これは、R18コンテンツなみに、ゾーニングされるべきです。

つらい!!!!!!!!!!!!!!


いいたいことはたぶんだいたい言ったので、終わりです。

ラティアスまでまだ時間あるので、 Charlotte 見始めました。

dアニメは素晴らしいです。dアニメに罪はありません。

終わりです。

Dvorak いじった

キーレイアウト変更

目的とか

Programmer Dvorak にしようかなと思ったけど、 記号の位置を手で覚えられる自信がなかったので、とりあえず数字段の Shift を逆転してみることにした。

あといずれにせよ QWERTY ⌘ は必要なので、拡張 keyboard layout を作る。

手順

  • ukelele をインストー
  • 適当な bundle を作ったら入力ソースを Dvorak - QWERTY ⌘ にして、 “Capture Current Input Source”
  • いい感じにリネームして、好きに設定する
  • 設定ができたらメニューから File > Install > Install for current user
  • 環境設定のキーボード入力ソースから作ったやつを追加(再起動とかが必要かもしれない)

これで使えるようになる が、デフォルトの入力ソースを消したいが消せない

[2017/7/20 追記]

!!!以下の内容は危険です!!!

ソフトウェアアップデート後の再起動時、パスワード入力が受け付けられず、ポンと鳴る、という現象がありました。 おちついて、電源を長押しして一度終了し、再度起動すると通常のログイン画面になり、入力可能になりました。

[追記終わり]

  • $ open ~/Library/Preferences/com.apple.HIToolbox.plist xcode で開かれる
  • AppleEnableInputSource の中から該当のソースを探して削除する
  • 再起動とかすればいなくなっている

感想

Ukelele よい。 アイコンはキャプチャしたものだと、メニューバーがダークテーマの場合ちゃんと表示されなかったので、自分で作った。

レイアウトを上書きしたとき反映されないことがある。 (一度 Library/Keyboard\ Layouts/ の該当のものを消してからインストールして再起動するのが確実) デフォルトの入力ソースを消す方法が面倒だし少し危険で嫌。

数字段まだ慣れないけどたぶん便利。

DvorakJP 導入

目的とか

やはり「か行」を c で打てないとだめだと思った。

手順

感想

標準の日本語入力をずっと使っていたのでライブ変換がないのに慣れないのとかある。 が、エンターの打鍵が無駄に多かったことに気づいた。

か行はまだ癖でkで打ってしまうので、矯正していかねば(kでも打てるようにしてるけど) 意識してcで打つと気持ちいいので良い。 あと cna で「きゃ」が打てるのとか良い。

広告を非表示にする

Dvorak 3日目

進捗

  • 初めて Dvorak で仕事した
    • 人が少なくて Slack のやりとりは少なかったので、始めるのにちょうど良いタイミングだった(想定通り)
  • 中段はタッチタイピングできるようになってきた
    • タイプしていて気持ちいい瞬間も現れてきた
  • 苦手なキーがわかってきた
    • なぜか迷う: k
    • 押しにくい: q, j, w, v, z
    • 右手なの?左手なの?: x

→ローマ字向け拡張を検討する

困っていること

QWERTY の呪い

  • iTerm だけでなく、エディタとかそれ系全般が QWERTY ⌘ 効かないことがわかった
    • とりあえず強引にキーマップをずらして対応
  • 会社の iMac だと、パスワード入力が QWERTY
    • 家の MBP は一緒に変わった
    • 外部キーボードだと挙動が変わる?
  • VNC で作業するとき QWERTY
  • 指が QWERTY と混ざるようになってきた

→上のレイヤーで配列変えられないか要調査 (ラップトップで作業したい時も多いので、ハードウェアで解決はなし)

その他

  • shell 操作が手癖で打てない(ローマ字入力の遅さよりフラストレーション強い)

→ .zshrc .vimrc .tigrc .tmux.conf いじる

  • 力が抜けていないためか、肩とか腕とか薬指が痛い
広告を非表示にする

Dvorak 1日目

はじめに

GW なので、 Dvorak に挑戦してみることにしました。

きっかけは会社の人絡みです。

qwerty とは十数年来の腐れ縁ですが、この先、脳をコンピュータに直結して仕事ができるようにまでの間、できることなら手指への負担をやわらげたいものだと思い、 またゲームのキーアサインを変えるようなものだと思えば、しばらく頑張ればそれなりのリターンはあるはず…という考えからです。

環境構築

mac の話です。 私は普通の「日本語」を使っているので、 システム環境設定 > キーボード > 入力ソース > 日本語 > 英字のレイアウト: から、 「Dvorak - QWERTY ⌘」(コマンドキーを押している間は qwerty 配列になるやつ= ショートカットは今まで通り)を選択。 f:id:noir_neo:20170430001139p:plain

以上!簡単!

ちなみに、最終的には Programmer Dvorak まで行きたいなーとは思ったのですが、まずは基本からにしました。

iOS の話は、疲れたのでまた今度書きます。まあアプリ入れるだけです。

配置表の表示

ターミナルの背景画像とか、スクリーンショットを前面にフロートさせるアプリなど試行錯誤しましたが、 キーボードビューアという素晴らしい存在に気づき、画面右下に常駐させることにしました。 f:id:noir_neo:20170430001232p:plain

練習メニュー

今日は Twitter をしていただけですが、なんとなく雰囲気はつかめてきました。

いい感じだなって思い始めていること

ホームポジションが(比較的)守られている

(単に配列を変えた直後だからかとは思いますが…) 私はもともと運指がめちゃくちゃなのですが、 今めっちゃ全ての指でタイピングできてます。 このまま矯正できるように頑張りたいところです。

母音が左手中段に揃っている

ローマ字は基本的に、右手→左手の順でタイプできるので、リズム感は心地いい気がします。 ただ、 o がどういうわけか、まだどうしても苦手です。 あと「か行」が辛いです。

困ったこと

パスワードが入力できない

PCのロックをいかに手癖で解除しているかということがわかりました。 ロック画面だと、前述のキーボードビューアが表示されないので、大変です。

腕が疲れる

慣れないタイピングのせいか、ホームポジションが守られているためか、左腕が特にしんどいです。 真ん中で割れているキーボードの良さそうみがわかりました。

まとめ

ほぼタイピング練習のための記事なのでまとめることもありませんが… 他のこともしながらですが、3時間くらいかかって書きましたが、初日としては(だから?)かなりいい感じに楽しんでタイピングできてます。 GW明け、無事移行できているのか、投げ捨てているのか、お楽しみに(?)

広告を非表示にする

cocos2d-x の NO_BORDER で天地中央

諸事情により cocos2d-x に手を出して、ここ2、3日で C++ をほぼ初めて書き始めている。

C++ 難しい話はともかく、 cocos の座標系がやばいので覚書。

端末ごとの画面サイズ(というよりもアスペクト比)の差異を吸収する方法のひとつに ResolutionPolicy::NO_BORDER というのが用意されている。比率は保持して縦横どちらかにはみ出すやつ(cssbackground-size でいうところの cover 的な?)

この状態で画面の中央に配置するのにちょっとハマった。

Size size = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();

// layer->setPosition(size/2);
// では期待した挙動をしない(上下にはみ出す画面サイズの端末だと、下寄りになる)

Vec2 center = Vec2(size.width/2+origin.x, size.height/2+origin.y);

layer->setPosition(Vec2(center.x-layerSize/2,
                        center.y-layerSize/2))

早速ブレークポイントを使った。

Visible という名前からもう少し察したかったと言えば、それもそう。

この問題に関連したりしなかったりして ignoreAnchorPointForPosition とかいうのもあるけど、これはもっとややこしくてまだ完全に理解できていない… いっそ生 OpenGL のほうが座標系はそこそこ理解しているつもりなので書きやすそうである(感想)

これ系のネタでまた書くかも。