IT関連情報

2019/02/16

Refsort/Ruby 紹介スライド

辞書参照型ソーティングフィルタの Refsort/Ruby を紹介するプレゼンテーション資料をアップロードします.少し解像度が低くて見にくい箇所がある点をご容赦ください.準拠している Refsort は最新版の v2.96,Refsort on Excel も最新版の v1.70,資料の中で紹介している辞書ファイルなどもすべて最新版を対象にしています.

また,後半には分類学に関する私なりの考えを主張するスライドを何枚か添付し,さらに最後に渡辺慧先生の “みにくいアヒルの子の定理” の解釈に関する私見も加えました.この部分は日々少しずつ更新しているのですが,考えがほぼ収束してきたのでこの辺でお披露目したいと思います.

同じスライドをこのブログの右側 “自作ソフト” の中の “Refsort/Rubyの紹介と分類学への応用” と,OneDrive 上に設けた “Archive” > “Refsort/Ruby Archive” にもコピーしておきますので,ダウンロードして読む事もできます.

皆様からのご質問・ご意見をお受けしますので,ご遠慮なくお申し付けください.

| | コメント (0) | トラックバック (0)

2019/02/13

WiMAXの通信量制限で苦しむ

先週から訳あって自宅以外のところで生活しているのですが,困ったのはインターネットへのアクセス.選択肢はほとんどないため,以前も利用したことがある WiMAX モデムのレンタルを契約しました.プロバイダーは KDDI の子会社のUQ コミュニケーションズで,UQ WiMAX というサービスにつながり,パソコンとは Wi-Fi だけでなく有線ケーブルでも接続できるモデムが宅急便で送られてきて,電源を入れるだけで即利用可能という触れ込みです.

ただし通信量には上限があって,それを超えると低速でのアクセスしかできなくなる条件付きです.この制限が実にややこしく,WiMAX 2+ のみを使う分には 10GB/3日間,WiMAX 2+ と 4G LTE を併用する場合には 7GB/月という決まりです.特に後者の制限に抵触すると,4G LTE だけではなく WiMAX 2+ も月末まで 128kB/s という超低速でしかアクセスできなくなるという,非常に邪悪な制限がかかっています.これはひどい.こんな SLA があるのか?

最初の数日間は何も考えずに使い続け,1時間ほどの Skype 会議も行い,ふとモデムの管理画面にアクセスしてみると,7GB/月の通信料の上限まであとわずかになっているではありませんか?良く調べてみると,私が使用していたのは WiMAX 2+ と 4G LTE の併用モードだったのです.アンテナピクトが 4/4 も立って喜んでいたのですが,これは 4G LTE の電波強度でした.

これはまずいと思い,WiMAX 2+ 限定のモードに切り替えてみると,電波強度が弱くてほとんど使い物になりません.これはまずいと思ってモデムを持って家中ウロウロして電波強度が強いところを探します.ようやくアンテナピクトが 3/4 の窓際の位置を発見.ここにモデムを置き,パソコンとは Wi-Fi で接続することにしました.それ以来通信量をモニターしていますが,4G LTE の通信量は一切増えず,WiMAX 2+ の通信量は 10GB/3日間の上限値をやや下回るあたりでウロウロしています.

すんでのところで難を逃れたわけですが,これは非常にわかりにくいサービス規約です.価格.com を覗いてみると,やはりこの罠に引っかかった人たちがいることがわかりました.お気の毒です.UQ は早急にこのようなわかりにくいサービスを改善してもらいたいと思います.

| | コメント (0) | トラックバック (0)

2019/02/01

月と明けの明星と

数日前から,細っていく明けの明星に近づいていくのに気づいていたのですが,今朝がそのクライマックスでした.昨夜からの雪が夜半に止んで,早朝には快晴だったことも素晴らしい.

Stars_2019_0007m

目覚めるとすぐに東の空を確認し,慌てて写真を撮ったのですが,暗がりの中で設定をいじるのに失敗し,ちょっと露出オーバー.またこのレンズの特性なのかパープルフリンジが目立ち,手振れも加わってよい写真にはなりませんでしたが,まあ今年最初のアルテミスビーナスの邂逅です.右端のやや暗い星は木星


