月: 2023年5月 Page 3 of 4

スマートウォッチGarmin Instinct S2 Dual Power開封並びに選定理由。

連休も終わるという中で購入しました。

タイトルにもあるようにGarminのスマートウォッチです。

Apple WatchやPixel Watchではなくこれにした理由はいくつか。

バッテリーの持ち

通常利用であれば最大21日、ソーラー充電でも補えるのは魅力的。

他のモデルのように日々の活動ログを記録するためのものが丸一日持たず、かつ、毎日充電が必要というのは心もとなかったのです。

ボタンのみの操作

フェイスをタップしたりスライドする必要がないのは逆に好印象。手袋をしていても手が濡れていても確実に操作できるのはアウトドアでは有利です。

丁度いいサイズ

今までためしたスマートウォッチよりも小さく(購入したものは女性向けモデル)手首への負担を最小限に抑えられると判断しました。

色とフィット感

トドメでした。この明るめの緑は自分の推し色。バンドのフィット感も自分の好みだったので、決め手となって購入です。

開封

中身はいたってシンプル。これの他に簡単な説明書と充電ケーブルがついているのみとなっています。

程々のサイズに、バッテリー持ちと視認性を重視した液晶画面と、今の所動作に問題はありません。

この利用感やフィードバックは後々、思い出したように書いていきます。

ChatGPTによるRubyスクリプト。(エラーログ検索)

割とシンプルながら、障害などの特定を効率よくするためのスクリプトを書いてもらいました。

質問

以下の通りです。

以下を満たすスクリプトを書いてください。

1. プロンプトにてエラーログをフルパスで質問
1-1. エラーログが見つからなければ「ファイルがありません」を返して終了
2. プロンプトにて検索したい単語を指定
3. 検索単語にて行数を表示
4. 「○件見つかりました。該当する行を表示しますか?」でy/n確認
4-1. nの場合は処理を終了
4-2. yの場合は該当行を表示して終了

結果

ほぼ一発で想定通りの動きを見せるスクリプトを書いてもらいました。

# 1. プロンプトにてエラーログをフルパスで質問
print "エラーログのフルパスを入力してください: "
error_log_path = gets.chomp

# 1-1. エラーログが見つからなければ「ファイルがありません」を返して終了
unless File.exist?(error_log_path)
  puts "ファイルがありません"
  exit
end

# 2. プロンプトにて検索したい単語を指定
print "検索したい単語を入力してください: "
search_word = gets.chomp

# 3. 検索単語にて行数を表示
line_numbers = []
File.open(error_log_path, "r") do |file|
  file.each_line.with_index(1) do |line, line_number|
    line_numbers << line_number if line.include?(search_word)
  end
end

puts "#{line_numbers.length}件見つかりました。"

# 4. 「○件見つかりました。該当する行を表示しますか?」でy/n確認
unless line_numbers.empty?
  print "該当する行を表示しますか? (y/n): "
  display_lines = gets.chomp.downcase
  if display_lines == "y"
    File.open(error_log_path, "r") do |file|
      file.each_line.with_index(1) do |line, line_number|
        if line_numbers.include?(line_number)
          puts "行 #{line_number}: #{line.chomp}"
        end
      end
    end
  else
    exit
  end
else
  exit
end

エディタに記述、保存後に

ruby search_log.rb

を実行。

これで、

  • 怪しそうな箇所の行数
  • その詳細

などを絞ることが可能になり、ここからの加工も容易になります。

『ライザのアトリエ3』コアアイテムのダメージ増強検証-2- (ロールと特性見直し)

この記事の続きとなります。

装備品を見直すのではなく「ロールを強化すること」によってダメージの底上げを図りました。

ロール「アルケミスト」

  • 後衛にいる間、CC回復量が上昇する
  • クイックアイテムの消費APが減少する
  • アイテムの消費CCが1減少する
  • レベルに応じてアイテムの威力が上昇する

筆者は主に「アイテムの消費CCが1減少」のみに着目していました。なので、「レベルに応じてアイテムの威力が上昇する」を確認しながら装備を見直しです。

