productivity

右Altが要らないのでPoeを呼ぶショートカットに使う

いつもの右Alt狂ポスト。備忘も兼ねてショートエントリー。

Poeのデスクトップ版は、グローバルキーボードショートカットがあって、特定キーを押すと自動で前面にPoeが出てくるようにできる。この手のショートカットの厄介なのは、他のアプリケーションと組み合わせが被ってしまう可能性があるところだ。そこで、いつもの如く右Altを利用して「他と被らないキーボードショートカット」を実現する。Poeに限らずこの手口は応用が利く。

作戦

右AltベースのショートカットをAutohotkeyでまた別の組み合わせにマッピングする。

まずは右Altを謎キーコードに変えておく必要がある。

謎キーコードと化した右AltをPoeのショートカット設定画面から入力しても何も反応しない。なので、設定したいショートカット(右Alt + バックスラッシュ、など)が絶対に他と被らないようなキーの組み合わせとなるようにAutohotkeyを使ってマッピングする。私はよくF13以降のファンクションキーを使う。今回はWin/Cmd + Ctrl + Alt + F18とした。普通のキーボードにF18なんか無い。

sc159 & \:: Send, ^#!{F18} ; Shortcut assigned for Poe

そして、先程のPoeの設定画面に戻って、右Alt+バックスラッシュを入力すると、

できた!これで、いつでもPoeが呼び出せる。

関係無いけどGemini-Proってレスポンスめちゃくちゃ早いですね。

Posted by 効率化好きな人 in productivity, 0 comments

GPT-4他AI軍団にMBAエッセイを校閲させる

ここ最近パートタイムの海外EMBAを受験していて、GPT-4など生成AIの進歩が著しいので、MBAエッセイの校閲をさせてみた。感想から言うと、MBAカウンセラーの仕事の5割くらいは代替出来てしまうのではないかと思った。(一方で、残りの5割位は、未だ専門家のサポートを依頼する価値が明らかな領域だと思う。)

AI軍団ことPoeについてはこちらを参照されたい。Poeを契約してAI軍団と友達になる

AI先生にエッセイ添削をお願いする方法

PoeではChat GPT, GPT-4の他に、Claude2というAnthropic社の開発したライバルAIが使える。実際の所これを試してみたくてPoeを契約した。

その他、GoogleのGeminiやMetaのLlamaなどを利用できる。
利用の仕方は簡単で、テキストをベタ打ちするか、Wordファイルをアップロードして、Review this essayなどと聞けばいい。

Claude2は、過去の会話の文字数をかなりたくさん覚えていてくれるのはポイントが高い。B大学のエッセイ執筆中に、「A大学の時に使ったあのネタ使えるかな?」のように会話ができる。GPT-4だと、まだそうもいかなくて、時々会話がかみ合わなくなって、「え、さっきの話忘れちゃったの?」みたいな時がある。ということもあり、スレッドをEssay Master、と名付けて、Claude2を自分の専属エッセイレビュアーとした。私の推しである。

エッセイを添付して、Proofread this essay for the university of XXX MBA program, などと聞いてみる。

coincidentlyとcoincidentallyの違いなんか知らなかった。

数秒以内に、カタカタとフィードバックをくれる。外部の英文校正サービスは数日かかることも普通だから、このスピードは驚異的だ。私はエッセイ添削専門家の指導も受けたが、しょぼいミスはこれで大分事前に潰せたので、時間とお金の節約になったと思う。

Poeでは前述の通り様々なAIが利用できる。有料契約すれば制約無く使えるし、ってことで、せっかくなのでProofreadには各社のAI全てを利用すると、AI巨人達にエッセイをフルボッコしてもらえる。

注意事項 – やっていいことといけないこと

