まくろぐ
更新: / 作成:

今更ながら谷川流さんの『ハルヒ』を読みました。 さすがスニーカー大賞受賞作(よく知らないけど)、確かに面白かったです。

アニメはちらほら見たことあったのでただの学園ものかと思ってましたが、すごい設定でした。

  • 涼宮ハルヒ … 。世界の創造主。でも自分はそのことに気づいていない。
  • 長門有希 … 宇宙人(ハルヒを監視)
  • 朝比奈みくる … 未来人(ハルヒを監視)
  • 古泉一樹 … 超能力者(ハルヒを監視)
  • キョン … ただの高校生(だけど主人公)

この世がつまらないと思っているハルヒは常に面白いことを求め、宇宙人とか、未来人とか、超能力者とかいないかなぁとずっと探しています。 だけど、彼女は だから少しずつ思った通りに世界が動いていて、すでにそういった人たちを呼び寄せてしまっている(でもハルヒだけは気づいていないし、気づかせてもいけない)。

ハルヒはめちゃくちゃな行動をするけど、その周りはみんな冷静だから妙にバランスが取れてます。 ハルヒはついに世界を破壊して作り変えようとしますが、唯一のただの人間であるキョンが彼女の暴走を止めます。 こんな変わり映えのしない日常こそが、愛おしく大切なものなんだと。。。

ちなみに、第1巻は22年前(2003年)に出たのだけど、いまだに続巻が出ている らしいです。 すごいなぁ。

設定が壮大すぎて謎が多いので、続きを読まないとですね。 ライトなノベルで手軽に読めるので、飽きるまで読み続けてみようと思います。 Kindle Unlimited だとほぼ無料だし。

Sleeping Beauty はちょっとベタすぎだけどね ٩(๑❛ᴗ❛๑)۶

関連記事

更新: / 作成:

昔購入した USB の外付けテンキーボードが余っていたので、任意の URL をブラウザで開くショートカットキーとして活用することにしました(Blender の操作用に買ったのだけど結局使わなかった🙄)。

/p/7v5nd8x/img-001.png
図: テンキーをアプリランチャーにする

最近は様々な AI Chat サービスを使うことが多いので、テンキーの 16 キーに AI Chat 系サービスを割り当て、79 によく見る社内のページを割り当ててみました。 ランチャーアプリを使えばいいじゃんと言われればそれまでなのですが、実際使ってみると思ったより物理的な起動ボタンは便利です。 ランチャーアプリよりも直感的で早いです。 もうこれのためにテンキーボードを買ってもいいくらい(言い過ぎ)。

下記は、Windows の AutoHotkey というソフトウェアを使ってテンキーに処理を割り当てる設定例です。

maku-keyconfig.ahk
#Requires AutoHotkey v2.0

; 指定されたURLを既定のブラウザで開き、Edge または Chrome をアクティブにする
OpenUrl(url) {
    Run url
    if WinExist("ahk_exe msedge.exe")
        WinActivate
    else if WinExist("ahk_exe chrome.exe")
        WinActivate
}

Numpad1::OpenUrl "https://www.perplexity.ai"
Numpad2::OpenUrl "https://m365.cloud.microsoft/chat/?auth=2"
Numpad3::OpenUrl "https://chat.openai.com/"
Numpad7::OpenUrl "https://..."
Numpad8::OpenUrl "https://..."
Numpad9::OpenUrl "https://..."

この .ahk ファイルをダブルクリックして実行しておけば、テンキーの 19 キーを押すだけで指定した URL を既定のブラウザで開きます。 さらに、上のスクリプトでは、Edge または Chrome が起動していれば、そのウィンドウをアクティブにするようにしています(OpenUrl 関数を調整すれば、他のブラウザにも対応できます)。

例えば、Perplexity に何か聞いてみようと思ったら、おもむろにテンキーの 1 キーを押せば、ブラウザで Perplexity のページが開いて入力欄がアクティブになるので、すぐに質問を入力できます。

٩(๑❛ᴗ❛๑)۶ 最強最速!わーぃ

