Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

Oppo Pad AirのSDカードを見失う問題が今更解決できた?...やっぱりダメでした。

Oppo Pad AirのSDカードに悩まされる

買って1年になるOppo Pad Air。10.3インチの割には細身でダイソーで売っている小型タブレットポーチに入ったり、盾持ちだと文字入力時に両手持ちでキーボードっぽく打てたり、音も悪くなく取り回しは良いのだが最大の弱点があった。

SDカードが数日くらいのしばらくすると認識されなくなるというものである。

電子書籍系はSDカードに入れて、アプリやその他データは本体という使い方をしようと思っていたのだが、これでは一番の目的である電子書籍が見られないので本体にとりあえず電子書籍とバスの時刻表だけ常設して、後は必要なときに格納して使わなくなったら削除という運用を強いられていた。

解法(のねた)は突然に

この状態で一年半ちょい経った最近、スマホタブレットのおまけのアンチウイルスってどうよ?という疑問から設定をいじったら認識されなくなることがなくなった。

やったことは次。

  • タブレットマネージャーの設定のセルフチェックを「オフ」にする
  • タブレットマネージャーの設定のストレージの自動クリーンアップを「適用しない」にする

というそれとなくシステムよりな設定の変更である。

これでしばらくするとSDカードを認識しなくなることがなくなったようなので現在経過観察中。

とはいえ、あと半年もするとOSバージョンやや勤務表書き用のMicrosoft 365のサポートの絡みで運用や処遇を検討する時期に入るのだが、ここで解法が見つかったのかなと思うとなんとも言えない感じである。

と思ったら1週間でまた認識がおかしくなった。ダメだこりゃ。

ミツミ製メンブレンキーボードの清掃から見る今のDELL付属キーボードのちょっと良い所

ついでにもう一台やってみた

Realforce 106の掃除ついでにもう1枚掃除できそうなキーボードがあったので、こちらもキートップを外して掃除してみた。

1997年に初めてPCを購入したとき付属してきたミツミ製のメンブレンキーボードである。

こちらはRealforce 106を購入してからほとんど使っていなかったのでホコリの侵入はなかったが年数が年数だけにかなりの黄ばみ具合である。そして、キータッチも鈍くなっていた。

そこで、こちらはキーの底のほこり取りよりは清掃を重視してみた。

中性洗剤(洋服用)で洗った後、洋服用の漂白剤に一晩つけてみたがさすがにその程度では手に負えなかったのでやはりビンテージな黄色のままである。

キーの見た目とストロークについてふと考える

ついでにメンブレンキーボードのキーを支えるカップを取ったのでスプレーグリスを何度かに分けてかけてキーを押したときの滑りが良くなって少しはキータッチが良くならないか試してみた。

キーと押下を検知する所までのバーが数ミリとキーの見た目より全然浅いので何度かけてもちゃんとバーの動きがなめらかになるか不安だったが、心なしキーがスムーズになったくらいではあった。プラシーボ効果くらいか。

こうやって見ると今のDELLデスクトップPC付属の薄くてキーが浅いキーボードがほこりの清掃効率や見た目とストロークが合うことで自分がかつてNECのキーボードでかかった力を入れた押しすぎによる腱鞘炎を防ぐと共にキーが柔らかいので音も静かという合理的な物だということを体感した次第である。下手なエレコムのどこか設計がずれているキーボード買うより(水抜き穴の出っ張りの上にキーが合ってキータッチがおかしいキーボードを静音を人質に買わされた)有線であるということを除くと使えるのではないかとさえ思えてしまう。

残業続きで疲れていたので細かいことをやってみたが興味深い体験であった。

Firefoxの新しいプロファイル機能なにあれ?

Firefoxの新しいプロファイル機能への移行方法がお粗末な事ありゃしない

自分の環境では昨日

forest.watch.impress.co.jp

等で出た新しいFirefoxのプロファイル機能が有効になったのだが、いろいろな所でお粗末な事ありゃしない。

いつもの設定されたブラウザはどこ行った?

はじめ、いつものようにFirefoxを起動すると新しいプロファイル機能のプロファイル選択画面が出てきた。

今までのプロファイルの選択と新しいプロファイル作成を選べて、今までのプロファイルと新しいプロファイルの作成が選択できるようだが、今までのプロファイルの選択を押しても何もできない。

