さわらブログ

さわら(@xhiroga)の技術ブログ

HDD/SSD関連ユーティリティ(WizTree / DiskRefresher4SE)

Windowsマシンで機械学習などを行うと、HDD/SSDの容量が気になります。

今回、SSDの中身を掃除するとともに、買い替えなどに伴って自宅のHDDを処分しています。そのためのユーティリティを比較しました。

ディスク容量可視化

WizTreeを使っています。非常に軽量で、2TBのSSDの可視化は初回で数分程度しかかからなかった気がします。さらに、一度スキャンした場合は数秒のようです。利用時の画面表示は次の通りです。

WizTree

ディスク消去

ディスクの消去では、フォーマットのほかにすべての領域にゼロやランダムな値を書き込むことで復元を困難にする必要があります。そうした機能を持つフリーアプリは多いため、なるべく安心できるソフトを選びました。

アイ・オー・データ機器が提供しているDiskRefreser4SEを利用しました。アイ・オー・データ機器は、石川県金沢市に本社があるディスプレイやディスクの会社です。日本の会社であり、ソフトを出す動機が分かりやすいため選びました。

利用時の画面は次の通りです。

DiskRefreser4SE ディスクの消去

細かい注意として、私の環境ではHDDをアダプタ経由で接続した際、DiskRefreser4SEにはディスクの名前ではなくアダプタの名前が表示されました。

消去の方法を複数から選択できます。

DiskRefreser4SE 消去方法

1TBあたり3時間ほどかかります。8TBの場合の見積もりは50時間くらいで表示されましたが、実際にやってみると24時間程度で完了しました。

DiskRefreser4SE 消去実行

まとめ

UXや信頼性に基づいてディスク関連のユーティリティを選定しました。WizTree、DiskRefreser4SE共に不満なく利用できており、オススメです。

連絡先の管理をiCloudからGoogle Contactsに変更した

TL;DR

  • 名刺管理と連絡先を統合したい
  • 無料で名刺をスキャンし、iCloudまたはGoogleと連携でき、かつ信頼できるサービスとしてHubSpotを選定した
  • iCloudの連絡先はGoogle Contactsに寄せることにした

経緯

勉強会などで名刺をもらったりすると、「この人とはどこで会ったんだっけ?」「趣味の話をしなかったっけ?」ということがあります。

そこでどこかに記録したいわけですが、新しい連絡先が増えるのは名刺だけではありません。例えば、大学の研究室にメールをするときがあります。

加えて、ガラケーのときから持っていた連絡先もまとめて管理するにはどうすればいいかを考えました。

仕様

iPhoneには、Google Contacts(Gmailの連絡先)を同期する機能があります。

iPhoneGmailの連絡先の同期の有効化

しかし、すべての操作が同期されるわけではありません。図にまとめました。

iPhoneの連絡先とGoogle Contactsの同期

図の通り、連絡先の追加・編集はiPhoneGoogle Contacts間で同期されるのですが、削除・統合はiPhoneからGoogle Contactsへの一方通行です。

つまり、Google Contactsで連絡先を削除・統合(・その他の連絡先へ移動)しても、iPhone側に残り続ける仕様のようでした。

Google Contacts側の削除・統合などをiPhone側に反映したい場合

Google Contacts側の削除・統合などをiPhone側に反映するのは実は簡単で、iPhoneGmailからの同期を一度オフにした後、再びオンにすれば大丈夫そうでした。

「その他の連絡先」の同期

Google Contactsには、メールのやり取りをしたことはあるが、知人というほどではない人のカテゴリとして「その他の連絡先」があります。

「その他の連絡先」はiPhoneやHubSpotには同期されません。これは地味に便利で、連絡する予定はないけど、削除するのは不安...という方の連絡先を入れておく運用ができそうです。

セキュリティ

この構成で最も気になるのは、連絡先を同期する場所が増えることです。特に現実的なリスクとしては、サードパーティのアプリのアクセス権を付与していることが考えられます。

iPhoneについては Privacy & Security > Contacts からアプリの確認ができます。また、Google Contactsについては サードパーティ製のアプリとアクセス から管理できます。

Google Contactsにアクセスできるサードパーティアプリの例

設定の切り替え前後で、一度見直すのが望ましいでしょう。

