2025-03-26

「FH2$W_RECATTR」の構造がわからない

simh V3.8-1のvax.exeを使ってOpenVMS  VAX V7.2を動かしています。OpenVMS側にあるファイルをWindows側に持ってくるため、simhの仮想磁気テープのファイルを使用する方法を考えています。他にも方法はあると思いますが、技術的興味から、しばらくはこの方法を追求してみようと思っています。

 

OpenVMS側で作成した磁気テープはANSI X3.27 Level 3に準拠した構造になるようです。マニュアル『Guide to OpenVMS File Applications』の「1.3.1. ANSI-Labeled Magnetic Tape」に情報があります。その「1.3.1.6.3. HDR3 Label」では「These attributes are converted from 32 bytes of binary values to 64 bytes of ASCII ...」のような記述があります。さて、この32バイトの情報は、具体的にはどのようなものなのか調べているのですが、核心の情報にたどり着けていません。

 

ODS2を操作する何かのプログラムの一部らしき箇所に「struct RECATTR」という構造体がありました。この中の要素を数えると、32バイト分ありましたので、多分これがそうなのかもしれません。しかしプログラムのソースファイルに書かれているということは、何か出典となる情報に基づいていると思われますが、それが何なのか見つからないのです。

手元に『VMS File System Internals』(ISBN 0-13-931783-X)があるので調べてみると、「Figure 2-2: Format of the Header Area」の中に「FH2$W_RECATTR (32 bytes)」という箇所を見つけました。多分これのことだろうと思うのですが、32バイトの詳細構造がわかりません。

 

同書の「2.4.1 Directory Structure」では、「The last word of the directory file's record attributes area (FAT$W_VERSIONS) is ...」のような記述があるところを見ると、何か構造があって然るべきなのですが、その構造を記した情報にたどり着けません。

 

この構造がわからなくても、OpenVMS→Windowsの情報転送には困らない感触があるので、わからないならわからないで構わないとは思います。しかし何かに書かれているのであれば、それを知りたいところです。

2025-03-23

『平家物語』を「鱸」まで覚えた

 2023年の夏頃から『平家物語』を暗記しようとしています。覚えたから何かあるわけではありません。ただし、ただ読み流すだけよりも、言葉の一つ一つに注意が向くようになりました。

 

『平家物語』と言えば、「祇園精舎の鐘の声、諸行無常の響きあり」で始まる冒頭が有名です。『平家物語』には、話のまとまりごとに副題がついており、冒頭の箇所は「祇園精舎」です。次が「殿上闇討」で、「鱸」、「禿髪」と続きます。

 

覚え始めてから2年弱ほどですが、ようやく「鱸」まで覚えました。重要人物である平清盛がようやく登場してきました。これから覚える「禿髪」では、「驕る平家は久しからず」のエピソードが語られていくことになります。

 

『平家物語』は、まだまだ長いので、一生かかっても覚えきれないでしょう。そもそも巻一すら終わらないかもしれません。

2025-03-22

OpenVMSのRMS attributesにおける「32 bytes of binary values」って何?

simh V3.8-1のvax.exeを使ってOpenVMS VAX V7.2の環境を整えようとしています。ひとまずOSを入れることはできています。今後の作業を考えると、OpenVMS側からWindows側にファイルを持っていく方式を考えておこうと思っています。TU-81で磁気テープを使おうと思いますが、実際には仮想環境なので、現実にはsimhの仮想磁気テープのファイルを扱うことになります。磁気テープはANSI X3.27形式が使われているようなので、その構造を理解しようと思います。

 

OpenVMSにおける磁気テープの構造は『Guide to OpenVMS File Applications』に詳しい情報があります。ここで「1.3.1.6.3. HDR3 Label」には、次のような記述があります。

The RMS attributes describe the record format of a file. These attributes are converted from 32 bytes of binary values to 64 bytes of ASCII representations of their hexadecimal equivalents for storage in the HDR3 label.

 

HDR3にはRMS attributesが格納されており、その32バイトのバイナリ値が64文字のASCII文字列として表現されているというのです。つまり1バイトが2文字ですから、いわゆる「16進ダンプ」のような見た目なのでしょう。それは良いのですが、「RMS attributes」というの何でしょうか。

 

「RMS attributesのことなら、もう既にご存知かと思いますが」と言うかのような感じです。しかし私は何のことかわからないので、調べてみなければなりません。おそらく何かのマニュアルに詳しく記述されていると思います。それを探し出そうと思います。

simhのvax.exe上で動作させるOpenVMS VAXにおける仮想磁気テープのファイル構造

simh V3.8-1のvax.exeを利用してOpenVMS VAXを動かしています。OpenVMSからWindowsにファイルを送るために、simhの仮想磁気テープのファイルを使おうと思います。OpenVMS側は、磁気テープをANSI X3.27 Level 3に準拠した構造にしているそうです。ANSI X3.27の構造には詳しくありませんが、仕様書をネットで見つけましたので、調べてみようと思います。

 

ファイル構造を調べるため、OpenVMS側でファイルをテープに格納してみて、そのファイルがWindows側でどのように見えるかを確かめてみようと思います。そのファイルの16進ダンプは、次のようになりました。

00000000  50 00 00 00 56 4F 4C 31 53 49 4D 48 20 20 20 20  P...VOL1SIMH    
00000010  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00000020  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00000030  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00000040  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00000050  20 20 20 33 50 00 00 00 50 00 00 00 48 44 52 31     3P...P...HDR1
00000060  54 45 53 54 31 2E 54 58 54 20 20 20 20 20 20 20  TEST1.TXT       
(以下略)

 

ANSI X3.27の仕様書によれば、「VOL1」とか「HDR1」というのが、規定されている構造を示す文字列のようです。それでは、その前にある「50 00 00 00」というのは何でしょうか。当初、これもANSI X3.27の規格で定められている情報かと思ったのですが、そうではなさそうです。

 

ネットで情報を探ってみると「SIMHで古代UNIXを再現(2)」を見つけました。この中に「SIMHのテープフォーマットは、SIMH Magtape Representation and Handlingに解説があります。」という記述があります。この「SIMH Magtape Representation and Handling」を確認してみると、SIMHの都合により、実データの前後に「Leading Length」と「Trailing Length」が入るようです。これが「50 00 00 00」なのでしょう。

 

ひとまず、SIMH側が挿入する情報の構造は判明しました。この段階で、仮想磁気テープのファイルをアクセスしてみるプログラムを組んでみました。これを拡張すれば、ANSI X3.27の構造を表示するプログラムになると思います。

 

 #!/usr/bin/python3

def readrecord(f):
    global TapeMark
    len0 = int.from_bytes(f.read(4),'little')
    if len0 == 0:
        TapeMark += 1
        if TapeMark >= 2: raise EOFError
        return 0
    TapeMark = 0
    data = f.read(len0)
    len1 = int.from_bytes(f.read(4),'little')

    print(TapeMark, len0, data[:4], data[4:16])

    return 0 if len0 != len1 else len0

def readblock(f):
    while True:
        if readrecord(f) == 0: break

TapeMark = 0
with open("test-tu81.tap","rb") as f:
    while True:
        try:
            readblock(f)
        except EOFError:
            break
#[EOF]

2025-03-21

simh上のOpenVMSとWindowsとの間でのファイル交換

simh V3.8-1のvax.exeを使用してOpenVMS VAX V7.2を楽しんでいます。まだOSをインストールだけです。今後のことを考えて、いまのうちにOpenVMSとWindowsとの間でファイルを交換するための方法を考えておこうと思います。

 

普通に考えれば、最も適切なのはネットワークを利用することでしょう。TCP/IPが使えるようになれば、FTPを利用するだけのことです。もしネットワークを利用しないのであれば、往年の環境がそうであったように、何かオフラインで利用できるメディアを使うことになります。以下のようなメディアが考えられます。

  • CD-ROM
  • 磁気テープ
  • フロッピーディスク

 

simhをWindows上で動作させており、WSLが使えるため、WSLでmkisofsを使えば、Windows上のファイルを含んだISOファイルを生成できます。そのISOファイルをsimhでattachしておけば、OpenVMSではRRD40からマウントできるので、WindowsからOpenVMSにファイルを渡せるようになるはずです。しかしCD-ROM経由では、逆方向(OpenVMSからWindows)は難しそうです。

 

