ほんとうの空

東京にはほんとうの空が無い

高村光太郎は妻の智恵子がそう言っていたと詩にしています

大正の終わりか昭和のはじめの頃と思います

私は東京に暮らしたことはありませんが、そもそも私が東京に行くようになったずいぶん昔の時点で、本当のも何も、東京には既にほとんど空がありませんでした

空があるとは何のことかと言えば、要するに空が見えるということでしょう。加えて智恵子が言うのは、(彼女の思う)本当の空の色や形をした空、感情を揺さぶるような存在感の空が無い、ということかと思います

ほぼ色彩的主観に生きた人物像の智恵子の言葉、それを東京育ちの詩人の夫が「東京に空がない?」という驚きの表現に圧縮したものかと思われます。東京に「は」じゃないんですよね

味が味覚だけでなく嗅覚や視覚に支配されるように、視覚も他の感覚、それ以上に感情に左右されるものと思います

そして視覚は、他の感覚に増して思考を、というか長時間に渡って継続する作業の気分を左右し、生産性や創造性を左右します

身近なところではデスクトップの壁紙ですね

この壁紙を採用したら、生産性アップ、会社の業績もうなぎのぼり!みたいな壁紙が売れるかもしれません

ラピスラズリー色のとか

— 2020-0616 SatoxITS(土浦駅にて)

  • はじめてiPhoneから投稿してみました。特に違和感なしです。
  • これを書いてて思い立ったので当サイトのボタンはラピスラズリにしました。

世界で一番カンタンなDNSサーバ

基盤:ローカルなホストに名前を付けてアクセスしたいのですが。特に仮想マシン。

開発:/etc/hosts に書くのが一番簡単だと思います。

基盤:どのマシンでもその名前を共有したいんですよね。

開発:DNSで配ると良いと思います。

基盤:DNSサーバ立ち上げるのってかったるい気がしますが。

社長:うち的には DeleGate でやるのが一番カンタンですね。サーバの起動はこんな感じ。

delegated -P53 SERVER=dns DNSCONF=domain:p RESOLV=file

社長:それで /etc/hosts にこんな風に書く。

192.168.10.201 u201

社長:そうするとみんなにこう知らせてくれます。

u201.p のアドレスは 192.168.10.201 ですよ。

基盤:そうですか・・・ 3分で構築完了。アクセステスト。まずはMacから。

基盤:つぎはUbuntuから。

基盤:うーむ、世界で一番カンタンな方法かもしれませんね。

社長:クライアントホストのOSごとにDNSサーバの設定方法が違うので、そこがちょっと面倒と言えば面倒ですけどね。

基盤:そのへんの違いを吸収する共通の設定ツールを作ると良いかもですね。

社長:やりたいのはすごく単純な事なのに、同じことをやるのにOSごとにやり方が違うってホント疲れますからね。そういう全OSに共通の設定インタフェースを規定するのが良いかもです。というか、SNMPとかMIBってそういうものだったような気がしますが。

開発:あと、外部DNSへの中継サーバも兼ねるように、RES_NSを設定しておくと良いですね。

delegated -P53 SERVER=dns DNSCONF=domain:p RESOLV=file,dns RES_NS=192.168.10.1


2020-0613 SatoxITS

長期記憶力200%増(当社比)

経理:アマゾンからSSDが届きました。

社長:結局2.5インチのSATAドライブになったんですね。

基盤:それなんですが、240GBのPCI直挿し基板がかっこいいと思って検討したのですが、どうも売ってる製品の評判が芳しくない。ちゃんと性能が出ないとか。で次に M.2 スロットのを検討したのですが、このレノボ機の30mmスロットに入るものは無いようです。そうこうするうちに、サムスンの2.5インチの500GBが7千円というのを見つけてしまいまして。レノボのドライブ用のベイはポッカリ空いていますし。

開発:2.5を中でプラプラにしとくのは何なんで、3.5ベイのドンガラが必要ですね。

基盤:あのドンガラがすごく嫌だったんですが、なんか可愛いのが売ってたんですよ。これです。これで決心がつきました。

開発:あれ?「土曜日にお届け済み」って、今日は金曜日ですよね。

経理:最近のアマゾンはなんか変ですね。ていうか、なんで曜日しか書いてないんでしょう。そういう一方で、こちらには曜日が書いてない。

社長:日付情報は非常に重要なので、冗長なくらいに表示して欲しいものです。

開発:それで940円もするこのドンガラを買ったと。

基盤:だって、なんだか可愛いじゃ無いですか。ほら。

開発:一回装着しちゃったら見えないのに。

基盤:内面から美しく、です。

基盤:ということで、増設前に記念写真をパシャ。

基盤:されてそれでは再びレノボ君の蓋を開けて、あのドライブのスロットあたりこのこを突っ込みましょう。バコ。ああここがそれのようです。この安っぽいペラペラのプラって埋め草?捨てちゃっていいんですかね。

開発:うーん、それにしては何らかの機能を持ってそうというか。ねじ穴みたいなとか。そもそもこの赤い目印というのは重要な機能だよね。これにそれを納めて元の位置に戻すのでは。

基盤:なるほど。確かにネジ止めすべきみたいなところにこのでっぱりピンがちょうど刺さりそうですね。しかし、こいつふにゃふにゃしているわりには、最後の抵抗みたいな。。。

開発:それって、一方の長辺を納めてからじゃなくて、一方の短辺を確定してからにしてみてはどうだろう。

基盤:ぐいぐいっ。おー、はまりました。ではこれを元に収めると。どっち向き?ああこっちか、この赤い目印はやはり役に立ちますね。それで配線はと、、、信号線のコードと電源線のコードが別れてるんですね。

開発:先客のDVDドライブの配線をみると、SATAの口がここで、電源の口がこれじゃないですかね。

基盤:のようですね。SATAのL字型のジャックって、間違えにくくて良いですね。薄暗がりの老眼でも手探りでなんとか・・・挿さりましたました。で電源はたぶんここで・・・挿さりました。

