2017-03-30

GNATS、BugzillaそしてRedmine

IT開発の現場ではバグ対応が避けられません。受け付けたバグ報告や、対応しているバグや完了した件などを個人的なメモに留めていると、小規模な開発では何とかなっても、関係者が増えてきた場合に対応できなくなります。また個人で対応できていたとしても、何らかの事情で担当できない状況に追い込まれた場合、それを他の人が引き継ぐのは至難の業です。

そこで「Bug Tracking System (BTS)」というものが生まれました。これが「バグ(不具合、障害、問題点)」だけを対象とするのではなく、さらに進化し、開発の中で生じてくる様々なアイディアを含めて運用できるようにするため「Issue Tracking System (ITS)」と呼ばれたりもします。

OSSで提供されているBTSもありますし、商用製品もあります。OSSと製品のいずれが優れているのかは直ちには判断できません。OSSは信用できず商用製品でなければ責任の所在が曖昧になると考えている人もいるでしょうし、製品に比べればOSSの方が利用者が多いから仮に問題があったとしても修正が迅速であるはずだと主張する人もいます。一般論としてはどちらもその通りですが、具体的に個別のBTSについて見ていくと、それぞれの事情があるとして言えないでしょう。

いろいろな主張があるとしても、試しに利用してみるためにはOSSの方が手っ取り早いのは確かです。いろいろありすぎて選択に迷いますが、著名なのは古くからある「GNATS」とか、最近では「Bugzilla」や「Redmine」です。

GNATSはGNUの開発したBTSで、FreeBSDやNetBSDなどがバグ報告を受け付けるために利用されています。バグを報告は「Problem Report」と呼ばれ、一つの報告に対してPR番号が付けられます。その問題の管理はPR番号で行われることになります。

BugzillaはFirefoxでお馴染みのMozilla Fundationが開発し、Redhatなどが利用しているようです。

Redmineは市販の参考書が多く出版されており、利用者コミュニティが活発であることが窺えます。GNATSではPRで管理していたようなことを、Redmineでは「チケット」と呼んでいるようです。

BTSの範疇に含まれるものは数多く、どれを利用すれば良いのか迷ってしまいます。注意しておきたいことは、各々はBTSには違いないとしても、その具体的な実現方法は様々であるので、出来ること出来ないことは個々に異なるということです。何かを選べば、他を選んだなら出来たであろうことが、出来なくなる可能性は高いと思います。妙な例えになりますが、MS-DOS上でC言語を利用しようとして、Lattice-Cを選ぶか、MS-Cにするか、それともTurbo-Cにするかという判断とは違うのです。

いずれのBTSであれITSであれ、ひとつの問題や要望に対する一連の情報を整合性を保って管理するという趣旨は同じですが、そのための実現方法は大きく違います。 その用語も個々に違います。もちろん同じような用語が多いのですが、全く同じである保証はないし、用語の意味を膨らませていたりすることもあります。

このような状況では、自分の要求に即したBTSやITSを選択するには、全てを使ってみるしかありません。インストールマニアでもなければ、そんなことをしている余裕は普通は無いでしょう。機能の詳細に踏み込まずとも、大雑把に比較して対象を数個に絞り込むことは可能だと思います。しかし使ってみないと分からないことも多いので、結局は何かを選択して利用してみることになるでしょう。

選択するためのひとつの考え方は「有名なものを選ぶ」ということです。市販されている書籍が多いとか、Webなどで情報が見つかりやすいとか、または身近で利用されているというような事です。そのような理由で選ばれたものは、機能的に最高レベルではないかもしれません。「有名なものを選ぶ」という判断基準は、「最高レベルを選ぶ」という基準とは両立しないのです。これまた変な例えですが、CP/MやMS-DOSが広く使われていた時代に、OS-9の方が技術的に優れているという主張がありました。これは確かにその通りだと思いますが、OS-9が広く利用されるようにはなりませんでした。

何を選んだとしても、実際に使い始めてみると、期待していたようなことができない可能性があります。その期待が、無いものねだりなのかもしれませんし、もしかすると何かのバグかもしれません。そこで選択しなかった方を調べてみたら、そちらでは出来ることが分かったとしましょう。そこでツールを乗り換えるのも方法のひとつではあります。ですが乗り換えたところで、次にまた別の壁にぶつかったら、また乗り換えるつもりでしょうか。その調子で乗り換えていたら、何時になったら本来の目的である「バグ管理(または要望管理)」ができるようになるのでしょう。