一昨日から Windows Update に接続できなくなっている現象は,私以外のユーザでも多発しているらしく,どうやら日本マイクロソフトのデータセンターが何かやらかしたらしい.Windows Update に接続できないだけではなく,ソフトウェアをインストールしようとするとスマートスクリーンが起動できないという訳の分からないメッセージが出たり,Realtek のオーディオドライバが起動時にエラーメッセージを吐いたりと,奇怪な現象をもたらしています.現時点でも不具合は継続しており,困ったものです.

| | コメント (2) | トラックバック (0)

2019/01/22

IOC List v9.1 Released

IOC World Bird List v9.1 が2019年1月20日にリリースされました.これは2017年秋に改訂周期が6か月に変更されて3回目のリリースで,年内には7月ころに2回目のリリースがあるはずです.前回 v8.2 のリリースが2018年6月25日だったので,今回は約7か月の更新間隔となっており,その分修正量が多くなっており,後述する辞書ファイルの編集には時間がかかりました.

今回収録されたのはが 40,が 245 プラス Incertae sedis が 1,が 2,313,現生が 10,738,絶滅種が 158,亜種が 20,046 です.前回同様,上目 (Superorder) の PALEOGNATHAE(古顎類)NEOGNATHAE(新顎類)や,系統群であるNEOAVES がリストの最上位の階層にこっそりと載っています.

今回は日本のバーダーにとっては特にびっくりするような変化はありませんが,メジロ類 Zosterops 属には大量の修正が加えられました.内容は専門的過ぎて私には詳しく書けませんが,代表的なものとしては,“Z. montanus, Montane White-eye, ヤマメジロ” が日本のメジロ “Z. japonicus, Japanese White-eye, メジロ” に合併され,その英名が Warbling White-eye に変更になりました.これ以外に10か所以上の種の分割・新設が行われており,メジロ類の分類に関しては相当大きな変化がありましたので要注意です.


IOC 本家の Master List を編集して,Refsort/Ruby 用の辞書ファイルを作りましたので,このブログサイトと,Microsoft One Drive 上に設けた “IOC List Archive„ にアップロードしました.

今回もこの辞書ファイルの正式なエンコーディングは UTF-8 です.従って,Linux 上で使う分には問題は生じませんが,Windows 上で使う際には,入力ファイルは UTF-8 でエンコードされ(辞書ファイルと入力ファイルのエンコーディングを揃える),かつ最初の行に

#!E -*- coding: UTF-8 -*-
というおまじないを書いておかないとエンコーディングの解釈がうまくいきませんのでご注意ください.

しかし,Windows 上でのデフォルトのエンコーディングである US-ASCIIWindows-31J でも手間なく使えるように,エンコーディング指定なしの汎用 US-ASCII 版もアップしておきます.これはどのようなプラットフォームであっても,そのプラットフォームのデフォルトの Locale が無条件で US-ASCII を解釈できることを利用したものです.ただし,欧文のアクセントウムラウトを含む文字は,それらを含まない最も近い文字に置き換えられています.正版はあくまで UTF-8 なので,特に人名を含む種や,種の Authority を見るときにはご注意ください.


このオリジナル英語版の辞書ファイルに続いて,和名追加版2種と,IOC Master List の Excel ファイルに和名を追加したものも同時にリリースしました.和名追加版の辞書ファイルについても,UTF-8 でエンコードしてあるものが正版ですが,Windows などでの使い勝手を考慮して Windows-31J でエンコードしたものも同時にアップしてあります.ただし人名や地名のアクセントやウムラウトなどは,それらを含まない最も近い文字に置き換えてありますのでご注意ください.

和名追加版の辞書ファイルのうち,UTF-8 でエンコードしてある ioclist_v91ju.ref は,Linux などで UTF-8 でエンコードした入力ファイルをソートするときに使うことを想定しています.Linux 上で使う際には,入力ファイルの最初の行に上記のようなエンコーディング指定を書く必要はありませんが,Windows 上で使う場合には,入力ファイルは UTF-8 でエンコードされ(辞書ファイルと入力ファイルのエンコーディングを揃える),かつ入力ファイルの最初の行に

#!E -*- coding: UTF-8 -*-
というエンコーディングを指定しておく必要があります.

逆に,Windows 上で Shift-JIS や Windows-31J でエンコードされた入力ファイルを,Windows-31J でエンコードされた辞書ファイル ioclist_v91jw.ref を用いてソートする際には,入力ファイルの冒頭にエンコーディングの指定は必要ありませんが,逆にこの辞書ファイルを Linux 上で使う場合には,入力ファイルは Windows-31J でエンコードされ(辞書ファイルと入力ファイルのエンコーディングを揃える),かつ入力ファイルの冒頭に

