[Adobe XD] アートボードを座標を変えずに動かす

[M1 Mac, Ventura 13.3.1, Adobe XD 56.1.12.1]

今まで何回も足止めを食らったのでメモ。

表題の正解は、スペースキーを押しながらドラッグです。キーボードで出来ないというのが大いに不満です。座標を変える場合はoptionと矢印キーです。

AdobeとはUIの感性が合わなくてストレスがたまります。可能であれば少しずつカスタマイズしていきたいです。

話は変わりますが、交感神経が高まる午前中にプログラミングやパソコン作業をしていて流れが止まったりするとイライラが増幅します。

夕食後、副交感神経が優位になる時間帯にこういった作業をすると沸点が高くなるためか、のんびり楽しくできますね。スピードは落ちますが、結果的に成果をあげやすい感じがします。

[Bing-ChatGPT] 日本語変換時に送信させない方法 ATOK

[M1 Mac, Monterey 12.6.3]

Bing-ChatGPTではUserScriptを使ってもEnterキーで送信してしまいます。

そこでATOKのキーカスタマイザを使って”かな”キーで変換確定するようにしました。変換中は”かな”入力に切り替えることはないので問題はないでしょう。

決してジャストシステムの回し者ではないので誤解なきよう。

[C++] SDLでテトリスを作る with ChatGPT

ChatGPTの力を借りながらプログラミングを進めています。

以下エラーへの解決策について有用なヒントをもらえました。

src/IO.cpp:27:2: error: no matching function for call to 'boxColor'
        boxColor (mScreen, 0, 0, mScreen->w - 1, mScreen->h - 1, mColors[BLACK]);
        ^~~~~~~~
/opt/homebrew/include/SDL2/SDL2_gfxPrimitives.h:98:31: note: candidate function not viable: no known conversion from 'SDL_Surface *' to 'SDL_Renderer *' for 1st argument
        SDL2_GFXPRIMITIVES_SCOPE int boxColor(SDL_Renderer * renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color);

一つ目の質問には堂々の誤回答、二つ目の質問には正答を返してきました。回答の中から使えそうな関数をピックアップして解決させることができました。

Google検索のノイジーな情報に惑わされることなくプログラミングに専念でき、素晴らしいの一言です。

本来はSDLのドキュメントを自分で読み込むべきですが、学習初期や急ぎの時はChatGPTでさくっと解決させればいいでしょう。

ソースコードのコメント内にあるバックスラッシュの意味

ChatGPTによるとDoxygenのマークアップ記法とのことです。

このような書き方をすることで関数名や引数をホバリングした際にバックスラッシュ以下の説明を表示できたりします。

これまで様々なソースコードを見てきましたが、このような書き方をしているのは中級以上のプログラマで出現頻度は低めだと思います。

質問:
C++のコメント内に\param,\saのような表現がありますがどういう意味ですか

ChatGPT回答:
C++ のコメント内に \param と \sa のような表現がある場合、それらは Doxygen のマークアップ記法を使用していることが考えられます。

Doxygen は、ソフトウェア開発において、C++ や Java、Python などの言語のソースコードから文書を生成するツールです。Doxygen は、ソースコード内のコメントに特定のマークアップ記法を使用して、文書化する内容を指定することができます。

\param: 関数やメソッドの引数に関する情報を文書化するために使用されます。例えば、次のようなコメントは、関数 foo の引数 x の説明を文書化しています。

/**
 * This is the description of function foo.
 * 
 * \param x The first argument of function foo.
 */
void foo(int x) { /* ... */ }

\sa: 関数やメソッドと関連する関数やメソッドに関する情報を文書化するために使用されます。例えば、次のようなコメントは、関数 foo が呼び出す関数 bar に関連していることを示しています。

/**
 * This is the description of function foo.
 * 
 * \sa bar
 */
void foo() { bar(); /* ... */ }

このように、Doxygen のマークアップ記法を使用することで、より詳細かつ統一された文書を生成することができます。

 [MacOS] “かなキー2度押しで日本語変換”をATOKで実現 / ChatGPTに質問

[M1 Mac, Monterey 12.6.3]

Automatorで作成したJXAスクリプトの挙動が不安定なので、観念してATOK Passportのサブスクを契約しました。Basicコースは月330円です。

ATOKでは2度押し変換できるのですから自分でもなんとか作れるとは思うのですが、Appleネイティブな言語でないと厳しいような気がします。

ChatGPTとPerplexityという強力なAIを手に入れましたので、これらを駆使して何とか作れないか探ってみます。

まあMacOSの日本語入力(旧ことえり)はかなりひどい出来ですから、このままATOKに乗っかってしまうのも悪くはないでしょう。

と思いながらChatGPTに聞いてみると開発方法を即答してくれました。JapaneseInputMethodKitというツールがあるとは知りませんでした。この手のAI出現で最も打撃を食らうのはプログラミング教育業界ではないでしょうか。

先週からGoogle検索の頻度が激減していて、IT技術との関わり方が大きく変わってきています。ポップアップが邪魔なプログラミングスクールのサイトやSEO対策が優れているだけの中身の薄いWeb記事を目にすることもなく、効率的に学習できるようになるでしょう。

知的好奇心が希薄な手合いはチートに走り、意欲的な方は加速度的に力をつけていくようになる。プログラマの能力格差がますます広がっていきそうです。

えらい時代になったものです。私にとっては90年代のIT革命以上、つまり生涯最高の衝撃です。

[MacOS] Microsoft AutoUpdateを取り消す

以下にあるMicrosoft AutoUpdateファイルを削除します。

消していたはずのこのファイルが何かの拍子に復活したりするので困っています。

/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app