開発:しかし、外付けのUSBなら何にも考えずにぐさっと刺すだけなのに、やはり内蔵って手間がかかりますね。

基盤:まあそのぶん安くて速いということで。さて、蓋をしめて。ケーブル戻して。電源ON!

基盤:あれ?見えないですね。

開発:まあ、フォーマット済じゃ無いんでしょうね。XPの時代だと、PCの管理から入ってフォーマットしてました。

基盤:これですね。Widowns 10にもあるようです。

基盤:ディスク1とか言う正体不明なやつ。初期化されてません、未割り当てと。

基盤:お前何者だ・・・ ああ、サムスンですね。Samsung SSD 860 EVO 500GB。

基盤:で、こいつを初期化すると。

基盤:GPTって何ですかね?

開発:さあ。デフォルトお勧めに従っとけば良いのでは。

基盤:OKっと。おお、「初期化されていません」が「オンライン」になりましたね。

開発:これを初期化と呼ぶのか… 初期化されている=オンラインなのか… どういう意味で初期化なのかよくわかりませんね。まあ、初期化されてないとオンラインにはならいんでしょうけど。

基盤:では中身をば。

基盤:ボリュームってなんですかねこれ?

開発:パーティションの事じゃ無かったっけ?

基盤:よくわからないけど、お勧め?のシンプルボリュームで。

基盤:ここからウィザードの開始なのか。出てくるの遅すぎでしょう。ウィザードって普通、初めから最後まで世話してくれるやつですよね。

基盤:ボリューム満タンでよろしく。

開発:ここはその昔ならFATにするかどうか迷ったとこですね。今時だとNTFSもデフォでMacとかUnixで読めるのかな。まあWindows内蔵だし迷わずNTFS。

開発:ボリューム名は、これはVM用SSDだ!とわかりやすくしときましょう。

基盤:じゃこれで完了します。ていうか、意味もなく無段階ですね。初めからこのフォームだけ出してくれればいいのに。完了をぷちっ。

基盤:やってるやってる。

基盤:やってるやってる。

開発:できましたね。なんか昔とやり方が変わらない感じだけど、最近はもっとスマートなウィザードとか居ないのかな?

社長:MacOSのディスクユーティリティのようにあって欲しいものです。ウィザードってほどの複雑な作業でも無いし。

基盤:OKですね。

基盤:さてエクスプローラでみてみましょう。。。あれ?Fドライブ、出てこないですね。

開発:うーん。とりあえずリブートしてみましょうかね?

* * *

基盤:かれこれ10分。くるくるしてるだけで立ち上がらないですね。何か壊れましたか?

開発:うーん。とりあえず電源OFF・ONしてみましょうかね?

基盤:ぷち。ぷち。・・・

基盤:立ち上がりました。ではさっそく、エクスプローラで。

開発:おお、出ましたね。めでたしめでたし。

基盤:なんだかんだで1時間がかりでした。

社長:Macなら5分なのにね。

基盤:でも、Macの筐体の開け閉めは半日がかりですよね。その上開けたら最後保証範囲外とか。

開発:それではMacからRemoteDesktopでつないで始めましょうか。

基盤:フィリップス 君の入力をHDMIに切り替えっと。・・・ あれ?シグナルが無いって。MacのHDMIをUSB-Cから出してみますかね。・・・ おかしいな。Macをリブートしてみますか。・・・ あれー、どういうこと?Macにリモートログインできるし元気に動いているのに。RemoveDesktopとの関係ですかね?

開発:うーん。とりあえずフィリップスを電源リセットしてみてはどうでしょう?

基盤:このスイッチ、本当に意味不明なんですよね。さわ、さわっと。立ち上がり遅いし!あ。Mac画面出ました。

開発:モニタ出力が繋がらなくなったらフィリップス君を電源リセット。これ、わが社の鉄則に追加ですね。

基盤:それではようやく、いつものシンプルベンチマーク行きます。

基盤:読み書きとも450MB/秒以上出ますね。スペック通りです。

開発:仮想マシンをSSD to SSD でエクスポートしてみましょう。

基盤:えい。

基盤:実に淡々と375MB/秒でコピーしてます。

開発:ただ気になるのは、読み出し側の旧SSD(Cドライブ)と、書き込み側の新SSD(Fドライブ)のアクティビティの違いですね。単純コピーなので読み書きどっちも375MB/秒ですが、読んでる方(C)のディスクアクティビティが15%程度なのに、書いている方(F)は95%位いってます。

基盤:Flashの読みと書きの違いですかね。それともCがM.2なのに対してFがSATAだからとか。

開発:まあ、一応SSDとしてのフル性能は出てるし、実際にはうちのVMはほぼRAMだけで動作しますから、この性能が気になるのは時々しかやらない起動・停止と、アーカイブする時くらいですけどね。

基盤:まあ、私はそこが気になっているわけですが。


2020-0612 SatoxITS

Vivaldiと過ごす四季

社長:Vivaldiからアップデートのお知らせが来ました。

基盤:ブラウザのアップデートの知らせが楽しみとか、そもそも更新内容を気にした事なんて山田かつてないですね。

社長:さっそくインストールしましょう。インストールしてぷち、リスタートぷちっと。あ、Vivaldi も終了して起動すると、ウィンドウ回復されるのがデフォなんですね。うーむ、これで決定的にOperaともお別れですね。

社長:じっくり味わいたいと思います。なるほど、NotesもVivaldiでいいかもしれないな… あ、でもMac Notes のようにドラッグ&ドロップで画像を張り込めないのか…



The stable release of Vivaldi 3.1 has arrived!

Get the full story by visiting the Vivaldi blog (vivaldi.com/blog)

Changelog since Vivaldi 3.0 (1874.38)

