« 2017年9月 | トップページ | 2017年11月 »

2017年10月

2017/10/28

Refsort/Ruby 2.80 Released

辞書参照型ソーティングフィルターをスクリプト言語 Ruby で実装した Refsort/Ruby の開発を10年以上続けています(例えば新しいほうから順に *1 *2 *3 *4 *5 *6 *7 *8 *9 *10 *11 *12 *13 *14 *15).もう仕様は落ち着いていて機能の追加をするつもりは(ほとんど)なく,細々とバグのメンテナンスを行っている状態です.

前回のリリースは約3か月前の2017年7月9日でしたが,このたび Refsort/Ruby の改訂版である v2.80 をリリースしました.

実は,今回の改訂は非常に難産でした.そもそも,Refsort の原型は今から10数年前に作成し,そこから機能を加えるごとにコードを建て増し建て増ししていったので,山あいの温泉旅館のように非常に見通しの悪いスクリプトになっていました.そこで1年ほど前から,自前のクラスやメソッドを定義してスクリプト全体をできる限りモジュール化し,さらに例外処理も Ruby の作法に則ったものに統一した新版を書き始めていたのです.

しかし,まず例外処理でつまづきました.モジュール化すると構造はきれいになるのですが,メソッドの階層を深く下ったところで例外を発生させると,それを最上層までもっていって,ファイルを閉じたり配列やハッシュをクリアしたりという後始末をしなければならないので,非常に煩雑でコードの量が増えてしまいます.仕方がないので,モジュール化の階層はできる限り浅くして,例外もできる限り最上層で発生させるようにしました.

次につまづいたのは実行速度です.格好よく自前のクラスを定義して,その中でインスタンス変数をたくさん定義し,それをメソッドで呼び出して使うのは快適なのですが,実行速度が大幅に落ちることがわかりました.Refsort はあくまでソーティング・フィルタなので,あまりトロトロと走らせるわけにもいきません.そこで,涙をのんで自前クラスは最小限にせざるを得ませんでした.そういうわけで,v2.80 は v2.70 に比べると速度が約 15% ほど低下しています.

一つだけ大幅に改良した点は,埋め込みマイルストーンの処理についてです.ここも過去のスクリプトでは温泉旅館の新別館のような扱いだったのですが,今回はマイルストーンのために自前のクラスを定義し,オブジェクトとして扱うことでコードの見通しを大幅に改善しました.

また従来は,出力時には出力候補のリスト全体をまず1回スキャンしてマイルストーンの階層構造を解析し,出力すべきマイルストーンを抜き出したうえで,2回目のスキャンでリストを出力するという2パス構造にしていたのですが,これが非常にわかりにくく,自分でも過去のコードをよく読めない事態に陥っていたので,これをゼロから書き直し,非常に素直な1パス構造に改めました.

