IT関連情報

2024/06/19

WSL2 をインストールして使っています

これまでの私のパソコンの環境は WIndows と LInux (Ubunbu) の2本立てで,もう20年以上も別々のマシンにそれぞれのシステムをイントールして使っています.Linux はおもに TeX での組版と,各種のプログラミングのプラットフォームとして使ってきました.古くなった WIndows マシンを更新するときに古いハードウェアを LInux 用に使い回すというやり方です.

ところがここ数年の間に,Microsoft が Linux に異常接近して,なんと Windows 上で Linux のシステムがそのまま動くような仕組みを取り入れてきました.最初の試み WSL (Windows Subsystem for Linux) はシステムコール変換方式で速度に難点があったのですが,最近の WSL2 はネイティブの Linux がそのまま動く,洗練されたものになっています.これは Hyper-V という仮想マシンの仕組みが Windows に導入されていたからで,本物の Linux カーネルが仮想マシン上ではあるもののそのまま動いているからです.

であれば,たとえば TeX の組版はすべて WSL2 上でやってしまえるのでは?ということで WSL2 をインストールして使い始めました.ディストロは使い慣れた Ubuntu です.標準のターミナルは Windows の最新のアプリ Windows Terminal です.これも面白いです.

TeX の実行環境である TeXLive をインストールする手順は Ubuntu と全く同じ.ということはリポジトリから延々と四千数百個のパッケージをダウンロードするので,やはり2時間弱かかってしまいましたが,これは Ubuntu でも同じです.

使用中の Linux マシンよりもハードウェアが数世代新しいこともあって,TeX のソースのコンパイルはだいぶ速くなりました.はやりネイティブのコンパイルは速い.Windows 版の TeXLive よりはだいぶ速い感じです.難点はファイルの受け渡しで,Windows 上のエディタで編集したファイルを,同じマシンながら Ubuntu 上の異なるファイルシステム (Ext4) のフォルダーにコピーし,そこでコンパイル作業を行う必要があるからです.

Tex_compilation

出来上がった PDF はそのまま Ubuntu 標準の viewer である Evince を立ち上げて見ることができます.これが何とも不思議.Evince は X11 を代替した Wayland 上で動いているはずなのですが,Windows のデスクトップでそのまま見ることができるからです.これはどういう仕組みなのかな?

これでだいぶ作業効率が上がって生産性が高まった気がします.TeX の組版以外にも使い道があると思うのですが,最近は Python の開発もほとんど Windows 上でできるようになったので,CAD や CAE に手を出さない限りは今の環境の程度で済ませたいと思います.

| | | コメント (0)

2024/04/13

Windows 再インストール時に VMD でハマる

自宅のメインマシンの中身を増強するためにメモリーを増やし,HDD を SSD に換装し,さらに電源も高信頼性のものに変更しました.Windows もクリーン・インストールしてすっきりさせようと思い,USB スティックから Windows のインストーラーを起動したのですが,途中で「インストールできるドライブがありません」というエラー.え?ブートデバイスの SSD は換装せずにこれまでと同じものを使っているのになぜ?

さあ大変.何度もケースを開けては配線を確認し,UEFI BIOS の CMOS をクリアしたりしたのですが症状は変わらず.しかしかすかに思い当たる節が.そう,このマシンには Intel RST のドライバーをインストールしていたのでした.その結果ドライブが仮想化されて裸のドライブが見えなくなっているのでは?と思い至りました.ここにたどり着くまで早や 2 時間.

しかしクリーン・インストールするのだからそんなことは関係あるのか?ネットで調べて答えが出ました.関係あるのです.Intel RST をインストールすると,実は UEFI BIOS の中の VMD という項目がいつの間にか ENABLE に変更されるのでした.RST を無効に戻して Windows を再インストールするには BIOS の VMD を DISABLE しろというのが答えです.

やってみるとビンゴ!ようやくインストーラーが先に進むようになりました.そうなってしまえば Windows 11 自体のインストールは 15 分程度で終わります.しかし大変なのはここから.様々なアプリケーションやユーティリティなどもインストールし直し,さらに設定を復旧させなければなりません.設定ファイルのバックアップを取ってはいるものの,一つずつの手作業.

VMD でつまづいたせいで時間が足りず,作業は翌日に持ち越しです.そしてようやく今日の午後になって元通りのシステムが動くようになりました.やれやれ.こんなに苦労してブラッシュアップしたマシンなのですが使用感は全く変わらず.まあそのうち重たいPython のスクリプトを動かすときになったら違いが判るかもしれません.