[New][Menus][Settings] “Configurable Menus”
[New][Notes] Full page “Notes Manager”
[Address bar] Mic and Camera permissions are not triggered on some sites VB-65013
[Address bar][Search field] Can’t use arrow keys to select suggestions when Num Lock is on VB-52978
[Address bar][Sync][User profiles] Profile button invisible when signed in VB-59399
[Address bar][URL field] Blinks when closing the typed history with Esc VB-64150
[Blocker] Add support for WebRTC blocking VB-68017
[Blocker] Importing locally stored tracking/adblocking lists fails VB-66311
[Blocker] Reload page when protection level is changed VB-68179
[Blocker][Themes][Settings] Invisible values in drop-down menu with dark themes VB-68316
[Bookmarks] Default bookmark folder names should use the GUI language VB-67384
[Bookmarks][Menus][macOS] Bookmark does not open in new tab via top menu VB-67239
[Chromium] Upgraded to 83.0.4103.98
[Clock] Localized dates wrongly formatted VB-65948
[Clock] Missing month and year in PT-BR short date VB-67686
[Crash] On Google Meet VB-67513
[Developer Tools] “Shift+I” opens a new DevTools instance VB-63935
[Extensions] Audiocapture popup shows when using Loom VB-68170
[Extensions] Icon is not shown if extension has no page or browser action VB-60321
[Extensions] Loom gives error message: “Allow access to your ..” VB-67033
[History] Date being formatted as “maio, 27 2020AM” VB-67973
[Keyboard] On the website krunker.io, when I press the key ESC nothing happens VB-67430
[Keyboard][macOS] ⌘T should open a new tab when no windows are open VB-66162
[Media] AV1 videos fail VB-64648
[Media] Doesn’t always leave full screen mode after closing a full screen video VB-62177
[Media][Linux] Update proprietary codecs to 81.0.4044.138
[Media][Windows] Add proprietary media availability detection and warning to users running Windows N-versions VB-62670
[Menus] Alt-key plus key does not open sub-menus VB-65700
[Menus] Horizontal menu does not get check mark in menu when enabled VB-67974
[Menus][Crash] The browser can crash when closing main menu VB-67985
[Menus][Extensions] Missing context menus VB-29932
[Notes][Panels] Cannot add address VB-68261
[Notes][Panels] Edit Note Address via right-click context menu VB-68354
[Panels] Reload causes the main page to reload instead of the web panel VB-64273
[Panels] Toggle is not shown for panel at the right side VB-63240
[Regression] Dead bird shown without crash on closing VB-63880
[Regression] Slow page load performance VB-67537
[Regression] Toolbar button ellipsis does not show VB-66335
[Regression] YouTube full screen not fully left after Esc VB-67651
[Security] Certain peripherals can be detected by a page even if it cannot use them VB-67897
[Session Manager] Does not open tabs when opening session VB-62494
[Settings] Add Mouse Gesture command selection drop down broken VB-67265
[Settings] Columns in the password manager are misplaced VB-65376
[Settings] Copy list origin doesn’t work VB-68041
[Settings] Modal view cannot be dismissed by outside click in settings popup VB-67365
[Settings] Move Updates into General settings category VB-67185
[Settings] Sort-able list keyboard navigation not working in settings popup VB-67351
[Settings] Window is blank when opened from private window VB-65717
[Settings] “Suggestions in Address Field” cannot be changed from privacy settings VB-67353
[Settings][Status bar] Play Image Animation option order is mixed up VB-67906
[Settings][Win][Linux] Enable “Remove tab spacing in maximized window” by default VB-63069
[Settings][macOS] Make silent auto-update ON by default: can be disabled in settings VB-65832
[Settings][macOS] Move “Enable JavaScript from Apple Events” to settings VB-45484
[Spatial Navigation] Better handling of images inside links
[Sync] Make various UI settings sync-able VB-66172
[Tabs] Cannot reach close buttons in vertical tab stack tool-tip VB-58734
[Tabs] Right-click Close Tab Fails in a Tab Stack VB-67041
[Tabs][Crash] While trying to close tiled tab VB-56868
[Tabs][Windows][Linux] Gradient color show behind tabs VB-67174
[Tabs][macOS] Closing the last tab anytime during/after full-screen also closes a tab in the next active window VB-67389
[Themes] Accent color not fetched from favicon on some sites VB-66634
[Themes] No visual indicator on selected Light and Blue background colors VB-64765
[Themes][Regression] Not enough space for speed dial background names VB-65908
[UI] Only focus-able elements in popup should be focused via Tab key VB-66786
[UI] Partial button in blocked cookies dialog VB-59241
[Windows] Use native system for geolocation: enable first in Windows settings VB-65329
[Windows] Visual glitch in tab with audio icon VB-63898


2020-0612 SatoxITS

Googleアカウント停止されました

社長:このような恐ろしい通告が来たのですが。

社長:これ、正式契約済ませてますよね?支払い確認と利用開始のお知らせメールを見た記憶があります。一体どういうことでしょう?Googleってこういう会社になっちゃったんですか?グレちゃったんでしょうか?

経理:至急調べます。

社長:実際、メールを送ってみると、そんな人はここには居ませんて返ってくるし。

社長:Gmailには入れなくなってるし。。。とても悲しいです。事業継続の危機です。

経理:… 原因がわかりました。先日当社の .jp と .com のGoolgeアカウントを同時に作成したのですが、.jp のほうの支払い情報設定作業が抜けていました。管理コンソールに入るとこのように。

社長:おーっと、Googleが赤色を使ってくるとは。ここぞの時の警戒色ですね。そうですか、じゃすぐに設定して支払いを。

経理:はい、急いで。あー、これの入力、郵便番号からオートコンプリーションとかしてくれないんですよね。。。ヨドバシの会員登録なんて建屋名までずっとクリックでしたけどね(恐怖!)。。複数ドメインを一括管理できないんですかね。。。カチャカチャ。ぷち。カード登録?あー、そういえばおしとやか銀行のカードはGoogle方面に通らないんだ。メインバンク更迭ですね。カチャカチャ。ぷち。ぷち。ぷちっ。はい、設定しました。じきに開通するかと。