これはMBAエッセイだけではなくて、論文作成を手伝ってもらう際なども同じだろうが、以下の様なDo’s and don’tsがあるとおもう。

  • Do’s
    • 文法エラー・用法の不自然な単語をチェックしてもらう
    • 文字数制限が厳しい際に、とある文をもっと短く言う方法が無いか検討する
    • 全体的な流れに不自然なところが無いかフィードバックをもらう。(Paragraph同士のつながりが明らかになっているかなど。)
      • E.g., Would it flow well if I rephrase ~~~ to ~~~?
    • とある個人的な経験を、エッセイ設問の趣旨に合致する形で利用できそうか、ディスカッションする
    • Optional Essay向けのネタが、Required Essayとのバランスを鑑みたときに、付加要素になりうるか、ディスカッションする
  • Don’ts
    • ネタを考えてもらう(言語道断、というか無味乾燥したものしか出てこないので、これをすると多分結局落ちる)
    • 言われたことを丸呑み・コピペして自分のエッセイにする(多分自分のwriting styleとの間に変な違和感が出ると思うし、時々同じ質問をしてもAIは異なる回答をしたり、間違えたりすることもある。)
    • 文字数をカウントさせる(何故かどのAIモデルも上手にできない。。)
    • 人間へのレビュー依頼を省略する(専門家サービスでもMBAホルダーの友達でもいいから見てもらった方が良い)

まとめ

AIにエッセイ添削させよう。私の推しはClaude2先生。

Posted by 効率化好きな人 in productivity, 0 comments

Poeを契約してAI軍団と友達になる

ChatGPT, Claude, Llamaなど、いろんなAI/LLMが出現している。乱立してて混乱するが、自分はPoeを有料契約してみた。以下の様な人にはPoeがお勧めだと思う。

  • どれを使ったら良いか分からない
  • GPT-4使ってみたいけどChatGPTPlusがWait list状態で有料加入できない
  • なんか色々試してみたい(漠然)(自分はこれ)

有料会員は3000円/月するが、ChatGPT Plusが20 USD/月なので、今のクレカレートだと同じくらいだ。また、GPT-4, Claude2, DALL-Eなど、様々なAIサービスが利用できる。さながらAI軍団といった感じだ。

(追記20131228: いつのまにかGoogleのGeminiも追加されていました。)

AI軍団、知の巨人達

私は専らGPT-4とClaude2を使って、仕事のアイディアや、リスクをブレストしたり、英文の校閲をしてもらったりしている。