最終的な構成

やや手間はかかるものの、iPhoneで閲覧、ブラウザで編集、HubSpotで取り込みという分担になりそうです。

というのも、HubSpotの名刺のスキャン機能は既存の連絡先のアップデートに対応していないため、連絡先の統合は運用上普通にありそうなんですよね。

その一方で、iPhoneの連絡先の統合の発動条件がいまいち掴めないため、いったんはGoogle Contactsでの統合になりそうです。ちなみにGoogle Contactsでは、名前をそろえると統合候補に出てきます。

名刺スキャン機能をiPhoneが公式で搭載してくれればなぁ、と思ってしまいますね...!

iCloudからGoogle Contactsへの移行

複数選択してドラッグアンドドロップで良いのですが、macOSしか対応していません。また、連絡先の移動ではなくインポートなので、Google Contactsに移動した後はiCloud側から削除する必要があります。

まとめ

iPhoneからGoogle Contactsに連作先を統合して、連絡先やメモを一元管理できるようになりました。

個人的に出し方が分からない絵文字まとめ(日英)(🫡✌️🙏🌪️🌀🍊💎)

TL;DR

  • DiscordやSlackを含め、いろいろな場所で通用する絵文字の名前を調べた
  • iPhoneが柔軟過ぎて気づかなかったが、絵文字の意味を押さえた方が良い

動機

絵文字を打ったりリアクションをするとき、「あれ?ここではこれで変換できないのかな?」と思うことがよくあります。

一度整理して、自分の中で変換方法を固めようと思いました。

絵文字調査

注意: Microsoft IMEは、絵文字キーボードではなく普通の変換を指します。

🫡

日本語

iPhone (日) Google日本語入力 Microsoft IME (日) Discord (日) Slack (日)
敬礼 ✅出る ✖出ない ✖出ない ✅出る ✅出る
了解 ✅出る ✖出ない ✖出ない ✅出る ✖出ない
ラジャ ✅出る ✖出ない ✖出ない ✖出ない ✖出ない

英語

Discord (英) Slack (英)
saluting_face ✅出る ✅出る
roger ✖出ない

日英で呼び方が異なるケース。英語ではVサインなんだなぁ、と覚えると良さそう。

iPhone (日) Google日本語入力 Microsoft IME (日) Discord (日) Slack (日)
ピース ✅出る ✅出る ✅出る ✅出る ✅出る

英語

Discord (英) Slack (英)
v ✅出る ✅出る
peace ✖出ない ✖出ない

🙏

絵文字の意味は祈りなんだけど、表記ゆれがあるから「お願い」で覚えた方が楽そうです。

iPhone (日) Google日本語入力 Microsoft IME (日) Discord (日) Slack (日)
祈り ✅出る ✅出る ✖出ない ✅出る ✖出ない
祈る ✅出る ✖出ない ✖出ない ✖出ない ✅出る
お願い ✅出る ✅出る ✖出ない ✅出る ✅出る
ごめん ✅出る ✖出ない ✖出ない ✅出る ✖出ない

英語

Discord (英) Slack (英)
pray ✅出る ✅出る
sorry ✖出ない ✖出ない

🌪️🌀

iPhoneだとあまり区別しなくてよかったんですが、「竜巻」と「台風」で分けて覚えるのが良さそうです。

iPhone (日) Google日本語入力 Microsoft IME (日) Discord (日) Slack (日)
竜巻 🌪️🌀 🌪️ 🌪️ 🌪️ 🌪️
低気圧 🌀 ✖出ない ✖出ない ✖出ない 🌀
サイクロン 🌀 🌀 ✖出ない 🌀 ✖出ない
🌪️🌀 ✖出ない ✖出ない ✖出ない ✖出ない
台風 🌪️🌀 🌀 🌀 🌀 🌀
ハリケーン 🌀 🌀 ✖出ない 🌀 🌀

英語

Discord (英) Slack (英)
tornado_cloud 🌪️ 🌪️
cyclone 🌀 🌀
typhoon ✖出ない ✖出ない

🍊

日本語は問題ないんですが、英語で"tangerine"なのは覚えておかないとハマりますね。

