#020126

Mac OS Tahoe 26.2へアップデート

すっかり忘れていたMacOSのアップデートを行った。
クリーンインストールをしなかったためシステム領域の蓄積が結構大きくなっていた。折を見てクリーンインストールをしたほうが良い気がする。

クリーンインストールはその手間度合いから「なんとか上手く少ない手順で安全で確実にできないかなー」と思っていた。エンジニアの人がbashスクリプトを組んでいるというZenn投稿を見ていたので、「えーん助けてよGemini。bashスクリプト叩けば現在インストールしているアプリやhomebrewのパッケージが書き出されて、自動でサルベージできて、メールデータ・アカウント、さらにフォントもバックアップしてほしい。忘れがちなgit関連やssh認証鍵やzsrhrc、bash_configもバックアップした上で復元もbashスクリプトにしてほしいよー」とお願いし作成してもらった。ありがとうGeminiえもん。

「なんでTimemachineで復元しないん?」と思われそうだけど、Timemachineで保存されているデータは現在の稼働状態差分のため、結局堆積ゴミデータで肥大化している。だからクリーンインストールするならそういう部分も切除して綺麗にしたいのだ。

一応生成されたbashスクリプトを実行し、バックアップファイルが生成されることは確認した。これだけでもかなりの手間が簡略化できている。あとはリストアがサクッと上手くできるようならば、またGitHubに公開しようと思う。

Tahoe 26.2の使い勝手に関するモロモロ

標準アプリの変更関連については、lanchpadを返してくれ……という気持ちしかない。
外観の見た目に関してはApple SiliconのMacなら問題なく動作しそうだけれど、古いIntelMac関連は相当しんどそう。UI全体のデザインは個人的には好き。
Musicアプリが勝手にミックスフェードしてくるのは何なんだろうなー。良いともいえるし、いらないことしないでくれとも思える。

Google ChromeでAdobe stockなどでサイトが一瞬表示されてから真っ白となり何も表示されない問題の解決(Norton アンチトラックが悪さ)

解決策そのまま:拡張機能でいつのまにか入っているノートン アンチトラックを削除またはOFFにする

ほんまクソ・オブ・クソの極み・オブ・クソ。
Notronを入れてる時点で情弱の極みアーッというのはさておいて(鳴るならないはさておいて鈴はつけておきたい心理)、勝手に絶頂オナニーアップデートを仕込んでくるのがホントクソ。鈴が勝手に増えるならまだしも、どこに鈴をつけたか知らせないのゴミすぎる。

おかげで消したくないCookieを消すはめになってホンマクソ。
ゾルトラーク(一般足の小指粉砕骨折魔法)

Macbook Pro M4も発売された

予想に少し反してとMacbook M4 Proは24GB / 48GBをメモリで選ぶことができるようだ。お値段はM3 Pro 36GBと同じ。ぐぬぬぬ。

しかし64GBは相変わらずMaxの上位コアモデルのみ。 14core / 32 GPUモデルはRAM 32GBしか詰めないのはさすがに意図がわからないな……
MacbookはM4またはM4 Proが魅力的になってM4 Maxが微妙な感じになったように感じる。

価格が安い製品が魅力的になっている理由

ぼんやりと考えたとき、M4の特徴であるローカルAiに目的があるのではと思う。
ローカルAiの学習データを引っ張ってくるのか、もしくは普段はあまり使わないであろうM4のAi用のNaturalEngineCoreの余剰演算能力をメッシュネットワークでつなげる構想があるのかもしれない。

どこまでいってもAIと仮想通貨はこの演算能力の物理的な制約と消費電力の問題はつきまとうから、そこをネットワークでつなげて分散コンピューティングにするんじゃないかなーと思う。となればよりM4を使ってくれる人が少しでも多くなるよりM4 mac miniを低価格で魅力的にしたのも納得だ。

新しいM4 Pro Mac miniがうらやましい

手のひらNUCサイズでRAM 64GBまでイケる

Amazonでお漏らしリークされていたけど、M4 Pro Mac miniはRAMが64GBまで積める。
そして何より小さいのが良いね。IntelのNUCと同じサイズに見える。
価格も元々Mac miniが買いやすい値段設定なのを継承して、M4 RAM16GB / SSD 256で¥94,800円は良い価格設定。前モデルは8GBで8万円ちょっとだったはず。

カスタマイズすると、M4は32GBまで。M4 Pro搭載だけ64GBまで。
そしてスゴイ羨ましいのが、M3 MacbookのときはMAXでも64までつめるのは上位コア数だけだったのに、M4 ProはCPU / GPU / AI用CPUの数がそれぞれ 12/16/16と14/20/16どちらも64GBまで選べる。マジで羨ましい。
もし年明けにM4 Macbook proがでるならM4 pro 64GBって選べるのだろうか。ボクは選べない気がする。もし選べるなら中古でM3を売って買い替えよう……。