| | | コメント (0)

2023/12/30

IOC List v14.1 Released

IOC World Bird List v14.1 が予定よりも早くリリースされた模様です.これは 2024 年 1 回目のリリースのはずのものです.前回 2023 年 7 月のリリースから 5 か月ちょっとでのアップデートとなりました.ただし正式なリリース日は判然とせず,IOC の Web site では「v14.1 への移行はほぼ完了したのだが,休暇の季節に入ったため正式な完了は2024年3月だ」とアナウンスされています.このアナウンスがされたのが 12 月 29 日なので,私としてはこの日をリリース日と見なそうと思います.

今回収録されたのはが 44 ,が 253,が 2,381 ,が 11,194 (うち絶滅種が 162 ),亜種が 19,802 です.

前回 v13.2 と比較すると,亜種から種への昇格や新種の登録はまあまあ平均的な数量でしたが,英名の変更が比較的多く,また属の異動(属名の変更)も多かったという印象です.厄介なことに科内のシーケンスの変更が非常に多かったのが今回の特徴です.しばらくは並べ替えで混乱があるかもしれません.

例によって日本のバーダー向けに重要と思われる変更点を書いておきます.

  1. Charadrius leschenaultia オオメダイチドリ,C. mongolus メダイチドリ,C. alexandrinus シロチドリなどが Charadrius 属から Anarhynchus 属へ異動されました.
  2. Charadrius チドリ属内のシーケンスが変更されました.
  3. Chroicocephalus saundersi ズグロカモメが単型属の Saundersilarus に異動されました.
  4. 以下の科内のシーケンスが変更されました.
    Jacanidae レンカク科,Scolopacidae シギ科,
    Turnicidae ミフウズラ科,Laridae カモメ科,
    Stercorariidae トウゾクカモメ科,Alcidae ウミスズメ科科,
    Diomedeidae アホウドリ科,Fregatidae グンカンドリ科,
    Sulidae カツオドリ科,Ardeidae サギ科,
    Cacatuidae オウム科,Hirundinidae ツバメ科
  5. Aldea Intermedia チュウサギの英名が Intermediate Egret から Medium Egret に変更されました.
  6. (参考)Diomedea exulans ワタリアホウドリの英名が Wandering Albatross から Snowy Albatross に変更されました.

2024年 9 月に日本鳥学会の日本鳥類目録改訂第 8 版のリリースが予定されています.すでにドラフト版が公開されており,分類体系やシーケンスは IOC List v13.2 に準拠すると表明されていますので,これでようやく世界の標準に近づくものと期待しています.このドラフト版に基づいた辞書ファイルを鋭意作成中なので,完成次第公開したいと思います.


IOC 本家の Master List(学名と英名を収録した Excel ファイル)を編集して,Refsort/Ruby 用の辞書ファイル(拡張子が .ref のテキストファイル)を作りましたので,Microsoft One Drive 上に設けた “IOC List Archive” にアップロードしました.エンコーディングは UTF-8US-ASCII の2種類です.正版は UTF-8 版で US-ASCII 版は簡易版ですが,詳細についてはユーザーズガイドをご覧ください.


このオリジナル版の辞書ファイルと併せて,全ての掲載種に和名を付与した辞書ファイル 2 種と,IOC Master List の和名追加版(Excel ファイル)も同時にリリースしました.これら和名追加辞書についても,UTF-8 でエンコードしてあるものが正版ですが,Windows などでの使い勝手を考慮して Windows-31J でエンコードしたものも同時にアップしてあります.詳細についてはユーザーズガイドをご覧ください.

単に種名を調べるためだけであれば,和名追加版の Master List(Excel ファイル)が最も便利です.ただし長大なワークシートなので,目的の名前をスクロールして探すのは非効率です.検索メニューからジャンプするのが良いでしょう.


これらのファイルは前述のとおり,Microsoft One Drive 上に設けた IOC List 専用のフォルダからダウンロードできます.それには,このブログ右側のコラムの最上段の Archive の中の IOC List Archive をクリックしてください.そうすると One Drive のフォルダに入ることができますので,あとは適当に選んでダウンロードしてください.


I am pleased to announce that I have posted reference files for Refsort/Ruby compiled directly from the latest IOC World Bird List v14.1. It contains 44 Orders, 253 Families, 2,381 Genera, 11,194 species including 162 extinct ones, and 19,802 subspecies, respectively. Please try it out, and enjoy its capability and speed.