(追記: エッセイを添削してもらうことについて、別記事を書きました。 GPT-4他AI軍団にMBAエッセイを校閲させる

ちょっとずつ、AIにも癖があるのが分かって面白い。しかし、文章を書くという目的ではClaude2はかなり優秀だと思った。要らんこと言わないし、的を射たアドバイスをもらえることが多いように思う。GPT-4はなんだか少し、杓子定規というか、期待するアウトプットを事前に説明しないと、話がかみ合わないことがある気がする。。

Claude2自体は制限つきながら公式で少し無料で試せるので、気になる人は是非お試しあれ。

追記20231228: 右Altを使ったキーボードショートカットなんかを設定するともっと快適になれる。

Posted by 効率化好きな人 in productivity, 0 comments
Power Automateを使って、夜間の会議予定を妻にGoogle Calendarで共有する

Power Automateを使って、夜間の会議予定を妻にGoogle Calendarで共有する

私は欧州系の会社で働いていて、夕食後の時間の会議がとてもたくさんあるのだが、黙って会議に出ようとすると、妻から「えー今日も会議あるの何時まで?」と小言を言われる。

Office 365のカレンダー上にある会議予定を妻に自動で伝える方法が無いかと思い試行錯誤してみた。

結果としてはPower Automateを使って、Google Calendarに予定を転送することで、やりたいことが実現出来た。

タイトルをマスクしてGoogle calendarに同期。同僚も金曜日だけは同情して手加減してくれている。
LINE通知という方法も編み出した。けどこれは別エントリで記載予定。

前提・要件

手っ取り早くやろうと思ったら、全ての予定を公開Gmailにでも飛ばしてしまえば良いが、会議タイトルに顧客名が入ってたりすると、さすがに家族とは言え丸出しにするのは気が引ける。それに、日中の予定まで送られても妻も困る、というか知ったこっちゃない。

そこで、以下を主な要件として、Power Automateを使ってRPAしてみることにした。

  • Office 365の自分のカレンダーに入っている予定のうち、以下だけを、予定あり、とだけタイトルに入れてGoogle calendarに同期
    • 今日以降7日間のみ
    • BusyもしくはTentativeステータスのスケジュールだけ。Freeは出ない会議だし、通知しない。
    • 専用のカレンダーを作って、夜間の会議予定だけ同期

Google Calendarへの連携

Web版のPower Automateを使う。

引数の準備

まずは範囲指定に使う引数を準備して、更新対象のイベントを拾うためのStart/End dateを収集する。

Start dateには以下を設定。時々24:00-25:00みたいな会議もあるので、1週間のスタートは「今日の午前11時」とした。

addHours(startOfDay(addHours(body('Current_time'),9)),11)

End dateには以下を設定。Start dateから丸7日後。こうすることで、今日のAM11:00から7日後のAM11:00という範囲指定ができる。

addDays(variables('start_time'),7)

既存の予定のクリーンアップ

一度登録した既存イベントの日付や時刻が変わる場合もあるのだが、Google Calendar上一度登録した既存イベントの更新が難しかった。そこで、ワークフローの都度全部消して入れ直すことにした。

Google Calendarエントリの作成

そして改めてイベントを作成する。まずは必要なエントリをOffice365側から取得する。

次に特定のステータスにマッチしたものだけをGoogle Calendarにイベント登録する。私はTentativeとBusyのみを対象にした。カレンダー上Freeとなっているエントリーは無視する。

元々のGet calendar view of eventsでは、丸々一週間分の予定を取得してきてしまっているのだが、前述の通り、同期したいイベントは夜中のものだけである。そこでここのコンディションを使って、Start timeとEnd timeには、取りたい時刻のレンジを入れる。自分は19:30 – 25:00のものだけ絞り込むようにした。

## 19:30 - 25:00 をGMTに換算(-9h)して設定。
formatDateTime(variables('temp_time'), 'yyyy-MM-ddT10:30:ssZ')

formatDateTime(variables('temp_time'), 'yyyy-MM-ddT16:00:ssZ')

絞り込んだら、エントリに対して、Create an eventで適当に属性を埋めてGoogle calendarのイベントを作成する。私の場合はタイトルを”Meeting – Busy”または”Meeting – Tentative”となるようにし、あとからいつ作成されたイベントかわかるようにDescriptionに現在時刻を入れておいた。

これでOK。なお繰り返し頻度は1時間に1回とした。こんな感じで。

Google Calendar側の設定

対象にしたGoogle Calendarのスリードットアイコンをクリックし、「設定と共有」メニューで妻のメールアドレスを登録すれば完了。

結果

毎朝言わずとも、勝手に妻がGoogle Calendarを見て飲み会の日程調整とかの参考にしてもらえることを期待して始めたのだが、、、思ったよりあまり見てもらえず、結局都度確認しているのでした。

Power Automateを初めて真面目に使ってみましたが、なかなか難しいですね。もっとラクな方法があったら教えてください。

Posted by 効率化好きな人 in productivity, 0 comments

あふw ~全てのファイル操作はキーボードのみで~ 小技コマンド集

wという”愛すべき”2画面ファイラを使うとキーボードから手を離さずに全ての操作を行う事ができる。全てのキーの機能を変更可能なので、発想次第でとてもいろんな事ができる。

以前はあふ wikiという有志のページがあったのですが、消えてしまったようなので、備忘と感謝をこめて。

気が向いた時に適宜更新します。

別のアプリケーションにジャンプ

今開いているフォルダをコマンドプロンプトで開く

cmd.exe /d $P\

今開いているフォルダをgit bashで開く

{git bash 保存先}\git-bash.exe --cd="$P"

2つファイルを選択して、Winmergeで比較する

{winmerge保存先}\WinMergeU.exe /e /x $MF $mO

ゴミ箱をひらく

Explorer.exe /e, ::{645FF040-5081-101B-9F08-00AA002F954E}

ファイル操作

ファイル名を指定して0バイトの空ファイルを作る

cmd.exe /c type nul > "$P\$I"File Name""

ちなみに$Iで入力ボックスが開きます。

Posted by 効率化好きな人 in productivity, 0 comments

右Altが要らないのでGoogle翻訳ショートカットに使う

Windows限定ながら、どのアプリケーションからでも1発でGoogle翻訳(またはDeepL)に遷移する方法をまたまたAutoHotKey + 右Altで実現する。紹介する方法は英⇒日のみ想定しているが、逆もやれば出来ると思う。

翻訳したい英文をCtrl+Cでクリップボードにコピーして、右Alt+Tで、Google翻訳にジャンプ、という2手で目的達成。

伝統の右Alt狂シリーズです。

事前準備

Google翻訳も、DeepL翻訳もURLに文字列を渡すことで、翻訳画面にテキストがプリセットされた状態を実現できるので、これを利用する。

右Alt活用のため、キーコードを事前に変更しておく必要がある。

Autohotkeyも使うので適宜インストール。

Autohotkeyのスクリプト設定

私は英文契約書を書いたり、海外とやりとりすることが多いので、最近は専らDeepL派である。ということで、

右Alt+TならDeepL、右Alt+TT(連打)ならGoogle翻訳、となるようにスクリプトを作成した。TranslateなんでとりあえずT。

文章中に/が入っていると上手くパラメータを渡すことができないのでDeepLのときだけ追加でエスケープしている。

; Google translate from clipboard
sc159 & T::
	en_text := LC_UriEncode(CLIPBOARD)
	Keywait, T, U
	Keywait, T, D T0.3
	if (ErrorLevel) {
		en_text := StrReplace(en_text, "%2F", "%5C%2F")
		Run,https://www.deepl.com/translator#en/ja/%en_text% ; DeepL Translator if T is single-pressed
	} else {
		Run,https://translate.google.co.jp/#en/ja/%en_text% ; Google Translator if T is double-pressed
	}
Return
; ------------- Methods --------------
; Reference http://goo.gl/0a0iJq
LC_UriEncode(Uri, RE="[0-9A-Za-z]") {
	VarSetCapacity(Var, StrPut(Uri, "UTF-8"), 0), StrPut(Uri, &Var, "UTF-8")
	While Code := NumGet(Var, A_Index - 1, "UChar")
		Res .= (Chr:=Chr(Code)) ~= RE ? Chr : Format("%{:02X}", Code)
	Return, Res
}

私は英語を自分で書いて、日本語に変換してレビュー、という目的でしか使わないので、日⇒英のスクリプトは作っていないが、上記URLのenとjaを入れ替えれば多分逆方向もできるんじゃないかな。(適当)

まとめ

右Alt+Tでクリップボードの値をGoogle or DeepL翻訳。

それにしてもDeepL賢すぎます…

Posted by 効率化好きな人 in productivity, 0 comments
右Altキーが要らないので違う使い道を考える – Vim風カーソル移動編

右Altキーが要らないので違う使い道を考える – Vim風カーソル移動編

Windowsのキーボードに存在する右Altキー。全く使わないものの、ホームポジション上自然と親指が当たるところだし、位置的にはかなり美味しい。
そこで、特殊モディファイアーキーとして利用することで、幸せになれる使い道を考える。

幸せになれる使い道

唐突だが早速、右Alt + hjklで、どんなアプリケーションでもVim風にカーソル移動できるようにしよう。

Vim的カーソル移動の最大の利点はホームポジションから移動せずにカーソルを動かす事が出来る点にある。右Altは前述の通り親指で操作が可能なので、これが実現出来れば、矢印キーに指を持って行く必要が無くなる。

ノートPCならまだマシだが、以下の図のように、据え置きのフルサイズキーボード使ってるとカーソルが余りに遠い。

HHKBのような玄人キーボードはホームポジションから動かさずカーソル移動が出来るように考えられているが、アレはアレでユーザを選ぶ。

https://commons.wikimedia.org/wiki/File:ANSI_Keyboard_Layout_Diagram_with_Form_Factor.svgより借用

まあものは試しって事で、実際に設定してみよう。

実現方法

実現方法は、大きく分けて2ステップからなる。

  • キーマッピングの変更
  • Autohotkeyのスクリプト追加

右Altキーマッピングの変更

AltキーをAltキーのままにしておくと、hjklを押下したときに、Alt+hなど既にありそうなタダのキーボードショートカットが発火してしまう。ので、まずは右Altキーを、通常のキーボードレイアウトに存在しないキーコードに変えてしまおう。

オススメはChange Keyというツールを使う方法。詳しい人はレジストリから直接弄ってもいいです。(Change Keyを使っても結果的にレジストリが書き換わってるので、いずれも自己責任)

右Altを選んで、0xe059を直接入力する。

参考にさせて頂いたのはこちらのブログ。こちらの作者さんはIMEの切替キーとして利用されています。

再起動すると、右Altは0xe059として生まれ変わる。

Autohotkeyの設定

Autohotkeyのスクリプトに以下を書き込む。右Alt + Spaceで全角半角切替、というのも仕込んだが、こちらはあまり使っていない。

sc159 & h:: Send, {Blind}{left}
sc159 & l:: Send, {Blind}{right}
sc159 & k:: Send, {Blind}{up}
sc159 & j:: Send, {Blind}{down}
sc159 & Space:: Send, {vkF4sc029} ; 右Alt+Spaceで全角半角切替

これで、全てのツールをhjklで操作することができるようになった。矢印キーキャップは窓から投げ捨てよう。

なお、Autohotkeyを駆使すると、矢印キー以外にもホイールスクロールとか右クリックメニューとか設定できる。気がついたら私はここまでエスカレートしていた。ホイールスクロールは特にオススメ。

sc159 & 9:: Send, {Blind}{PgUp}
sc159 & 0:: Send, {Blind}{PgDn}

sc159 & `;:: Send, {Blind}{Home}
sc159 & ':: Send, {Blind}{End}
sc159 & /:: Send, {Blind}{Insert}

sc159 & ]:: Send, {Blind}{WheelDown}
sc159 & [:: Send, {Blind}{WheelUp}
sc159 & -:: Send, {Blind}{WheelLeft}
sc159 & =:: Send, {Blind}{WheelRight}
sc159 & o:: Send, ^{WheelDown}
sc159 & p:: Send, ^{WheelUp}

sc159 & ,:: Send, {Blind}{XButton1}
sc159 & .:: Send, {Blind}{XButton2}
sc159 & \:: Send, {AppsKey}

まとめ

Change KeyとAutohotkeyの組み合わせで、矢印キーを二度と触らなくても良くなる。

ついでにHome/Endとかホイールスクロールもホームポジションで制御出来るようになる。

そして、クリエイティビティ次第で、右Alt + 何か、という無限の可能性が生まれる。

Posted by 効率化好きな人 in productivity, 0 comments
あふwとEverythingを連携して、ファイル検索をキーボードだけで完結させる

あふwとEverythingを連携して、ファイル検索をキーボードだけで完結させる

あふwという2画面ファイラと、Everythingというファイル検索ツールを連携する方法を備忘録兼ねて記載。

背景・やりたいこと

あふwは単体でも充分立派なソフトウェアで、フォルダ内の前方一致とかマスク検索であれば、単体でもできてしまう。しかし、部分・後方一致をしたり、フォルダジャンプ、となってくると、外部のツールを使いたくなってくる。

そもそも私があふwを知ったきっかけとなるこちらのブログではFenrirというツールが紹介されていたりもするのだが、(もう10年以上前の記事ですかー年取ったなー…)

せっかくなので、自分の好きなツールを使おう!

あふw側の設定

まずはあふwでファイルを探しに行くための設定をする。

{Everythingのファイルパス}\Everything.exe
{Everythingのファイルパス}\Everything.exe -search """"$P"""  "
{Everythingのファイルパス}\Everything.exe -search "parent:"""$P"""  "

一つ目のコマンドは、何も考えないでとりあえずEverythingを呼び出すときに使う。私はCtrl+Shift+Fに割り当てている。とあるフォルダにジャンプしたいときや、当てずっぽうに検索を始めたいときはこれ。

二つ目のコマンドは、あふwで今開いているフォルダを引数として渡して、その中身だけを検索する時に使う。フォルダまで絞り込めていて、その中身(更に子階層の場合も)を検索したい時はこっち。

とあるGitリポジトリのルートなんかで検索するときはこちらが便利。私の場合Ctrl+F。
末尾にスペースが入ってるところがミソで、これのおかげで、開いたEverything画面上でいきなりキーワードを入力し始められる。コレが無いとまずスペースをEverything側で入力しないといけない。

dotfiles直下で開いてみたパターン

三つ目は、現在のフォルダの中だけから検索したい時に使う。この場合子階層の中身は出てこない。

ここまでで、検索しに行くためのあふw側の設定までが出来た。

Everything側の設定

Everythingの検索結果から欲しいファイルやフォルダを見つけたら、そこ目がけてあふwに戻りたい。そのための設定をEverything側にする。

ちょっとまどろっこしいのだが、Everythingのキーボードショートカットも自在に変更可能なものの、動作については、決められた物から選ぶしかない。ので、少し複雑な設定が必要。

キーは何でも使えるけど、動作は既存のものから選べるだけ。

ぱっと見使えそうなのはOpen PathとかExplore Path。これをWindows 標準Explorerから差し替えられれば良さそう。

コンテキストメニューを設定する

と言うことでまずContext Menu設定画面からこのような設定をする。

$exec("{あふwのパス}\AFXWCMD.EXE" -l"%1")

Open Pathというメニューのコマンドに上記を設定する事で、「Everythingでカーソルが当たっているファイルのフォルダをあふwの左窓で開く」が実現出来る。

しれっとあふこまんどを使っています。公式サイトからダウンロードください。

同じ要領で、Explore Pathのコマンドに以下を設定しよう。

$exec("{あふwのパス}\AFXWCMD.EXE" -r"%1")

キーボードショートカットを設定する

上記ができたら、Keyboardメニューに戻って、好きなショートカットを設定しよう。

Open Pathに対しては矢印キー左(とvimmer的にH)

Explore Pathには、矢印キー右(と当然L)を設定した。

設定できたら、Everythingの検索結果上で実際に左右入力してみて、あふwに戻ってこられるか試してみよう。

結果

ここまでやると、あふw⇒Everything⇒あふwが、シームレスに連携できる。コマンドラインに渡せば何でも出来るのは本当に便利。

Posted by 効率化好きな人 in productivity, 0 comments
Everything 爆速ファイル検索ソフトウェア

Everything 爆速ファイル検索ソフトウェア

Everything (https://www.voidtools.com/)というファイル検索ソフトウェアを紹介

おぼろげにでもファイル名を覚えてたら、無くしたファイルも見つかるかも。

製品特長

ファイル検索ソフトウェアで、キーボード操作派には次の様なメリットがある

  • ファイルパスからもファイル名からも検索が出来て、とにかく早い
  • キーバインド変更可能
  • コマンドラインからの呼び出しと、他プログラムの呼び出し可能(あふx連携に必須)
  • 常駐サービスとして登録できるので、一瞬で呼び出せる

以下はYoutubeで見つけたデモ。インド英語の練習にもなるよ。そんなになまってないけど。

https://www.youtube.com/watch?v=pUQh2DY3kms

操作例

試しにOfficeソフトウェアのexeファイルってどこにあるんだったっけ、、と検索してみた。windowを開いて、”program files office exe”と入力していくと、1文字入力するごとに検索結果が変わり、最終的に以下の様な結果になった。

初期設定

まずは、いつ呼び出してもすぐ検索が開始出来る臨戦態勢になるように、OptionからEverything Serviceにチェックを入れる。

試してないけどLanguage見ると日本語もあるね。

UIセクションで、Run in backgroundにもチェック

あとは検索のさじ加減とか表示形式とか、キーボードショートカットとか変更可能。

あふxとの連携は別記事で記載予定。

まとめ

Everything というツールを使うとwindows explorerのファイル検索には戻れなくなる。

インストール不要なのも素敵。

Posted by 効率化好きな人 in productivity, 0 comments
クリップボードの履歴をWin + V で呼び出す

クリップボードの履歴をWin + V で呼び出す

短めの記事。Windowsのクリップボード拡張機能。

Windows 10時代にリリースされてしばらく経つ超便利機能であるものの、まだあまり知られていない気がするのでシェア。

URLをコピーして、貼り付けてー、画像をまたコピーして貼り付けてー、といった作業を繰り返していると、「あ、、一つ前にコピーした内容をまた貼り付けたい…」と思うことたくさんあると思う。そんな時にWin + Vを押下してみると…

ちなみにスクリーンショットはWin + Shift + Sで取れる

なんとこれまでCtrl + Cでクリップボードにコピーした履歴が一覧表示される。過去コピーした内容をペーストしたい場合はこの中から選べばOK。

画像も履歴に残るし、ピン留めも出来るし、これで満足。クリップボード拡張ソフトは最早不要である。


Posted by 効率化好きな人 in productivity, 0 comments