仕方がないので新しいプロファイルをとりあえず作って起動し、一旦終了して今までのプロファイルを選択しようとしたがなぜか選択できない。

これで、事実上のデータロストである。あまり詳しくない人はここで詰まるというだろう。

「ヘルプ」 - 「他のトラブルシューティング情報」で表示できる新しく作ったプロファイルに今までのプロファイルフォルダのファイルを上書き保存することでデータ移行自体はできるのだが、コマンドラインから新しいプロファイル機能のプロファイルを選択することはできない。古いプロファイル機能のプロファイルが選択されるだけである。

今までのブックマークを蓄積してきたスタンドアローンの旧来プロファイルとAndroidLinuxFirefoxと同期するための旧来プロファイルを使い分けてきた自分にとってはランチャーのボタン登録でのプロファイル選択ができないので新しいプロファイルを能動的に使うにはプロファイル選択画面を一度経る必要があるという一手間がかかるので非効率的なことこの上ない。

ChromeなどBlinkベースのブラウザでは金太郎飴のように同じコマンドラインでプロファイルをコマンドラインから使い分けてランチャーなどで使い分けられることを考えるとこの実装はお粗末である。

更に、今までの実行ファイルfirefox.exeを-profilemanagerオプション付きで起動してプロファイルを作り、ランチャーなどで起動する際は-P プロファイル名でプロファイルを切り替えることができていた上、新しいプロファイル機能でできることは今までのプロファイル機能と変わらないときた物である。

これなら、従来のプロファイルマネージャー機能のGUIを現代風に変更して普段から呼び出せるようにするだけで良かったんじゃね?

強硬手段

いつもの設定のFirefoxが使えないと困るので強硬手段を執ることにした。

過去の都合でプロファイルを通常とは別の所に作っていたので、

C:\Users(ユーザー名)\Appdata\Roaming\Mozilla\Firefox 配下の

  • Profiles フォルダ
  • profiles.ini

を消してプロファイルのないインストール直後の状態を作り、一旦初期プロファイルを作った後今まで使っていたプロファイルの情報を亡き者としてFirefoxを起動し、終了した後今まで使っていたプロファイルの情報を書き写すということでとりあえず使えるようになった。

この後、段階的ロールアウトでプロファイルメニューが出てきたが、新規プロファイル作成を押しても何も起きないという状態。

実害はないが、なにそれ?状態である。この後の仕組みの解析結果の構想を見るに、どうにも作り込みが甘い状態で出した感がありありである。

画像のダウンロードなどもできる強力なページ情報機能、カジュアルに大量のブックマークをため込めるブックマークメニュー、ブックマークツールバー、その他のブックマーク、モバイルのブックマークと一時的に専門ページをブックマークするのにも使えてブックマークマネージャーもなれべ替えなど強力なブックマーク機能、サイトが用意している場合用意したスタイルシートを選択できるテーマ機能のようなalternative style sheetの選択機能といった情報を読むための機能があるので情報を読むためのブラウザとして優れている上に危険性のあるWeb標準に提案された機能を実装しないでWebの安全を陰で支えるといった安全性とプライバシーに配慮した設計方針は他にはないので、頑張って欲しかったという所である。

続きを読む

MulSync Version 2.1.4

事件は夜起こった

1時間残業して家に帰り、ふとLinuxマシンとのデータのやりとり補助に使っているHDDをMulSyncで同期しようとHDDの側から起動してチェックをしてみた。

「あれ?なんか変だ」

悪魔は細部に宿る

出てきた不具合はポータブルモードで起動したときの動的に決まる(外付け)起動ドライブのファイルチェックの誤りだった。

悪魔は細部に宿るとばかりに不具合は利用頻度の低いところに潜む格好である。

今まで気づかなかったのは、普段の起動よりポータブルモードでの起動が少なかったのとファイルを外付けドライブに送ることが大半で外付けドライブからファイルをコピーするシチュエーションに出会わなかったため、今回同期したマシンのフォルダ構成を大幅に変えたことでバグが顕在化したという物である。

Version 2.1.2でファイル名のチェック処理に大幅に手を加えた際に2.1.3に続いてここも漏れた格好である。チェック項目増やさないと。

