新PCのストレージ

中古PCにこれまた中古パーツを追加したので、各ストレージの状態が気になります。

メインのSSDは5年落ち、追加したSSDは6年落ちと4年落ち。ついでに言うとバックアップ用で追加したHDD(!)はたぶん12年選手。
最近は便利なツールがあるので現状を調べてみます。

まずメインSSD Intelの当時最新技術を導入したNVMeドライブです。
メーカー資料によればTBWは600TB。現状データーは総書き込み量9.3TBなので心配は無用ですね。また使用時間がたったの1430Hなのでほとんど使用されていないに等しいです。ただし、UnSafeShutdown回数が36ってのは使用時間に比べると気になる回数です。Healthも98%だし。

次は一番古い960GBのSSD。TBWは200TB。現在までの書き込み総量が30F0B27506とあるんだけど、単位不明。Byteだとすれば210GBだけど、そんなものか? 何か1桁違っている気がしないでもないです。と下のドライブのデーターからするにセクター書き込み回数と判明。なのでこの値を512倍すると107TB、それほど長くは持たないかもな。まぁLINUX用なので、突然死されてもそれほどダメージはないですけど。

次は4年落ちのSSD。長いこと”C”ドライブとして使用していますので、それなりの使用量。総書き込みは275TBと出ましたが、メーカー資料によればTBWは2400なのでまだまだ余裕があります。

最後のHDDは通電時間49562時間だけど、代替えセクター数0、回復不能セクター0、エラーレート0と、とても健康。

というわけで当面ストレージは更新しなくてもOKそう。


新PC導入

今まで使用していたPCは仕事用に導入したものですが、2013年製。つまり12年落ちです。よくぞ持ったものだとは思います。ただし、ビデオカードは3枚交換してますけどね。
未だに少々遅いことを除けば大した不満もないのですが、やはり12年落ちともなるといろいろと不安が高まってくるのと、最近はCPUをひっくるめてある程度新しくないとOSの更新すらままなりません。特にレガシーBIOS式なのが致命的です。
なので思い切って1台お買い上げ…

とは言っても新品ではなく中古。i5-10400ですから5年落ち。マザーボードはB460という廉価版ですが、一応NVMeの1T SSD搭載だし、グラフィックボードとしてRTX2060Superがついてきます。中古とは言え、メインストリームのグラフィックボードを導入するのは初めてです。メモリは16GBで、トータルで50k円でしたから、まあまあの買い物です。あとなぜかWindowsは11のpro版です。

さっそく3DMarkを走らせてみましたが、さすがにメインストリームのカードは違います。いままで見たこともないようなシーンが出てきたり、各シーンが滑らかに動作します。現在職場にあるi7-11700+32GB+GTX1650の組み合わせの倍のスコアを出してきますから、滑らかに動くのも納得です。ちなみに旧PCはi4770+GT1030なので現PCの1/5程度の性能しかありません。
もっともゲームをするために導入したPCではないので、この性能はもてあまします。
消費電力もCPUが65Wなのに対してグラフィックボードは175Wの消費なのでなんか本末転倒… もっとも最近のRTX4000シリーズや5000シリーズでは消費電力600Wなんてただのヒーターだろうってなモノもあるので、それらに比べたらまぁバランスはとれているのかな。

旧PCからストレージを移植して内部の変更は一段落。内臓メモリーカードリーダーどうするかな。またSSDが5年落ちなのでTBWが心配です。

またそれなりに早いPCに代わると画面をもっと広くしたいという欲求が湧いてきます。
現用機は1920×1600の24インチですけど、こちらも2012年製ともう13年選手です。
ストレージの手当の前にディスプレイかな。現在DisplayPort->DVIアダプタを通して使ってますけど何かドライバー側で検出に手間取るのか起動がスムーズではないのが気になります。直接HDMIなりDisplayPortなりで接続してやれば改善される気がします。


ProtelからKiCADへ

長いこと回路図書きにはProtel、現AltiumのEDAソフトを使用していましたが、さすがにWindowsXPでしか動かないソフトを使い続けるのも疲れてきました。仮想化XPに行ってあれこれして、戻って.. って面倒です。