#!E -*- coding: Windows-31J -*-
とエンコーディングを指定しておく必要があります.要するに,どのような場合でも辞書ファイルと入力ファイルのエンコーディングを揃え,かつそれぞれの入力ファイルのエンコーディング指定を冒頭に書いておくのが無難です.

これらのファイルをダウンロードするには,従来通りこのブログの右側のコラムで “自作ソフト„ の中から個々のファイルをクリックしても良いのですが,前述のとおり,Microsoft One Drive 上に設けた IOC List 専用のフォルダからもダウンロードできます.それには,このブログ右側のコラムの最上段の “Archive„ の中の “IOC List Archive„ をクリックしてください.そうすると One Drive のフォルダに入ることができますので,あとは適当に選んでダウンロードしてください.今後は One Drive のみに集約していく予定です.

さて,2年ほど前から Master List に多国語版が登場し,ちゃんと和名も載っているのですが,最近の種の分割などに対応しているようには見えず,和名の無い種もたくさんあるようです.そういう場合には,今回アップした各種辞書ファイルか,和名を追記した Master List を参照してみてください.


I am pleased to announce that I have posted reference files for Refsort/Ruby compiled directly from the latest IOC World Bird List v9.1. It contains 10,738 extant species, 158 extinct species and 20,046 subspecies, respectively. Please try it out, and enjoy its capability and speed.

Note that the reference file "ioclist_v91u.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. Therefore, your input file should be encoded in UTF-8 as well, and should contain a magic comment on the top of the file such as;

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

For those who want to use Refsort/Ruby in universal ASCII environments, I have posted another reference file "ioclist_v91a.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 reference files “ioclist_v91ju.ref” and “ioclist_v91jw.ref” (encoded in UTF-8 and Windows-31J, respectively) which include Japanese names. If you want to refer to 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 of the input file in the first line of the file, such as UTF-8, US-ASCII or Windows-31J.

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

You can download an appropriate file by clicking a link listed on the right column of this page, but you can also access files and folders built in my area of Microsoft One Drive by clicking “IOC List Archive„.

| | コメント (0) | トラックバック (0)

2018/12/12

Refsort/Ruby v2.96 & Refsort on Excel v1.70

辞書参照型ソーティングフィルタの Refsort/Ruby(新しいほうから *1 *2 *3 *4 *5)の小改良版をリリースしました.同時に,この Refsort を Excel 上で使用するためのインターフェースである Refsort on Excel(こちらも新しいほうから *1 *2 *3)もわずかながら改良した版 v1.70 をリリースしました.ともに非常にマイナーなバグフィックスやコードの最適化,またメッセージ語句の修正程度なので,実質的にはほとんど何の変化もありませんが,この二つのソフトウェアを組み合わせて使う際の設定ミスのチェックは加えてありますので,できるだけこの新しい組み合わせをお使いください.

Pasted_result_v170

長大なリストの並べ替えを行っても数秒程度で処理は終了しますので,非常に快適に作業がはかどります.辞書ファイルの入れ替えやオプションの変更も,コントロールパネルの設定を GUI でいじるだけなので簡単です.辞書参照型ソーティングの新しい標準としてお使いいただければ幸いです.

例によって,このブログの右側のカラム “自作コンテンツ” の内容を更新するとともに, “Archive” の中の “Refsort/Ruby Archive” の内容も更新しておきますので,適当にダウンロードしてお使いください.

それでは,この新しいインターフェースが皆様の作業の生産性を大幅に向上させてくれることをお祈りします.

| | コメント (0) | トラックバック (1)

2018/10/25

Refsort/Ruby v2.95 & Refsort on Excel v1.60

ここ1か月ほど集中的に開発を行って(古いほうから *1 *2 *3 *4 *5)ようやく形になってきた Refsort/Ruby の Excel インターフェースプログラム “Refsort on Excel” は,ようやくこれで落ち着けるのではないかと思います.