アニエスルーチェ

リンクコールを使わず、そのまま「サポーターの証6」まで上げます。

それ以外はクリティカル増強系。

ウォーロックリング

こちらは逆に効果3をリンクコールで「ディフェンダーの証5」に書き換えました。

コアアイテム:エイビスコール

バフとデバフを同時に行う万能アイテム、エイビスコールは周回プレイを鑑みてロールやコアクリスタル調整を行わずとも消費CC1で撃てるように調整。

コアアイテム:ツヴァイレゾナンス

逆にこちらはライザ/アンペルが

  • コアクリスタルを調整
  • ロール「アルケミスト」を発現

を前提に、CC消費系の特性をつけていません。また、威力を更に増加させる「オーバーパワー」の超特性を付与しています。

検証

今までと同じエリア、同じ敵、同じ数で確認。

開幕エイビスコール→ツヴァイレゾナンスとつなげます。

結果は60万を超えました。

この時の検証より難易度が上がった状態(CHARISMA→LEGEND)で4倍近いダメージ増強を図った形になっています。

ードゲーム『サラダマスター』感想。

ネタになるかと思って購入。試してみたら野菜/果物/穀類に関する雑学で盛り上がり、読み合いも楽しい作品という印象でした。

概要

説明書に曰く「野菜不足な現代人のためのボードゲーム」。

ゲームとしては「サラダマスター」を目指すべく、自分や相手の手札を確認しながら

  • タンパク質やカロリーが多い/少ない
  • 2番目に多い栄養素
  • 2枚からの差が一番少ない

といったお題に沿っていそうなカード1~2枚を手札から出していきます。

ただし、自分が見えるのは野菜カードの題名のみ。インディアンポーカーのように野菜の詳細なデータは自分だけには見えないのです。

非対称性の情報を元にお題に合致した者を出したプレイヤーがお題を受け取り、次のゲームへと進みます。最終的に3つのお題を獲得したプレイヤーが「サラダマスター」の栄冠を勝ち取ります。

このゲームのいいところ

知ってそうで知らない野菜の一面を知ることができる

上述したように、自分に見えているのは名前とイラストのみ。なので、いざ表にして判定の段になると

「え? タンパク質こんなにあった?」
「思ったよりも繊維の塊だ」
「さすが酒の材料になるだけある」

といった会話で盛り上がります。

カードに記されている栄養素が100g辺りというのも意外さを知る一助となります。(100g辺りの換算だとキャベツよりも繊維が多いワサビなど)

データを知っていても読めないお題の判定とインタラクション

お題カードは

  • (栄養素が)二番目に多い
  • 二枚の(栄養素の)差が少ない

など、場の状況を鑑みないと出せない/カードの両方を知らないと出せないなどの絶妙なもの。
そこに上述したデータの非対称性や『相手はそもそも情報を知っているのだろうか?』の疑心暗鬼。これらを掻い潜った上でのしてやったり感や勘違いのガッカリ感は相当なものです。

このゲームの少し残念なところ

スリーブサイズと収納

カード系ボードゲーム全般が持っている宿痾です。微妙に小さいカードサイズはスリーブ探しや収納が難しいです。

まとめ

誰もが知っている(というか日常的に接している)野菜類をテーマにした上で雑学/パーティーゲームに落とし込んだのは敬服。
栄養士さんたちがゲームで遊んだとしてもなお迷う絶妙なお題、

  • カロリー
  • タンパク質
  • 炭水化物
  • 食物繊維

だけに絞って読みやすくしたデザイン、カードスタンド付きの親切設計もお気に入り。

ちょっとした時間で終わり、ボードゲーム会のスターターやアイスブレイクにもちょうどいい小箱ゲームでした。

続・造花と壁紙-百均グッズの撮影用小物(その44)-

この記事から11ヶ月ほど――

この紫陽花の背景を一新です。

  • 木枠をより広く
  • 花を更に追加

そして、紫陽花の密度を上げました。