磁気テープを使うというのは、いかにもクラシックなコンピュータという趣がします。simhではTU81として指定されたデバイスにファイルをattachしておけば、OpenVMS側ではINITIALIZEやMOUNTなどの操作が可能です。何か適当なファイルをCOPYすれば、simh側でattachされているファイルに書き込まれるのを確認しました。

 

問題は、Windows側でファイルを取り出す方法です。ファイルを確認してみると、ANSI X3.27形式のヘッダが付いているようです。これを解釈して、特定のファイルを取り出すには、どうしたら良いのでしょうか。もし本当にテープデバイスを持っているなら、mtコマンドが使えるかもしれません。しかしsimhが作成した単なるファイルに対してmtコマンドは使えません。

 

ANSI X3.27形式のヘッダが入っているファイルを解釈して操作できるツールというものが、存在しても不思議はないのではないかと思うのですが、ネットを探しても見つかりませんでした。何か方法がないか、探ってみようと思います。

 

最後のフロッピーディスクというのは、何ができるのか全くわかりません。そもそもOpenVMSで扱うフロッピーディスクは、FATを解釈できるのでしょうか。もしかするとODS-2だけのような気もします。仮にFATを取り扱えるとしても、それをWindows側で「仮想的なフロッピーディスク」として操作するには、どうするのか見当もつきません。

2025-03-18

OpenVMS VAXに接続する端末エミュレータのためのキーマップ設定におけるTera TermとRLogin

simh V3.8-1のvax.exeを使ってOpenVMS VAX V7.2をインストールしました。まだOSを入れただけですが、simhではDZデバイスをTCP/IPで接続できるので、端末エミュレータからログインできるようになりました。端末エミュレータとして、昔はTera Termを利用していたのですが、ずいぶん前からRLoginに移行しています。端末エミュレータを使い分けるのは面倒なので、できればRLoginを使いたいとは思いますが、ひとまずTera TermとRLoginで使い勝手を検討します。

 

まずログインするだけであれば、Tera TermでもRLoginでも、いずれも可能でした。ただし注意が必要なのは、ログイン先がOpenVMSだということです。Tera TermもRLoginもVT端末の動作を再現しようとしており、VT端末のエスケープシーケンスにも対応しているようなのですが、キーボードの扱いがどうなっているのか、気になります。

 

そもそも、DECのVT端末でつかわれているLK201キーボードと、PCの109キーボードとでは、違う点があります。

  1. ファンクションキーは、LK201では20個ありますが、109キーボードでは12個しかありません。
  2. 109キーボードのテンキーにおける「+」キーは、LK201では「-」と「,」として別のキーになっています。
  3. カーソルキーの上部にある6個のキーの役割が、LK201と109キーボードでは、配置が異なります。

 

Windows上で動作する端末エミュレータは、109キーボードを使いますが、VT端末として操作するためにはLK201と同等の操作ができる必要があります。このためには、上述した違いを吸収するために、キーマップ設定をおこなわなければなりません。

 

端末エミュレータで実現できるか否かを確認するまえに、どのようなキーマップ設定とするか方針を決めておきます。

  1. LK201のファンクションキーは20個あり、109キーボードの12個では数が足りません。そこで、F1~F10を使うことにして、F11~F20は、Shift+(F1~F10)で実現することとします。
  2. 109キーボードのF11とF12が余りますが、これはLK201のF15とF16に割り当てます。OpenVMSではF15を「Help」として、F16を「Do」として使っています。これらは使用頻度が高いので、押しやすいようにF11とF12を使います。
  3. カーソルキーの上部にある6個のキーは、LK201と109キーボードで配置が異なります。例えば、「Ins」と「Del」が109キーボードでは左端にありますが、LK201では「Insert」と「Remove」は右上にあります。ここで考えるのは、109キーボードの刻印を無視してLK201の配置に合わせるのか、LK201の配置を無視して109キーボードの刻印に合わせるのかという選択です。もし日常的にLK201を利用しているのであれば、身体が配置を覚えているでしょうから、LK201の配置に合わせたほうが良いでしょう。しかしキーの刻印を参照しながら操作するのであれば109キーの刻印に合わせた方が良いことになります。私自身は、LK201を使用する機会はありませんので、109キーボードの刻印を見ながら操作することになると思うので、キーボードの刻印に合わせてエスケープシーケンスが送出されるように設定します。
  4. 109キーボードのテンキーには「+」しかありませんが、LK201では「-」と「,」の2つのキーがあります。これを実現するため、テンキーの「+」は「,」に割り当てることとして、Ctrl+「+」を「-」にしました。

 

このような方針を実現できるように、端末エミュレータのキーマップ設定をおこないます。設定ができているか否かは、OpenVMSの「EVE(EDIT/EVE)」や「EDT(EDIT/EDT)」で確かめます。

 

Tera Termの場合は「KEYBOARD.CNF」というファイルに対応関係を記述するようです。EVEやEDTで確かめましたが、問題なさそうです。

 

RLoginは、設定画面を使います。Tera Termとはキーマップの考え方が違うようで、Microsoft Windowsの仮想キーコードを使って割り当てをおこなうようです。ところが、この方式だとVT端末と同等の挙動を実現できませんでした。LK201はテンキーの上部にPF1~PF4が割り当てられており、特にPF1は「GOLD」として使われます。ところが109キーボードでは「NUMLOCK」なので、例えばテンキーの「7」は、NUMLOCKの状態によって「7」だったり「Home」だったり変化します。このため仮想キーコードも「PAD7」と「HOME」となり、特に「HOME」の場合は、カーソルキー上部にある「Home」と区別することができません。

 

普段は、Tera Termではなく、RLoginを使用しているので、OpenVMSもRLoginにしたかったのですが、そうもいかないようです。OpenVMSを操作するときだけはTera Termにするしかないのかなと思います。

2025-03-12

『時刻表大解剖』は面白い

近所の書店に『時刻表大解剖』という本があったので買ってみました。時刻表そのものや、鉄道の歴史などについて、詳しく書かれていて、とても楽しく読めました。本の帯には「JTB時刻表マスター認定試験」を実施するとあります。今年がJTB時刻表100周年なので、その記念イベントのようです。

 

近年JTBからは復刻版時刻表が幾つか発売されています。古い時刻表を出版しようとするには、それなりに手間もかかると思います。『時刻表大解剖』の11ページには、「電算写植完了」が昭和62年12月とあります。それ以降のものであっても、すぐに復刻版が出版できるわけではないと思いますが、それ以前のものであれば、なお大変でしょう。かけた手間に見合うだけの販売数が見込めるかという営業判断も必要かとは思います。そうであっても、昭和43年10月大改正(いわゆる「よんさんとう」)のような画期となるものが、戦前とか終戦直後にはないものでしょうか。そのような時刻表も復刻版を出版してくれれば、とても嬉しいです。

2025-03-11

PlantUMLはネットワーク図も描けるのか。

何処で知ったのかは忘れてしまいましたが、PlantUMLというものを知りました。テキストで記述されたものから様々な図を生成できるようです。いわゆる「お絵描きツール」を使ってグラフィカルに作図するのではありません。例えていえば、Microsoft Wordを使うのではなく、LaTeXを利用するようなイメージです。

 

いろいろなことができるようなのですが、腰を据えて利用してみるまでには至っていません。使い方の情報を得るため、PlantUMLのQ&Aフォーラムを見るようにしています。すると「Forcing net positions in nwdiag」という質問がありました。その質問の内容はさておき、綺麗なネットワーク図が描けることに驚きました。

 

PlantUMLでは、こんなこともできるのか。使いこなせば、便利なツールになりそうです。普段使いできるように、練習してみようかと思います。

RLoginでOpenVMS VAX V7.2に繋ぐと「VT500_Series」になる理由

simh V3.8-1のvax.exeを用いてOpenVMS VAX V7.2の環境を構築し、DZデバイスを経由してRLogin V2.30.2.1を用いて接続すると「VT500_Series」として認識されます。なぜこうなるのか調べてみました。

 