☝️ 別のキーコンビネーションでも起動できるようにする

上記のスクリプトでは、テンキーの 19 キーに URL を割り当てていますが、テンキーがない場合にも使えるように、他のキーコンビネーションにも同じ処理を割り当てておくと便利です。 次の例では、Windows + 1 あるいは Windows + F1 キーでも Perplexity を開くようにしています。 #Windows キーを表します。

maku-keyconfig.ahk
#1::
#F1::
Numpad1::OpenUrl "https://www.perplexity.ai"

関連記事

更新: / 作成:

超高速なテキスト検索コマンド rg (ripgrep) にはずっとお世話になっていますが、ちょっと凝った検索をしようとしたときに、オプションを忘れてしまうことが多いので、チートシートの形でまとめておきます。

Ripgrep チートシート

  • rg TODO
    • カレントディレクトリ以下ですべての「TODO」を検索します。
  • rg "^def add"
    • 行頭が def add で始まる行を検索します(デフォルトで正規表現とみなされます)。
  • rg -F "* + *"
    • 検索文字列を正規表現として解釈せず、そのままの文字列として検索します。上記の例では、* + * という文字列を検索します。
  • rg -i TODO
    • 大文字・小文字を区別せずに「TODO」を検索します。
  • rg -w TODO
    • 単語単位で「TODO」を検索します。例えば TODOSMYTODO はマッチしません(安心してください、TODO: にはマッチします)。
  • rg -C2 TODO
    • マッチした行の前後 2 行も一緒に表示します(-A2 -B2 と指定するのと同様)。
  • rg -c TODO
    • 各ファイルごとにマッチした行数のみを表示します。
  • rg TODO src/main
    • src/main ディレクトリ以下(あるいは同名のファイル)で「TODO」を検索します。 ディレクトリであることを明示したい場合は、末尾にスラッシュを付けます(src/main/)。
  • rg -t py TODO
    • Python ファイル(拡張子 .py)のみを検索対象にします。
    • ここで指定するタイプは拡張子ではなくファイルタイプです。指定できるファイルタイプの一覧は rg --type-list で確認できます。
    • 逆に、特定のファイルタイプを除外したい場合は -T py のように大文字の -T を使います。
    • 例えば、ファイルタイプとして minified: *.min.css, *.min.html, *.min.js が定義されているので、-T minified と指定すると min 系のファイルを除外できます。
  • rg -g "*.{js,ts}" TODO
    • glob パターンで指定したファイルのみを検索対象にします。引数がシェルによって展開されないように、必ずクォートで囲みます。
    • 大文字小文字を区別せずにマッチさせたい場合は、-g の代わりに --iglob を使います。
    • glob パターンの例:
      • -g "*.{js.ts}" … 拡張子が .js または .ts のファイル
      • --iglob "*test* … ファイル名に testTest を含むファイル
      • -g "**/game/**/*.py" … 任意の階層の game ディレクトリ以下の .py ファイル
      • -g "**/game/*.py" … 任意の階層の game ディレクトリ直下の .py ファイル
      • -g "/.*" … この階層のドットファイル
  • rg --hidden TODO
    • 隠しファイル・隠しディレクトリも検索対象に含めます。
    • ただし、ドットファイルだけを検索したい場合は、-g ".*" のように glob パターンを使う方がよいです。
  • rg --no-ignore TODO
    • .gitignore.ignore$HOME/.rgignore などで無視されているファイル・ディレクトリも検索対象に含めます。

どのファイルが検索対象になっているかを調べる

--files オプションを使うと、実際にどのファイルが検索対象になっているかを確認できます。 試行錯誤しながら検索条件を調整したいときに便利です。

  • rg --files
  • rg --files -t js
  • rg --files -t js src/
  • rg --files --hidden
  • rg --files -g "/.*"

具体的な使用例

src ディレクトリ以下で TODO を検索
$ rg -i -w TODO src/

関連記事

メニュー

まくろぐ
サイトマップまくへのメッセージ