去年との比較。フレームが相対的に狭くなりました。

これを用いての早速の撮影です。

枠が広くなった分、ほぼ全身を収められるようになったのが大きいです。

広角でも背景が見きれないのはアドバンテージ。

他のフィギュアもこんな感じに、全体を構図に入れることができるようになりました。

2023年GWボードゲーム会で遊んだ作品。

こちらぶりとなる比較的人数が多いボードゲーム会。

大型連休中ということもあり、長く楽しむことができました。

持ち込んだ作品ピックアップ

ブラッディ・イン

  1. 宿泊客を招き入れる。
  2. 宿泊客を買収する。
  3. チェックイン時とチェックイン後で宿泊客の数が違う。
  4. なぜか宿屋の懐が膨らんでいる

の不謹慎ゲーム。システム自体はとても良くできているのがまた楽しいです。終始、不穏な言葉で盛り上がっていました。

Dive!

これまたコンポーネントが好評でした。特に2ゲーム目のライトオプションが難易度を高くしていました。

キャンバス

  • シンプルなルール
  • とかく映えるコンポーネント
  • できあがった「作品」の品評

などが本当に楽しいゲーム。追加した投票システムもいいアクセントになってくれました。

ポンペイ滅亡

歴史的に有名な事件を舞台にした不謹慎ゲーム。

人を増やした後に迫り来る溶岩から人を避難させるその様は、街の滅亡を追体験するかのようでした。

Aqua Garden

何度か言及している水族館経営ゲームをようやく4人で回すことができました。

サメに特化したプレイヤーが恐るべき得点を叩き出してたのが印象的です。

サラダマスター

「お題に合いそうな野菜/穀物/果物を場に出すだけ」の簡単ルールでありながら、盛り上がりが尋常ではありませんでした。

ボドゲ会のスターターとして、あるいはアイスブレイクや時間調整として小回りが利く作品。

こちらは改めて別に紹介の機会を設けます。

3作目の「時空の天文時計」。(『ライザのアトリエ3』調合)

概要

第一作目からの超強力なバフアイテム『時空の天文時計』。その効果は3でも健在であり、ある意味で強化されて帰ってきました。

調合した内容

項目概要備考
種別魔法の道具
Lv34
消費CC1表示上の消費は4。鍵効果により消費CCを更に抑える
対象味方全体
属性値5
属性氷、雷
効果1時空の合一
効果1説明行動順を手前に大きく寄せ、良性状態の効果時間を延長する
効果2未来に干渉する
効果2説明タクティクスレベルが3上昇する。最大を超えて上昇しない
効果3時間の超越
効果3説明攻撃力、防御力、素早さを大きく上昇する
効果4空間の把握
効果4説明回避率を大きく上昇する
特性1クリティカル++ 99
特性2永久機関
特性3天使の歌声付与する+効果の効果時間が延長する
超特性圧縮錬金術・改式ベビーヴルムから付与
超特性説明消費CCが2減少するが、威力が大きく減少する。消費CCは1未満にならない

効果自体は2での異様な能力がそのまま据え置きという形。事務的な効果名がより散文的になったことが違いです。(全能力アップ・超→時間の超越など)

本作での最大の特徴は「消費CC1で発動できるようになったこと」です。

それも、装備品やロールの特性なしなので、どのメンバーでも扱えるようになりました。

事前準備

大前提として、スキルツリーから「時空の天文時計」が解放されていること。かなり後の方に位置しており、消費SPも3000と甚大なもの。

また、

  • 賢者の石
  • 古の賢者の石

などの影響拡大を持つ素材はふんだんに使います。

DCLの調合アイテム「竜の涙」を持っておくと楽ですが、後述する理由により注意が必要です。

そして、消費CC1を目指すために以下の手段を執りました。

  1. シンセサイズ効果「CC低下」を持つ鍵
  2. 特性「永久機関」
  3. 超特性「圧縮錬金術・改式」

調合

今回、レシピ変化での投入回数増加は望めません。

  1. 超濃度を持つ調合アイテム
  2. 影響拡大