RLoginの公式サイト「エスケープシーケンス一覧」の「CSI一覧」によると、「DA1」のところに以下の記述があります。この記述における「TermID」というのは、設定「制御コード」の中にある「ESC/CSI/DCS」を開き、「各種ID」の中にあります。


TermID     DECTIDのTermID設定によりレスポンスが異なる

 

デフォルトでは「10」になっています。これが「VT500_Series」に相当するようです。「9」にすれば「VT400_Series」に、「7」か「8」ならば「VT300_Series」になります。「1」なら「VT100」として認識されます。

 

OpenVMS VAX V7.2を操作するためであれば、VT200以降であれば何でも構わないだろうと思います。Tera Termは「VT300_Series」として認識されているので、それと揃えようかと思います。

2025-03-10

simhのDZデバイスでOpenVMS VAX V7.2に接続

simh V3.8-1のvax.exeを使用してOpenVMS VAX V7.2の環境を構築しています。今のところは、OS本体を入れてだけです。今後は様々な環境構築をしていくつもりですが、そのためにも、作業しやすくするために端末環境を整えておこうと思います。

 

vax.exeから起動したままでは、OSからはLA36として認識されています。これはDEC Writer IIとして知られているもので、VT100のような端末よりも旧い、キーボードとプリンターが一体化したようなものです。当然ながらスクリーンエディタは使用できませんので、ファイルを編集するにはラインエディタを使うことになります。さすがに操作性が悪いので、なんとかしたいところです。

 simh V3.8-1のvax.exeには、DZデバイスが用意されています。これはDZV11 Terminal Multiplexerというもので、本物のVAXであれば複数の端末をぶら下げることができるはずです。simhでは「ATTACH DZ <port>」とすることで、TELNET接続を受け付けることができます。<port>は何でもよいようですが、「23」にしておけば、通常のTELNETポートになります。

 

この状態で、Tera Term V5.4.0から繋いでみました。繋ぐだけなら問題ないのですが、オプションを適切に設定する必要があります。昨今はUTF-8が主流なので、デフォルトではエンコーディングが「UTF-8」になっています。しかしこのままでは、ログイン後にエディタを起動すると、エスケープシーケンスが正しく解釈されないようです。どうやらエスケープシーケンスをUTF-8として解釈しようとして失敗しているようでした。そこでエンコーディングを「EUC」にします。これでうまくいったようです。「sh term/full」の結果は、以下のようになりました。

Terminal: _TTA0:      Device_Type: VT300_Series  Owner: SYSTEM

   Input:    9600     LFfill:  0      Width:  80      Parity: None
   Output:   9600     CRfill:  0      Page:   24

Terminal Characteristics:
   Interactive        Echo               Type_ahead         No Escape
   No Hostsync        TTsync             Lowercase          Tab
   Wrap               Scope              No Remote          Eightbit
   Broadcast          No Readsync        No Form            Fulldup
   No Modem           No Local_echo      Autobaud           No Hangup
   No Brdcstmbx       No DMA             No Altypeahd       Set_speed
   No Commsync        Line Editing       Overstrike editing No Fallback
   No Dialup          No Secure server   No Disconnect      No Pasthru
   No Syspassword     SIXEL Graphics     Soft Characters    Printer port
   Numeric Keypad     ANSI_CRT           No Regis           No Block_mode
   Advanced_video     Edit_mode          DEC_CRT            DEC_CRT2
   DEC_CRT3           No DEC_CRT4        No DEC_CRT5        No Ansi_Color
   VMS Style Input

 

ついでにRLogin V2.30.2.1でも試してみます。こちらでもオプションを適切に変呼する必要がありました。Tera Termの経験をもとにエンコーディングを「EUC」にしてみましたが、それだけでは駄目でした。さらにエスケープシーケンス「8454」を「Reset(C1制御文字を処理する)」に変更します。当初は「Set(C1制御文字を無視する)」になっていたので、うまくいかなかったようです。「sh term/full」 の結果は、以下のようになりました。

 Terminal: _TTA1:      Device_Type: VT500_Series  Owner: _TTA1:
                                              Username: SYSTEM

   Input:    9600     LFfill:  0      Width:  80      Parity: None
   Output:   9600     CRfill:  0      Page:   24      

Terminal Characteristics:
   Interactive        Echo               Type_ahead         No Escape
   No Hostsync        TTsync             Lowercase          Tab
   Wrap               Scope              No Remote          Eightbit
   Broadcast          No Readsync        No Form            Fulldup
   No Modem           No Local_echo      Autobaud           No Hangup
   No Brdcstmbx       No DMA             No Altypeahd       Set_speed
   No Commsync        Line Editing       Overstrike editing No Fallback
   No Dialup          No Secure server   No Disconnect      No Pasthru
   No Syspassword     SIXEL Graphics     Soft Characters    Printer port
   Numeric Keypad     ANSI_CRT           Regis              No Block_mode
   Advanced_video     Edit_mode          DEC_CRT            DEC_CRT2
   DEC_CRT3           DEC_CRT4           DEC_CRT5           Ansi_Color
   VMS Style Input

 

双方を詳しく調べたわけではありませんが、Device_Typeが、Tera TermではVT300_Seriesなのに対して、RLoginではVT500_Seriesになっています。

 

ひとまずTera TermやRLoginから接続できるようになりました。これならDEC Writer IIよりも快適になるでしょう。しかし次の難問は、キーボード自体にあります。DEC LK201は、PCのキーボードとは違いがあります。しかも、エディタを使う上で、それが影響するのです。この問題をTera TermやRLoginで如何に解決するかが、課題になります。

2025-03-09

『仏教は、いかにして多様化したか』(世界史のリテラシー)は参考になる

NHK出版から数ヶ月おきに出版されている「世界史のリテラシー」シリーズの最新刊である『仏教は、いかにして多様化したか』を買って読んでみました。日本は(いちおう)仏教徒が多いことになっています。しかし現実としては、葬式を仏式でおこなうことが多いとか、お墓参りに行くことがあるという程度の話しです。例えばキリスト教徒がキリスト教の教えに親しんでいるのに比べると、日本人が仏教の教えというものを、どのくらい理解しているのか怪しいところです。

 

かく言う私自身も、仏教については、よくわかっていません。僅かに知っていることといえば、仏教はインドで成立したとか、中国から日本に渡来したとか、我が家の宗派が何であるとか程度です。さらに言えば、日本の仏教は、平安仏教(天台宗や真言宗)とか、鎌倉仏教(浄土宗、日蓮宗、禅宗など)は、仏教発祥のインドには無いようですし、日本に仏教が渡来した元である中国にだってあるようには見えません。そうならば日本の仏教とは何なのでしょうか。そもそもアジア各国に拡がっている仏教というのは、同じものなのでしょうか。そのような疑問をこれまで感じてきました。

 

本書は、仏教の成立から日本の仏教が多様化した現状までを、網羅的に記しています。それらを一つ一つ詳しく語ると、約150ページの本書では語りきれないでしょう。そういう意味で、概要を提示しているにすぎませんが、私の疑問は、ひとまず解消しました。

 

本書の「はじめに」では、次のように書かれています。

全四章を眺めてみると、古代インドでの仏教誕生から、二十一世紀の日本仏教までの「仏教通史」になっていることがおわかりでしょう。もちろん、限られた紙数で本当の仏教通史など書けるはずはなく、それはあくまで主要なトピックの数珠つなぎにすぎないのですが、それでも釈迦から現代日本に至る仏教の大きな流れを略図として理解していただくのには役立つものと考えています。

 

何事もそうですが、まず全体像を把握したうえで、個別に気になる点があれば詳細に入っていく方法があります。その一方で、個々の細部を語ることで、(運が良ければ)全体像が理解される筈というアプローチもあります。仏教については、これまで、細部を云々する情報が多く、それで結局全体像はどうなっているの?という点が疎かになっているきらいがありました。本書を読んだことで、細部が全体像の中に位置づけられたので、スッキリしました。

2025-03-08

Googleマップのスマホアプリにおけるタイムラインが壊れた

数年前から、Googleマップのスマホアプリでタイムラインを有効にしています。正直なところ、精度が酷く実用に耐えるのか疑わしいところですが、何もないよりはマシという感覚で使っています。

 