社長:そうですか。早めに気づいてよかった。しかし、止められている間についたメールって消えちゃうんですかね?

経理:支払い確認メール来ました。

社長:所要数分でしたね。んー、Gmailログインできました。あー、やっぱり、アカウント止められてる間の受信メールは残ってないです。そりゃそうですよね。なんせ、不達メールを返してしまってるわけですし。んー、GoogleDrive のほうもちゃんと繋がりますね。OK。業務復旧です。

経理:不覚でした。基盤としてのロールに気を取られていて。

社長:いや、なかなか面白い経験をしましたね。Googleはタダだという残像が消えました。緊急対応の良いシミュレーションにもなったかと。


2020-0612 SatoxITS

7200回転の音

社長:そういえば、ハードディスクってなんで7200回転なんでしょう?ずいぶん昔から。なんでそれより高速化しないんですかね?

開発:7200回転/分ていうとエンジンで言えばもうレッドゾーンですから、メカ的な限界なんじゃないですかねえ。それ以上げたらコストに合わないとか。

基盤:毎秒120回転ですからねえ。よくわからないけど凄いなみたいな。私なんて3回転と4回転の違いがスローで見ないと分からないです。60の倍数っていうのが、ひょっとしたら電源周波数との相性みたいなのを想像させますが。

開発:今時交流電源の周波数に影響される電子機器って無いんじゃ無いですかね。まあハードディスクが電子機器かっていうとちょっとイメージが違いますが。ソリッドステートじゃないからか。あ、でもモータの制御周期が20ms前後なのは、電源の50Hzから来てるという話を聞いた覚えがあります。

基盤:なんにしても、ちょうど十進数で下の桁がゼロって、デジタル時代以前の人工物だなって思いますよね。

社長:私はGPIOの出力を圧電スピーカと間違ってサーボモータに繋いだことがありますが、ちゃんと500Hzあたりのメロディが演奏できるのが笑えました。

社長:しかし120Hzっていうのは、音でいうとかなり低音ですね。A#2とB2の間くらい。車のレッドゾーンてかなり喧しい気がしますが。まあ、高音ではないのかな。ターボの30000回転の音はすごく良かったですね。クーっと始まってシューって行ってラーみたいな。行き着く先は免停ですよ。

開発:そもそも人類がこれまでに作った回るメカの中の最高回転てどのくらいですかね?めっちゃ回ってるイメージのジェットエンジンでも1万回転くらいのようです。まああれはモーメント半端ないですが。高速な遠心分離機だと40000回転超えるようですね。

基盤:遠心分機と言えばウランなんて数千Gでやるそうなんで、めっちゃ回ってるんでしょうね。

開発:そこへ行くと染太郎なんて高々100rpmくらいだよね。

社長:パルサーなんて星がミリ秒で回転してますけどね。それはそうとMEMSのジャイロてどうなってるだろうと思ったら、振動型のジャイロなんですって。中で小人さんが回ってるわけではないんだ。スイッチングレギュレータとか、ソリッドステートな発想って私の中高時代の理科では教わらなかったですね。

基盤:ところで回転数を分単位で数えるようになったのっていつからなんですかね。モーターって言えば子供の頃のプラモデルのマブチが大好きでしたが、あれも無負荷で8000rpmくらいのようです。電気自動車のモータもそんんな感じなんですかね。

開発:まあ身近なコモディティの電気モータが8000回転くらいというのは、ハードディスクの7200回転に関係しそうです。やはり安上がりに実現できる回転数なのでは。

基盤:ところでHDDのそれって、回転数の誤差どのくらいなんですかね?別に何回転にしても電子制御なんだから対応できる気もするのですが。コンピュータのクロックなんて適当にいじれるわけですが、いっそCPUのクロックアップみたいにHDDの回転数を自前でチューンしたら高速化できるかもですね。

開発:あんまり速いと磁気的に読み取れないということは無いですかね。原理的には電磁誘導なんですよね。ところで、フライホイールも2000rpmくらいらしいですが、HDDって瞬電対策のUPS代わりに使えないですかね。

基盤:とても充電池には対抗できないですね。

社長:私が最初に使った頃のPDPやVAXのディスクっていったい何回転くらいだったんでしょうね。なんか「ガー」とか「ゴー」っていう音でしたけど。60Hzくらいとか?今のは「グー」くらいな感じがします。

基盤:ひょっとしてそれ、ファンの回転音じゃないですかね。うちの台所のファンてどうして、前時代的にガーガーうるさいんでしょう?まじ不快です。まあ、築30年ものらしいですが。

社長:私はノートPCのヒーヒー言うファンの音がとても苦手で、だいぶ辛い思いもして来ました。そこへこのレノボ君が来た時、ほとんど音無しで感動しました。そしてMacMini。これってファンレス?もちろんラズパイにファンなどありませんが。

開発:扇風機の静音化は目を見張るものがあるんですけどね。あれは1000回転前後のようです。人間の可聴域下限が20Hzだそうなので、回転自体は耳から音として聞こえてないんですかね。

基盤:うるさいといえば掃除機ですよね。吸引力なんか必要なだけあればいいんで、静音の掃除機が欲しいです。どうやら東芝の掃除機のモータは12万回転とかするらしいですが。

開発:洗濯機の脱水時もだいたい1000回転くらいらしいですね。洗濯機を回すのは好きなのですが、ドラム式で回転が上がり切るまでにどう暴れるのか恐ろしいです。せっかく上がりきったなと思ったらまた休んでみたりとか、変に頭がいいやつって。

基盤:あれって、洗濯工程とか回転のあげ方とか制御アルゴリズムを自分で書いてみたいですよね。というか、パソコンからネット経由でコントロールしたい。槽内監視用のLEDが勝手に短時間で消えたり、回転数の表示が無かったり、せっかくの面白い機械が生かされてない感じがします。