マルチブートをやめてみた

気がつけばWindows 11しかいなくなっていた

現在使っている自作機と並行で使っていた世代の古い自作機が不調になったのが1ヶ月前、この自作機にはWindows 10と11を入れていた。で、現在の自作機はWindows 11 24H2と23H2が入っていた。

世代の古い自作機をパーツ単位で売り飛ばして1ヶ月、データバックアップを採っていてファイルのセキュリティ設定でどうしても詰まる。

どうしようもないのでAIと解決策を探りながらふと思う。自作機は1台だけでどちらも現行版のWindows 11だと「もはやマルチブート意味ないんじゃね?」と。

これがWindows 10だったらWindows 10はWindows 10でしか動かないもしくはサポートしてないソフト用の予備としてデバイスドライバレベルでネットワークから隔離した上で生で使う意味があるけど今の自作機はどちらもWindows 11。強いて挙げるなら開発環境を入れてごちゃごちゃした方と入れてない方という違いしかない。あまり意味ないなぁ。Windows 12が出る気配もないし。

更に今の自作機はコア数が増えているので、本業の練習であるJavaとかPythonとかnode.jsとかはWindowsで使うとルートディレクトリにインストールしないと使いづらいことからディレクトリがごちゃごちゃしたり、動作環境での取り回しも合わせて勉強するならLinuxの方が実運用環境に近く効果がありそうなことからこれらを勉強するのを仮想マシンLinuxでまかなうことで解決できると思ったのでAIに見積もりを取らせたら行けそうな感じとのこと。

ということで、仮想PCにフィーチャーしたPC環境を作ってみることにした。

Microsoft関連のことはWindows

とりあえず、ファイルのアクセス権をつけた回数が少ない方だった開発環境の入っている方のWindowsをライセンスを抜いた後パーティション毎消して、残ったWindowsパーティションを結合する。これで1つになったWindowsには試行錯誤で買った互換Officeがあったが、ESETを入れる代わりにESETと競合する互換Officeを消す。会社に提出する印刷範囲があるExcelファイルのために入れたMicrosoft 365軍団とLibreOfficeがあればOfficeは十分だし、ESETの追加Webフィルタリングによる安全性確保の方がメリットが大きいという物である。

次に、MulSyncの.NET Framework 3.5開発用のVisual Studio 2019 Community (2022だと.NET Framework 3.5開発がなぜか入らないのと、MulSyncはWindows XP仮想PCとのデータのやりとりに.NET Framework 3.5を使うことがあるため)とWindows開発研究用のVisual Studio 2022を入れる。

Web系等はLinux

Web関連とコンテナはLinux環境の方が実働環境に近い事から勉強になるのでここで仮想マシン登場である。

既にDockerの勉強用のXubuntu仮想PCを作っていたのと、WebアプライアンスとかLinux固有ソフト雑用のXubuntu仮想PCを作っていたので、これを利用する。Dockerの勉強用のXubuntu仮想PCはルートパーティション50GBの所を100GB位にしておきたかったので、次の手を取った。

  1. Linux固有ソフト雑用のXubuntu仮想PCにDockerの勉強用のXubuntu仮想PCの仮想ディスクをいったんつなぐ
  2. Linux固有ソフト雑用のXubuntu仮想PCでDockerの勉強用のXubuntu仮想PCの拡大するパーティションに対してe2fsck -fを実行した後日和ってGPartedでパーティションを拡大した後拡大したパーティションに念のためe2fsck -fを実行する
  3. Linux固有ソフト雑用のXubuntu仮想PCからDockerの勉強用のXubuntu仮想PCの仮想ディスクを外す

これでディスク領域拡大成功である。

ついでにこのタイミングで24.04 LTSにアップグレードした後、4KディスプレイではXubuntuは使い心地がいまいちなので両仮想PCともKubuntuにしている。純正Ubuntuにしなかったのはどうせ来年になったらタイミングを見て次のLTSにアップグレードするのでサポート期間へのこだわりが少ないのとメモリ使用量、そして操作感の好みである。

あとは、Dockerの勉強用ベースに作ったWeb系勉強用仮想マシンがどれだけやれるかといったところである。

MulSync Version 2.1.2

リハビリテーション