ところが、一昨日から突然「この日の訪問データはありません」とメッセージが出てくるようになりました。しかも数年分の全ての日において「この日の訪問データはありません」とメッセージが出てしまうのです。実際にデータが記録されていなかったわけではなく、(精度は悪くても)普通にタイムラインが記録されていたはずなのです。

 

たまたま調子が良くなかっただけかとも考えて、スマホを再起動させてみたりしましたが、現象は改善しませんでした。アプリに何かバグが入り込んでしまったのかもしれないので、そのうちに修正されるかもしれません。それが何時のことになるか分からないし、バグなのかすら不明なので、何か別の手を打ちたいところです。 


タイムラインは有効となっているのですが、ためしにいったん無効として、あらためて有効にしてみました。そうすると、過去のタイムラインが復活したようです。しかし一部に記録がおかしいところがありましたが、全ても確認したわけではありません。

 

ひとまず復旧したようなので、これで様子をみようと思います。そもそも、いったい何がどうなって、こうなってしまったのか、全くわかりません。今回のような問題が二度と起きてほしくありませんが、Googleマップのタイムラインは、精度が非常に悪いので、それを修正して欲しい気持ちもあります。

OpenVMS VAX V7.2インストール時にDECnet Phase IVを入れるか否か

simh V3.8-1のMicrosoft Windows用vax.exeを使用してOpenVMS VAXの環境を作ろうとしています。OS本体のインストールはできているのですが、simh側設定やOpenVMS側のインストールオプションなどをどのようにするか考えているところです。最終的な目標は、OpenVMS VAXの動作環境を作ってみることであって、そこで何か実用的な用途を期待しているわけではありません。

 

OpenVMS VAX V7.2をインストールする最中にオプション要素をインストールするか否かを選択しなければなりません。例えばDECwindowの要否を選択するのですが、GUI環境は無くて良いだろうと判断しています。その他には、DECnet-PlusやDECnet Phase IVの要否も選択しなければなりません。DECnetはPlusもPhase IVも不要という判断も考えられます。

 

そもそもDECnetを有効としたところで、通信相手が存在しないのです。20年ほど前であれば、LinuxにもDECnetのためのコードが入っていたそうですが、もう10年以上前に除去されてしまったそうです。DECnetの通信相手がいないなら、DECnetオプションは入れなくても良いとも考えられます。

 

そういうわけで、DECnet-PlusもDECnet Phase IVも不要としてOSをインストールしてみました。ところがOSを使ってみると予期しないエラーが出るのです。網羅的に確認したわけではないのですが、「license list」というコマンドを打つと次のようなエラーが出ます。

 %SMG-F-UNDTERNOS, undefined terminal - couldn't access system terminal table

 

試しにDECnet Phaase IVを有効にしてOSをインストールしてみて、同じコマンドを打ってみたら、エラーもなく正常に処理されました。これだけでは、OSインストール時にDECnetを有効とするか否かが原因だとは即断できませんが、DECnet-PlusもDECnet Phase IVも入れずにOpenVMS VAX V7.2をインストール完了させると、何やら不具合が出そうな予感がします。

 

DECnetは通信相手がいないので、正直なところインストールしたくありませんが、入れないと良くないことが置きそうなので、DECnet Phase IVを保険として入れておこうかと思います。

2025-03-05

LibreOffice CalcのCSV読込みに文字コード自動判別機能が追加された

ずいぶん以前よりMicrosoft Officeを使うのを止めて、LibreOfficeを利用しています。そのCalcにおいて、CSVファイルを読込む際に、CSVファイルの文字コードを指定しなければなりませんでした。UTF8なのかShiftJISなのか、その他なのかを適切に指定しないと、文字化けしてしまいます。

 

ところがLibreOffice 25.2.1.2では、文字コードの自動判別機能が追加されたようです。これまでは、UTF8だったりShiftJISだったりするのを、個別に手動で指定していましたが、「auto detect」ならば自動的に判別してくれます。とても便利です。

 

余談ですが、LibreOfficeは「無料のMicrosoft Office」ではないと思います。確かにLibreOfficeは無料で使えるし、MicrosoftOfficeで作成したファイルを読込めますが、それを完璧に再現できることを保証しているわけではありません。読込んだ情報は保たれますが、凝った書式は崩れてしまいます。雑誌などでは、「MicrosoftOfficeを止めて、LibreOfficeを使おう」のような記事を見かけます。これが間違っているわけではないと思いますが、MicrosoftOfficeとLibreOfficeが全く同じだと認識しているなら、それは違うでしょう。 

2025-02-24

SIMH CLASSICのvax.exeはEthernet対応と非対応がある

Hobbyist OpenVMS VAXをsimh VAXで動かしてみようとして、いろいろと調査しています。まずsimhですが、simh自体は依然よりありましたが、最近はOpen SIMHというものがあります。その経緯は「Announcing the Open SIMH project」に書かれているとおりですが、これが存在するために従来のsimhはSimH "Classic"と呼ばれるようになりました。

 

新しい方を使ってみたい気もしますが、今回は従来版を使います。その主たる理由は、Windows用のバイナリが提供されているからです。FreeBSDやLinuxなどをホスト環境にするなら、最新版のソースを自分でビルドするのは簡単です。しかしWindowsをホスト環境として使おうと思っており、コンパイラなどは入っていないので、既にビルドされたバイナリを利用しようと考えています。公式サイトに置いてあるので、それを使うつもりです。

 

当初はSIMH 3.9-0のvax.exeを使うつもりでした。しかしネット上で見つかる情報を参考にしても、どうも挙動が異なります。特にネットワークデバイスを扱おうとするとエラーになります。

VAX simulator V3.9-0
sim> show xq
XQ, address=20001920-2000192F*, vector=250, MAC=08:00:2B:AA:BB:CC, type=DELQA-T,mode=DELQA, poll=100, not attached
sim> show version
VAX simulator V3.9-0 [64b data, 64b addresses, no Ethernet]
sim>


何が悪いのか不明でしたが、公式サイトにあるドキュメントを読んでも、解決に至りません。特に「SIMH FAQ」では次のように書かれています。ここで記されているように、「The pre-compiled binaries」は「Ethernet support」が有効なのです。ただしWinPCAPが入っているのが前提ですが、Wiresharkを利用していることもあり、インストール済です。

 2.2 How do I install SIMH with Ethernet support on Windows?
The pre-compiled binaries will provide Ethernet support depending on whether or not the WinPCAP package has been installed on the host computer. (以下略)

 

なかなか解決できなかったので、SimH Classicの古いバージョンのバイナリで試してみようと考えました。公式サイトを核にすると、ビルド済バイナリは、2種類あるようです。

simhv38-1-exe-ether.zip    2009-02-08 11:08     763K     
simhv38-1-exe.zip    2009-02-08 11:07     2.6M     

ファイル名に「-ether」がついている方のバイナリを利用してみたら、うまくいくようです。

VAX simulator V3.8-1
sim> show xq
XQ, address=20001920-2000192F, no vector, MAC=08:00:2B:AA:BB:CC, type=DELQA, poll=100, not attached
sim> show version
VAX simulator V3.8-1 [64b data, 64b addresses, Ethernet support]
sim>

 

「show version」で出力を見れば、Ethernetサポートの有無は一目瞭然なのですが、「show xq」の出力だけを見ていると、Ethernetサポート無しでも、サポートされているかのような出力が出てくるので、なかなか気づけませんでした。

 

またSimH ClassicはV3.12-5が最新ですが、ビルド済バイナリが公式サイトに置かれていません。しかもV3.9-0には「-ether」の付いたファイルも置かれていないのです。そうなると、自前でビルドしないなら、Ethernetサポート済なのは、V3.8-1となります。

2025-02-23

OpenVMS Hobbyというサイトを発見

simhを利用して、Hobbyist OpenVMS VAX V7.2かV7.3をインストールしてみるため、参考資料をネット上で探しています。そうすると「OpenVMS Hobby」というサイトを見つけました。2022年頃に生まれたようです。

 

このサイトの「The Purpose of This Site」には、以下のように記されています。

 I have created this site because while I have found lots of information and tutorials covering all of the above, it required a lot of searching, it uncovered a lot of out-of-date and misleading or contradictory information, and I had to go through a lot of trial and error to figure out exactly what worked and what didn’t. While I don’t deny that was all fun, I decided to provide a site where — at the very least — all of the information and research and working examples I have gone through can be shared with anyone else wanting to go through the same journey.

 

