読者です 読者をやめる 読者になる 読者になる

つらねの日記

プログラムの進捗やゲームをプレイした感想などを書き連ねる日記。

vimperatorで/検索するときにエラーが出るやつ

まえおき

vimperator、firefox51?くらいからめちゃくちゃ調子が悪かった。 タブ系統が全滅している問題は解消されているっぽかったけど、/で検索するたびに、TypeError: findbar._setHighlightTimeout is not a function的なエラーが出るのがうざかった。 まあ、エラー出てるけどn押せば一応検索は出来るし、まぁいいかな感があって放置していた。 というか、/で入力しおわる度に何故かEnterキーを二回押さないといけないの不便すぎてアレ。

issue

github.com まさにこれっぽい。

-set hlsearch
+set nohls

vimperatorrcをこうしたら出なくなった。というかhlsじゃないのにハイライト表示されているので、 何のためのオプションだったんだという感じがある。

そのた

:messすると他にも色々出てたりしたので、それもちょっと直した。 StatusLineSecure, StatusLineExtended, StatusLineBrokenのハイライト三種盛りがnot foundとなっていたので、これもコメントアウトした。

vimppmが入っていないと怒られていたので手動で入れた。自動化するべきだと思う。 というか、caret-hint.jsしか入れてないし、結局使ってないので必要無いかもしれない。

fishを始めようとしたら詰った

自分用のメモ的なアレ

.config/fish/functions内のファイルが自動で読み込まれるっぽいので、 そのなかに今まで分離管理していたaliasとかoptionとかpromptとかを入れれば すっきりするなって思って、手始めに.config/fish/functions/alias.fishを作った。

そしたら無限に以下のエラーが画面を埋め尽した。

<E> fish: Could not autoload item 'alias', it is already being autoloaded. This is a circular dependency in the autoloading scripts, please remove it.

やばい。

なんか駄目っぽいので、やっぱ自動で読みこまれるわけじゃないのかと思って、 function内のファイルはそのままに、.config/fish/config.fishにaliasを書いていたら 悪化した。

やばい。

似たようなことで困っている人が全然いなかったので困った。 GitHubのissueとか見ても別にaliasが使えないとかはない。

なんとなく眺めていたら、typeとかaliasとかで調べろ的なのが書いてあって、 でもたぶんそれとは関係ないと思うけど、 function内にalias.fishを置いていることが原因なんじゃないかなって思って、 rmしたら案の定動くようになった。

こういうのって、大体とか付ければ大丈夫なんでしょって思って、 alias.fishにしたけど、_aliasという関数が定義されたことになるだけだった。 定義はされていて補完もされるけど、whichもtypeもfunctionsも何も返してはくれなかった。 別に支障はなかろうが、ちょっと気持ち悪いので、config.fishに書こうかな。

愉快な鬼ごっこの出現条件

まとめ

メインクエスト64章

なりゆき

グラブルを最近やっている。 シエテをお仲間に引き入れたくて、七星剣をちまちま強化していたのだけれど、 虚ろな魂が必要になった。

これの入手方法的なのを探すと、 霧に包まれた島、22章の愉快な鬼ごっこがいいよという記述を良くみる。 でも自分の22章を見てもそんなクエストはない。 まあとりあえず、必要分は少なかったので、他のクエストをやった。

でも流石におかしいと思って、調べてみればメインクエストが出現条件なんじゃないか みたいな分をみた。 でも、どこまで進めれば良いのかとか書いてない。

きれそう。

しょうがないので、ちょっと進めることにした。 今はメインクエスト半額だし、ちょうど良いし。 この前の半額で63章まで

と思って、64章をクリアしたらクエストが追加されました的な文章が出てきた。 みたら追加されてた。 これで虚ろな魂ゲットだぜ。

でもあと一個だけだったとかなんか悲しみの極みという感じだ…

新年とRubyとQuine

まえがき

新年あけましておめでとうございます。あまりにも寒すぎて、布団がもう一枚欲しくなる季節ですが、如何お過ごしでしょうか。

