タクティクスオウガ リボーンにハマり、実写ドラマ風の画像を作る

タクティクスオウガ リボーンが面白くて、Switchで毎日のように遊んでいる。

デフォルメされたドット絵や、パッケージの絵柄も好きなのだけど、このゲームは剣と魔法と政治と戦争の作品なので、海外ドラマのゲーム・オブ・スローンズみたいな実写になっても似合うはず。そういう期待を込めてMidjourneyで画像を作って遊んだ。

以上の4つの画像は次のプロンプトで作成した。描いてほしい対象に加えて、どういう画角やカメラアングルなのか実写風なのか絵画風なのか漫画風なのかというスタイルの指定をすると、思い描いていたものが手に入りやすい。

Tactics Ogre: Let Us Cling Together(video game), live-action version, drama by HBO, 2 people, full host, whole body, flag with dragon simbol, on the cliff, photo realistic, high quality

更に少しプロンプトを変更すると、以下のような画像が生成される。

このバタ臭い絵柄、いいですね。

油絵っぽい感じにしようとしたのに、ひとつマンガっぽいイラストになったりして面白い。ゲームの要素が強く出たのだろうか。

プロンプトは以下の通り。

Tactics Ogre: Let Us Cling Together(video game), live-action version, drama by HBO, 2 people, full shot, whole body, flag with dragon simbol, on the cliff, high quality, oil on canvas, detailed touch

自分の好きなゲームや小説を、自分の好きな絵柄でイラストにするというのが、誰でも気軽にできる時代なんですね。すごい。

Obsidian Sync で 複数デバイス間でのノート同期をする

ObsidianはMarkdown形式のテキストファイルを使ったノートアプリです。プレーンテキストが好きな人にはおすすめで、DropboxGoogleドライブなどのファイル同期サービスを使って、複数のPCで使うことができます。しかしモバイルデバイスでの同期には問題が発生します。maciPhoneiPadの場合は、iCloudを使って同期できますが、Androidの場合はDropboxGoogle ドライブを使って簡単に同期する事はできません。

Obsidianは有料のサブスクリプションサービス「Obsidian Sync」を提供しています。これでAndroidでも同期することができます。ただし年払いで月額8ドル(月払いで月額10ドル)の料金がかかります。

obsidian.md

去年の円安で10ドル払うのに躊躇していたのですが、今年に入ってちょうど円高になったこともあり利用してみました。

買うときまで情報が出なかったのですが、学割もあるようでした。40%オフで購入できるみたいです。

初回の同期には時間がかかりました。ファイル名にタブや:を使っていたファイルがあり、同期できないファイルがあるのを見つけました。:が入っていたファイルはScrapboxからインポートしたものでした。

iPadではバックグラウンドで同期してくれないので、初回の同期を終わらせるのに手間取りました。同期中に端末がスリープにしないオプションが設定にあるので、それを最初からやっておけばよかったです。

モバイル版アプリの設定に同期中にデバイスをスリープにしないオプションがある

Obsidian Sync は、ページのバージョン履歴を見れる機能も提供しています。履歴機能は目的ではなかったのですが、うっかり消してしまった内容を復元することができ大変役に立ちました。

1週間ほど使ってみたのですが、スマホでObsidianを使えることは想像以上に便利でした。自前で同期を頑張ることもできますが煩わしい設定も不要で、どのデバイスでもストレスなく使えるのが最高です。

値段はちょっと高めですが、Obsidianを毎日使ってるひとにはおすすめです。

2023年1月9日の日記

副反応

週末は新型コロナのワクチン接種をして、副反応で寝込んでいた。

最近また感染者が増えているから、オミクロン株BA.4-5対応ワクチンを接種できてよかった。

副反応は3回目ほどひどくはなかった。接種から半日後に37.8の熱が出て、それがピーク。1日くらい熱っぽくてだるい感じが続いたけど家でごろごろするには辛いということもない。常備しているアセトアミノフェンを2回くらい飲んで、ゆっくりしてたら大丈夫になった。

ラベルライター

ラベルライターを買った。テプラみたいなやつ。テプラはキングジムで、買ったのはブラザーのピータッチキューブ PT-P710BT というやつ。

QRコードを印刷する機能があるらしく、使いみちはまだあまり考えてないけど、QRコードのシールを作れると便利で面白いかもと思って購入した。

ブラザー ピータッチ ラベルライター PT-P710BT

スマホと接続してアプリから入力できる。キーボードが付いていないので機体がシンプル。

スマホの普及が、スマホ以外のガジェットの形に影響を与えてるのって面白いと思った。一人一台、高機能な入力デバイスを持っている前提なので、その他のガジェットはスマホにのっかることで複雑な機能を排除できてシンプルになれる。