これを読んで、誰でも同じことを考えるのだと思いました。私も同様に、情報をネット上で探していると、雑多な情報に混乱することがあります。全く情報が見つからないよりはマシですが、自分にとって必要な情報を選び出していくことになります。その過程を楽しんでいるのは間違いないですが、楽しくも苦しい道のりです。

 

このサイトの情報は、とても参考になると思います。ただし、私の場合は若干環境が異なるので、完全に真似できるわけではなさそうです。

  1. OpenSimh V4を利用しているようだが、simh V3.9を使う。このため、エミュレートするのは、VAX 8600ではなく、MicroVAX 3900になる。
  2. インストールするのは、OpenVMS VAX V7.1ではなく、Hobbyist OpenVMS V7.2かV7.3になる。
  3. ホスト環境はLinuxのようだが、Microsoft Windows 10を使う。

Hobbyist OpenVMS VAXのISOイメージをbitsaves.orgで発見

simh VAXを利用してOpenVMS VAXをインストールしてみるために、手持ちのCD-ROMからISOファイルを生成するために、試行錯誤しました。ひとまずISOファイルはできたので、もはや済んだ話ではありますが、ネット上にISOファイルが存在していたのを発見しました。

 

DECの資料を探すために、以前からbitsavers.orgを利用しています。膨大な資料が置かれているので、隅々まで見ているわけではなかったので、見落としていたのかもしれません。「OVMS_7.2_Hobbyist」というディレクトリには、Hobbyist OpenVMS VAX V7.2のISOファイルが圧縮されて置いてありました。また別のディレクトリにもHobbyist OpenVMS VAX V7.3のISOファイル(圧縮済)がありました。


自分で態々苦労してISOファイルを生成する必要はなかったのかもしれません。試行錯誤して、いろいろと経験できたのは、それはそれで成果だったのかもしれません。

2025-02-21

OpenVMS Hobbyist VAXのCD-ROMをファイルに書き出す

もう四半世紀ほど前、OpenVMS Hobbyist ProgramからOpenVMS VAX V7.2とV7.3のCD-ROMを入手しました。また時期は異なりますが、VAXstation 3100/M76なども入手しました。しかしこのワークステーションにはCD-ROMドライブが付いていなかったので、インストールすることはできませんでした。その後にOpenVMS Hobbyist Programは廃止されてしまい、VAX用のPAKを入手する手段が断たれてしまいました。

 

OpenVMS VAX用のPAKは、真偽のほどは不明ですが、HPなのかVSIが知りませんが正規に購入することができるようです。ただし気軽に購入できるような価格ではないようです。しかしながら、PAKがなくてもインストールしてみるくらいはできるはずです。インストールした後も使い続ける気があるなら、PAKを入れる必要がありますが、技術的興味でインストールしてみるだけであれば、PAK無しでもなんとかなるでしょう。

 

 2004年1月22日付の「Running VAX/VMS Under Linux Using SIMH」という記事を参考に、ちょっと試してみようと思います。この記事が書かれたのは20年ほど前なので、同じ手順で実行できるとは限りません。また記事は、Linux上のsimhを利用しているようですが、私はWindows上のsimhを使おうと思います。これらの環境が異なることで何かに躓くかもしれませんが、それを解決するのも技術的関心の一環です。

 

 記事の中では、CD-ROMの内容をファイルに書き出してsimhから参照するような手順になっています。ddコマンドでファイルに書き出していますので、私の場合も同様に行ってみました。手元にはFreeBSD/amd64 14.2-RELEASE-p1の環境があるので、これを使うつもりでした。ところがCD-ROMをアクセスできず、この操作がエラーになってしまいます。

 

次に、Windows10上のWSL2を利用してみようかと考えました。WSL2では Ubuntu 24.04.2 LTSを使っています。ところで、WSL2上のUbuntuでは、Windows PC本体のCDドライブをどのようにしてアクセスしたら良いのでしょうか。少なくとも/dev/cdromのようなデバイスファイルはありませんでした。ネットを検索してみると「mount -t drvfs D: /mnt/D」とすれば良いという情報がありましたが、エラーになってしまいます。

 

最後の手段として、Windows10上にインストールしてあった「HxD Version 2.5.0.0 (x86-64)」を使ってみました。これを使えば、管理者モードとして起動する必要がありましたが、CD-ROMの内容をファイルに書き出すことができました。

 

2025-02-20

GNU parallel = xargs -n1

かなり以前から「GNU Parallel」に関心がありましたが、使用したことがありませんでした。名前からすると分散処理に役立つのだろうとは思っていましたが、どのように利用するのか具体的なイメージがわかなかったのです。

 

使い方が分からないので使っていないのですが、そうは言っても、使ってみないと何に使えるのか分かるようになりません。ひとまずインストールしてみて、簡単に使ってみました。参考にしたのは、公式サイトにある「GNU Parallel Tutorial」です。

 

使ってみた感想としては、便利そうです。ただし活用できる状況を上手く見つけられるかに依存する気がします。私自身では、これまで「find」と「xargs」を組み合わせた処理をすることが多かったので、その延長線上として、利用できそうです。公式サイトにある「GNU PARALLEL EXAMPLES」でも、次のように記されています。まさにこの文がGNU parallelが何であるかを一言で表していると思います。

 GNU parallel can work similar to xargs -n1.

 

GNU parallelには「--xargs」というオプションがあるようです。私としては、このオプションをデフォルトとして使用し、「GNU parallel --xargs can work similar to xargs.」として利用しようかなと考えています。

2025-02-19

バッチキューのようなもの

以前にOpenVMSを使用した時には、「バッチキュー」というものがありました。一連の処理をスクリプト(コマンド・プロシージャ、通称コマプロ)としてファイルを作成しておき、それをバッチキューに登録しておくと、キューがFIFOとして処理をしてくれます。UNIXで言うところのバックグラウンド処理のようなものですが、それとバッチ処理は同じではありません。

 

UNIXでコマンドラインの末尾に「&」を付けてバックグラウンド処理にした場合、何の制御もなされないので、無茶をすればマシン負荷が急上昇してしまうでしょう。またUNIXには「batch」とか「at」というコマンドが用意されていますが、UNIXにはバッチキューの仕組みが用意されていないので、コマンドが「batch」だとしてもバッチ処理にはなりません。

 

MS-DOSや今日のWindowsでも、拡張子を「.bat」として「バッチファイル」というものを作成することがありますが、これもまたバッチ処理とは関係ありません。MS-DOSを開発していた当初は、当時の汎用機におけるバッチジョブのことが頭の片隅にあったのかもしれません。しかしMS-DOSのバッチファイルと汎用機のバッチ処理は、全く関係ありません。

 

FreeBSDやLinuxのようなUNIXの世界にも、OpenVMSや汎用機のようなバッチキューの仕組みがないのだろうかと、ずっと探していました。このような疑問を相談すると、日常的にUNIXを利用している人々は汎用機などの利用経験が浅いのか、なかなか問題意識が理解されません。Message Passing Interfaceを使えば良いなどと助言されたこともありますが、方向性が違う気がします。またPortable Batch Systemというものもあるようで、これが希望するものに近いかもしれませんが、ちょっと違うような気もします。

 

UNIXの設計思想と汎用機の世界観は、ずいぶん離れている気はするのですが、それでもUNIXの世界で汎用機的なバッチキューの仕組みを必要とする状況はあるのではないかと思います。きっと誰かが何か作っているはずだと思い、以前ならGoogleで検索し、最近ならGeminiに尋ねてみたりしましたが、紹介されるのはMPIだったりPBSだったりして、私が求める方向の回答がありません。

 

そんな中で、ふとpueueというものがあることを「Linuxメモ : あると便利かもしれないRust製コマンドラインツール」で知りました。こういうものを求めていたのです。RUSTで作成されているようです。どのようなものなのか検証するために、VirtualBOX上のUbuntu 24.02 LTSで確かめてみようと思いましたが、aptでインストールできるパッケージは存在しないようです。そこで、まずaptでRUSTの環境を入れ(apt install rustc)、その後にcargoでpueueを入れました(cargo install pueue)。インストール先が「~/.cargo/bin」になっているので、PATHを通しておく必要があります。

 