これは、一度決めたら決して乗り換えてはいけないという主張をしているのではありません。そうかといって、気軽に乗り換えることを勧めている訳ではありません。ツールの選択に限らず、「選択」と「決断」は難しい判断です。いずれにしても、何をするにも「自覚的であれ」というのは真理かもしれません。

食べ放題を意味する「バイキング」は大和言葉の一種なのか

『ナショナル ジオグラフィック 日本版』の2017年3月号の特集は「バイキング 大海の覇者の素顔」です。バイキングについては漠然としたイメージしかなかったので、この記事を読むと詳しく学べるのではないかと期待しています。特集によっては、スカパーで視られる「ナショナル ジオグラフィック チャンネル」でも雑誌記事と連動した番組が放送されることがありますが、今のところ関連番組はなさそうです。

日本を含めた世界中で「バイキング」と言ったら8世紀前後に大暴れした集団を意味していますが、日本では食べ放題形式の食堂を「バイキング」と呼んでおり、武装集団としての「バイキング」より食べ放題としての「バイキング」の方が認知度が高いのではないかと思います。

そもそも日本で「バイキング」が食べ放題形式の食堂という意味になっているのかという理由について、ウィキペディアでは次のように説明しています。
日本語では「バイキング」と称されることがある。日本初の食べ放題レストランの店名が「バイキング」であったことに由来する。

ウィキペディアによると、食べ放題形式のことを英語ではフランス語風の「buffet」とか北欧風の「smorgasbord」と呼ぶようです。

日本語では外国由来の単語をカタカナ表記にすることが多くあります。その方式で行くと、食べ放題形式は「ビュッフェ」もしくは「スモーガスボード」となるところです。しかし「ビュッフェ」と言えば「立食形式」を日本ではイメージするでしょうし、「スモーガスボード」にいたっては一般的な認知度は低いのではないかと思います。

日本語独自の「バイキング」というのは英単語の「viking」の訳語ということではなく、見た目は外来語に似ていますが、外国由来の訳語でも何でもなく純粋な日本語だと思います。だから英会話で食べ放題に関する話題をしようと考えた時に「viking」という語を使うのであれば、その英文が表面的な形式として完璧だとしても、意味的には非英語的表現でしかないでしょう。

要するに「食べ放題」を意味する「バイキング」は日本語でしょう。大和言葉とか和語とか言うと、長い歴史を踏まえている訳ではないでしょうから、言い過ぎかもしれませんが少なくとも外来語ではありません。

現在の日本語を構成する単語は、古くからの大和言葉に由来する語、中国から伝来した漢語に由来する語、古くはポルトガル等であったり幕末以降は欧米であったりする国々に由来する外来語などから構成されています。ここで「バイキング」という単語は、大和言葉とは言えないし、中国伝来でもないし、もちろん欧米由来でもありません。あえて言えば多分に勘違いに由来する現代日本語です。

 一見すると外来語のようであって、実は日本独自の単語というのは、他にも事例があります。英語の「stapler」を日本語では「ホチキス」と呼ぶ事例であるとか、紙を複写する意味の「copy」を「ゼロックス」と呼ぶ事例などが思いつきます。

おそらく世界中のどの言語にも同様の現象が存在しているだろうと思います。自国以外から取り入れた単語が本来の意味と全く関係のない意味に使われる事例は日本に限ることではないと思います。

2017-03-27

国立西洋美術館「スケーエン デンマークの芸術家村」

国立西洋美術館で日本・デンマーク外交関係樹立150周年記念として「スケーエン デンマークの芸術家村」という展示がおこなわれています。常設展示室の一部を使って開催されています。

19世紀後半から20世紀初頭にかけて描かれた作品が並べられており、透き通るような画風がとても美しく気に入りました。風景や人物を描いていますが、ごく一般的な庶民であり、(作品を描いた背景を学んでいないので不確かですが)著名な何かを表しているわけではないと思います。これより古い時代の宗教画や有名人の肖像画とは違いますし、これより後に増えてくる抽象画のように(何が描かれており、何を表そうとしたのか)頭を悩ませるような作品とも違います。一見すると「わかりやすい」気がする作品です。