ちなみにサイズはW127mm x D127mm x H50mmで重量0.67kg / 0.73kg(M4 Pro)とのこと。電源コードで駆動なのでケーブルを持ち歩く必要があるけれど、軽いから持ち運びできそう。さすがにUSB-Cで駆動もできたのだろうけど、サードパーティー製の安定しないUSB-Cを嫌ったのだろう。

SSDは1TBをオプション設定が良いと思うけれど、何故かAppleは2TB以上は値段がとんでもないことになる。謎。でも据え置き型ならUSB-C経由のM.2 SSD運用前提で1TBでも良いかも。
ボクが買うなら構成はM4pro 12/16/16でRAM 64GB、SSD1TB。
それでも33.2万は安いと思う。
Mac ProとMac Stduio息してないけど大丈夫そ?

Apple Mac mini

古いWordPressのMySQL5.7をさくらレンタルサーバーでWordmoveしようとすると、「default.rb:45:in ‘gsub!’: invalid byte sequence in UTF-8」が出るときの解決策

現象:
Docker MarinaDB11.3 → さくらレンタルサーバー MySQL5.7でSQL dumpできない。

解決策:
DockerのSQLをMySQL5.7で合わるしかない。
(MarinaDBのデータはphpMyAdminでエクスポートしてから取り込む)

別解決策(追記)
movefile.ymlのDB設定にmysqldump_options: "--hex-blob" を追記すると上手くいく場合がある(local / vhost共に)


Movefileのdatabase設定 charset: “utf8″で解決できなかった。

具体的にはデータベース内の特定の文字列がUTF-8化できないというエラーなので、特定して潰せるならMarinaDBでもいける。(SQL操作が必要)


かなり昔にWordpressをVagrantでローカル構築して作ったWebサイトを、最近dockerで再開発した。
最近までApple Sillicon MacのdockerでMySQL5.7を使っていたが、どうしてもRossetaで無理やり動作させているため注意マークがでるのが気になっていた。
それならとMarinaDBに切り替えて、他案件ではうまくいっていたのだが、古い案件で特定の文字コードが変換できないみたいなエラーが出た。

テストサイトのデータなのでそこまで時間かけたくなかったこともあって、力技で解決したという備忘録。
困り人の役に立てば幸い。

Contact Form 7 Multi-Step Formsプラグインを使用して、チェックボックスの空欄(null)を受け取り、メールで送付する方法(input hidden設定)

結論

チェックボックスと同じ名前で、hiddenを作る
hiddenはチェックボックスの前に配置(空白を無理やり挿入する)

タグの構造としては以下になる。例えばcheckboxの名前が checkbox_name の場合

[hidden checkbox_name]
[checkbox checkbox_name use_label_element "チェックボックス項目A" "チェックボックス項目B" "チェックボックス項目C"]

checkboxは何も選択していない場合ではnullを返す。Contact Form 7の機能である「nullを空白に変換」にContact Form 7 Multi-Step Formsが対応しておらず、メールテンプレートで呼び出された [checkbox_name] がそのままメールの文面に出力されてしまう。
そこでhiddenを前に設定し、値として空白を渡す。もしチェックボックスが選ばれた場合は、空白は上書きされるという寸法。(nullは出力出来ないけど、空白はデータとして扱えるため)

checkboxのnullを、 [hidden checkbox_name] で空白に事前設定するという対抗策。

When checkbox fields are left unchecked they appear as [field-name] in the email. How do I resolve this?

チェックボックスフィールドのチェックを外したままにしておくと、メールに[フィールド名]として表示されます。どうすれば解決できますか?

When checkboxes are not checked they aren’t submitted through the form so the last step of the form doesn’t know the unchecked checkbox field exists. To get around this issue add a hidden form tag like [hidden field-name] to the last step. This way the last step will either submit the previously set value or a blank value.

チェックボックスがチェックされていないとき、それらはフォームを通して送信されないので、フォームの最後のステップはチェックされていないチェックボックスフィールドの存在を知りません。この問題を回避するには、最後のステップに [hidden field-name] のような hidden フォームタグを追加します。こうすることで、最後のステップでは前回設定した値か空白の値が送信されます。

https://ja.wordpress.org/plugins/contact-form-7-multi-step-module/

地味に厄介でQ&Aに書いてある英文翻訳は解決策がよくわからなかったので備忘録メモ。
ボクも確認画面いるかー?派なのだけど、これ好きな人多いんだよな……。

困り人の役に立てば幸い。