今週初め,Refsort の専用バージョン “refsort_ex.rb” こと Refsort v2.94ex を使った版 Refsort on Excel v1.50 をアップしました.そのときに書いたように,この Refsort v2.94ex とオリジナルの v2.94 との差異はわずかなものなので,これならばいっそのこと統合してしまえばよいとすぐに思いつきます.ただしそのためには新たなオプションを設けなければならないので多少の躊躇はありました.しかし,専用版などというものを別途管理するのも大変なので敢行することにして,そうやって生まれたのが Refsort v2.95 です.

Control_panel

Refsort on Excel で使うためには新たなオプション “--excelmode” または “-x” を指示することにして,これを Refsort on Excel の VBA で自動的に付加するようにしました.それ以外は Refsort 自体に何の変更も加えていませんので,コマンドラインからは従来と全く同様に使うことができます.

Pasted_result

この Refsort v2.95 を前提として作成したのが Refsort on Excel v1.60 です.仕様としては v1.50 と同一ですが,統合版の Refsort を呼び出す点だけが異なります.いろいろな例をテストしているのですが,今のところ破綻らしきものは見当たらず,しばらくはこの版で試験運転をしてみようと思います.念のため繰り返しますが,必ず Refsort v2.95 以降と Refsort on Excel v1.60 以降の組合せで使ってください.古い版だとうまく動作しません.

Edited_output

例によって,このブログの右側のカラム “自作コンテンツ” の内容を更新するとともに, “Archive” の中の “Refsort/Ruby Archive” の内容も更新しておきますので,適当にダウンロードしてお使いください.

それでは,この新しいインターフェースが皆様の作業の生産性を大幅に向上させてくれることをお祈りします.

| | コメント (0) | トラックバック (1)

2018/10/21

Refsort on Excel v1.50

先週 v1.40 をリリースしたものの,いくつかの制約(フィールド内にカンマを含むことができない,辞書ファイルのコメントを出力できない,インデント付きのラベルを出力できない)を含む仕様だったので,これを何とか解消しようと開発を継続してきました.いろいろなテクニックを仕入れては試してみたのですが,どうにも出力の場合分けが複雑になってしまい,どうしたものかと悩んでいました.

しかし天啓がひらめき,というよりも開き直りが先に出て,いっそのこと Refsort の特別版を作り,これとうまく役割分担して VBA の負担を減らしてはどうか?と思いつき,やってみたら非常にすんなりとやりたいことが実現してしまいました.

Control_panel

まず Refsort の特別版ですが,“refsort_ex.rb” という名前にしました.これは Refsort v2.94 の派生版で,出力の書式を少々修正し,通し番号や辞書ファイルのコメントを含めてすべてのフィールドをタブで区切って出力することにしました.こうすることで,VBA のほうではほとんどすることが無くなります.しかも Refsort の修正箇所はわずか10行程度です.元のスクリプトが汎用性を考慮して作ってあったので,こういうことができたのです.われながら感心しました.

Excel の VBA のほうは,入力を Refsort に渡すときに,フィールドをタブで区切った文字列で渡すことに統一し,また出力のフィールド区切りはタブに固定するようコマンドラインオプションで指示する,インデント付きラベルの指定を許可するなどの修正を加えました.プログラム自身は,Refsort の出力ファイルを処理する部分が大幅に簡略化され,使いにくい VBA の正規表現は全く使っていませんし,スピードも十分に出ているので大変満足しています.

Ref_comm_added

これを v1.50 としてリリースすることにします.Excel のブックと Refsort のスクリプトが同梱されたパッケージになっています.これで仕様は落ち着くと思いますので,今後は細かなバグの潰し込みに注力していくつもりです.使用方法は改訂してアップする予定の Refsort/Ruby ユーザーズガイドをご覧ください.

| | コメント (0) | トラックバック (2)

2018/10/16

Refsort on Excel v1.40

新しく開発しているソフトウェアにはどうしても想定不足が付きまといます.これでもう十分にテストしたと思っていても,非常に意地悪な入力やオプションの設定を与えると破綻してしまうことが多々あります.この Refsort on Excel もご多分に漏れず,毎日バグとの戦いが続いています.

出力の再構成に異常に長い時間がかかることは v1.30 で解決したのですが,その再構成のプログラミングのときに,出力の多様な書式を十分に処理しきれていないことが発覚.VBA の Like 演算子ではどうしても役不足だったので,処理時間を犠牲にして VBScript正規表現を使うことにしました.ところが VBScript の正規表現たるや Ruby の正規表現を使い慣れた者にとっては非常に貧弱で,一度では一意的な切り分けができず,仕方がないので複数の正規表現の評価順序に気を遣いながら場合分けを行わなければなりませんでした.それでも何とか正しい場合分けができて,今の想定範囲ではかなり意地悪なオプションでも破綻せずに走ります.幸いなことに速度の低下はわずかです.