社長:昔はディスクの音で、今どこまで処理が進んだかとかわかりましたよね。コンパイル走らせるとシークしまくるとでっかい計算機の筐体がキュンキュン踊るという。あれは一種のエンタメでしたね。今だとプロセスとかタスクごとに固有の音を出させたら、何かのメロディになったりして面白いんじゃ無いかな。

開発:やかましいから合成画像くらいですかね。MacのスクリーンセーバとかiTunesでやってたようなやつ。

基盤:普通にプログレスメータがいいです。

開発:しかし120Hzっても1回転8ミリ秒程度ですからねえ。ヘッドのシークだってあるでしょうし。連続的な読み書き以外はダメなのはもう宿命ですね。ランダムアクセスをミリ秒以下にするのはおそらく不可能でしょう。

基盤:これまで気にした事もなかったのですが、最近はVMの性能を縛っているHDDの応答時間目につくんです。で、タスクマネジャの簡易表示を見るんですが、単位がmsなんですよね。平均を取ってる時間が短すぎて値が暴れるのであまり意味が無いですが、10ms付近の値はよく見かけます。

基盤:一方でSSDの応答時間はおおむね 0.1ms以下で安定してますから、これはもう勝負にならないですね。

開発:でも、RAMならとんでも遅いのでも 0.001msではアクセスできるから、そこもまた勝負にならないですね。

基盤:RAMで収まる仕事ならRAMでやらなきゃ馬鹿馬鹿しいという話ですね。今、だいたい 2GB で1,000円。私たちの仕事って40GBもあれば普通収まるから、2万円程度。こここそ設備投資投入のツボかなと。

開発:HDDとかクラウドのドライブ直でVMしてみようというのは、意味の無い試みだったですね。十年以上前のRAMの価格の記憶に思考が引きずられてました。

社長:むかしなんてそもそもテープでしたからね。まじもんのtarですよ。私はオープンリールの時代も知ってます。あの、テープをあっちへこっちへ引いてセットするのって、結構楽しいんですよね。

基盤:そういえばHALの記憶媒体って何だったんでしたっけ。

開発:寒天みたいに見えるから、有機物かもね。中でニューラルネットが育ってるとか。あるいはナタデココとか?


2020-0611 SatoxITS

感動を与えるソフトウェア

社長:最近はもう、食べ物に感動することがなくなりました。

基盤:もしやコロナでは。

開発:しばらくカップラーメンに感動してましたね。佐野ラーメンはスープまで全部完食とか。

社長:5年以上前に日清のトムヤムクンヌードルに感動してアマゾンで箱買いしたりしてた時期はあります。用心して食べ始めるのに、必ずムセてしまうという。でも当時は他のカップ麺は目に入らなかった。まあコンビニしか行かなかったからかもしれません。最近ドラッグストアのカップ麺売り場に行くと圧倒されます。

基盤:時々非常食買い占め騒ぎ的なのが起きますが、空っぽになった商品棚の中に、例の真っ赤なカップ麺だけが手付かずにぎっしり売れ残ってる風景は、とても絵になる光景だと思います。

社長:私の中の最高傑作は子供の頃に食べてたペヤングヌードルです。まあ、あれがとびきりうまかったというより、自分のほうの感受性だとは思いますが。カップ麺の黎明期でしたしね。当時は嫌いだった日清のカップヌードルを今では結構好きですから、年齢とともに嗜好は変わるものですね。

社長:それと、最近カップ麺を美味しく感じさせさるのはあのコスパです。こんなに安くて手軽で、十分美味しくて。これが比較基準になってしまって、普通の外食とかで違和感を感じるようにもなりました。これってカップ麺何個分の価値があるのだろうかとか。

基盤:コスパなら、食べ物の中で一番安くて美味いものは納豆だと思います。あれ、もし栽培が難しい、豚が嗅ぎ回って掘り出すような珍味だったら、すごい値段で取り引きされるはずです。十分安いのにさらにPBかなんかの安物置いてくめ納豆も置いてない店舗って全般に質が低いですね。

開発:飽きるというのは人間の学習能力のせいですかね。人間の感覚はすぐに麻痺して飽きます。リスクを分散したり新しいものを取り入れるよう、そう出来てるのかも知れません。しかしヒトじゃない動物って、同じものばかり食ってて飽きないんでしょうかね?コアラとか。

基盤:飽きないといえばロボットですが、行く先々でreCAPTCHAの「□私はロボットではありません」ていうのを見て気をさぞ悪くしてるでしょうね。

社長:それで、最近新旧の色んなソフトウェアとかサービスを使ってみて、感動したり腹を立てたり、ああこういう楽しみって人間にしか出来ないなって思います。まあこっちは料理人の視点もあるので、他の料理人の作ったものを味わうという面白さもあり。

開発:他の種類のソフトウェアと違って、プログラムというのは目に見えて役に立つ。時間を節約できたり、新しい事ができるようになったり、体が楽になったり。良し悪しの客観的な尺度があるのが良いですね。

社長:ただプログラムも、単に実用の役に立つ、機能・性能があるだけで良い時代では無いですね。それはもう何十年もそうだっとは思いますが、衣食足りて、いよいよ本格的に来たか感がします。使う人を気持ちよくさせるソフトウェア。そういう意味では他の芸術系のソフトのお仲間入りですね。

開発:Appleはそっち系で育てて来た感覚を、日常系実用系にも適用しているのが強みなんでしょうね。まあ、俺の作ったものを黙って味わえ的な高圧感はありますが。それと、最近のMacMiniは変なデザインになっちゃったなーって思ってたのですが、良くみたら上下逆さまに置いてました。

基盤:ひっくり返して置いてもサマになる、Appleならそこまで拘らないと先代が草場の陰で。

