パソコン・インターネット

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)

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)

2018/09/29

Refsort/Ruby の Excel インターフェース

またまた Refsort/Ruby(リリース実績は新しいほうから *1 *2 *3 *4 *5 *6 *7 *8 *9 *10)ネタになってしまうのですが,引退して暇ができるとこのような事も出来てくるという見本です.かねてから,Refsort/Ruby を Excel 上で使えるようにしたいと思っていました.なぜならば,コマンドコンソールを立ち上げてコマンドを打ち込むとか,出力をファイルにリダイレクトしてエディタで編集しなおすとか,ふた時代ほど古いユーザー体験を強制するユーザーインターフェースは自分でも不満に思っていたのです.

数年前の現役時代に Visual Basic for Applications (VBA) の入門本を買ってきて読んでみたのですが,あまりに初心者向きの本でやりたいことまでの距離がありすぎると気が付き,かといってより高度なプログラムを書けるほどの知識もないという状態が続き,大変欲求不満を感じていました.

しかし,時間ができるということは非常に良いことで,新たに教科書を読むことなく,Web の上でやりたいことの解決法を検索しながら,いわば見よう見まねでプログラムを書き始めてみると,VBA の作法には手を焼いたものの,意外と短い日数で何とか動くものができてしまいました.

Refsort_excel

上にその画面を示しますが,並べ替えをしたいリストを Excel 上に作っておき,それをマウスで選択したうえで,右上のボタンを押します.すると Refsort/Ruby が背後で動き,並べ替えた結果をクリップボードに書き出してくれます.あとは,出力したい場所のセルをクリックして,Ctrl-V とキーを叩いてクリップボードの中身をワークシートに張り付けるだけです.クリップボードは汎用なので,エディタ上に張り付けることだってできます.

Refsort の各種オプションのうち,M オプションだけはインデントをどう扱うのか決めかねているのでサポート外としていますが,それ以外のオプションは問題なく動きます.また,フィールド区切り記号をカンマに固定しているため,複数列にまたがるリストの扱いなど一部に制約は残りますが,これで生産性は劇的に上がったのではないかと思います.ドキュメントを書き上げたうえでリリースしたいと思います.

残る課題は,Ruby のインストール作業と,Ruby や Refsort の場所の指定をいかに簡単にするかですが,これらについてはなかなか良いアイデアが思い浮かびません.しばらく考えてみたいと思います.

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

2018/09/11

Rersort/Ruby v2.94 Released

このところ Refsort/Ruby(リリース実績は新しいほうから *1 *2 *3 *4 *5 *6 *7 *8 *9 *10)のソースファイルを眺めているうちに,ムラムラと湧き上がるものがあって実装をいじっているうちに,辞書ファイルの重複したレコードやラベル,さらには入力の重複レコードを処理する部分を全面的に書き換えました.ただし仕様の変更は実質的に何もありません.

どういう内容かと言うと,まず辞書ファイルに重複したレコードがあると,同一のものが異なる複数の順位を持つことになるので,そもそもソーティングが原理的に成り立ちません.このため,辞書ファイルの読み込み時に重複したレコードを見つけると,従来は最初の重複ペアが見つかった時点でエラーメッセージを出して即座に処理を中止していました.しかし,これはあまり親切なやり方ではないので,辞書ファイルをすべて読み込んだうえで何々というレコードが何行目と何行目と何行目に重複して存在していると網羅的に報告し,それから処理を中止するようにしました.こうすれば辞書ファイルの作者は辞書の修正が容易です.

同様に,辞書ファイル中のラベル(つい最近までマイルストーンと呼んでいたもの)に重複が見つかった場合は,従来は五月雨式に重複ペアを報告しながら処理を続行していたのですが,こちらも辞書ファイルをすべて読み込んだ後で,重複しているラベルを網羅的に報告することにしました.なおラベルが重複しているとは,そのラベルの文字列(コメントを除く)とレベルがともに同一である場合です.またラベルが重複していてもソーティングに不都合はないため,処理はそのまま続行しますが,ソーティング結果には同一のラベルが異なる複数の箇所に現れることになりますので,本来は望ましくありません.辞書ファイルの修正が望ましいところです.

最後に入力の重複です.入力の重複自体には特に問題はなく,入力データとしては十分あり得る話ですし,ソーティング自体にも影響はありません.ユーザーが重複を検知するには -d オプションを使うことにしていますが,従来は重複したペアが見つかるたびに五月雨式に報告していました.しかしこれでは見にくいうえに全体像が分かりにくいので,これも入力をすべて読み終わった後で重複した入力を網羅的に報告し,処理を続行するように改めました.

これらの改訂を入れ込んだ新しい版 v2.94 を近日中にリリースします.またユーザーズガイドも書き直したものをアップロードすることにしました.ユーザーから見た場合には仕様上の変更は何もありませんが,警告文の出かたが見やすいものに変わるので,気づくことがあると思います.なおこの改訂によって処理速度はほとんど影響を受けないことを確認済みです.

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

より以前の記事一覧