まだ簡単に動作を確認しただけですが、バッチキューのような仕組みが提供されており、気に入りました。

2025-02-13

「定理1.3から」が分からない

放送大学で数年前に受講した「入門微分積分('16)」の印刷教材を読み直しています。受講していた当時は、(本当はよくないことだと思いますが)流し読みをしていただけでした。その反省を踏まえて、印刷教材の記述における論理の展開や式の導出などを納得できるところまで考えながら読んでいこうと思っています。

 

「1.8 課題1.Cの解決」を読んでいると、数列{an}において、以下の結果が得られます。ここまでは、理解できました。

0 < an < 2, n = 1, 2, ...   (1.16)

 

これを踏まえて、次のように記述されています。

すなわち、数列{an}は増加数列であることがわかります。また、(1.16)は、{an}が上に有界であることも示しています。 ゆえに、定理1.5より、{an}は収束します。この極限値lim an (n→∞)をαとおきましょう。定理1.3から、0 ≦ α ≦ 2です。

 

さて、この記述にある「定理1.3」とは、次のようなものです。

定理1.3 2つの数列{an}、{bn}は収束して、lim an (n→∞) = α、lim bn (n→∞) = β であるとする。任意のnに対して、an ≦ bnであるならば、α ≦ βである。

 

記述は、「極限値をαとおく」→「定理1.3から」→「0 ≦ α ≦ 2である」となっているのですが、この論理の展開がよくわかりません。「極限値をαとおく」のは構わないのですが、「定理1.3から」→「0 ≦ α ≦ 2」と何故なるのでしょうか?

 

些細な疑問も解決していきながら読み進めていくつもりですが、前言を翻すことになってしまいますが、この疑問は保留として先に進もうと思います。

2025-02-10

等比数列の和の公式

数年前に放送大学で「入門微分積分('16)」(石崎克也放送大学教授)を受講しました。既に単位は取得済みではあるのですが、お恥ずかしながら、充分に理解しているとは言えません。この状態で、微分方程式とか量子力学や相対論などを勉強しようとしても、結局はなんとかなるかもしれませんが、自分自身として納得できません。あらためて印刷教材を最初から読み直しています。

 

この書籍に限りませんが、記述内容や数式などを「表面的」な理解で済ませてしまうと、読了しても不完全燃焼感に苛まれてしまいます。今回は数式の展開も納得するまで理解してから読み進めようと決意しています。ただし書籍によっては、わからなくても先に進み、あとから戻って再読することを推奨している場合があります。そのような手法も理解できますが、それを繰り返してきた挙句に今があることを考えると、今回は先を急がずジリジリと進んでいこうと考えています。

 

「第1章 実数・数列」の「1.6 解析学基本定理」において、ネピア数を与える数列{an} = (1+1/n)^nが上に有界であることを示す内容が記されていました。ここで以下のように式が変形されていたのですが、何故こうなるのか、わかりませんでした。

 an < 1 + 1 + 1/2! + 1/3! + ... + 1/n!

< 1 + 1 + 1/2 + 1/2^2 + ... + 1/2^(n-1)

= 1 + 2(1 - 1/2^n) < 3


1行目が2行目よりも小さいのは、2^(n-1) = 1 * 2^(n-1) ≦ 1 * 2 * 3 * ... * (n-1) * n = n! を踏まえているのは理解できました。しかし2行目から3行目の等号は何でしょうか?

 

Googleなどで情報を検索できるようになった今日は、できなかった以前に比べて、とても有難いと思います。できなかった頃であれば、図書館で書籍を手当たり次第に探るとか、詳しそうな人に尋ねるしかありませんでした。いまならGoogle(もし好みであればGemini)を使えば、全く見当もつかないとしても、手掛かりを得ることができます(可能性としては)。

 

結局は、初項aで公比rの等比数列の和の公式が使われているだけとわかり、納得しました。この公式を昔々習っていたことを思い出しましたが、普段使うこともないので、忘れていました。

2025-02-08

2025年2月の「100分 de 名著」はデュルケームの『社会分業論』

NHKで放映されている「100分 de 名著」を全て視ているわけではありませんが、2025年2月の『社会分業論』(エミール・デュルケーム)は視るつもりです。また別売りのテキストも購入し、こちらは既に読み終えました。

 

ちくま学芸文庫から出ている『社会分業論』は、文庫本なのに、800ページもあって、しかも価格が2,090円(税込)ということで、ボリュームも値段も信じられません。これを読まずに『社会分業論』を軽々しく論じることはできませんが、NHKのテキストで解説されている事柄に共感しました。88ページに書かれている内容を、ちょっと長くなりますが、引用します。

 社会から分離した個人は、すでに見たように、事実として自律していきます(自律せざるをえません)。同時に、他者や社会への依存が始まるのです。社会からの分離によって個人の自律が可能になりますが、同時に、他者や社会への依存が必要になります。依存なき自律は、自律というより孤立です。

他方、 本来社会から分離しているはずの「個人」が自律なしに依存するのであれば、もはや一体化でも依存でもありません。それは、フロムが見抜いたように「自由からの逃走」であって、「癒着」というべきでしょう。

 

通俗的には、自律した個人は、何者にも依存しない(だろう、はずだ)というイメージがあります。しかし、自律した個人は同時に他者や社会に依存するのであり、依存しない自律は、もはや孤立であるというのは、虚を突かれた思いです。

 

現代社会は、「自律」を強調するが余りに、必要以上に「依存」を拒否しすぎるきらいがあると思います。しかも「自律」するというのは、決して容易ではありません。その挙句に、自律しない個人が依存だけしてしまうと、容易に権威主義や全体主義に陥ってしまうという主張には賛同します。

 

私の個人的な体験においても、「自分は、他人に指示されたことを坦々とこなしたいんだ。自分自身でやることを考えるのは嫌なんだ」と訴える人物に遭遇したことがあります。このような主張をする存在が世の中の一部なのか多数を占めつつあるのか、判断する情報を持ち合わせていませんが、それに流されてしまわないように意識していたいと思います。

2025-02-07

『現代民俗学入門』は、さらに奥へ探るための入り口となる気がする

近所の書店で平積みになっていた『現代民俗学入門』を買ってみました。購入前にパラパラと立ち読みしてみましたが、面白そうだと思ったので、買って読んでみることにしました。

 

民俗学といえば、柳田国男と折口信夫が有名です。しかし名前を知っているだけで、その学問的自体を知っている訳ではありません。本書は、書名からして入門書です。ひとつの話題が見開きページで完結しているので、本当に入り口が提示されるだけです。しかし「読んでみよう」とか「参考文献」として、その話題を深く追求していくための手掛かりも提示されているので、それらを参照していくことで、さらに学ぶことができそうです。

 

この本は、一通り読んだらそれで終わりというものではなく、手元に置いておき、何かの折に参照することができるのではないかと思いました。この本に書かれているのは、現代民俗学の現状を網羅して、この一冊で完結するような「入門書」ではなく、この本を入り口にして民俗学を学ぶ旅に出発するための手引書ではないかと感じました。

2025-01-26

WORKMANでケベックネオを買ってみた

いつも年末年始にはJRの格安切符で北海道に行きます。雪国ではありますが、暖冬で雪が少ないこともあれば、大雪で吃驚することもあります。年によって様々ですが、少なくとも雪道を歩く準備は必要だと思っています。これまでは、とくに雪道対策をしていないウォーキングシューズを履いていくので、着脱式の滑り止めを使うようにしていました。

 

ところが残念ながら、一昨年に転倒して骨折してしまいました。明らかに積雪があれば警戒していたところですが、傍目には積雪もない普通の道のように見えたので、それでも注意して歩いていたつもりでしたが、気温が低くて凍結していた路面に気づけませんでした。

 

どんな路面でも絶対転倒しないような靴は存在しないと思いますが、少なくとも雪国における耐滑性能に優れたものを履いておこうと考えました。一般論としては、そういう商品は、餅は餅屋というか、雪国の地元の店舗なら品揃えがよいので、旅先で買えばよいと言われます。そのとおりだとは思いますが、年末年始に旅行するので、大晦日や元日には休業もしくは時短営業しているため、旅先で購入するのは困難です。


どうしようかと考えていて、Webでも検索してみたら、WORKMANで販売している「ケベックネオ」が良さそうです。効果のほどは不明ですが、買ってみようかと公式サイト確認してみたら、人気商品のようで品切れでした。これは買えないかと思い、その代わりになりそうな商品を探してみましたが、なかなか納得できるものが見つかりませんでした。年末が近づいてきた頃に再度公式サイトを確認したら、在庫がありそうです。店舗ごとに在庫の有無がわかるので、購入可能な店舗を探して、購入しました。

 

買ったばかりのケベックネオを履いて旅行してきましたが、跳んでも走っても滑らないとは言いませんが、滑りにくい感覚はありました。しかもこれはウォーキングシューズではなく長靴なので、水溜まりに入っても足が濡れません。雪国の街中を歩くと、溶けかかった雪が水溜まりになっていることがあります。このような場所では、ただのウォーキングシューズだと濡れてしまいますが、長靴なら安心です。さらに、内部は保温性が高い構造になったいるので、雪国では足元が冷たくなりません。


地元は雪国ではないので、普段使いすることはありません。しかし次回の旅行には履いていこうと思います。

美術館で絵画を鑑賞する際の参考書

各地の美術館で絵画をみる際、どのように鑑賞するのか、いつも困っています。絵画といっても古典作品から現代作品まで幅広くありますし、抽象絵画に至っては何が表現されているのか困惑するものもあります。このように感じている人は多いようです。これに対して、心の感じるままに鑑賞すればよいのだとする助言を目にしますが、本当にそれで良いの?と思います。そのような鑑賞態度が求められる側面はあるのは否定しませんが、それだけで良いとは思えません。鑑賞前に下調べをし過ぎるのも考えものですが、何も知らなくても構わないわけではなく、少なくとも知っておいた方がより鑑賞に役立つ知識があるでしょう。


このような問題意識を以前から持っていましたが、書店で参考になりそうな本を見つけたので、購入して読んでみました。

 

これらの新書は、暗記を求められるような、教科書というわけではないので、書かれていることを漏れなく覚えましょうということではないと思います。しかし描かれた時代背景や、作品に描かれている諸々に関する解釈などを知ることは、作品を鑑賞するのにとても役立つと、読んでいて思いました。

2025-01-24

北海道四季彩館JR函館店にあるキングベークナチュラルJR函館駅店のパンは美味しい

年末年始は、毎年JRの格安切符を利用して北海道に行くのが恒例です。ただし旅行の目的地が北海道ということではなく、あえて例えれば、フルマラソンにおける折り返し点のようなものです。

 

函館ではJR函館駅に併設された北海道四季彩館でお土産を買ったり、駅弁を買ったりしています。これまでは「鰊みがき弁当」や「北の家族弁当」を買っていました。いつも同じ駅弁でも飽きはこないのですが、今年は他のものを食べてみようかという気になりました。

 

駅弁を買う店舗の隣にパン屋さんができているのに、数年前に気づきました。キングベークナチュラル JR函館駅店というお店でした。今まで利用したことはなかったのですが、今年はこちらで買ってみることにしました。偶々目についたのは「ハムカツナポリサンド」ですが、これで税込410円というのは安いと感じます。他にも美味しそうなパンが並んでいるので、旅の荷物の邪魔にならない程度に、幾つか買ってみました。もっと他にも買ってみたいパンがありましたが、次回の楽しみとしておこうかと思います。

 

買ったパンは移動中の車内で食べましたが、 とても美味しく、気に入りました。ここでパンを買うためにも、次の年末年始にも函館に行きたいと思います。

 

2025-01-22

エクスプローラからWindows Terminal上のWSLにパス名をドロップした際の挙動

VirtualBox 7.1.6をインストールしたらWSL上のUbuntuが動かなくなったので、なんとか復旧しました。すると、Windows Terminal上の挙動が変わったことに気づきました。


従来は、エクスプローラからフォルダをWSL上にドロップすると、WSL形式のパス名に自動的に変換されていました。ところが、何故かWindows形式のパス名のままなので、そのままではUbuntu上ではパス名として有効ではありません。wslpathというコマンドが用意されているようなので、それを使えば変換できますが、ひと手間増えるので、以前の挙動の方が楽でした。

 

調べてみると「Windows Terminal のおすすめ設定2022年4月版」という記事に、以下の記述がありました。

ターミナルへのファイルのドラッグ&ドロップでWSLのパスに変換してくれるのはプレビュー版の機能なので、プレビュー版(バージョン: 1.13.10734.0)を使う。


今使っているのは「Windows ターミナル 1.21.3231.0」です。これは、インストールしなおした訳ではないのですが、何故か挙動が違います。それはともかく、プレビュー版の機能として実現するのではなく、最新版でも機能すればありがたいと思います。もし何か不具合が生じる可能性があるならば、設定画面でON/OFFを切り替えられるようになっていてほしいところです。

VirtualBox 7.1.6をインストールしたら、WSL2上のUbuntuが起動しなくなった

VertualBox 7.1.6がリリースされたようなのでインストールしました。これが直接の原因なのかわかりませんが、他の変更を加えていないので疑わしいことは間違いありませんが、WSL2が起動しなくなりました。Webを検索し、復旧方法を探ったところ、WSL2の入れ直しになってしまうようです。


  1. WSLのコンポーネントをWindows10から外して、再起動する。
  2. WSLのコンポーネントをWindows10に入れて、再起動する。
  3. WSL上のUbuntuをインストールする。 

 

このような手順で、ひとまずWSL2は動くようになりました。しかし新規インストール扱いになるので、これまでWSL上のUbuntuに加えてきたパッケージなどは、綺麗さっぱり無くなってしまいました。

2025-01-21

OLYMPUSのSH-1は故障と確認されたが、修理可能な期間が過ぎている

故障が疑われるOLYMPUSのSH-1を近所の家電量販店経由で修理に出しましたが、2019年をもって部品供給が終了したとのこで、修理不能として戻ってきました。修理できなかったのは残念ですが、SH-1を使い続けるのは諦めて、別のデジカメを入手するかというと、それは二の足を踏んでしまいます。


まずSH-1が故障しているのは間違いないのですが、電源が入らないとか、写真が全く撮影できないとか、「使い物にならない」というレベルの故障ではないのです。問題なく撮影できることもあるが、いきなり異常が発生するのです。それはランダムです。今大丈夫でも、次の瞬間には駄目かもしれません。

 

正常と異常の割合は、感覚的ですが、まだ正常であることの方が多いような気がします。これは、ほぼ駄目で、たまに正常になるとかでしたら、すぐにでも新しいデジカメを購入したいところです。しかし、まだ使えそうなのです。

 

故障していることを承知の上で、しばらくは使い続けてみようかと思います。そして、いよいよ駄目だと判断したら、その時には新しいデジカメを購入しようかと思います。

2025-01-19

『氏名の誕生』に続いて『女の氏名誕生』を読む

昨年図書館で『氏名の誕生』を借りて読んでみました。とても面白く勉強になったので、手元に置きたくなり、図書館に返したあとで、書店で購入しました。その後『女の氏名誕生』が出版されているという話を耳にしたので、またもや図書館で借りてみました。結論としては、この本も面白く、いろいろと知らなかった事柄が多く、ためになりました。読み終わったので図書館には返却しますが、手元に置いておきたいので書店で購入しようと思います。

 

当初は、図書館で読むだけで十分かと考えていました。女性の名前というと、江戸時代のころなら「おはな」のように「お」がついていて、明治以降には「花子」のように「子」がつくようになっているのは、知っていました。さらに歴史を遡ると、「蘇我馬子」とか「小野妹子」のように「子」が付いているのは男性名とはわかっていました。平安時代には「中宮定子」とか「建礼門院徳子」のように女性名に「子」がついているので、明治になって復興したのかという程度に理解していました。

 

しかし本書を読むと、そんな単純な話ではないことがよくわかります。女性の名前には歴史的や社会的な状況があり、それが当時の常識としてあったところに、明治になって氏名が「誕生」したので、その過程に女性名も巻き込まれていく様子が、詳しく語られます。図書館で借りた本は、返す都合があるので、急いで読みました。理解を深めるには、手元に置いてゆっくりと再読したいところです。

「星空ナビ」というスマホアプリ

近所で夜空を見上げた時に見える星々について親しもうと思っています。宇宙に関しては、素人同然で、通り一遍の知識しかありません。ひときわ輝く星が見えても、それが何なのか全く分かりません。それが分かるようになるきっかけになるかと、年明け早々にプラネタリウムに行ってみましたが、ちょっと違うようです。

 

方針を変えて、スマホアプリで何とかならないか調べてみました。いろいろなアプリがあるようですが、初心者向けと思われる「星空ナビ」をインストールしてみました。夜空で気になる星があったら、その方向にスマホを向けると、それが何かわかるようです。まだインストールしたばかりで、実際に使っていないのですが、僕の要望にはあっているような気がします。

2025-01-13

『はじめての解析学』(原岡喜重)に書かれている「ε-δ論法」の解説

近所の図書館で書棚を眺めていたら、偶々目に入った『はじめての解析学』(原岡喜重)を借りて読んでみました。ブルーバックスの中の一冊なので、基本的なスタンスとしては(専門家向けではなく)一般向けに書かれていると思います。

 

「5 実数と関数」の中にε-δ論法で極限を定義する話題が出ていました。しかし専門書ではないので「ε-δ論法」という用語は使っていませんでした。そこで書かれていた事柄が、個人的には役に立ちました。158ページに以下のような記述があったのです。

高校数学のやり方をすると、{an}の極限が2/3となることが発見できます。一方後半のεを使ったやり方では、極限2/3の値があらかじめわかっていることが必要です。つまり収束の定義は、極限がどういう値になるかということを教えてはくれないのです。

では 高校数学のやり方が万能かというと、ニュートン法のところで見たように、数列{an}は何らかの値には収束するのだがその極限の値はわからない、という場合があり、実はそのような場合が圧倒的に多いのです。だからこそ、その極限の近似値として使える数列{an}が役に立つのです。


ε-N論法とかε-δ論法がよくわからない(多くの人が躓くようですが)ので、図書館にある書籍を読んでみたり、Webで情報を得てみたりしましたが、「腑に落ちる」という感覚が得られませんでした。

 

大学レベルの数学書籍の言い方を借りれば、高校数学のように「感覚的に収束を定義する」のではなく、ε-δ論法を持ち出してきます。しかし例題では収束される値か既知であるかのように記述されていて、ε-δ論法が収束の定義だと言うのに、既知の値が出てきているのは「いったいどういうことなんだろう???」と、モヤモヤとした感覚が拭えませんでした。


結局は、上述した引用のような事情があるのですが、教科書では触れていないということだということでしょう。ようやくスッキリしてきました。

2025-01-12

眼鏡を新調

近眼なので眼鏡をかけています。右目と左目の近眼の程度が大きくことなるので、当初は眼鏡では矯正できないといわれて、ハードコンタクトレンズを使っていました。ところが目が乾いて、そのコンタクトレンズが瞬きした時に睫毛にくっついて、あれれと思っている間に風に飛ばされて、どこかに行ってしまいました。それ以来眼鏡です。

 

今かけている眼鏡を作ったのは、ずいぶん前のことで、度数が合わなくなってきました。必要に応じて、眼鏡をかけたり外したしていて、面倒ですが、その点では困っていませんでした。しかしレンズ自体に傷がついてきて、次第に悪化してきました。眼鏡をかけると、その傷が若干気にはなるのですが、周囲を見るのに不自由というほどではありません。そんなこんなで、眼鏡を新調した方が良いだろうとは思いながら、先延ばしになっていました。

 

このままズルズルと度数が合わず傷もついた眼鏡を使い続けるのはいかがなものかと思い、眼鏡をつくる新年の誓いをたて、新調しました。以前に眼鏡を作った時には、出来上がるまで何日かかかった記憶がありますが、今は30分ほどでできてしまいます。

 

帰宅して新調した眼鏡をかけてみました。なんて良く見えるんでしょう。感動しました。これまでの苦労(しなくてもよい苦労でしたが)が嘘のようです。

 

このまま当分使うこともできますが、数年後にまた新調してもよいかなと思っているところです。

2025-01-09

プラネタリウムというのはミュージアムの一種なのかムービーシアターの一種なのか

夜空を見上げると、星が輝いているのが見えることがあります。冬は空気が澄んでいるので、より輝いて見えます。時々「これから数日間は○○流星群が云々」とか「西の空に大きく見えるのが○○星で云々」などとニュースで伝えていることがあります。私自身は天体観測に関心を持っている訳ではありませんが、星々について詳しく知りたいと思わないこともありません。


そういえば世間にはプラネタリウムというものがあるはずです。これまで博物館や美術館には行ったことがありますが、確かプラネタリウムに行った経験はありません。プラネタリウムに行けば、きっと夜空を見上げたときに役立つような知識が得られるのではないか、と勝手に想像し、試しに有楽町にあるプラネタリアTOKYOに行ってみました。ここに是非とも行きたかったというよりは、地元にはプラネタリウムがなさそうでしたが、偶々年始に都心に出かける機会があったので、とりあえず行ってみたという感じです。


スケジュールを確認すると、様々な作品が上映されているようです。ちょっと私の問題意識とは違うなと思わなくもなかったのですが、何事も経験だと思い、「アラビアンナイト ヒーリング ~ 星が舞う夜 ~」を観てきました。素敵な作品でした。それは間違いないのですが、地元で夜空を見上げた時の参考にはならない気がします。

 

もしかすると私は何か勘違いをしていたのかもしれません。プラネタリウムというのは、夜空を見上げたときに参考となる情報を与えてくれるミュージアムのような施設だと思っていたのです。しかし僕が経験したのは、映画館のようなムービーシアターのような施設でした。

 

私が行ったのが偶々ムービーシアター的なプラネタリウムだっただけであって、どこか他所にはミュージアムとしての性格を持つプラネタリウムが存在するのかもしれません。それがどこにあるのかは不明ですし、場所が判明したとしても、直ちに行けるところとは限りません。そうであったとしても、関心を持ち続ければ、何かしら情報が入ってくるでしょう。

2025-01-06

OLYMPUSのSH-1が故障した

今日では写真を撮るのはスマホのカメラを使うのが当たり前だと思います。しかし私自身は、今でもデジカメを使っており、スマホで写真は殆ど撮りません。購入したのは10年ほど前で、OLYMPUSのSH-1です。それほど酷使していませんが、2025年の新年早々に故障しました。

 

最初の症状は、モニタに画像が映らなくなったことでした。機能を示すアイコンなどは表示されますし、過去に撮影した写真も参照できます。試しにシャッターを切ってみたら、真っ黒の画像が写りました。旅行中だったので残念でしたが、自宅に戻る途中だったので、もう道中の撮影はしなくても構わない段階ではありました。

 

デジカメが故障したので、休み明けにでも家電量販店で相談してみようかとも思いましたが、これを機会にデジカメからスマホに移行する方法もあります。そもそも故障したデジカメは修理可能なのでしょうか。スマホのカメラが全盛の時代で、メーカーの対応が縮小している恐れがあります。故障は確認されたとしても、修理不能となってしまう可能性があります。どうしたものかと悩むところですが、デジカメの方が、コンパクトタイプではありますが、望遠レンズがついているし、三脚にもアダプターなしで取り付け可能です。ひとまず修理に出してみようと思いました。

 

あれやこれやと考えながら帰宅し、ふとデジカメの電源を入れてみると、なんとモニタに画像が映りました。シャッターを切ってみたら、撮影もできました。これなら修理に出さなくても大丈夫かもしれません。

 

年始休み中に外出し、デジカメを使ってみましたが、撮影できるようです。もしかすると故障したと思ったのは勘違いで、運が悪かっただけかと思いました。

 

ところが再び故障し、今度はシャッタを切った瞬間に画面が真っ白に抜けてしまう現象が発生しました。撮影前にモニタを参照している段階では何も問題がなさそうなのですが、シャッタを切った瞬間に真っ白の画像が写ってしまいます。続けて撮影しても、やはり真っ白です。ただし、しばらく放置すると、復活することもあるので、不安定な状況です。


故障していることは間違いなさそうなので、やはり修理に出してみようと思います。