開発:そういえばタワー型のPCって、上下がわからないデザインのが多くて、時々逆さまにして使ってますよね。それで、CDのトレイの出し入れが何かしにくくて。これデザインした奴何考えてんだーっ!て怒ったり。

社長:子供の頃、作った泥人形が船を漕ぎ出すみたいな話に魅きこまれたのを覚えていますが、書いたものが勝手に動き出すというのはそれに近い感動です。プログラムを書く事に飽きる事は無いでしょうね。

開発:そういやこの頃はほとんど書いてないですけど。でも、誰かが作ってくれそうだから、シャカリキになる必要は無いかなっていう気はしています。こっちは趣味で楽しんでるのがいいかなって。

営業:四半期に一つくらいは何か製品を・・・

基盤:ちょっとした事、見方や考え方で劇的に良くなるのも面白いですね。実装にかかる手間はピンキリですけど。でも一度できたらほぼエネルギーを使わずに生産できる。

開発:昔は流通にも結構お金がかかったものですが、今やそれもタダに等しいですしね。

社長:作る側にも使う側にも感動を与えるソフトウェアって、なんて素晴らしいんでしょう。


2020-0611 SatoxITS

いつもそこに居て欲しいそれ

社長:Mission Control で不便だなと思う事のひとつは、どのデスクトップにいてもそこにいて欲しいアプリのウィンドウというのが出来ないことです。特定のデスクトップにアプリが束縛されていると、そのアプリを開こうとすると、自動的にそのデスクトップに移動しちゃうのも不便。

開発:X Window では普通にやってましたけどね。

基盤:それ、できるようです。この All Desktops というオプションで。

社長:がーん。そうだったのか・・・ でもなんでそれがデフォルトじゃないのかな。

開発:それに、アプリケーションのインスタンス全てじゃなくて、特定のインスタンスにだけやりたいんですよね。インスタンスを作って、位置とか表示形式とかカスタマイズして、よしこれを全部のデスクトップに出そう、という使い方。できれば、永続化して。

基盤:全部のデスクトップにあって欲しいアプリってなんですかね。

社長:まずは Notes かな。は!と思った時にすぐメモができる。仕事しながら、作業記録をNotesに書き続けるとか。

経理:そうやって書き留めたドメイン名全部取ってたら破産してますね。

開発:社長の今の使い方だと、WordPress 用のブラウザが常駐していると良いということじゃないですかね(笑)

社長:まあ、Notesをウェブで形式にしてWordPressにアップロードできるならそのほうが良いかな。だって、こうやってべた文を書いて、時々画像を張り込んでるだけですから、Notes で十分なんです。ただ、クリッククリックだけアップロードできないとイヤだけど。

私のブログはNotesで十分でございます

基盤:それできちゃうと、WordPressいらなくなっちゃいますね。「さらばWordPress」て記事ができそう。

開発:社長は書いたブログを最終的にPDFにしてるから、Notesで書いてPDFにしてそれをアップロードするって使い方でも良いかも。WordPressで思い通りにならないイライラ感はなくなりますね。

社長:うーん、WordPressのエディタの唯一評価できる点は、段落・ブロックを簡単に上下に移動できることですかね。あと、HTMLの機能、dsetails くらいは使いたいですが・・・

社長:あとは、Finderですね。そこここのデスクトップで作ったファイルとかスナップショットを、一つのフォルダにファインダにぽいぽいいドラッグ&ドロップしたい。ウィンドウというよりアイコンでもいいけど、おおよその中身も見えるサムネイル的なのが良いです。

開発:Notesにはドラッグ&ドロップできますから、Notesをフォルダ代わりにできなくもないですね。コメント付きにできるし。単に軽量なWiki的エディタがあれば良いのかなとも思います。

基盤:あんまりiCloudには送りたくないところですが。

開発:Dockも構造化したいですよね。ベタにアプリがならんでるんじゃなくて、フォルダ的にまとめたい。ブックマークみたいに。これはWindowsのタスクバー使ってた時代にも欲しかった。

基盤:それ実は、ありそうな機能ですけどね。

社長:そもそも私は、Dockとかブックマークとか履歴とか、なんで全部同じように操作できないのか、理解できないんですね。ウィンドウとタブとかデスクトップもそう。所詮ツリー状した情報のビューですよね。Finder とかエクスプローラがそもそもそうですが。まあ、その辺を大統一するフロントエンドを何にするか、ずっと迷っているわけですが。

開発:まあその点、Vivaldiのウィンドウパネルがそれに近い感じになってるのはうれしかったですね。

社長:「閉じたウィンドウ・タブ」がゴミ箱アイコンで表示されて、ゴミ箱から戻すのと同じ具合に復活できるという見せ方に、感動しました。

基盤:スパッとVivaldi に移行してしまいましたねー。

社長:これは現時点で人類が手にできる最高のブラウザです。


2020-0611 SatoxITS

そしてUbuntu20.04 LTSへ

基盤:実はこの4月下旬に Ubuntu 20.04 LTS が出てました。Hyper/Vで新しくUbuntuをインストールしようとしたら、これがリストに出て来て気付きました。

社長:なんということでしょう。4月からずっと18.04 LTSでやって来たわが社は、世間から1ヶ月以上遅れていたのですね。

開発:まああの頃からテレビも全くつけてないですしね。クラウドのVM用に提供されているのはみんな 18.04 でしたし。

基盤:NHKのニュースになるほどのネタでも無いですし。Windowsくらいじゃないですか。

経理:そういえば、インータネットで見れるテレビ、あんまり安くも無いですね。保留してます。

広報:20.04とは、2020年4月設立の当社にとって、縁起の良い版ですね。

社長:それでは 20.04 で出直しましょう。社名も ITS more 20.04 LTS に変更しちゃおうかな。いやいっそ、LTS Co., Ltd. とか。。

開発:当社よりLong Life かもですね(笑)