作者は何を思って描いていたのでしょうか。図録を買いましたので、各作品には解説がついています。しかしそれは作者の言葉ではなく、解説者の文章です。この展覧会に限りませんが、作者が作品に込めた思いなどは、どうしたらわかるのでしょう。別にそれがわからなくても作品は楽しめるし、それで良いのですが、もう一歩踏み込んで作品を鑑賞したいときもあるのです。そのためにこそ図録があるとも考えられますが、今のところ問いかけに応えてくれた図録は目にしていません。何か他にないものかと強く思います。

鉄道愛好家の呼び方の変化と関心の細分化

鉄道を趣味の対象とする人を昔は「鉄道ファン」と呼んでいました。その中には個性が強く、関心の対象が鉄道にしかないのではないかと思われるような人もいて「鉄道マニア」と呼ばれたりもしました。時代が進み1970年代後半以降になるとアニメファンの中に「おたく」と呼ばれる人たちが出現し、そのキャラクターの類似性から「鉄道オタク」という呼び方がされるようになりました。さらに時代が進むと「鉄ちゃん」という呼び方が誕生し、近年では「乗り鉄」とか「撮り鉄」などの細分化が進んでいます。

昔ながらの鉄道ファンというのは、鉄道に乗って旅行もする(ただし注意しておかなければならないのは、当時は旅行するには鉄道を使うしか方法がなかったという時代背景があったということです)し、 鉄道の写真も撮るし、鉄道模型にも手を出す(ここも注意が必要ですが、今のようにNゲージなどは無く、Oゲージは大きくて場所を喰うので、興味があっても手を出せなかった人もいたということです)し、要するに鉄道に関することなら何でもしていました。だから趣味として「鉄道ファン」と言えば、その言葉に含まれる全ての対象を含意していたと言えます。

ところが今では「鉄道ファン」という言葉だけでは、興味の対象を表せなくなっているようです。つまり「乗り鉄」と言ったら「鉄道に乗ることだけが関心対象」で、「撮り鉄」であれば「鉄道を撮影することしかしない」ようなのです。現実には複数分野に興味がある人が多いのでしょうが、それでも鉄道に関わる全てを対象とする人は少なくなっているように感じます。それが呼び名が細分化されていく現象に現れているように思います。

ここ数年の間に、ブルートレインの廃止、地方ローカル線の廃止、旧型車両の廃止などが続き、その一部はマスコミにも取り上げられて大きく報道されました。そうなると、もう鉄道に愛着する気持ちなど全く持ち合わせていなくて、ただひたするた押し寄せて最終列車にむけて叫ぶだけという、これはファン(愛好家)なのかと疑問を感じる群衆が出現しています。

言葉が細分化されていくことで興味の対象を限定できるようになっています。しかし興味の対象を限定できることで、さらに関心が細分化し、新たな表現を生み出し続けているように思います。

2017-03-25

英語を勉強している成果なのかと思えた経験

以前から英語の勉強を続けています。何か直接的な目的があるわけではありません。英語が世界的に重視されている現状があるので、少しでも世界情勢について行きたいというだけの事です。スキルレベルを把握するために毎年TOEICを受験していますが、平均点を多少上回る程度で、目だった成果は上がっていません。

いろいろな教材に手を出すよりは、厳選した教材を徹底的に勉強するほうが良いと言われます。何が厳選された教材なのかは主観的に判断しただけですが、徹底的とも必ずしも言えませんが、成果が上がっていない気がしても、挫けず勉強を続けるようにしています。

それにしても昨今はインターネットや動画配信の発達により、学習用に加工されていない、現実的な英語素材が手軽に入手できるようになっているのは驚くばかりです。そのような現実の英語を耳にしても、いまひとつ理解できたという実感が得られたとも言えない状況でした。

ところが先日「日本外国特派員協会」で行われた記者会見の様子の動画を見ていたら、ある記者の質問が「聞き取れた!」という体験をしました。ごく一部分だけでしたが、今までならば全く聞き取れず、箸にも棒にも掛からないようであったことを思うと、嬉しい経験でした。英語の波に上手く乗れると聞き取ることもできそうな感触ですが、まだ波に長く乗り続けていけません。しかし練習を重ねれば、長く乗り続けることもできるようになるでしょう。

間もなくMicrosoft Windows Vistaのサポートが終了

MicrosoftはWindows Vistaのサポート期限を2017年4月11日とアナウンスしていますので、もう間もなくです。アナウンスされている日付とは一体何なのでしょうか。僕は(自分で勝手に)その日まではVistaに関わるあらゆるサービスは、それまでと同様におこなわれるものだと思ってきました。