それほど古い回路図を引っ張り出す機会もさすがに減りましたが、それでも時々発生しますし、最近では回路はDXFで提出なんて所も増えていますので、それなりに対応しなくてはなりません。Protelは生まれも育ちもオーストラリアなので、日本語はからきし…
表示や印刷ではなんとかなるのですが、DXFにexportした時点で、日本語は全滅。なのでCAD側で全部修正しなくてはならず、なかなかの作業量です。
また、DXFへの対応が不完全で、接続が全部単純な線でなく幅を持った4角形に変換されてしまい、これまた訂正作業が…

KiCADも新しくなって日本語フォントも自由に設定できるようになったのでボチボチ使い始めていますが、全部を新規で入力し直すのも大変です。
ProtelからKiCADへの変換って簡単にできないものかと思い探したところ、P2kと言うソフトを発見。さっそく試します。

結果は日本語コードの部分で引っ掛かりエラーの山。幸いソース付きなので、中身を眺めていたところ、decode(“IEC8851_15”)と言うものが有ったので、ここをdecode(‘shift_jis’)に変換してエラーが出なくなりました。

しかし、出来上がりファイルには日本語の部分が含まれていないので、まだなんか作業が残っていそうなんだけど、Pythonのデバッグって面倒。なので、また勉強を兼ねてC#に書き直してみますか。

C#とSQLite続き2

あれから色々とあってなかなか手が付けられませんでしたが、連休なので意を決して着手。(というほど大げさなものではないのですが…)

switch文にcaseを羅列する力業で対処。まぁほかにやりようもないのでしょうけども。これでどうにか問題は解決した模様。
やれやれ

C#とSQLite続き

文字コード自体の問題かと思われたのですが、よくよく調べてみたところUnicodeに実装されている結合文字の問題と判明。

普通の日本語変換ソフトなら濁点と半濁点の付いた文字はそのまま1文字として変換してくれるのですが、元データーはひらがな+結合文字の濁点(半濁点)で作成されていました。

これじゃ文字コードをどう変換したところで普通に手打ちして作ったDBの中身と正しく照合できるはずが有りません。もしかするとUTF16->ShiftJIS(windows codepage 932)->UTF8のルートで変換したらなんとかなったのかもしれませんが、面倒…

面倒ですけど、頭の体操ということで一回試してみますか。

追伸:

試した結果、結合文字はShitJIS側では知らない文字ということで?に変換されてしまいました。なのでこの試みは失敗。濁点がつくのは「か行」、「さ行」、「た行」、「は行」なので地道に変換するしかないですね。面倒…

C#とSQLite

 MP3データーのTAGを整理してファイル名に反映させるプログラムを作成中。TAGのデーターにある人名から肩書を追加するのに最初はべた書きしてましたが、ファイル数が膨大になってきたので、対応しきれません。まぁ最初から分かってはいたんですがね。

 ならば「DBを用意して、そこから引っ張ってくれば簡単♪」とプログラムを書き始めます。ちなみに最近は脳力減退を補うためにC#で書きますが、なかなか… OOPの場合、classの中身が謎であることが多くて検索ばかりでなかなか進みません。
余談ですが、最近のVSはAI化が進んでいて先回りしてコード例を提示してくるのでちょっと気味が悪かったりします。バリバリコードを書くような場合には便利かもしれませんけどね。

 さてDBには使い捨てプログラムと言うことも有って一々インストールしなくて済むSQLiteを選択。別途用意したデーターを書き込んでDBを準備します。そして本番プログラムから検索させるのだけど、全然ヒットしない。アルファベットだけの場合はうまくいくので、文字コードからみだとは思うのだけどいろいろゃっても改善されず。

 ならばとC#からデーターを書き込んでやれば良いのではと気が付いて新しいプログラムを作成。ちょっとトラブルはありましたが、無事にDBに書き込みできました。

さぁ、これでどう改善されるのかな。

cmake QT6の謎