基盤:早速Hyper/Vにインストールしてみました。こんな感じです。

基盤:まず、右クリックのコンテクストメニューの一番下にターミナルが無いのにびっくりしました。CLIとか使わないユーザ向けにシフトしたのかなと思ったのですが、よくみると「Open in Terminal」と出ています。

基盤:「in」てどう言う意味?と思ってクリックすると、なんとデスクトップをカレントディレクトリにしたターミナルが開くんです。これは徹底していて、一般にフォルダアイコンを右クリックして「Open in Terminal」を選ぶと、そのフォルダをカレントディレクトリにしたターミナルが開くんです。

社長:うーむ。これはありがたいです。WindowsでもMacでもコンテクストメニューをカスタマイズすればできるんだと思いますが、デフォルトでそうなってるというのが素晴らしい。CLIユーザに優しいUbuntuならではの発想ですかね。

社長:ところでその、メニューバーのど真ん中にある日付表示、これはずっと私がMacのそこに居て欲しいと言っていたものです。

社長:しかも、クリックすると、ぱっとカレンダーが開いてくれる。これも私の要望通りです。

社長:これをMacでもやりたいですね。

基盤:メニューバーには、このようにキーボード選択のタブがあって、これも素晴らしいと思ったのですが。

基盤:Japaneseを選択すると、あなたのキーボードはこのような配列ですよね、と言ってくるのです。

基盤:この、keyboard layout というアプリを開いて、キーを押すとその部分がハイライトするというすぐれものです。ただし。非常にイミフなのがこの「|」の位置です。

基盤:全体をみると、106キーボードの¥と|のある位置には、でっかいBackspaceキーが覆ってしまっているのです。

基盤:Ubuntu18で、どうもデスクトップからは「|」のキーが入らないなと思ってたところ、これが原因だったんですね。こんなキーボード配置ってありましたっけ?記憶にあるようなないような。なんにしてもJapaneseキーボードを選ぶとこれがでちゃうっていかがなもんでしょうね?しかも、キーボードの一覧にはマイナーな配列が列挙してあるのに、、、まあVMでやってる事が何か影響している可能性もなくは無いと思いますが。

社長:OSの表示言語は英語で構わないというか、英語のほうが助かることも多いのですが、キーボードだけはいけません。実際とマップが異なるだけなら知らず、そもそもそのキーの存在が知られていないとは。

基盤:おそらく、というかもちろん、日本語版のリリースをインストールすればこういうことはないでしょうし、何かをconfigurationすれば解決するのだとは思うのですが、スッピンの状態がこれはいけないなーと思いました。

社長:でも、これまでUbuntuのデスクトップにはリモートログインしかしなかったですが、これならちょっと使ってみたいという気持ちになるような進化をしてますね。

基盤:そうかもしれません。あ、それでHyper/Vお仕着せの Ubuntu 20.04 VMの構成では、/dev/sda1 root に12GB割り当て、7GB使用済み、となっています。これは16GBにして、あとはユーザ系は別のディスクに分けるという方針で、行きます。

社長:そうして下さい。


2020-0612 SatoxITS

陣地縮小作戦

基盤:どうもVMが100GBを超えたあたりから起動・停止・設定が異常に遅くなりまして、何とかしたいと思います。

開発:SSDの残量がわずかになったせいかもしれませんね。ファイルが大きくなってアルゴリズムが切り替わるとか、あり得るのかな?あさって来る500GBのSSDを待ってからでも良いのでは。

基盤:いずれにしても、HDDとかクラウドに保管するのに、小さいに越したことは無いです。目標は10分(600秒)以内でのナマコピー完了。最悪100MB/秒での書き込みを想定すると、60GBということになります。現在仮想ディスクが128GBに膨れていますが、ごみを捨てれば60GBに収まります。実メモリが潤沢になったので、スワップファイルも不要。

開発:今後何度か試行的に大きくしたり小さくしたりすると思いますので、アシストしてくれるツールがあると良いですね。できればGUIの。

基盤:そうですね。とりあえずやるのに一番簡単なのは、新しいVMを作ってそこに現在のVMのファイルを転送することなんですが、何度もやるなら、パーティション拡張の時の parted + resize2fs 的なノリでできるとよいな、と思います。

基盤:それで検索したところ、GPartdというのがなんかよさげな感じです。フリーソフトで、今現在アクティブなプロジェクトです。まあ、お金かかってないんで、見た目は極めて素朴というか、実直そうなイメージです。

基盤:GPartdは、ISO形式でOSとして起動する、という形です。これをやるために作者はUSBにddで書き込んでとか面倒な説明をしていますが、仮想マシンならISOファイルをDVDドライブとして指定するだけで終了です。そしてリブート。超速で起動します。

基盤:そしてGPartdのコンソールから、変更したいパーティションとサイズを指定してApplyをクリック。以上で終了です。まあ、作業の手間としては数分かからないですね。

基盤:ですが、ここで恐ろしいことが起きました。例によってSSDが満杯になってしまい、Hyper/Vが泣きを入れてきたわけです。もうパーティション内での移し替えが途中まで行ってますから、内容も壊れているでしょう。直前のバックアップもあるので、VMを破棄しようとしたんですが、その前に一応ISOを切断して立ち上げてみたら、壊れてもないんです。つまり、Hyper/Vは差分ディスクにガンガン書いてたということでしょうね。でそれは単に破棄された。

基盤:SSDは空きがないのであきらめて、HDD版のクローンのほうでやることにしました。パーティションの中のブロックの移し替えはHDDの苦手なランダムアクセスです。案の定、ディスクアクセスはほぼ100%アクティブなんですが、転送量的には読み書き10MB/秒とか20MB/秒とか、ちんたらしか進んでいません。今現在、20分経過で20%くらいですから、まあ2時間がかりかなという感じです。