いろいろな意味でのリハビリテーションとして本日2025年7月7日にファイル同期ソフトウェアMulSync Version 2.1.2をリリースしました。

何かと使っていると同期対象チェック時間が気になるなということで今回のバージョンになった次第です。

ボトルネック

今まではそこまで使われるということを考慮していなかったのと、メールソフトやバージョン管理ソフトのデータベースの整合性のための同期動作制約に力を入れていたので同期対象チェックの中間でのファイル情報格納には単純なArrayListを使っていたのだけれどもメールやバージョン管理ソフトのファイルが増えてきたり、Vectorのレビューで紹介されるにあたって流石に速度的な見劣りが隠せないと感じてきた。

とはいえ、同期動作制約について見直すとディレクトリの順番が必要となるところは同期先と同期元がファイルとディレクトリというように衝突を抑えているところだけでレアケースだったのと、個人的な時間的に大きな時間を取れなくなったということで取得した回数の多い同期対象フォルダに格納されたファイルの格納をSortedDictionaryに変えてファイル・ディレクトリの有無の検索を見直してみた。

まず、これで目に見えて同期先ファイルが同期元にあるかどうかの検索という最大のボトルネックが解消されたので25%同期対象チェック処理の速度を削ることができた。当初はそこまでヘビーに使ったり認知度が出たりはしないだろうと思っていたので安直に考えていたが、裏目に出た格好である。

まだ行けるか

デバッグで確認をしてみるとString.StartsWith,String.EndsWithがなんか遅かったので、これを文字列の文字数を見て文字や文字列を切り出して比較してみると回数が増えると案外効果が出ていた。

ということでString.StartsWith,String.EndsWithを撲滅してみた。中でどのようなチェックをしているのかリファレンスソースを見るべきだろうけど、そのうちでよいか。

というわけで

今回のバージョンである。

処理中のデータ構造をもっとドラスティックに見直すとかすればよいのだろうが、時間がかかるのと十分に動いているものを直すのはリスクが伴うのでこんなところである。

個人的にはUIを現代的にしたもののUIだけを作っているものもあるのだが、現状のものが十分動いているので手つかずである。今回のアルゴリズム変更も合わせて改めて十分に動いているものを置き換えることの難しさを思わされた次第である。

LibreOffice Calcの印刷レイアウトずれの謎

なんでLibreOffice Calcで印刷レイアウトがずれるのだろう

ふとしたきっかけから、なんでLibreOffice Calcで印刷レイアウトがずれるのだろうと思い、手元にあったどこぞの行政機関の罫線・オートシェイプ・セル結合・いろいろな高さといった書式が付いたExcelファイルを手元のLibreOffice 25.2 CalcとMicrosoft Officeで開いて調べてみた。

犯人はどこだ

まずPDFプリントしてみる。

セルの大きさ、文字の大きさ、セルの高さは致命的なずれはなさそうだが、LibreOfficeは縦の余白がやけにでかい。

次に、PDFプリントの影響を除くためLibreOfficeで印刷してみる。セルの大きさ、文字の大きさ、セルの高さ、左からの距離は問題ないが縦がやけに空いている。

考えられるのはページスタイルないの縦に関連する以下のパラメーター。

  • ページの余白
  • ヘッダーの間隔
  • ヘッダーの高さ

である。ヘッダーの高さについてはヘッダーをつけるで明示的に間隔・高さを指定してMicrosoft Officeと合わせた。ページの余白の解釈もあっている。

となると上記のパラメーターの他に用紙の上の余白について内部で何らかのパラメーターを持っていてこれが加算されることで印刷時に致命的なずれが出ることが分かった。

ワークアラウンド

LibreOffice Calcで印刷するときはページの上余白とヘッダサイズを最小限の0.1mm、ヘッダの間隔を0mmまで減らすことでExcelと同じセルの行数まで印刷することができた。

セルの高さは若干LibreOffice Calcが高いが最悪マクロで補正すれば良さそうに見える。

が、余白を作るベースの要素が異なるので明らかにサイズが異なってしまっている。

また、ヘッダーが必要になるとアウトだろう。

これってCalcのバグか設定ミス?

ふと拡張機能を見ると日本の履歴書をWriterで書いているテンプレートが見つかった。こちらではプレビューしても謎の上の余白は存在しない。