リチウムイオン電池搭載で、USBケーブルで充電できる。Type-Cならなおよかったが、Type-Cは上位モデルのみだった。意外としぶといマイクロUSB。

そんなに場所も取らないので一家に一台あっていいと思う。

2023年1月のいい本

『現れる存在』

タイトルと表紙がかっこいいので買った。

『ALIFE 人工生命 より生命的なAIへ』

『現れる存在』を読んで、人工生命に対する関心が高まっているので買った。表紙の手触り、フォントやレイアウトなどのデザインがいい。

コードは出てこないので実装したい場合は自分で調べる必要がありそう。

世の中ではAI(人工知能)が流行ってるけど、ここに来てALIFE(人工生命)の本を読んでた。

どちらもいい本だった。

「単純なルールで複雑なものをつくる」「個体の単純な動きが、集団として複雑なものをつくる」というようなところに最近関心があるので、そのあたりが面白く読めた。

2023年は52本、技術ブログを書きたい

新年ということで今年の目標。今年は52本、技術ブログを書きたい。

週に1本何か書きたいと言いたいところだけど、週に1本というのは間違いなく不可能……一週間あたり1本ペースということならなんとかなりそう。最悪12月31日に52本書けば達成できる。

そうやって後回しにする性格だから、こういう目標は向いてなさそう。すでに50%くらい達成できれば御の字という気持ちになっている。

技術ブログとその他で分けたいので新しいブログにした。

nakaoka3の技術ブログ

1本書いたのですでに2%達成。

GitHubでマージしたPull RequestのタイトルとURLを取得する方法 - nakaoka3の技術ブログ

やってくぞ。

Perlのファイルテスト演算子と test コマンド

Perlのファイルテスト演算子を使ってファイルの状態を調べる

Perlでは「ファイルテスト演算子」と呼ばれる演算子を使用することで、ファイルやディレクトリなどのオブジェクトの状態を調べることができます。

Perlには例えば次のようなファイルテスト演算子があります。

  • -e : ファイルが存在するかどうかを調べる。
  • -f: ファイルが通常のファイルであるかどうかを調べる
  • -d : ファイルがディレクトリであるかどうかを調べる。

Perlのファイルテスト演算子には他にもたくさんあります。その他のファイルテスト演算子は公式のドキュメントを参照してください。

Perlのファイルテスト演算子は次のように使用します。

if (-e "/path/to/file") {
    print "ファイルが存在します\n";
}

if (-f "/path/to/file") {
    print "ファイルは通常のファイルです\n";
}

if (-d "/path/to/directory") {
    print "ファイルはディレクトリです\n";
}

ファイルテスト演算子 -s を使ってファイルサイズを取得する

-s というファイルテスト演算子を使用することで、ファイルのサイズをバイト単位で取得することができます。

使用方法は次のようになります。

my $size = -s "/path/to/file";
print "ファイルサイズ: $size バイト\n";

test コマンド

ところでLinuxmacOSでは testという、シェルスクリプトで使われるコマンドがあります。 testコマンドは指定した式を評価し、真偽値を返します。

if test -e "/path/to/file"; then
    echo "ファイルが存在します"
else
    echo "ファイルが存在しません"
fi

testコマンドはシェルスクリプトで真偽値をテストするときや条件分岐をする際に使われます。

Perlのファイルテスト演算子と test コマンド

Perlのファイルテスト演算子Linuxの「test」コマンドは、どちらもファイルやディレクトリなどの状態を取得するためのものです。

-e -d -f の意味など、共通するところもあります。

一方で Perl-s はファイルが存在するときはそのファイルのバイト数を返すのに対して、test -s コマンドが返すのは真偽値であるというような違いもあります。

参考

ChatGPTにAppleScriptの書き方を教えてもらった

基本的なプログラミングの仕方について教えてもらった。

変数の使い方。

条件分岐とループ。

ただし、間違った情報も教えてくれる。

これは誤り

曲の名前を渡しても再生はできない。正しくはSpotiry URIを渡す必要がある。

したがって、正しくは以下のような説明になるはずだ。

tell application "Spotify"
  play track "SPOTIFY_URI"
end tell

上記の例では SPOTIFY_URI という変数に、再生したいSpotiry URIを入れます。

正しい情報はスクリプトエディタ.app の「用語説明を開く」からSpotifyを選ぶと調べる事ができる。

以下のコードをスクリプトエディタに貼り付けて実行したら再生が始まったので成功。

tell application "Spotify"
    play track "spotify:track:2qWxC42jIzXuTIQO3CRYVU"
end tell

ところでAppleScriptの構文て、tell S + V の形なのが自然言語っぽくて面白い。play のような他のプログラミング言語だと関数とかメソッドとか呼びそうなものを verb(動詞) って呼んでいる。