Note that the reference file "ioclist_v141u.ref" is encoded in UTF-8 in order to retain all European accents and umlauts with complete fidelity as they are in the IOC Master List.

For those who want to use Refsort/Ruby in universal ASCII environments, I have posted another reference file "ioclist_v141a.ref" encoded in pure US-ASCII. Note that characters with accents and umlauts have been simplified to their nearest neighbors. So please be careful in particular when you refer to authorities of species.

I have also posted two different reference files "ioclist_v141ju.ref" and "ioclist_v141jw.ref" (encoded in UTF-8 and Windows-31J, respectively) which include Japanese names for all species. If you want to know Japanese names, please refer to those files.

In order to sort a list properly using these reference files, you need to align the encoding of the input file to that of the reference file, and you should add a magic comment specifying the encoding in the first line of these files, such as

#!E -*- coding: UTF-8 -*-

or, add an option "-E UTF-8" into your commandline.

You can skip this process if your iput file is encoded in the default encoding of your platform, e.g., US-ASCII or Windows-31J for Windows, UTF-8 for macOS or Linux.

A master list in Excel format containing a column of Japanese names has been posted as well. This would be most convenient for quick reference.

You can download appropriate files from my area of Microsoft One Drive by clicking “IOC List Archive”. Enjoy, and bon appétit.

| | | コメント (0)

2023/09/09

Refsort on Excel v2.50U released

Refsort on Excel は,Refsort/Ruby (直前の記事をご覧ください)を Microsoft Excel 上で使うためのインターフェースを提供するマクロ埋め込みワークシートです.

今日,さまざまなデータを整理分析するのに表計算ソフトウェアは欠かせないものになっていますが,そのワークシート上に書かれたリストに対して,簡便で直感的なインターフェースで Refsort/Ruby の並べ替え機能を提供します.

元来 Excel の内部では UTF-16 という Unicode の符号化が用いられており,多言語の文字を混在して同時に扱うことができます.しかしこれまでは私の知識不足,能力不足から,扱えるエンコーディングを Windows-31J (Shift_JIS) に限定して Refsort on Excel を提供してきました.

今回の改訂ではこの制約を転換し,UTF-8 という Unicode の符号化スキームに切り替えました.これにより Excel 内部の UTF-16 と整合性が取れて,世界中のさまざまな言語の文字を混在させたリストに対して辞書を参照した並べ替えが可能となりました.

例えば IOC List にはアクセント付きの文字や,ウムラウト,トレマなどを含む文字が多用されています.それらが命名者表記や生息域の地名などに出てくるのは当然ですが,標準英名に含まれている場合もあります.標準英名は並べ替えのキーとして使う場合も多いので特に注意が必要です.例えば Seicercus soror Alström's Warbler が代表的です.従来は US-ASCII や Windows-31J でエンコードされた辞書ファイルではウムラウトを直接扱えないため,ウムラウトのない小文字の o で代用していました.しかしこれはある種の近似を行っていることになり,並べ替え結果を再利用する際に支障が出てくる可能性があります.今回の改訂でそのような近似は必要なくなりました.

当然ながら,そのためには UTF-8 でエンコードされた辞書を使う必要があり,従来とは使う辞書の種類が異なることに注意する必要があります.これまで私が作成して提供している辞書は,日本鳥類目録,IOC List,日本種子植物リストの3種類ですが,いずれも UTF-8 でエンコードしたものも提供してきました.エンコーディングはこれらのファイル名の末尾に付けた接尾辞で区別できます.接尾辞が "u" のものが UTF-8 で,"w" のものが Windows-31J でエンコードされたものです.

あらためて UTF-8 でエンコードされた辞書のリストを示すと,

ファイル名 内容
jpblist_v70p5u.ref 日本鳥類目録改訂第7版
ioclist_v132u.ref IOC List v1.32 オリジナル版
ioclist_v132ju.ref IOC List v1.32 和名追加版
jplant056u.ref 日本の種子植物リスト 新エングラー順

となります.いずれも BOM なし,改行コードが LF のテキストファイルです.

今後,Refsort on Excel v2.50U 以降を使う場合には,辞書ファイルにこれら UTF-8 でエンコードされたものを指定するようにしてください.また利用する Refsort は最新の v3.77 以降が望ましいので,こちらもご注意ください.

