2025年1月14日火曜日

AutoHotKey v2 インストール方法

AutoHotKey v2 インストール方法

概要

インストールから簡単な使い方までの流れを紹介します

環境

  • Windows 10
  • AutoHotKey v2

インストーラのダウンロード

https://www.autohotkey.com/ ここから v2 をダウンロードします

インストール

setup の実行ファイルがダウンロードできるので実行します
インストールは管理者権限が必要な全ユーザ向けのインストールと自分のみインストールできるモードがあるので好きな方を選択してください

インストールが完了すると ahk ファイルが実行可能になります
v2 の場合デフォルトだと AutoHotKey Dash と呼ばれる UI が起動しますが閉じてしまって大丈夫です

ahk ファイルの準備

ファイルを作成する場所はどこでも OK です
Dash から作成することもできます

  • vim test_move_mouse.ahk
F1:: {
    CoordMode "Mouse", "Screen"
    MouseMove 1650, 1050
    Click "Left"
    Sleep 500
    MouseMove 1750, 1050
    Click "Right"
    Return
}

ファイルの実行

ahk ファイルを右クリックして「Run a script」で一度実行します
するとタスクトレイにプログラムが常駐するのでこの状態で F1 キーを押すとショートカットとして ahk ファイルが実行できるようになります

Windows が起動してすぐに ahk ファイルをショートカットキーから使いたい場合には shell:startup に ahk ファイルのショートカットファイルを配置しておけば OK です

最後に

ahk ファイルを常駐させればショートカットキーが使えるようになります
あとはリファレンスをみて好きな操作を実装すれば OK です

参考サイト

2025年1月13日月曜日

Cygwin で MS IME の変換がなぜか行われないときの対処方法

Cygwin で MS IME の変換がなぜか行われないときの対処方法

概要

Google IME だとうまく変換候補が毎回出るのに MS IME だと一度しか変換候補が出ずニ回目以降は漢字変換できなくなりました
対処方法を紹介します

環境

  • Windows 10
  • Microsoft IME
  • Cygwin 3.5.5-1

方法

  1. Options
  2. Window
  3. UI language
  4. ja

あとは cygwin を再起動すれば OK です

ワークアラウンド

どうやら大文字数字を入力すると IME と Cygwin の連携がおかしくなるようです
なので大文字数字を入力しないようにするのも手です

IME の変換モードが勝手に無変換になっている

無変換になっていると「あ」「い」「う」「え」「お」および大文字数字が変換されずそのまま入力されてしまうようです
なぜか cygwin を操作していると IME の変換モードが無変換になることがあるのでこれを手動で「一般」に戻してあげるのも手です

最後に

IME が悪いのか Cygwin が悪いのかは不明です

2025年1月10日金曜日

RaspberryPi5で既存のWifiの設定を書き換える方法

RaspberryPi5で既存のWifiの設定を書き換える方法

概要

wpa_supplicant.conf は使わなくなっています

環境

  • RaspberryPi5
  • Raspbian 6.6.51

/etc/NetworkManager/system-connections/preconfigured.nmconnection を編集する

既存のWifiの設定はここにあります
直接このファイルを編集すれば OK ですが念の為バックアップを取っておきましょう

またもし新しいWifi設定が間違っている場合でも既存につなぎ直したい場合には /etc/NetworkManager/system-connections/ に別ファイルとして定義してもいいようです

psk には SSID のパスフレーズを入力しますが平文でも wpa_passphrase コマンドで暗号化したパスフレーズでもどちらでも OK です

再起動

  • sudo nmcli connection reload

ラズパイ自体を再起動しても OK です
一度ネットワークが切れるので再度ログインしましょう

動作確認

  • iwgetid

で変更後のSSIDになっていることを確認しましょう

最後に

RaspberryPi Imager から Wifi の設定するのがデフォルトになりましたがその設定は preconfigured.nmconnection にありました

nmcli でも新しいWifiのアクセスポイントを設定することもできるようです

2025年1月9日木曜日

git で過去のコミットから大きいファイルを探して削除する方法

git で過去のコミットから大きいファイルを探して削除する方法

概要

一度でも間違って大きいファイルを push してしまうと履歴に永遠に残るためその先のコミットで削除してもリポジトリのサイズは小さくなりません
過去の履歴から大きいファイルを削除し force push する方法を紹介します

環境

  • macOS 15.2
  • git 2.47.1

準備

  • brew install coreutils

numfmt コマンドを使えるようにします

大きいファイルの発見

git rev-list --objects --all --missing=print |
  git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
  sed -n 's/^blob //p' |
  sort --numeric-sort --key=2 |
  cut -c 1-12,41- |
  $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest

結果は以下のような感じでコミットハッシュ+ファイルサイズ+ファイル名で表示されます
大きいファイルは対象のコミットハッシュにあることがわかります