は必須です。

まずはレシピ時空の天文時計からスタート。ベース素材を入れていきます。

注意点1

最初に入れる「竜素材」は影響拡大形を用いないこと。

本作での天文時計は「逆さ時計」の効果を一部兼任しており、効果2の発現を強めすぎると「タクティクスレベル上昇」ではなく「APとCCの回復量増加」となります。

そして、DLC素材「竜の涙」を上記マテリアル環にいれてしまうと、効果2が発現しすぎてしまうのです。

これはこれで強力な効果ですが、今回は「タクティクスレベル上昇」の効果を優先です。

注意点2

用いる鍵は「CC低下」のシンセサイズ効果を持つものにします。レシピLv.3の必要はありません。

注意点3

超特性を発現させるための素材は、竜素材のみです。(それ以外は調合するアイテムを投入することになるため)

「超特性を持つ竜素材」は

  1. 種による発現(火の種の竜眼など)
  2. ベビーヴルム投入

のほぼ2択となります。

https://atelier.reisalin.com/issues/239

オススメは後者です。ネメド地方のランドマーク「狩人の泊まり場」から調達可能です。入手できるまでファストトラベルを繰り返していきましょう。

効果検証

コアクリスタル調整にCC消費低下がないリラでも「1」で使えることを確認。また、レベルも34とリラがギリギリ使えるレベルに収まっています。(器用さ最大35)

もちろん効果は折り紙付き。最高難易度「LEGEND」をものともせずに敵のHPがゴリゴリと減っていきました。

まとめ

ライザ1/ライザ2で大暴れしていたアイテムだけに今回はナーフされるのもやむなしと思っていました。

しかし、調合条件は厳しいものの、利便性は向上していることに驚きです。

洗浄後のインク補充、及び“ミキシング”。

こちらの記事の続き。

インク切れや何やらで洗浄したLamy Safariの感想が思ったより早く終わりましたので、インクを詰めていきます。

今回、ちょっとした趣向を設けました。

軸とボディのミキシング。

白やクリアカラーなどが2本ずつ持っているので、もっと明確に区別をつけました。洗浄したからできる芸当です。

そうした上でインクを補充し――

ペンケースにも収まりました。

書き心地も新たに、ペンケースも充実です。

フットスイッチ1ヶ月後の使用感と過負荷(と改善)。



こちらのフットスイッチを使い続けて1ヶ月ほど。使用感のフィードバックです。

キーの割当変更

1234
Win + L
(ウィンドウロック)
CtrlShiftCtrl + Space
日本語入力切替

に変更。一番多用する組み合わせはCtrl+Spaceの日本語入力切替でした。(自分のキーバインドによります)

特に、マークダウンを多用するため、箇条書きの「-」やリストの「1.」のため、スムーズな切り替えが必要です。

過負荷による膝の痛み

これは予想外でした。

フットスイッチをなんとか使いこなそうと足を駆使した結果、膝の関節に思った以上の負荷がかかりました。

改善

だからといってフットスイッチの使用を諦めることはしません。

なぜなら、これによってキーボード入力時に最も負荷がかかる左手の小指が軽減されたからです。

なので、

  • フットスイッチの位置を改善
  • 全体的な姿勢を正して体全体の負担を減らす
  • 椅子の高さの調整

などで、改善の兆しがありました。

フットスイッチ自体、とても役立ちますし入力精度や効率も随分上がります。

最終的に、体全体の負荷を減らしていかなくては。

ChatGPTによるシェルスクリプト(パッケージの自動更新)の問題点と修正。

この記事の更に続きとなります。

以前作成したスクリプトに問題点があったので修正します。

問題点詳細

アップデートするパッケージによってはコンフィグを残すか否かをアップデート中に聞いてきます。

このプロンプトが表示されるとスクリプトは停止。処理を手動で中断して実行する羽目になります。

これを回避するため、以下のように修正いたしました。

修正差分

-    aptitude -y full-upgrade | tee $upgraded_packages >/dev/null
+    DEBIAN_FRONTEND=noninteractive aptitude -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" full-upgrade | tee $upgraded_packages >/dev/null