基盤:ただ、今思えば、差分ディスクだけHDDに置くというのが適切な作戦だったかも知れません。というかそもそも、チェックポイントを使わないというオプションもあったと思います。ですが今30分経過して50%くらいまで来たので、このまま終わるのを待つことにします。カップラーメンでも食おう。

基盤:GPartdは、機能的には満足だし、GUIも必要に十分だと思うのですが、作者の説明の仕方がどうも、カンタンそうに思わせないところがあります。たとえば、直感的に「そのパーティション」で右クリックすると、実際コンテクストメニューが開くんですが、そういう説明はしてないんですね。

基盤:それと、これはいずれにしてもかなり時間のかかる処理ですから、待ってるユーザに何か気休めを提供するのが良いと思います。表示はプログレスバーだけなのですが、これは目に見えては進まない。なので、数字のカウンターを表示するのが良いと思います。

基盤:あるいは、仮想マシンでの利用を想定した場合、現在のパーティションを上書きするというよりは、新しいパーティションというかデバイスをマウントして、そこにシュリンクしながらコピーするのが良いのではないかとも思います。ですが、そういうことなら、VMのユーザが自分でできるという話かなともいますけどね。新しい仮想ディスクを作ってマウントして、そこに移し替えて、差し替えれば良いわけですから。

基盤:おっと、90%近く来ましたね。というか、少なくとも進捗の%表示をして欲しいものです。残り時間の推定とかも。128GBを半分に縮退するのに1時間。十分かなと思います。おそらくSSDで同じことをやれば、10分でできそうです。カップラーメンできた。最近はずっとニュータッチ凄麺でしたが、久しぶりのカップヌードルカレー味です。

基盤:GUIの表示を見て気づいたのですが、Move /dev/sda1 to the right and shrink it from 124.00GiB to 60.01GiB。要するにやっていることは、resize2fs -p /dev/sda1 62921728K というコマンドのようです。たしかに、resize2fs のマニュアルには、マウントしたままのディスクではできません、って書いてありましたね。つまり、resize2fs が動作する環境だけのミニマムなOSがあれば良い。まあつまりそれが、GPartedのやってる事ってわけですが。

基盤:うーむ、これなら手作業で、というかスクリプトでやったほうがいいかなっていう感じもして来ました。実際、昔はディスクの移し替えとかそうやって手作業でやってましたね。いわゆるシングルユーザモードに落として。うーむ、基本うちの開発用のマシンはそもそもデフォルトがシングルユーザモードで十分な気はします。

開発:待ち時間が退屈なので、リードオンリー環境で端末が使えると良いですね。実際昔はそうなってたし、今もそうできるのかも知れない。

基盤:最近、クラウドで仮想マシンをやってて気づいたのですが、この世界のデータ量は GB、MB、KBという表示では無くて、GiB、MiB、KiBという表示が主流になりましたね。要するに2のべきであるのを10進数に丸めて考える人間の認識に寄り添っている。8192KBとか書くより、8KiBと書いたほうが書きやすいし読みやすいですから。GPartedもそういう感じなんですが、徹底してないのが惜しまれます。

基盤:うーむ、100%近くなったので終わったかなと思ったのですが、またプログレスバーが元に戻りました。そうか、つまり、一旦ディスクの終わりのほうに寄せてから、ディスクの先頭のほうに移し替えるってことですかね。つまり、ただのコピーの2倍時間がかかると。

開発:しかしこうやってみてると、やはり今の世の中、必要な機能はほとんど出来ているのに、それをユーザに分かり易くカンタンに操作させるやり方と、何が起きているのかをユーザに分かり易く知らせる手段がまるで不足しているなと、つくづく思いいますね。

社長:まあ、そこに美味しい皮をかぶせて売った人が、おいしいとこを全部持ってくっていう仕組みなんでしょうね。座りしままに食うは徳川みたいな。あれ、このフレーズそのまま、20年前にMLで書いた記憶が・・・

基盤:今度こそ、あと20分くらいで終わりますかねえ。相変わらずディスクのアクティビティ100%なのに、円総量が1MB/秒を切りました。ちっちゃいファイルを移動中なのかな?

基盤:おっと、最後はカウントダウンするのか。あと11:32 ・・・ 結局2時間半かかりました。

開発:無事に小さくなってメデタシですね。

基盤:まあこんなふうにガンガン作り替えるような仮想マシンは、HDDベースでは厳しいということを痛感しました。

開発:世の中にはSSHDというものもあるようですね。ただ、キャッシュにSSDを256MB程度積んでいるだけのようなのですが。

基盤:あれって不思議なんですが、そもそもPC側にキャッシュというかバッファのRAMがギガバイト単位でとれる状況で、ディスク側にサブギガバイトのSSDバッファがあって何かいいことがあるのかということですね。価格も通常のHDDの2倍するようです。PC向けじゃないのかな?

開発:基礎体力的には、もう十年以上前の7200回転とかで、HDDの世の中は止まってしまったんですかね。

社長:私の若いころは5MB/秒くらいでしたからね。20倍以上は高速化してます。まあネットワークのほうは100倍以上速くなりましたが。

開発:思うに、例えば100GBあるプログラムやデータの中で、本当に高速にアクセスする必要なものがどのくらいあるかということなんですが。典型的には10GBくらいしかないとすると、それはもうRAMに入ってしまう。めったにシャットダウンすることもないなら、ほとんどディスクにもアクセスしないことになりますね。

社長:複数の異なる性能のメモリとディスクがあるときに、何をどこに置くかという話ですね。長期的なアクセスパターンとかから自動的に最適化できると良いですね。

基盤:あ、縮小したHDD版VMのチェックポイント統合終了です。あとはHyper/Vで仮想ディスクを小さくすれば完成。今度はHDDからSSDにクローンして、そのSSD版でやってみます。おおっと、こういう単純読み出しだとHDDでも200MB/秒出ますね。まあ、ディスクがきれいだからほぼ整列しているんでしょうけど。


2020-0611 SatoxITS