Fedora40にUpgradeしたのですが、各モジュールのrebuildで問題多発。QT6のcmake定義がないとかなんとか。kf6(KDE 6)のメインモジュールやplasma関係のrpmがかなり引っかかります。
いろいろ調べて処置してみるのですがまったく改善されません。

しばらくもやもやしていたのですが、VMに新規インストールしたらどうなるのかと気付きました。
VM player ProがVer.17から個人利用であれば使用できるようになったので早速セットアップ。そしてFedora40をISOイメージからインストールしてあれこれ準備。
ちなみにVMへだと、UEFIでなければインストール不能となっているFedora40が若干の問題だけでインストールができます。

さっそくrebuildしたところ問題なく進行していきます。ならばと思い、/usr/lib64/qt6/cmakeの中身を全部取り出して、VMでない方にコピーします。本来は一つずつどこがどう違うか調べるべきでしたが、一気に上書きしたので何がNGだったのかは不明ですが、rebuildは本番環境でも問題なく進むようになりました。あとはネット関係が引っかかるのを解決できれば問題解決なんだけど、どこから調べていきますかね。現状ではVM上のFedoraの方がスムーズに動きますので。

だからと言って全面的にVM環境下へ移行することも検討しましたが、どうしたってパフォーマンスは落ちますから、正しい選択とも思えません。

さてもう一息頑張りましょうか。

Fedora40

有難いことに本業が繁盛で、なかなか遊んでいる時間も取れません。でモタモタしていたら40がリリースされていました。

本当はBootable Mediaから入れ直すのが古いrpmを削除できるので本筋なんですが、UEFI対応ではないこのPCだとBootable Mediaからの起動ができないので、いつものようにdnfの system upgradeを実行。

最初にFedora37時代のモジュールが引っかかったので削除。38,39と無事に過ごしていたのがすごいな…
さらにAkonadi-Serverの絡みでkde側のモジュールと競合するとか言ってきたので–best –allowerasingを追加。あとrustのモジュールでもトラブルが出てましたね。

rustとpythonはいつもモジュール類のバージョンで引っかかって面倒を起こしてくれます。rpmのrebuildに必要となるので入れてますが、本当に迷惑。特にrustのcrateはバージョン0.1とか0.2なんて奴が平気で公開されていて、しかもそいつに依存するアプリケーションが少なからず存在します。なのでrebuildするには複数を入れて置かなければなりません。例えば、

rust-rand0.7+libc-devel-0.7.3-8.fc39.noarch
rust-rand0.7+std-devel-0.7.3-8.fc39.noarch
rust-rand+libc-devel-0.8.5-5.fc39.noarch
rust-rand+std-devel-0.8.5-5.fc39.noarch

てな具合。

C++に比べて堅牢ってことですが、こんなバージョン管理がまかり通っていて本当なんですかねぇ。

トータルで9100余りのrpmが入れ替えになりました。これでまたしばらくrebuild祭りで遊べそう。

KiCAD winbuild

PCのOSがWindows11になりました。なのでと言う訳でもないのですがbuildシステムがpowershellのshell scriptベースとなったので、改めて挑戦。

説明ページ(https://gitlab.com/kicad/packaging/kicad-win-builder)によればgitを入れとけばOKとのことだったので、一式をgitリポジトリから持ってきて実行開始。

いきなり「powershellではスクリプト実行できません」攻撃を喰らい撃沈。セキュリティ上の仕様によりスクリプトは実行できない状態にしてあるとかなんとか。いきなり丸腰ってもどうかと思ったので制限付き実行可状態として再度挑戦。

あれやこれやをダウンロードしているようで順調です。が、「cmakeが無い」と苦情。こんなことも有ろうかと思ってcmakeを最新版を入れてPathも通しておいたのですがダメ。よくエラーメッセージを見るとパス決め打ちでそこにcmakeが無いと。しかもバージョンまで決め打ちされているのでcmakeのアーカイブから当該バージョンを引っ張ってきて、再挑戦。

が、結果的には最後のあたりでエラーになって結局は自前buildには失敗です。

本家ではどうやってパッケージを作成してんでしょうね。毎度のことながら謎だ。