使用例のスクリーンショットを示します.IOC List から標準英名にウムラウトが使われているものを集めて,標準英名をキーにして並べ替えを行ってみました.辞書ファイルのキーは第 1 フィールド,入力のキーも第 1 フィールドです.正しく並べ替えられていることがわかります.

Refsort_on_excel_v250u

今回の改訂でようやく UTF-8 を使えるようになったので,多様な言語で書かれたリストに対して Refsort を Excel 上で使えるようになったはずです.詳しい説明は,Refsort/Ruby v3.77 と同時にリリースしたユーザーズガイドの付録をご覧ください.

| | | コメント (1)

Refsort/Ruby v3.77 released

辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *4 *5)の改訂版 v3.77 をリリースしました.今回の改訂内容は軽微なバグ修正と仕様の改善です.ただし同時に Refsort on Excel も改訂し,こちらは仕様を大きく変更しました.詳しくは次の記事をご覧ください.

今回の修正内容は以下の通りです.

  1. 辞書ファイルに埋め込みラベルが書かれていないときに,コマンドラインオプションでラベル出力を指定した場合の例外処理が不備でしたので,警告文を出力するとともにラベル出力をキャンセルするようにしました.
  2. コマンドラインオプションで -x (Excel mode) または -T(出力のフィールド区切り記号をタブにする)を指定すると同時に,ラベルのコメントも出力するよう,例えば M 1c と指定している場合は,ラベル本体とラベルのコメントをタブで区切るよう変更しました.これは Refsort on Excel での使い勝手を考慮したためです.

このスクリプトは最新の Ruby 3.22 で動作することを確認しています.

Refsort_v377_console

Refsort/Ruby とそれに関連するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの Archive の中の Refsort/Ruby Archive をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の refsort.rb は refsort_v377.rb というファイル名でアップロードされていますので,ダウンロード後に refsort.rb に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.エンコーディングは純粋な US-ASCII ですので,そのままでよいでしょう.

| | | コメント (0)

2023/08/20

Microsoft Teamsの複雑な仕様がやっとわかった

COVID-19 によって世界中でリモートワークが流行り,そのためのツールとして特に企業や教育機関などの組織で使われてきたのが Microsoft Teams.以前は Skype for Business と呼んでいたものなのですが,実はこれは長い歴史を持つ個人ユーザ用の Skype とは全く別のソフトウェアで,もともと Lync というブランドで呼ばれていた社内コミュニケーション用ツール.私も仕事で長らく使っていました. Lync 以前には Office Communicator と呼ばれていたものです.リモート会議では Zoom を使う場合も多いと思いますが,大企業ではセキュリティ上の理由で Zoom は原則禁止されていることが多く,ファイル共有を含めて Microsoft のツールを使うことが多くなっています.Microsoft の法人営業が頑張っているということなのでしょう.

_a625eb59a22e4f089b8ae559a7a2b545

Image creator による生成画像

と,ここまでが前置き.現在の Teams は実は 2 つの異なるソフトウェアの総称で,一つは組織内ユーザ向けの組織用 Teams で, Skype for Business をリブランドしたもの.もう一つは個人ユーザー向けの無料のメッセージングサービスを Teams とリブランドしたもの.このいずれもが同じ Teams という名前で呼ばれ,異なるがよく似たアイコンを持っているため混同されがち.さらにややこしいことに Skype for Business は個人ユーザーが Web ブラウザ上で使うこともできます.

もっとやややこしいことに,2021 年 10 月までは, Microsoft Account を持った個人ユーザーは,個人向け Teams だけではなく,組織用 Teams を自分でインストールして利用できたのです.私もその一人でした.しかしこれは 2021 年 11 月からは利用できなくなりましたので,個人用 Teams に移行せざるを得なくなりました.

さらにさらにややこしいことに個人用 Teams には実は 2 種類あり,Microsoft Account を持っていれば無料で使える無料版と,Microsoft 365 Personal/Family という Office スイートのサブスクリプションに含まれる有料版とがあり,グループ会議の許容時間に大きな差があります.

このあたりのややこしい区別を Microsoft 自身が丁寧に解説したものは,実はありません.何と不親切なのでしょう.私はつい最近ようやく分かりやすい解説を見つけて納得することができました.そのサイトはこちら.これくらい丁寧に解説してもらいたいものです.現在私は Microsoft 365 Family のサブスクリプション契約を結んでいるので,個人用 Teams のうちの有料版を使っていることになります.同じブランディングの Microsoft 365(無印)は個人事業者や小企業向けなので,こちらは組織用 Teams が利用可能です.これも非常にややこしいですね.