仕様を1点だけ改訂しました.それはマイルストーンのコメントに関するもので,従来はマイルストーンのコメントは,それが番号付きやダブルコメント (##) でない限りは,そのまま出力していたのですが,今後は,マイルストーンのコメントは取り除いて出力することにしました.これは,マイルストーンにコメントが付いていると,リストがごちゃごちゃして見にくくなってしまうためです.

そういうわけで,今回の改訂はユーザにとっては非常に小さな変更でしかありませんが,内部的にはある程度手が加わり,将来の改良に向けた準備を進めた版であるとご理解いただければ幸いです.


さて,余談ですが,IOC の Web サイトに耳寄りな情報が掲載されました.以下引用です.

ANNOUNCEMENT (Oct 21, 2017): NO 7.4! Effective today, we are shifting to a semiannual revision schedule. Our next release will be 8.1 in January 2018, followed by 8.2 in late July or early August 2018. A step towards improved alignment with the Clements/eBird world list is one of the motivations for this change. We will continue to post working revisions regularly on the Updates web pages, so please keep up the flow of comments and corrections. Thank you!

従来の慣習に従えば,IOC List は四半期ごとに改訂されるので,前回7月末の改訂の後は10月末に v7.4 が出るはずでした.ところが,この版は出ません!なぜかというと,今後は年4回ではなく年2回の改訂頻度に改める,という方針変更を行ったそうです.従って,次の版は年が明けた2018年1月に v8.1 が出る,ということになります.

さらに,これは年初からアナウンスされていたことですが,代表的な鳥類分類体系の間で,それらを統合しようという機運が盛り上がってきており,それが2018年の IOC 総会の円卓会議で議論されるというのです.これにより,鳥類分類の世界に大きな変化が訪れることになりそうで,私自身は心配半分,期待半分といったところです.

さらに,余計な心配をさせていただくと,日本鳥学会がこの変化の波に置いていかれはしまいかと気を揉んでいます.前回の改訂からすでに5年が過ぎていますが,次の改訂に関して何のアナウンスもありません.世界の動きに対して,意見を言う,見識を示す,参画するという動きを示してほしいと思います.

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

2017/10/15

NAS boxの障害の顛末

話は今をさかのぼることちょうど5年,震災の翌年にホームサーバでも立ち上げようと思い立ち(*1),ちょうどMicrosoftからWindows Home Server 2011 (Vail)が発売されて間もなかったので,低電力のCPUをMini-ITXのマザーボードに乗せ,NAS用の高耐久性を謳って発売されたWestern DigitalのHDDであるRedを2台搭載して,小さなNAS Boxを組み上げたのでした.(*2)

このNAS boxはそれなりに順調に動き,メインPCのシステム・バックアップとユーザ領域を毎晩バックアップし,アクセスがないときはスリープして電力を節約しながらも24時間連続で稼働させていました.使い勝手も悪くなかったので,私としては後継のホームサーバ用OSが出てくるのを楽しみに待っていました.

ところが,Microsoftはコアなユーザがいたにも関わらず,Windows Home Server 2011のサポートを2016年4月に打ち切ったので,そこからハードウェアはそのままで,フリーのNAS専用OSであるFreeNASに乗り換え,複数のマシンのシステムとユーザ領域のバックアップに使ってきました.このあたりの推移は過去のこの記事に書いた通りです.

FreeNASは大規模なアップデートを企んで新しい版Corralを出そうとしたものの,完成度が低くて実使用に耐えないと判断され,開発責任者が変わり,慌ててロードマップを書き直し,現在も精力的に大規模アップデートに向けて開発が続けられています.おそらく年内には,当初目論んでいたレベルの版である11.1がリリースされるだろうと思います.

てなことを考えていたある日,FreeNASのダッシュボードに赤いアラームが点滅しているではありませんか.内容を見てみると,HDDの1台に障害が発生しているとのこと.このHDDはOSによって自動的に切り離されてしまったようです.

問題の切り分けのためにNAS boxを開け,まずはマザーボードのディスク・インターフェースの障害を疑い,空いているインターフェースに切り替えて再起動させてみました.すると何の問題もなく動くではありませんか.しばらくはこのままの構成で運用しようと思ったのですが,しばらくすると再び赤いアラームが点滅しています.HDDのセクターエラーが発生しているようです.

ここでHDDの障害であることは確実になったのですが,さりとて代替のHDDを買ってきてこの古いハードウェアを延命する気にもなれません.NAS boxの構築から5年が経っているので,どうせだったらHDDも大容量のものに替え,さらにハードウェア全体を新調して,そこにFreeNAS 11.1を載せたいところです.

しかし,最近ハードウェアは値上がり気味.特にメモリが高騰してます.しかも,FreeNASの最大のウリであるZFSというファイルシステムはメモリ食いで有名で,最低でも16GB,出来ることなら32GB程度を載せるのが良いとされているので,直ちにNAS boxを換装という決断ができません.

というわけで,古いハードウェアのうち,売れるものは売り払い,メモリをはじめとするハードウェアが少し安くなるのを待っている状態です.情けない...

どうせFreeNAS 11.1がリリースされるのは年末ころなので,その完成度具合を確かめてからでも遅くありません.それまではホームサーバが無い生活が続き,寂しい気はしますが,まぁ,こういうこともあると思うしかありません.

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

2017/10/10

綿毛が秋の風に舞う

これも昨日の里山歩きの続きです.日中の最高気温は高くなって夏日にはなったものの,朝晩はさすがに20度以下に下がってひんやりしてきたので,草花も冬への準備を始めたようです.

Shishitzuka_oct2017_0072m

すっくと立ったススキの仲間の穂.まだ花が終わっておらず,熟して穂が開いてくるのはこれからですが,秋の到来を告げる草花の代表格でしょう.

Shishitzuka_oct2017_0047m

この綿がボロボロになったようなものはおそらくダンドボロギク.背丈が高くなるのでボロボロな様子が目立ちます.風に綿毛が飛ばされる様子は,いかにも秋を思わせます.

Shishitzuka_oct2017_0046m

ガマの穂はもう十分に熟して風に吹きちぎられるようになってきました.ボワボワになってきたので,見るからに枯れ穂という感じです.これを見ると冬が近づいたなという感じになってきます.

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

白いイヌタデ

Shishitzuka_oct2017_0028m

昨日の里山歩きの続きです.イヌタデの赤い花穂が最盛期を迎えていたのですが,場所によっては姿形はそっくりで色だけ純白のものがあります.どうやら白い変種もあるのですね.

Shishitzuka_oct2017_0039m

イヌタデは俗称「赤まんま」と呼ばれますが,この白い花は「白まんま」ということになります.

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

2017/10/09

秋の里山歩きで汗ばむ

今日はお天気が安定して朝から快晴.風も弱くて野山歩きには最適です.今日は久しぶりに自然度の高い里山を歩いてみました.

この時期の里山歩きの楽しみの一つはキノコ探し.今日もいろいろなキノコを見ることができましたが,特大のアカヤマドリというキノコを見ることができたのは幸運でした.食べると非常に美味しいらしいのですが,残念ながらこのあたりのキノコは福島第一原発の事故の後で放射線値が高いらしいので,それを知っている人はみな断念しているようです.

Shishitzuka_oct2017_0020m

秋の花はおそらく今が盛り.ユウガギク,キンミズヒキミゾソバ,赤と白のイヌタデなどです.こうしてみると,今日見た花はタデの仲間が多かった.主に水辺を歩いたからなのでしょう.

Shishitzuka_oct2017_0024m

Shishitzuka_oct2017_0026m

今日は気温が上がって夏日になったので,日なたを歩いていると汗ばむほど.それでも秋は確実に通過中です.

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

2017/10/01

秋の林縁を歩く

早いもので今日から10月.暑かった夏もようやく終わりに近づき,朝晩は確実に秋の涼しさが訪れています.

今朝は家人と近所の谷津田の林縁を歩いてみました.まだ夏の名残りが感じられる強い日差しで汗ばむほどでしたが,それでも秋の実りが着実に進んでいることを実感しました.

Aroundhome_oct2017_0003m

まず最初は定番のカラスウリ.この林縁ではウリ坊状態のものはすでに見られず,真っ赤に熟したものが多くみられました.

Aroundhome_oct2017_0009m

ヤブミョウガの紫色の実がびっしりとなっていました.

Aroundhome_oct2017_0019m

クサギの実が高いところに生っていて,木漏れ日を浴びて輝いていました.

Aroundhome_oct2017_0023m

暗い竹林の中に一本だけカキの木があるのでしょうか,熟した実が落ち葉の上にポツンと落ちていました.

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

« 2017年9月 | トップページ | 2017年11月 »