新年になるとよく交換されるものとして年賀状があります。今年はプログラマブルな年賀状のアイディアが突然舞いおりたので、いままでと趣旨を変えて、それを作って送ったのですが、よくよく考えると、これ見て喜べるのって、理解できる人だけなんじゃないかなというか、わからなかったらただの年間違ってんじゃないか?みたいなものだったので、今では反省してます。後悔はしていないので、公開もします。

年賀状

f:id:turane_gaku:20170102223357j:plain

見てわかる通りのAAである。これだけ見たら、完全に去年用の年賀状じゃんかと言われかねないが、この文字列はもちろん適当に並べているわけではなくて、ちゃんと意味のあるものなのである。

Quine

クワイン(英: Quine)は、コンピュータプログラムの一種で、自身のソースコードと完全に同じ文字列を出力するプログラムである。 クワイン (プログラミング) - Wikipedia

それをAAにしたり、色々な工夫を凝らしたりする文化がある。 以下のような本もあったりしてめっちゃ面白い。

mame.github.io

年賀状の文字列もこのQuineになっていて、実行するとその真の力を現わすようになっている。

実行結果

Before

gist.github.com

After

$ ruby nenga2016.rb
eval$s=%w(y=""<<32;c=y*2+"###(
c)"+y+"ghenar_tnxh".tr("a-z","
n-za-m")+y+"1k1".to_i(36).to_s
          +"      ##
          #"      ;o
  ="";j=-1;e="eval$s=%w("+($
  s*7);"000ov3ov3cn5cn5ijhij
  hi      jh      cz      xi
  y9      iy      lc      n5
  cn      5i      yl      iy
  lc    n5cn      5".scan(/0
  |.{3}/                  ){
  |n                      |q
  ="";0.upto(14){|i|2.times{
  q<<(n.to_i(36)[i]>0?y:e[j+
  =1                      ])
  };                      };
  o<<q.rstrip<<10};o[-7,6]="
  ).join";o<<c;puts(o)).join
  ###(c) turane_gaku 2017###

なんということでしょう。過去のものとなったは消えさり、新たにが現われました。

このを実行すると、に戻ったりはせずに、を生成する。時間は常に一方方向にしか流れないのだ。

あとがき

年賀状を印刷してから、shebangを上に書けば良かったなぁと思いました。 あと、年賀状を送った人達のなかで、Rubyを知らない人にはすまない、本当にすまない。

Quineを作るに当っては、ここがめっちゃわかりやすかった。初心者にも優しい。超絶技巧のソースコードは完全に超絶技巧すぎて辛かった。 d.hatena.ne.jp

Karabiner の windowname_only に和名を使うには

まえがき

Karabinerを愛してやまない皆さんこんにちは。便利ですよねKarabiner。 今回はKarabinerのFilter: Specify window name (window title)に平仮名や片仮名、漢字を使う方法を模索していきたいと思います。

結論

<windownamedef>
    <name>nihongo</name>
    <regex>日本語</regex>
</windownamedef>

<item>
    <windowname_only>nihongo</windowname_only>
    <autogen>
    ...
    </autogen>
</item>

文字化けで死んだ

KarabinerにはonlyというアプリIDのみならず、windowname_onlyという機能もある。 それによって、特殊な設定を施したいと思った。

しかして、そういった設定を行なうと思ったところ、windownameが日本語だった。 これ大丈夫なのかなぁと思いながらもやってみたところ、やっぱりだめだった。f:id:turane_gaku:20161225141702p:plain

そういえば、なんでこういった文字化け的なやつって、普段使わないような漢字な感じなんだろうなぁ。 別に三々手拍的に普段使うような漢字で化けても罰は当たらなわけじゃないですか?

文字コード的な話か?

無論、一番最初に疑ったのは文字コード的な話で、set fenc=utf-8を叩き直してみたり、xml宣言を<?xml version='1.0' encoding='UTF-8'?>にしてみたりした。 でもやっぱり駄目。どうしても謎の文字列によってエラーを吐いてしまう。

というかそもそも<name>で日本語を使えてる時点でその線はないんだよな。

Profilesで解決できるわけがなかった