ということはCalcのバグかCalc用用紙設定のミスということになる。

これがなんとかなったらExcelワープロ全盛の日本での評価ももっと高まるだろうにもったいないったらありゃしない。

どうすればよいのだろう(過去の文書との互換性も入るので)。

Logi M185の謎

さて、まずはこの写真から。

"3種類のM185"
3種類のM185

中央はロジクールMK270付属版のマウスM185、両端はハードオフで1個550円で購入したM185である。

この両端も片方は専用ドングル、片方は使えるかどうか分からないけどUnifiedマークが付いて、専用ドングルだけどオレンジの線が付いた物である。

今日は親の見舞いの前に時間があるので仙台に最近できたハードオフ八幡町店に行ってきて、そこで見つけた物である。

ロジクールMK270付属版のマウスM185のホイールがプラスチック部分の摩耗で回らなくなったので、ホイールだけ交換する部品取りのつもりだったのだが、両端の単体版M185はトップカバーにホイールが付いて、回転は取り付けたときの回転部で検知して中央ボタンはトップケースのしなりで押すという全く違う構造だった。

仕方ないので、MK270付属版のマウスM185のホイールは1.6mmの竹ひごをヤスリで削って通すように竹ひご補修を変えてみた。若干上スクロールは重いが、中央ボタンをしっかり押せるようになったのでまあ、使えると言えるだろう。

結果、このような小型マウスの山ができてしまった。

"小型マウスの山"
小型マウスの山

キーボード付属のBuffalo、唯一サイドボタンが付いたバッファロー、Pebble売り尽くしの時に買ったPebble(実はもう1個ある)、ボタン効かなくなったので廃棄かと思ったらエレクトロリッククリーナーで直ったPebble、そして2004年だかに買ったMicrosoft(この頃はLogiとMicrosoftが二強でホイールの回転の仕方で好みが分かれたり、様々なセンサーが出たりしたマウスの発達が著しい頃でした)のMobile Optical Mouseと小型マウスが9個、テレワークにはMX400、プライベートの自作機にはグルーガンで焦点を合わせた結果落ち着いてきたダイソーゲーミングマウス重り除去仕様とマウスだらけである。

けど小型マウスでサイドボタンがあるのはバッファローの1台だけなので使うソフトのマウスカスタマイズは必須である。

そして、俄然輝き出すVivald。マウスジェスチャー・ロッカーナビゲーションが内蔵なのでその分拡張機能のプロセスが減って省メモリかつプロセス切り替えがないので少ないコアでも優しいという物である。

これだけあればもう小型マウスは不要かな。後は仕事用のMX400&M500が壊れたらそのときサイドボタンがあってある程度サイズがあるサイドボタン付きマウスを買う程度かな。

VirtualBoxを試している

怪しい雲行き

タイトルの通り今まではVMWare Workstation Player派だったが、今月に入ってVirtualBoxを試している。

理由としては2つである。

  1. 仕事柄IT系ニュースはよく見ているが、BloadcomによるVMWare買収から製品群のライセンス変更などが多々あり将来性が不安になったこと
  2. 4KディスプレイではVMWare Workstation Playerには画面拡大がないのでWindows 8.1では自動的に仮想マシンのDPIを追従してくれるけど、Windows 2000/XPではこの手が使えないこと、Windows 7では仮想マシンのDPIを追従してくれるけどWindows 7で動かしたいソフトは96DPIを前提としているので拡大されると困るので、ホストソフト側で拡大してくれないかなということである。

VirtualBoxを使ってみて

正直な感想としては一長一短である。

良い点

  • VirtualBoxの側に画面拡大機能があるので、
  • 将来性という意味ではOracleにしては奇跡的に存続しているという点でVMWare Workstation Playerよりましそうなこと

悪い点

  • Windows XPは1プロセッサでセットアップしないとめちゃくちゃ遅いので、プロセスが多くなったときに不安
  • Windows XPでDirect 3Dを使えないので、昔のゲームを遊ぶのに向いてないこと(ちはやローリングで比較ができない!)
  • 150%拡大が汚い(リモートデスクトップの拡大はよくやっていると思う)

というわけで、どちらを使うとも決めきれない今日この頃。