現実世界に例えれば、店舗の営業終了日のようなものをイメージしていました。もっとも現実世界の店舗では、営業終了日に向けて在庫を少なくしていくために「在庫一掃セール」のような特売が連発します。しかしソフトウェアの世界では物理的な在庫というものが(現実世界ほど)発生しませんので、サポート期限当日まで、何ら変わることなくサービスが提供されるものとばかり思っていました。

ところが既にWebサイト等においてもVistaを扱うリンクが切れていたりしているようです。店じまいの準備は、かなり進んでいる印象です。

Windows XPのサポート終了の頃にも言われていたことですが、サポート期限を過ぎたOSを利用し続けることはセキュリティ上の深刻な問題が発生するので、使い続けることは止めるようにとされていました。これはその通りで、反論するつもりはありません。それではサポート期限(2017年4月11日)まで、Windows Vistaのセキュリティ更新が「何の問題もなく従来同様に」入手できるのかというと、そんなことはないようです。すでに昨年からWindows Updateの不具合に悩まされています。出来れば最後まで問題を感じることなく使い続けたかったと思っています。

Windows Vistaが入っていたdynabook SS SX/15AはNetBSD/i386に入れ換えるつもりで、その準備は進んでいます。来月には実行に移すことになるでしょう。

同時に利用していたアプリケーションもNetBSDで使えるものに移行するつもりです。Microsoft OfficeはLibreOfficeにします。FirefoxはWindowsでもNetBSDでも同じように使えます。よく使うアプリケーションは移行先が見つかっているのですが、一部に移行できないものが残りました。

Microsoft Visioは直接の移行先がありません。似たようなアプリケーションとしてはInkscapeがあるので、今後はそちらを使うつもりです。VisioのファイルはLibreOffice Drawで開けるのですが、日本語テキストが化けてしまっています。既存ファイルを見るだけならVisio Viewerが使えそうなので、デスクトップPCのWindows10でViewerを利用するしかありません。

またStyleWriter 4という英語の文体チェッカを持っていたのですが代替先が見つかっていません。

「旧型PCをフリーOSで蘇らせる」られるか?

雑誌の特集などでMicrosoft Windowsがサポートしないような旧いPCでもフリーのOS(LinuxとかFreeBSDなど)なら十分に使えるから云々という記事を見かけることがあります。これは間違いではありませんが、「ただし古すぎるものは除く」と条件をつけなければならないようです。

自宅では昔懐かしいGatewayによるノートPCにFreeBSDを入れて使っています。2000年より前に作られたものなので、今となってはメモリも少ないし、CPUだって骨董品です。FreeBSD 10.3の起動メッセージでは次のようになっています。
CPU: Intel Pentium III (447.70-MHz 686-class CPU)
  Origin="GenuineIntel"  Id=0x681  Family=0x6  Model=0x8  Stepping=1
  Features=0x387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 301989888 (288 MB)

最新のマシンに比べれば当然遅いのですが、利用目的を見極めれば、決して使えないわけではありません。しかしながら旧過ぎるが故の問題を感じるようになってきました。

まずはFreeBSD自体の問題です。FreeBSDの最新版は11.0-RELEASEですが、このマシンでは動きません。ブート中にカーネル・パニックを起こして落ちてしまうのです。実は10.0がリリースされた当初も同様の現象に悩まされていましたが、いつの間にか起動できるようになりました。11.0も起動できるようになってくれるのを待っているのですが、もしかするともう駄目かもしれません。

さらにportsからインストールしているアプリケーションの一部が、最近になって更新できなくなっています。コンパイル中に以下のメッセージが出てしまいます。SSE2が使えないと駄目のようなのですが、Pentium 3なのでSSE2は使えません。SSE2が使えるのはPeintium 4以降なので、それ以前のCPUのサポートを打ち切ったという事なのでしょうか。
In file included from utils.c:37:
In file included from ../../../../../src/mesa/main/macros.h:36:
In file included from ../../../../../src/util/rounding.h:35:
/usr/include/clang/3.4.1/emmintrin.h:28:2: error: "SSE2 instruction set not
      enabled"
#error "SSE2 instruction set not enabled"

旧いマシンなので、いろいろとガタが来ているのは感じていますが、そろそろ引退時期を迎えつつあるのでしょう。