私が会議を主催することはできますが,ややこしいことに,以前は個人用 Teams のユーザーとしかグループ会議を開けませんでした.最近は私が主催する会議に組織用 Teams のユーザーがログインしようとすると,自動的に個人用 Teams が立ち上がって会議に参加できるようになったそうです.

組織用 Teams のユーザーが主催する会議に個人用 Teams のユーザーが参加するときには,個人用 Teams アプリケーションでは参加できませんが,Web ブラウザから参加すれば可能ですので,ここ 1-2 年ほどは私はそうやって企業の会議に参加することが多いです.

Zoom のほうがはるかにシンプルで,個人ユーザーとしては使いやすいのですが,ファイル共有や共同編集などをやりだすと Teams の威力が発揮されるので,優劣については何とも言えません.しかしこのような複雑な仕様や制約条件を, Microsoft 自身がタイムリーに整理して説明できていないことは大問題です.

| | | コメント (0)

2023/07/28

IOC List v13.2 Released

IOC World Bird List v13.2 が リリースされた模様です.これは 2023 年 2 回目のリリースです.前回 2023 年 1 月のリリースから 5 か月ちょっとでのアップデートとなりました.ただし正式なリリース日は判然とせず,IOC の Web site ではいまだ v13.2 への移行が完了したというアナウンスはありません.最初に Master List がアップロードされたのが 7 月 18 日なので,私としてはこの日をリリース日とみなそうと思います.

今回収録されたのはが 44 ,が 253,が 2,376 ,が 11,161 (うち絶滅種が 160 ),亜種が 19,818 です.

前回 v13.1 と比較すると,亜種から種への昇格や新種の登録はまあまあ平均的な数量でしたが,英名の変更が比較的多く,また属の異動(属名の変更)も多かったという印象です.厄介なことに科内や属内のシーケンスの変更もそれなりにあります.

例によって日本のバーダー向けに重要と思われる変更点を書いておきますが,今回はすべてが英名の変更に関するものです.Japanese という接頭語が他の単語に置き換えられる例が目につきます.

  1. Hierococcyx hyperythrus,ジュウイチの英名が Rufous Hawk-Cuckoo から Northern Hawk-Cuckoo に変更されました.
  2. Columba janthina,カラスバトの英名が Japanese Wood Pigeon から Black Wood Pigeon に変更されました.
  3. Charadrius mongolus,メダイチドリの英名が Lesser Sand Plover から Siberian Sand Plover に変更されました.この変更の背後には,メダイチドリの亜種だったC. mongolus atrifronsが種に昇格して C. atrifrons, Tibetan Sand Plover, チベットメダイチドリとなったことがあります.
  4. Accipiter gentilis,オオタカの英名が Northern Goshawk から Eurasian Goshawk に変更されました.
  5. Terpsiphone atrocaudata,サンコウチョウの英名が Japanese Paradise Flycatcher から Black Paradise Flycatcher に変更されました.
  6. Delichon urbicum,ニシイワツバメの英名が Common House Martin から Western House Martin に変更されました.
  7. Fringilla coelebs,ズアオアトリの英名が Common Chaffinch から Eurasian Chaffinch(暫定名)に変更されました.
  8. Emberiza yessoensis,コジュリンの英名が Japanese Reed Bunting から Ochre-rumped Bunting に変更されました.

今年 9 月に日本鳥学会の日本鳥類目録改訂第 8 版のリリースが予定されていますが,上記の変更を含めて世界の鳥類目録との差異がどの程度縮まるのか見守りたいと思います.すでにパブリックコメントに寄せられている意見とそれに対する回答は大変興味深いです.新しい日本鳥類目録に準拠した辞書ファイルもできるだけ速やかに作成するつもりです.


IOC 本家の Master List(学名と英名を収録した Excel ファイル)を編集して,Refsort/Ruby 用の辞書ファイル(拡張子が .ref のテキストファイル)を作りましたので,Microsoft One Drive 上に設けた “IOC List Archive” にアップロードしました.エンコーディングは UTF-8US-ASCII の2種類です.正版は UTF-8 版で US-ASCII 版は簡易版ですが,詳細についてはユーザーズガイドをご覧ください.