c31cede47e3e  741KiB libs/android-support-v4.jar
4ebdaa9ed9f3  972KiB libs/android-support-v4.jar
65adb523789c  6.4MiB app/release/app-release.aab
293e76491255  6.9MiB app/release/app-release.aab
5ffdd4c8a823  8.7MiB cert/pepk.jar
e0b9d9b10a81  602MiB java_pid4972.hprof

対象のファイルの削除

対象のリビジョンをチェックアウトし削除して force push でもいいですがそれ以降のリビジョンにも含まれるのですべてのリビジョンに対して書き換えるのが簡単です

  • git filter-branch --index-filter 'git rm --ignore-unmatch java_pid4972.hprof' --tag-name-filter 'cat' -- --all

先ほど見つけた大きいファイル名のパスを指定して上記を実行しましょう

BFG も実行する

docker run -it --rm \
  --volume "$PWD:/home/bfg/workspace" \
  koenrh/bfg \
  --strip-blobs-bigger-than 100M

filter-branch だと削除できないケースがあったので一応 BFG というツールも実行します
もしかするとこれだけでもいいかもです

BFG はファイル名ではなくファイルサイズで指定するので注意しましょう

gc

  • git reflog expire --expire=now --all && git gc --prune=now --aggressive

pack ファイルなどを削除します

force push

履歴を改変したので force push します

  • git push -f origin master

リビジョンが変わっていない場合は git commit --amend などでコメントを変えるなり reset してリビジョンを変更してから force push しましょう

履歴から大きいファイルが削除されていることの確認

先程の確認コマンドを再度実行して大きいファイルが含まれないことを確認しましょう
また以下のコマンドでリポジトリのサイズを確認しましょう

  • git count-objects -vH

それでもリモート側のサイズが小さくならない場合は

一度リモート側を削除して再度作成し push してみましょう
これでリモート側のリポジトリサイズも小さくなるはずです

ローカル側にもリモート側にも .git ファイルのキャッシュが残っておりこのサイズが大きいとリモート側も大きくなってしまいます
ローカルで小さくできたのを確認できたらリモート側のキャッシュも削除するためにリポジトリを再作成してみましょう

最後に

無料のプライベートリポジトリは大抵の場合ファイルサイズに上限があるので大きいファイルはプッシュしないようにしましょう

参考サイト

2025年1月7日火曜日

Mac で Wifi ネットワークの調子が悪いときにすること

Mac で Wifi ネットワークの調子が悪いときにすること

概要

なぜ調子悪くなるのかそしてなぜこれで改善するのかは不明

環境

  • macOS 15.2

方法

https://www.reddit.com/r/apple/comments/116uxf6/solved_apple_mac_mini_m2_pro_wifi_issue/

要は再起動ではなく電源オフ -> オンをしてみましょうということです

ルータのチャネルを固定する

Mac というよりかはルータの設定の可能性もあります
HG8045Q の場合はデフォルトだと Wifi の各周波数帯が自動になっており不安定になることがあるので Wifi チャネルを 1 or 36 に固定しましょう

最後に

Mac は一度起動すると基本シャットダウンしないので定期的にしましょうということなのだと思います

2025年1月6日月曜日

Mac でウィンドウのサイズ座標を簡単に調べる方法

Mac でウィンドウのサイズ座標を簡単に調べる方法

環境

  • macOS 15.2

方法

Command + Shift + 4

最後に

ウィンドウの最大サイズを調べるときにも使えます

2025年1月5日日曜日

Mac で BlueStacks Air をインストールしアプリを起動する

Mac で BlueStacks Air をインストールしアプリを起動する

概要

Apple Sillicon 上に BlueStacks Air をインストールしアプリを起動するまでの手順を紹介します

環境

  • macOS 15.2 (M2pro mac mini)
  • Bluestacks Air 5.21.660

インストール

まだベータ版です
ここ https://www.bluestacks.com/ja/mac からインストールします

通常の Bluestacks は homebrew でインストールできますが Air は直接ダウンロードしインストールします
ダウンロードした dmg からインストールしましょう

インストールが完了したらアプリーケーション配下に移動した「BlueStacks.app」を起動します

起動すると初回は広告のような動画が流れます
起動すると以下のような画面になります

Google Play へのログイン

必須なのでログインしましょう
ログイン後 Google Play のアップデート処理がかかるので待ちましょう
かなり時間がかかる印象です、1時間は見たほうがいいかもしれません

アプリのインストール

「Search for Games & Apps」から好きなアプリを検索します

どうやらまだ起動できないアプリが多いようです
執筆時点では Pokemon TCG はプレイできませんでした

https://support.bluestacks.com/hc/ja/articles/32942109842061-BlueStacks-AirでPokémon-TCG-Pocketがクラッシュする問題の解決方法

最後に

Apple Sillicon で BlueStacks を動かす場合は Air を使いましょう
ただしまだベータ開発で動作しないアプリがあるようです