iPhone (日) Google日本語入力 Microsoft IME (日) Discord (日) Slack (日)
みかん ✅出る ✅出る ✅出る ✅出る ✅出る
オレンジ ✅出る ✅出る ✅出る ✅出る ✅出る

英語

Discord (英) Slack (英)
tangerine ✅出る ✅出る
mikan ✖出ない ✖出ない
orange ✖出ない ✖出ない

💎

見た目からダイヤモンドだと思っていましたが、英語入力を考えると「ただの宝石」と覚えた方が無難そうです。

iPhone (日) Google日本語入力 Microsoft IME (日) Discord (日) Slack (日)
宝石 ✅出る ✅出る ✅出る ✅出る ✅出る
ダイヤ ✅出る ✅出る ✅出る ✅出る ✅出る

英語

Discord (英) Slack (英)
gem ✅出る ✅出る
diamond ✖出ない ✖出ない

📛 (おまけ)

Discord (英) Slack (英)
name_badge ✅出る ✅出る
tofu_on_fire ✖出ない ✖出ない

さすがにDiscordでも出ないんですね。

まとめ

こうして見るとiPhoneがめちゃめちゃ柔軟ですね。Microsoft IMEの絵文字入力はかなり不親切なので、 Windows+. の絵文字キーボードに慣れた方が良さそうです。

macOSで、誤ってブラウザからダウンロードしたOneDriveをAppStoreのOneDriveに切り替える

注意

  • 無理やりログを全て削除していますが、削除前にログアウトした方が安全だったかもしれません。すでに削除してしまった人向きということで...
  • この方法はローカルのファイルを全て削除します。全てクラウドにバックアップされていることを確かめてください。

TL;DR

  • アプリケーションを削除します(/Applications
  • MacからOneDriveを完全に削除する方法 に従い、~/Library 配下の関連フォルダを全て消します
  • Finderで~/Library/CloudStorage/OneDrive-xxxx に遷移し、Finderの案内通りにフォルダを削除します
  • OneDriveを再度インストールし、起動します

ポイント

ローカルに残っているフォルダを消さないと、すでに別のOneDriveアプリでログインしている旨のエラーメッセージが表示されてしまうようです。

コーシーの平均値の定理を、f(x), g(x)にxを加えた3次元のグラフで理解する

機械学習の基礎として大学数学を学び直しています。

コーシーの平均値の定理は、平均値の定理ラグランジュ平均値の定理)を拡張した定理です。ラグランジュ平均値の定理では f(x) と x に関する定理だったところ、x を 新たに関数 g(x) と置いても良い、という内容だと理解しています。

この x を g(x) で置き換えることのイメージが出来るように、f(x), g(x), x の全てが登場する3次元のグラフを作成しました。

TL;DR

コーシーの平均値の定理を、3次元グラフで理解する

X軸をx, Y軸を f(x), Z軸を g(x) と読み替えてください。

灰色の直線が  \frac{f(b)-f(a)}{g(b)-g(a)} に相当し、紫色の直線が  \frac{f'(c)}{g'(c)} に相当します。

www.desmos.com

解説

コーシーの平均値の定理は、私なりに言語化すると、「xの動きに従う関数f, gがあり、点aとbの間で滑らかな時、f(x)とg(x)による新たな関数は、点aとbの区間内に、線分ab平行な接線を持つ」となります。

作図で最も苦労したのが平行な接線、すなわち \frac{f'(c)}{g'(c)}です。

xの値cを求めるには傾きsが定まった状態で接線を求める必要があります。

しかし、作図に用いたdesmos 3Dでは、 s = f'(c)(変数cが左辺にないため、求める対象にならないらしい)や c = f'^{-1}(s)逆関数はdesmos 3Dに定義されていなさそう)でcの値を求めることができませんでした。
 f^{'-1} f導関数 f'逆関数を表す。
そこで、作図の対象を2次関数に限定することで、導関数逆関数 f'^{-1} x = \frac{y-b}{2a}の形に定め、cを求めるようにしています。

まとめ

コーシーの平均値の定理をdesmosを用いて3次元のグラフで表しました。

参考資料

ダランベールの収束判定法を、英訳とグラフで直感的に理解する

機械学習の基礎としての大学数学を学び直しています。

確率統計の分野で確率のモーメント母関数を求める基礎としてマクローリン展開が、さらにその基礎としてダランベールの収束判定法が必要となります。

マセマの微分積分は分かりやすいのですが、グラフを加えてさらに直感的に理解できるようにしました。

ダランベールの収束判定法

級数  \sum_{n=1}^\infty a_n について、  \lim_{n \rightarrow ∞}\frac{a_{N+1}}{a_n} = r のとき、

(i)  0 \leq r \lt 1 なら  \sum_{n=1}^∞ a_n は収束し、

(ii)  1 \lt r なら  \sum_{n=1}^∞ a_n は発散する。

 1 = r なら、ダランベールの収束判定法では判定できない)