このオリジナル版の辞書ファイルと併せて,全ての掲載種に和名を付与した辞書ファイル 2 種と,IOC Master List の和名追加版(Excel ファイル)も同時にリリースしました.これら和名追加辞書についても,UTF-8 でエンコードしてあるものが正版ですが,Windows などでの使い勝手を考慮して Windows-31J でエンコードしたものも同時にアップしてあります.詳細についてはユーザーズガイドをご覧ください.

単に種名を調べるためだけであれば,和名追加版の Master List(Excel ファイル)が最も便利です.ただし長大なワークシートなので,目的の名前をスクロールして探すのは非効率です.検索メニューからジャンプするのが良いでしょう.


これらのファイルは前述のとおり,Microsoft One Drive 上に設けた IOC List 専用のフォルダからダウンロードできます.それには,このブログ右側のコラムの最上段の Archive の中の IOC List Archive をクリックしてください.そうすると One Drive のフォルダに入ることができますので,あとは適当に選んでダウンロードしてください.


I am pleased to announce that I have posted reference files for Refsort/Ruby compiled directly from the latest IOC World Bird List v13.2. It contains 44 Orders, 253 Families, 2,376 Genera, 11,161 species including 160 extinct ones, and 19,818 subspecies, respectively. Please try it out, and enjoy its capability and speed.

Note that the reference file "ioclist_v132u.ref" is encoded in UTF-8 in order to retain all European accents and umlauts with complete fidelity as they are in the IOC Master List.

For those who want to use Refsort/Ruby in universal ASCII environments, I have posted another reference file "ioclist_v132a.ref" encoded in pure US-ASCII. Note that characters with accents and umlauts have been simplified to their nearest neighbors. So please be careful in particular when you refer to authorities of species.

I have also posted two different reference files "ioclist_v132ju.ref" and "ioclist_v132jw.ref" (encoded in UTF-8 and Windows-31J, respectively) which include Japanese names for all species. If you want to know Japanese names, please refer to those files.

In order to sort a list properly using these reference files, you need to align the encoding of the input file to that of the reference file, and you should add a magic comment specifying the encoding in the first line of these files, such as

#!E -*- coding: UTF-8 -*-

or, add an option "-E UTF-8" into your commandline.

You can skip this process if your iput file is encoded in the default encoding of your platform, e.g., US-ASCII or Windows-31J for Windows, UTF-8 for macOS or Linux.

A master list in Excel format containing a column of Japanese names has been posted as well. This would be most convenient for quick reference.

You can download appropriate files from my area of Microsoft One Drive by clicking “IOC List Archive”. Enjoy, and bon appétit.

| | | コメント (0)

2023/07/22

Refsort/Ruby v3.76 released

辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *4 *5)の改訂版 v3.76 をリリースしました.今回の改訂内容は完全に内部的なもので,細かな最適化やコードの化粧直しです.仕様の変更や機能の追加はありません.

Refsort_v376_scrshot

このスクリプトは最新の Ruby 3.22 で動作することを確認しています.またこちらもリリースされたばかりの IOC World BIrd List v13.2 をもとにした辞書ファイルを使った動作も確認しています.

Refsort/Ruby とそれに関連するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの Archive の中の Refsort/Ruby Archive をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の refsort.rb は refsort_v376.rb というファイル名でアップロードされていますので,ダウンロード後に refsort.rb に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.エンコーディングは純粋な US-ASCII ですので,そのままでよいでしょう.

| | | コメント (0)

2023/07/08

ITシステムは例外処理が9割

マイナンバーに関する誤登録やシステムの不具合に関して,システムを作る側の視点から面白い記事を見つけました.

「愚かなのはマイナカード関連だけじゃない、企業でも「バカヨケ」なきシステムの恐怖」 (木村岳史,日経ビジネス)

要は,ユーザーが様々なミスをすることを前提にシステムは設計・構築されなければならない,というエンジニアリングでは当たり前のことを述べています.工学の言葉で言うと,定格外使用に対するフェイルセーフの作り込みということになります.今日では身の回りのほとんどすべての電気製品はマイコンで制御されていますが,マイコンのプログラムにはこのフェイルセーフのためのプログラムが書き込まれているはずです.

実際自分で簡単なプログラムを書いてみるとわかりますが,実用的にしようとすればするほど,自分以外の他人にも使ってもらおうとすればするほど,誤入力や操作ミスをしたときに安全に元の状態に戻す,間違いを表示して再入力を促す,などのためのプログラム量が増大していきます.