2023/8/14追記
新規Macにデータ移行したらExcelをMicrosoftサイトから上書きインストールしないとライセンス認証できなかった。おまけにMicrosoft AutoUpdateが復活したのですぐに削除した。Microsoftのサービスは本当に扱いづらい。勘弁して欲しい。

 [MacOS] “かなキー2回押しで日本語変換”同等機能をAppleScriptで実装 Montereyでも動作

[M1 Mac, Monterey 12.6.3]

Monterey以降ではアルファベットからのかなキー2回押し日本語変換が使えないため、自製のAppleScriptをcmd + opt + zに割り当てています。

Vanturaではうまく動作しなかったのですが、Montereyでは一応動くのでホッとしています。

use AppleScript version "2.5" --  (10.12) or later
use framework "Foundation"
use scripting additions

property NSString : a reference to current application's NSString
property NSStringTransformLatinToHiragana : a reference to current application's NSStringTransformLatinToHiragana

selectString()

set latin to the clipboard

set hiragana to alphabetToHiragana(latin)

set the clipboard to hiragana

pasteString()

henkan()

on selectString()
    tell current application
        tell application "System Events"
            keystroke "ac" using {command down}
        end tell
    end tell
end selectString

on pasteString()
    tell current application
        tell application "System Events"
            keystroke "v" using {command down}
        end tell
    end tell
end pasteString

on alphabetToHiragana(aStr)
	set aString to NSString's stringWithString:aStr
	return (aString's stringByApplyingTransform:(NSStringTransformLatinToHiragana) |reverse|:false) as string
end alphabetToHiragana

on henkan()
    tell current application
        tell application "System Events"
            keystroke "a" using {command down}
            key code 104
            key code 104
        end tell
    end tell
end henkan

[Windows] アプリexeファイルからappxファイルへの変換バッチファイル

アプリ動作確認の際、exeファイルからappxファイルへの変換手作業があまりにもわずらわしいので、バッチファイルを作成しました。

UWPディレクトリ、appxmanifest.xmlやpfxファイルなどをすでに作成している前提です。

最後にwingetコマンドでストアアプリをアンインストールし、新しいappxファイルでインストールします。

@ECHO OFF

copy "D:\code\VC++\Projects\ColorSampleJP\bin\ColorSampleJP.exe" "D:\code\VC++\temp\ColorSampleJP_UWP\ColorSampleJP-3.1.0.exe"
cd/d "D:\code\VC++\temp"
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\makepri.exe" createconfig^
    /cf priconfig.xml^
    /dq en-US^
    /Overwrite
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\makepri.exe" new^
    /pr ColorSampleJP_UWP^
    /cf priconfig.xml^
    /of ColorSampleJP_UWP^
    /Overwrite
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\makeappx.exe" pack^
    /d ColorSampleJP_UWP^
    /p ColorSampleJP-3.1.0.appx^
    /Overwrite^
    /l^
    /nv
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool.exe" sign^
    /a^
    /fd SHA256^
    /f my-sample.pfx ColorSampleJP-3.1.0.appx
C:\Users\[ユーザ名]\AppData\Local\Microsoft\WindowsApps\winget.exe uninstall --name ColorSampleJP --accept-source-agreements
ColorSampleJP-3.1.0.appx

exit /b

Visual Studioにありがちな不具合

無駄な足止めをくらわないよう記録しておきます。
発覚し次第、項目を追加していきます。

1.インクルードに問題がないのに赤色下線が出現する。
これでプロジェクトのプロパティを何度も無駄に確認させられています。
赤色下線が出ていても取りあえずビルドしてみましょう。
この不具合が一番腹立たしいです。

 [MacOS] “かなキー2回押しで日本語変換”同等機能をAppleScriptで実装

[M1 Mac, Big Sur 11.6.8, Ventura 13.0]

“かなキー2回押しで日本語変換”と同等の機能をAppleScriptで実装しました。cmd + opt + zに割り当てています。ただしアルファベットの前に別種の文字があるとそれらを消してしまう仕様になっています。

このスクリプトはBig Surでは動きますが、残念ながらVenturaでは誤動作します。おそらくMontereyでもNGだと思います。

Venturaで”display dialog”コマンド(C言語におけるprintf)を使いAppleScriptの挙動をApple純正・非純正アプリにて検証してみましたが、スクリプトエディタのような純正アプリでもクリップボードへのコピーができない時がありとても不安定です。再現性がないというのは致命的です。

もはやスクリプト言語として開発環境が破綻しているようにも思えるので、AppleScriptとは距離を置くことにしました。JavaScript for Automation(JXA)についてはこれから試してみます。

それにしてもAppleScriptユーザーが率先してこのような状況を発信すべきだと思うのですが、ネットを見渡した限りほぼ皆無というのが実に不思議です。

use AppleScript version "2.5" --  (10.12) or later
use framework "Foundation"
use scripting additions

property NSString : a reference to current application's NSString
property NSStringTransformLatinToHiragana : a reference to current application's NSStringTransformLatinToHiragana

selectString()

set latin to the clipboard

set hiragana to alphabetToHiragana(latin)

set the clipboard to hiragana

pasteString()

henkan()

on selectString()
    tell current application
        tell application "System Events"
            keystroke "ac" using {command down}
        end tell
    end tell
end selectString

on pasteString()
    tell current application
        tell application "System Events"
            keystroke "v" using {command down}
        end tell
    end tell
end pasteString

on alphabetToHiragana(aStr)
	set aString to NSString's stringWithString:aStr
	return (aString's stringByApplyingTransform:(NSStringTransformLatinToHiragana) |reverse|:false) as string
end alphabetToHiragana

on henkan()
    tell current application
        tell application "System Events"
            keystroke "a" using {command down}
            key code 104
            key code 104
        end tell
    end tell
end henkan
Automator設定
システム環境設定 – キーボード – ショートカット