英語版での名称

ダランベールの収束判定法を言葉で説明すると、級数の∞番目と∞+1番目の項との傾きを調べる、となります。

実はダランベールの収束判定法は、英語では単にRatio Testと呼ばれているようです。私はRatio Testの方が分かりやすいと思いました。

グラフによる理解

級数が収束する場合、発散する場合のそれぞれで、グラフの傾きを見てダランベールの収束判定法を直感的に理解したいと思います。

級数が収束する場合

 \sum_{n=1}^\infty 2^n / n!

のグラフでは、次の通りnが極限に近づくに伴って傾きが0に近づいています。

www.desmos.com

級数の小さくなり方が加速していく時、級数の和が収束する、と言い換えられそうですね。

級数が発散する場合

 \sum_{n=1}^\infty P^n / n

のグラフのPの値をアニメーションで変化させています。Pが1より小さければnは収束し、Pがより大きければnが発散します。

www.desmos.com

級数の大きくなり方の差の開き方が加速していくとき、級数の和が発散する、と言い換えられそうですね。

まとめ

ダランベールの収束判定法では、級数の小さくなり方・大きくなり方の加速度合いを見て、級数の和が収束するか発散するかを見ていることが分かりました。

ベイズの定理を面積と計算グラフで表す

機械学習の基礎として確立・統計を学ぶ中で、ベイズの定理を扱いました。

マセマの参考書は非常に分かりやすかったのですが、図があるとさらに理解が深まると思ったので、自作しました。

注意: 筆者は講義などで大学数学を学んだわけではないので、誤っている可能性があります。(その場合はぜひご一報ください)

ベイズの定理を面積と計算グラフで表す

ベイズの定理で、事象A・事象Aに依存する事象Bの発生確率がそれぞれ分かっているとき、逆に事象Bを前提として事象Aが起きていた確率を求めます。

次の例題を考えます。

- 赤玉と白玉が入った袋Aと袋Bがあります。
- 倉庫から運び出した袋が袋Aである確率は2/3、袋Bである確率は1/3です。
- 袋Aには赤玉が1つと白玉が4つ、袋Bには赤玉が1つと白玉が1つ入っています。
- いま目をつぶって袋を運び出し、そこから1つ選んだ玉が赤玉だった場合、赤玉が袋A由来である可能性はいくらでしょうか?

面積で表す

ベイズの定理による事後確率の計算を面積で表す

あとはセルの数を数えれば良いようになっています。赤玉を引く可能性のセルが9つあるうち、袋A由来のセルは4つなので、赤玉が袋A由来である可能性は4/9となります。

計算グラフ

直感的な理解の後は、言語化をします。その補助として計算グラフで表しました。

次の前提があります(時間があったらTeX記法にします)

  • 事象X: 袋Aが運び出される(余事象ハットX: 袋Bが運び出される)
  • 事象Y: 選んだ玉が赤玉である

ベイズの定理による事後確率計算の計算グラフ。図中の?(1)は9/30、?(2)は4/9となる

求めたい事後確率「赤玉が袋A由来である可能性」について、次のことが言えます。

袋Aを運び出し、かつ赤玉を引く確率は、「袋Aを選ぶ確率×袋Aから赤玉を引く確率」でも、「赤玉を引く確率×赤玉が袋A由来の可能性」としても求められる。

だから、袋Aを運び出し、かつ赤玉を引く確率を求め、それを赤玉を引く確率で割ってあげれば、赤玉が袋A由来の可能性が求められるんですね。

まとめ

面積と計算グラフで、ベイズの定理を直感的に理解し、かつ言語化する補助ができました。

参考