Sourceg6f078a01d_1280

ElchinatorによるPixabayからの画像

私がこのサイトで公開しているソーティング・フィルター Refsort/Ruby でも,ソースコードの 7 割から 8 割程度は例外処理のためのものです.マイナンバーのようなシステムだと,ソースコードのおそらく9割以上が例外処理に割かれていると容易に想像できます.つまり SE やプログラマーは,めったに遭遇することはないどんな誤入力や誤操作があっても,システムが間違いを犯さないようにシステム全体を設計し実装することが求められます.

これは現実には大変なことで,100% の完璧さを求めることは無理なのですが,完璧に近づく努力を怠ることは犯罪に近いことです.自動車や航空機,医療機器などのことを考えれば容易に納得いくでしょう.

一方,ユーザーの入力ミスを防げなかったマイナンバーのシステムですが,ユーザーがどれほど間違っていたかというと,健康保険組合が 7,500 万人の被保険者の情報を登録して,誤入力があったのはわずか 1,000 件のオーダー.誤り率は 0.001% という驚異的な正確さだったのです.このような高い正確度で作業をしたにも関わらずメディアや野党はそれを騒ぎ立てるのですが,この程度の誤り率で制度自体の存続を議論するようでは,定量的思考能力が欠けているのでしょう.

ただし,誤入力を誤入力と見抜き,そういう入力をさせないようにシステムが作り込まれていなかったことは当然責められるべきです.日経ビジネスの記事もそこに論点を置いています.健康保険組合がこのような正確さで仕事をしていなかった場合を想像すると,背筋がぞっとしますね.

しかし日本では,一つの申請を行うのに住所や氏名などの基本情報を異なる書類に何度も(しかも手書きで)記入させるやり方が今でも健在です.そのあたりの発想自体から変えていかなければ,バカヨケできるシステムの構築は難しいでしょう.

| | | コメント (2)

2023/05/21

Xeonマシンを組みたくなった

つい 2 か月ほど前に自宅のメインマシンを最新の Core i7-13700K で組み直したばかりなのですが,最近なぜか,新しい Sapphire Rapids 系 Xeon で強力なワークステーションを組みたいという物欲がムラムラと湧き上がってきました.

一つには最近仕事で小規模な流体計算を行う機会が増えたのですが,私にあてがわれたのはノート PC .プロセッサはモバイル版 Core i7.これでは計算はトロトロしか進みません.コーヒーを一杯ゆっくり飲んでいるくらいでは1ケースの計算も終わらず,職場の構内を 30-40 分くらい散歩して帰ってくるとようやく終わっているという遅さ.どうもこの欲求不満が高まってきたというのが自分自身を診断した結果です.

いやなに,マルチプロセッサーではなくて W5 系のシングルプロセッサーでよいのです.例えばこれ.しかしメモリーは最低でも 128 GB は欲しい.などと思っているところにこんな記事を書いた奴がいて,物欲に火を付けられてしまいました.悪い奴だなお前は.

いろいろ調べてみると,プロセッサーも CPU クーラーもマザーボードもメモリーも,秋葉原で入手可能だということがわかりました.マザーボードが大型のために PC ケースも新調しなければなりませんが,これも対応製品があることを確認.金額は楽に 100 万円以内に収まります.30 年ほど前に初めてパソコンを組んだ時にかかった費用とさほど変わりません.リストにするとこんな感じ.

部品 品名 価格
CPU Xeon w5 2465X 212,000
CPU Cooler noctua NH-U14S DX-4677 19,800
Mother Board ASUS Pro WS W790E-SAGE SE 210,000
Memory Kingston KSM48R40BD4TMM-64HMR x 2 2 x 45,000
SSD Samsung 980 PRO MZ-V8P2T0B/IT x 2 2 x 21,000
HDD Western Digital WD40EZAX [4TB 5400] x 2 2 x 9,000
Graphics Card NVIDIA RTX A4000 NVRTXA4000 130,000
PC Case Fractal Design Torrent RGB 38,000
Power Supply Fractal Design Ion+ 2 Platinum 860W 22,000
  Total 781,800

こんなの作って何に使うんだという突っ込みには甘んじなければなりませんが,最新のパーツを買ってきてはベンチマークばっかりやっている連中に比べれば,まだ実用的な線を狙っているつもりです.

| | | コメント (0)

より以前の記事一覧