Refsort_excel_v140

これを v1.40 としてリリースすることにします.スピードは十分なので今後はバグの潰し込みに注力していくつもりです.それにしても便利ですよ.使用方法は改訂済みのユーザーズガイドをご覧ください.

| | コメント (0) | トラックバック (3)

2018/10/13

Refsort on Excel をリリースしました

このブログで先々週,そして今週と前振りしてきた Refsort/Ruby の Excel Interface である Refsort on Excel をついにリリースします.今週後半に開発を集中して行い,ようやくリリースできるレベルに仕上げることができました.

そもそも,VBAはほとんど触ったことが無いため,基本的な考え方も,制御構造も,構文も良くわからないまま,WebでQ&Aを検索しながらの開発だったので,だいぶ遠回りをしてしまいました.特に,ベータ版としていたものでもイベントドリブンの考え方に不十分なところがあり,それがようやく解決したのが一昨日のことです.しかし,わかってしまえば非常に単純で便利な仕組みがあらかじめ用意されていたのです.

スクリーンショットを下に示しますが,これまでフラフラとさまよっていたユーザインターフェースはコントロールパネルに統一し,さらにこのコントロールパネルをワークシート上に常駐させて完全なイベントドリブンでプログラムが走るように実装することができました.我ながらなかなか快適です.自画自賛ですがミニコンソールもよくできています.

Execute_sort

このリリースに合わせて付録を追加した新しいユーザーズガイドもリリースします.使い方や制約事項,注意点などはこのユーザーズガイドの付録をご覧ください.Rubyのインストールは相変わらず必要なのですが,コマンドコンソールを開いてコマンドを打ち込むという古典的なユーザーインターフェースはもう必要ありません.この新しいユーザーインターフェースによって,Refsort/Ruby の敷居がぐっと下がり,生産性が劇的に向上することを期待しています.

| | コメント (1) | トラックバック (3)

2018/10/09

Refsort on Excel ベータ版

このブログの9月末のこの記事で,長年の懸案だった Refsort/Ruby を Excel 上で利用するインターフェースを開発していることをお知らせしました.この時はまだアルファ版とでも言うべき状態で,使い勝手が良いとはお世辞にも言えなかったのですが,その後開発を続けた結果,ベータ版と言っても良さそうなものが完成しました.

以下に画面キャプチャを示しますが,まず,このマクロを搭載したブックを開きます.Sheet1 には左上にボタンが付いており,このボタンをクリックするとマクロが動き始めるようになっています.まず並べ替えの対象としたい領域をマウスで選択しておいて,このボタンをクリックします.するとコントロールパネルというダイアログボックスが現れます.(下図)

Select_and_activate

ここで,各種ファイルの同定とオプションの指定を行い,Start と書かれたボタンを押すと,Refsort/Ruby が背後で動き,エラーや参考情報などのメッセージなどを表示した後で,並べ替えた結果がシステムのクリップボードに保存されます.クリップボードの内容を貼り付けたい領域の左上端のセルをマウスでクリックし,Ctrl-V をタイプすると出力が得られます(下図).出力内容はクリップボードに保存されているので,他のワークシートや,エディタなどにも簡単に貼り付けることができるようになっています.

Result_pasted

また,コントロールパネルの設定情報は実行の度ごとに保存され,次回立ち上げたときに初期値として読み込まれるようになっています.

Refsort/Ruby はフラットなテキストファイル,主として CSV を想定してフィールド分割などのアルゴリズムを構成していますが,それを表計算のワークシート上で無理やり使うために,いくつかの機能が制限を受けます.例えば,辞書ファイルのコメントを -o オプションで指定して出力することはできません.また,入力ファイル中のコメントは独立したセルに入力しておくことが推奨されます.制限しないと動作がおかしくなる点はすべてつぶしたつもりですが,まだバグが残っている可能性があるため,ベータ版としています.

近日中に簡単なドキュメントを添えて公開するつもりです.これで Refsort/Ruby を利用する敷居の高さがぐっと低くなることを期待しています.

| | コメント (0) | トラックバック (4)

より以前の記事一覧