検索技術が低いのか探せど探せど、あまりにも出てこないので、諦めてProfilesで解決することにしていた。 設定が一つだけ異なるProfileを用意することで、切り替えて使う方法である。

しかしながら、人間は面倒くさがる生き物でそれを切り替えることを忘れてしまう。 windownameが他のものになったときには、動作を逆に阻害するような設定だったので、腹立たしくなって、もういっそ無効にしてしまっていた。

サンタからの贈り物だ

ところで今日はクリスマスみたいですね。まあだからと言って何かが変わるわけではないのだけれど、(色々安くなっていたりはする)なんか良くわかんないけど、なんかこれ使うといいんじゃないかなって思って上手くいった。

ふとprivate.xml Reference Manual - Karabiner - Software for OS Xを見てみるとwindownamedefとかいう機能があるらしい。

今までは知らなくて、

You can use them without in private.xml.

な使い方しかやってなかったのだが、それをしてみたとたん、エラーもなくめっちゃ上手く動作するようになった。正規表現とか使ってないけど、regexを使っていてちょっともったいない気分である。

<windownamedef>
    <name>nihongo</name>
    <regex>日本語</regex>
</windownamedef>

<item>
    <windowname_only>nihongo</windowname_only>
    <autogen>
    ...
    </autogen>
</item>

おわりに

今回はKarabinerのwindowname_onlyを設定するときに、windownamedefを使うことで、日本語のwindownameを設定する方法も模索した。

今回の件から学ぶべきことは、ドキュメントはちゃんと読もうという話だ。 でもLanguage > Japaneseで期待させておいて、変わるのがメニューだけっていうのはあまりにも酷だと思う。

最高のキーバインドで腕が動かなくなるまで

はじめに

この記事はFUN Advent Calendar 2016 - Adventarの18日目の記事です。 昨日はPythonおじさんでした。明日は妹のパンツのヒトです。

パソコンを操作している人を見てると、マウスに手を伸ばし、キーボードに戻し、ホームポジションから十字キーに手を出すなど、腕を上下左右縦横無尽に忙しなく移動させている様が散見される。 CHUNITHM AIRをやっているわけでもないのだから、 そんな労力はかけなくてもいいんじゃないかなと思うわけだ。(CHUNITHM AIRは片手で数えるくらいしかやったことないです。)

本記事では、パソコンの設定をあんまりしていない人向けに、パソコンのキーバインドを出来るだけ手を動かす必要がないように変えるために設定した記録を書き記す。

0. 便利ショートカット

アクティブウィンドウを切り替えるためにキーボードから手を離す人は多い。⌘TABや⌥TABを覚えることで、その無駄を軽減しよう。 複数の操作スペースを作ることで、室内の玄関には靴を置き、本棚には本を置くなどのようなアプリケーションの配置整理を行う手法も有効である。

効果 OS X Windows
アクティブウィンドウを変更 ⌘Command + TAB ⌥Alt + TAB
操作スペース作成 ⊞Win + ⌃Ctrl + D
操作スペース移動 ⌃Ctrl + →, ⌃Ctrl + ← ⊞Win + ⌃Ctrl + →, ⊞Win + ⌃Ctrl + ←

OS X の場合、簡単にスペース移動のバインドを変えることが出来るので、⌃⇧HLとかにしておくと便利

1. CAPSLOCKを殺せ

まず第一に、最も押しやすく、最も使わないキーがある。

続きを読む

ソフィーのアトリエのためのツールを作りなおした

前置き

知らない間にフィリスのアトリエが発売されていたみたいですね。 シャリーのアトリエがまだクリアできてないので、そっちを先にやらないとっていう感じだけど。

social.gust.co.jp

で、そういえば、昔ソフィーのアトリエのための経路探索ツールを作ったなぁと思いだした。 見返してみたら、やりたいなと言っていること何一つやっていなかったのだけれども。

turanegaku.hateblo.jp

ゲームをPSVitaでやっていると、パソコンをつけるのが億劫になることがある。携帯でこういったの使えたら便利だなぁとか思うわけだ。

続きを読む