修正した処理の詳細

※chatGPTの回答なので信頼性は各自ご判断ください。

  1. DEBIAN_FRONTEND=noninteractive : DEBIAN_FRONTEND 環境変数に noninteractive を設定し、aptitude コマンドを非対話モードで実行します。これにより、パッケージの更新時に表示される確認メッセージを自動的に承認することができます。
  2. aptitude -y : aptitude コマンドに -y オプションを指定して、すべての質問に対して自動的に yes を返答するようにします。
  3. -o Dpkg::Options::="--force-confdef" : dpkg コマンドに --force-confdef オプションを指定して、パッケージがインストールされる際に必要なデフォルトの設定値を使用するように指定します。
  4. -o Dpkg::Options::="--force-confold" : dpkg コマンドに --force-confold オプションを指定して、既存のコンフィグファイルを保持するように指定します。
  5. full-upgrade : aptitude コマンドの full-upgrade オプションを指定して、すべてのパッケージを最新バージョンに更新します。
  6. | tee $upgraded_packages >/dev/null : 更新されたパッケージのリストを一時ファイルに保存します。パイプライン演算子 | を使用して、aptitude コマンドの出力を tee コマンドに送信し、同時に一時ファイルに書き込むように指定します。>/dev/null を追加することで、標準出力を無効化し、結果を表示しないようにします。

修正後のスクリプト全文

#!/bin/bash

# インストールされているパッケージの一覧を取得して別ファイルに出力します。
now1=$(date +%Y%m%d)
dpkg-query -W > installed_packages_$now1.txt

# aptitude updateを行います。
aptitude update

# updateの結果:
if aptitude search '~U' | grep -q '^i'; then
    # 対象パッケージ,変更前バージョン,変更後のバージョン を記入した日付付きのファイルを作成。
    now1=$(date +%Y%m%d)
    upgraded_packages=$(mktemp)

    # パッケージのキャッシュをクリアした上でパッケージアップグレードを実施。
    aptitude clean
    DEBIAN_FRONTEND=noninteractive aptitude -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" full-upgrade | tee $upgraded_packages >/dev/null

    # パッケージ一覧からの差分を別ファイルで作成。(実行日の日付を付与)
    new_packages=$(mktemp)
    dpkg-query -W > $new_packages
    diff -u installed_packages_$now1.txt $new_packages > package_diff_$now1.txt

   # 新しいパッケージ名を取得
   DIFF_FILE="package_diff_$now1.txt"
   NEW_PACKAGES=$(grep -E "^\+[^+]" $DIFF_FILE | awk '{print $1}' | cut -c 2-)

   # 変更されたパッケージの数と、新しいバージョンのパッケージ名のリストを表示
   UPDATED_PACKAGES=$(echo "$NEW_PACKAGES" | wc -l)
   echo "$UPDATED_PACKAGES 件のパッケージに変更がありました。以下のパッケージが更新されました:"
   echo "$NEW_PACKAGES"

    # checkrestartを実行して結果を取得
    now=$(date +%Y%m%d)
    checkrestart_output=$(checkrestart)

    # サービスを再起動する必要のあるプロセスを抽出してファイルに出力
    restart_services=$(echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | awk '{print $NF}' | sort -u)

    if [[ -n "$restart_services" ]]; then
        # ファイル名に日付を追加
        now2=$(date +%Y%m%d)
        filename="restart_services_$now2.txt"

        echo "以下のサービスを再起動してください:" >> "$filename"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$" >> "$filename"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$" >> "$filename"

        echo "以下のサービスを再起動してください:"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$"


    else
        echo "再起動するサービスはありません"
    fi
fi

これでコンフィグを残すか否かのアップデートでも停止することなく動きましたが、肝心の

  • どのパッケージがコンフィグを残すか否か求められたか
  • その差分は何か

などが不明。なので、改善点はまだまだです。

Page 3 of 4

Powered by WordPress & Theme by Anders Norén