低空飛行の航空日誌

何かあったことをつらつらと気の向くままに

マルコフ連鎖ライブラリ for .net

はじめに

これは、マルコフ連鎖アルゴリズムによる機械的な文章作成機能を、.net Framework上で簡単に実装するためのライブラリです。

本ライブラリには、同アルゴリズムによる機械的な文章作成に必要な、一通りの機能(文章の形態素解析N-gram化など)も含まれています。

このライブラリにより、各アルゴリズムの詳細をまったく気にすることなく、機械的な文章作成の機能を持ったWindowsアプリケーションを構築できます。
(例:TwitterIRCBOT

ダウンロードはこちらよりどうぞ。(ソースコード同梱)
marcovlib.zip 直

含まれるもの一覧
  • ライブラリ本体
  • MeCab (C#向けラッパー MeCabSharp、辞書作成および更新ユーティリティを含む)
  • ソースコード (C#)
  • 簡単なドキュメント
含まれないが必要なもの一覧
  • Visual C++ 2010 再頒布可能パッケージ

同梱のMeCabが、VC++ 2010でビルドされているためです。
32bitコードのためx86版のみで間に合うかとは思いますが、64bit環境の方は念のため、x64の再頒布可能パッケージもインストールした上でご利用ください。

このドキュメントの改訂履歴

2014/2/18 v1.1
2014/2/12 初版

使い方

C#での使用方法を前提に説明します。

すべてのdllを、プロジェクトのソースがあるディレクトリへコピーします。
MeCabSharp.dllとmarcovlib.dllをプロジェクトの参照設定に加えます。
コンソールアプリケーションの場合、最小限のサンプルコードは下記のとおりです。

using Marcovlib;

class Program
{
    static BasicMarcovActor bma;

    static void Main(string[] args)
    {
        bma = new BasicMarcovActor(4); //任意の数を指定可能ですが、通常は2〜4です
        //文字列を受ける処理をした後に、下記のコードを書きます
        
        bma.Learn_Sentence(str); //文字列strの内容を辞書へ登録させます

        //文章を作成し出力させる方法は二通りあります。
        //戻り値の型は下記いずれの場合もSystem.Stringです。
        result = bma.Get_Sentence();   // (1) 文字数制限なし
        result = bma.Get_Sentence(80); // (2) 80文字に収まるよう、文章を作成

        //あとはしたい処理を書いてください
	//Twitterに投稿、IRCに送信、etc...

簡単なクラスライブラリドキュメント

クラス : Marcovlib.BasicMarcovActor

一般によく知られている方法で、文章の学習・作成のアルゴリズムを実装したものです。
Learn_Sentenceメソッドで文章を学習(辞書構築)→Get_Sentenceメソッドで文章作成の流れを繰り返すだけで、よくあるBOTと同じことができます。

コンストラクタ : BasicMarcovActor(int paramOfNgram)

コンストラクタです。
引数には、文章を分かち書きによりN-gram化させる際の、数字N(N > 0)を指定します。
(Nは通常2から4です。)

  • パラメータ : System.Int32
メソッド : Learn_Sentence(string s)

文章を、分かち書きによりN-gram化した辞書を構築します。
辞書構築前の初回起動時に文章を作成させるためには、最低一度このメソッドを文章作成前に呼び出し、辞書を構築する必要があります。
空の文字列を渡すことはできません。

  • パラメータ : System.String
メソッド : Get_Sentence()

辞書に記録された言葉をマルコフ連鎖で引き、文章を作成します。
作成する文章の長さは制限できません。

  • 戻り値 : System.String
メソッド : Get_Sentence(int n)

辞書に記録された言葉をマルコフ連鎖で引き、文章を作成します。
作成される文章の長さは、パラメーターn (n > 0)で指定された長さの範囲内です。

  • パラメータ : System.Int32
  • 戻り値 : System.String

注意点

辞書について

形態素解析に使用する辞書は同梱されていません。MeCabで使用できる辞書であれば何でも使えますので、各自で用意してください。
アーカイブには辞書作成に必要なツールmecab-dict-gen, mecab-dict-index)を同梱していますので、ご活用ください。

一般的によく利用される辞書は、ipadicまたはnaist-jdicです。
当方では未確認ですが、google IME(mozc)の辞書も使えるようです。
mozc_01

また本ライブラリに同梱のMeCabは、辞書の設定ファイルである“mecabrc”が、MeCab.dllと同じディレクトリに存在すればそれを見るようにコンパイルされています。

呼び出し元の言語について

C#では使えることを簡単に確認しています。
しかしながら、VBC++/CLI、F#等他の言語では動作を確認できていません。
同じ.net Framework上で動く言語であればどれでも使えるかとは思いますが、動作保証やその他の責務を作者は一切負わないものとします。
注)C++/CLIWin32 APIも使うのであれば、マーシャリングは必須です。

その他

内部ではメルセンヌツイスターを使用しています。
メルセンヌツイスター著作権表示等については、アーカイブ内ドキュメント等に明記しております。

このプログラムの、修正BSDライセンスの表記

Copyright (C) 2014, idinor All rights reserved.                          

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

     1. Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.

     2. Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.

     3. The names of its contributors may not be used to endorse or promote 
        products derived from this software without specific prior written 
        permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

はてなダイアリーの表組みデザインを変更した

表組みのデザインを変えた。
枠線がなく、表の背景色が本文と同じでは非常に見づらい。

少し手間取ったけど、内容としては初歩的。

div.section table {
    border: 1px #DDDDDD solid;
    border-collapse: collapse;
    border-spacing: 0;
}

div.section table tr {
    padding: 5px;
    border: #DDDDDD solid;
    border-width: 0 0 1px 1px;
    background: #F2F2E6;
    font-weight: normal;
    line-height: 120%;
    text-align: center;
}

div.section table td {
    padding: 5px;
    border: 1px #DDDDDD solid;
    border-width: 0 0 1px 1px;
    text-align: center;
}

はてなダイアリーでは、本文が“section”属性のついたdivタグ内に綴られる。
本文中の表組みは、そのdivタグ中にtable > tbody > tr > tdという順で綴られて、見出しと各項目の区別がない(見出し、各項目ともに、tr > td の構造で各要素を入れてあるだけ)。

妙な構造だな……と思いつつ、いじったのでした。

Windows 98とWindows NT 4.0のデュアルブート

昨年4月にジャンクで入手した、VAIO PCG-861に遊びで入れたときのメモ。

必須要件

HDDの先頭から4GBの範囲内にWindows 98とNT 4.0の領域を確保する

Windows 98は、『インストール・起動はHDDの先頭から4GBを超える領域でも可能』。
一方、Windows NT 4.0は、『インストール・起動はHDDの先頭から4GB未満の範囲内に確保された領域なら可能』という条件がある。

これは、たとえばHDDの先頭から8GBを確保した領域をCドライブとした場合、Windows 98ならインストール・起動はできるが、Windows NT 4.0のインストール・起動はできないことを意味する。
デュアルブートの際は領域を分けるのが基本なので、Windows 98用に4GB以上の領域を確保してしまうと、Windows NT 4.0のインストールはできなくなる。
Windows 2000以降なら、この制限はない)

そのため、Windows 98Windows NT 4.0をインストールする領域の合計が、4GB未満となるように領域を確保する必要がある。
今回は1GBをWindows 98に割り当てたが、Windows NTのインストールファイルをコピーするための余裕も十分確保できたことを付け加えておく。

FAT16でフォーマットした領域へWindows 98をインストールする

NTFSとFAT16しか読み書きできないNT4.0のインストーラが、一時的にWindows98と同じ領域内にインストールに必要なファイルをコピーし、インストール時に使用するため。(インストール完了後は削除される)

Windows 98は『大容量ディスクのサポート』を『しない』とした領域へインストールする

Windows98のインストールCDを使い、FAT16でHDDをフォーマットするために必須の条件。
(『大容量ディスクのサポート』を『する』で確保した領域は、無条件にFAT32でフォーマットされる)

基本MS-DOS領域を最低一つ設ける

『インストールと起動は基本MS-DOSパーティションのみのサポート』という、Windows 98の製品としての仕様があるため。

やり方

  1. Windows 98をインストールする
  2. Windows 98上でWindows NT 4.0のインストールを開始する
  3. MS-DOSプロンプトが起動し、インストールに必要なファイルがCドライブ内にコピーされる
  4. MS-DOSプロンプト内でのファイルコピーが終わったら、そのまま再起動する
  5. 再起動後に『オペレーティング システムの選択』が表示されたら、そのまま放置してWindowsNT 4.0のセットアップを続ける

セットアップ完了後は、起動時に毎回『オペレーティング システムの選択』が表示される。
Microsoft Windows』がWindows98、『Microsoft Windows NT …』がNT 4.0となる。
VGA modeとついた起動メニューは、通常使用しない。

ノートPCにWindows NT 4.0を入れた感想

完全32bitの安定性と、使い慣れた画面レイアウトの使い勝手の良さを、非常に少ないリソース消費*1で実現するNT 4.0。
IEも6.0まで入るため、おそらく遊びで使うには適しているだろうな……と思ったら、入れた直後に次の問題に当たってしまった。

デバイスマネージャがないので、ドライバのインストールが困難

一体どうやってデバイスドライバをインストールすればいいんだ?という状態。
なおNT 4.0対応を謳う昔のデバイスは、たいてい独自のインストーラでドライバをインストールしている様子。

調べてみたらコントロールパネルの『SCSIアダプタ』を使ってインストールするのだとか……なんじゃこりゃ。

Windows 2000以降の『デバイス マネージャ』が、NT系のOSにとっては本当に大変革だったんだなと実感した。

そもそもCardBusはおろか、PCMCIAにすら対応しない

リリースがNT4.0より前のWindows 95でさえ、PCカードマネージャをOS内に持っている。
NT4.0にはそれさえない。故にカードマネージャを見つけるところから始まるが、2014年の今日ではそれさえ困難。(=使えない)

古いノートPCで、PCカードが使えないのは致命傷としか言えない。*2

USBにも対応しない

Windows 95も最初期は対応していなかった(その後Service Releaseにより対応したが、対応デバイスはほとんどなかった)。
NT 4.0は英語版が1996年半ばの発売であるから、開発はそれ以前に終了していたと見ると、仕方のない点ではある。

なお一部メーカーでは、独自にUSBに対応させるプログラムを配布していた様子。

遊びのまとめ

古いノートPCを遊びで使うなら、Windows 98以降、なかでもWindows 98 Second Editionが最適だなとわかった。
Windows 95よりも幅広いデバイスへの対応に加えて、要求される性能とのバランスが優れているのは、特筆に値する。*3

今回の実験で遊んだPCG-861にはWindows 98を入れて、IRCtwitter閲覧機にでもするか……

*1:インストール直後はメモリを20MB程度しか使用しない

*2:昔はLAN標準装備の機種が皆無という状態だったため、必ずと言っていいほどPCカードタイプのLANカードを使用していた

*3:Windows 2000は、軽快に動作させるためにはメモリが最低256MB必要のため、2000年よりも前に発売されたノートPCには厳しい。使用するメモリの規格が古く、増設さえできない場合や、最大メモリ搭載可能量が256MB未満の場合もある。

UEFIで起動するリカバリ用Windows PE(x64)の作り方

最新版のご案内

(2014/2/24 追記)
最新のWindows PE 5.0に対応した方法を公開しました。
http://d.hatena.ne.jp/idinor/20140224/1393249489

はじめに

Microsoft純正のツールで基本をすべて固めた、x64かつUEFIで起動する、リカバリ・簡単なメンテナンス用のWindows PEメディアの作成方法です。

なお、本手順ではUEFIブートすることだけしか考えていません。
BIOSブートの環境では使えないので注意してください(MSDNのソースに当たれば、BIOS環境対応のメディア作成もできます)。

基本方針・注意点につきましては、本記事の末尾をご一読願います。

Secure Bootについて(2014/2/13 追記、2014/2/25 一部変更)

ここで紹介している手順で作成したWindows PEは、Secure Bootが有効な環境では起動できません。
Windows 7 SP1ベースのPE3.1を使用しているためです)
Secure Bootが有効な環境で使用される場合は、BIOS/UEFIの設定からSecure Bootを無効化してご利用ください。

このドキュメントの改訂履歴

2014/2/27 ver 1.2 基本方針・注意事項を記事末尾へ移動しました
2014/2/25 ver 1.1 内容を手直しし、PE 3.1に対応させました
2013/10/27 初版

手順

準備:Windows AIKのダウンロードとインストール

1. http://www.microsoft.com/ja-jp/download/details.aspx?id=5753 より、Windows AIK 3.0をダウンロードします。
2. Windows AIK 3.0をインストールします。インストール手順は、無償入手可能なミニWindows OS「Windows PE」実践活用術:改訂 管理者必携! 最強のデータ・サルベージ・ツールWindows PE 3.0(前編) (3/4) - @ITの『WAIKのインストール』と同じです。
3. http://www.microsoft.com/ja-jp/download/details.aspx?id=5188 より、Windows AIK 3.1をダウンロードします。
4. Windows 7 SP1 用の Windows AIK について - Ask CORE - Site Home - TechNet Blogsで紹介されている手順に従い、AIK 3.0を3.1へ更新します。

作業用ディレクトリとデータの準備

スタートメニューの「Microsoft Windows AIK」―「Deployment ツールコマンドプロンプト」を管理者権限で実行します。
Deployment ツールコマンドプロンプトが開いたら、下記コマンドを入力します。

copype.cmd amd64 C:\winpe-x64

この作業で、次のディレクトリが自動的に作成され、必要なデータが展開されます。

\winpe-x64
\winpe-x64\ISO
\winpe-x64\mount

ベースとなるboot.wimをコピーします。以後の変更は、このコピーしたイメージに対して行います。

copy c:\winpe-x64\winpe.wim c:\winpe-x64\ISO\sources\boot.wim
ベースイメージのマウント

ベースイメージを作業用ディレクトリへマウントします。

Dism /Mount-Wim /WimFile:C:\winpe-x64\ISO\sources\boot.wim /index:1 /MountDir:C:\winpe-x64\mount
コンポーネントの追加

1. WMI:Windows Management Instrumentation(WinPE-WMI)

Dism /image:C:\winpe-x64\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\winpe-wmi.cab" /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\ja-jp\winpe-wmi_ja-jp.cab"

2. 有線ネットワークの802.1Xサポート(WinPE-Dot3Svc)

Dism /image:C:\winpe-x64\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\WINPE-DOT3SVC.cab" /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\ja-jp\WINPE-DOT3SVC_JA-JP.cab"

3. WSHWindows Scripting Host(WinPE-Scripting)

Dism /image:C:\winpe-x64\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\winpe-scripting.cab" /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\ja-jp\winpe-scripting_ja-jp.cab"

4. イメージキャプチャツールと展開サービスクライアント(WinPE-WDS-Tools)

Dism /image:C:\winpe-x64\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\winpe-wds-tools.cab" /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\ja-jp\winpe-wds-tools_ja-jp.cab"

5. HTML アプリケーションサポート(WinPE-HTA

Dism /image:C:\winpe-x64\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\winpe-hta.cab" /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\ja-jp\winpe-hta_ja-jp.cab"

6. ImageXと必要なDLLの追加
wimgapi.dllを追加する際に上書きするか尋ねられますが、“yes”としてください(キーボードの“y”を押すだけです)。

xcopy "C:\Program Files\Windows AIK\Tools\amd64\imagex.exe" "C:\winpe-x64\mount\Windows\System32"
xcopy "C:\Program Files\Windows AIK\Tools\amd64\wimgapi.dll" "C:\winpe-x64\mount\Windows\System32"

7. gimagex……DLLと実行可能ファイルをすべてSystem32以下へ配置します

xcopy "C:\gimagex\install\com\x64\gimagex_com.dll" "C:\winpe-x64\mount\Windows\System32"
xcopy "C:\gimagex\install\x64\gimagex.exe" "C:\winpe-x64\mount\Windows\System32"
xcopy "C:\gimagex\install\gimagex.chm" "C:\winpe-x64\mount\Windows\System32"

番外:Windows PEで使用するキーボードレイアウトをUSキーボードにしたい場合は、下記コマンドを入力します。
日本語キーボードのままでよい場合は、この手順を飛ばしてください。

Dism /image:C:\winpe-x64\mount /Set-LayeredDriver:1
独自のプログラムやファイルを追加する

無償入手可能なミニWindows OS「Windows PE」実践活用術:改訂 管理者必携! 最強のデータ・サルベージ・ツールWindows PE 3.0(前編) (4/4) - @ITの『そのほかの必要なファイルを追加する(省略可能)』をご覧の上、必要に応じて追加してください。

変更の適用

ブートイメージに、これまで行った変更の内容を適用します。

Dism /Unmount-Wim /MountDir:C:\winpe-x64\mount /Commit

何か理由があって変更を破棄したい場合は、下記のコマンドを入力します。

Dism /Unmount-Wim /MountDir:C:\winpe-x64\mount /Discard

イメージの作成

イメージをiso形式で作成する
Oscdimg -bC:\winpe-x64\Efisys.bin -pEF -u2 -udfver102 C:\winpe-x64\ISO C:\winpe-x64\winpe31_x64_uefi.iso
イメージをUSBメモリに書き込む

前提条件

最初にUSBメモリを初期化します。

diskpart
select disk 1
convert gpt
clean
create partition primary
select partition 1
format quick fs=fat32
assign
exit

次に、USBメモリにファイルをコピーします。

xcopy C:\winpe-x64\iso\*.* /e F:\

このあと、イメージを書き込んだCDまたはUSBメモリを挿入して、ブートすることを確認します。

ImageX, gimagexを使用した展開用イメージの作成と、イメージの展開方法

ここでは、監査モードで作成した展開用の環境をイメージ化し、それを別のコンピューターへ適用するシナリオを考えます。
下記例にあるImageXコマンドのオプションの詳細については、ImageX のコマンド ライン オプションをご覧ください。
また、ImageXがイメージ作成時に既定で除外するファイルの一覧については、ImageX 構成ファイルを作成するをご覧ください。

コマンドライン(ImageX):展開用環境のイメージ化

ご注意:イメージの吸い出しには、ご使用のマシンの構成などにもよりますが、1時間ほどかかる場合があります。

吸い出し対象がドライブ C:\ で、イメージ保存場所がドライブ D:\ の場合は下記の通りです。

imagex /capture C: D:\my-factory-image.wim "My factory image" /verify /check /scroll

吸い出し時に、イメージの圧縮を同時に行うことができます。圧縮レベルはnone(無圧縮), fast, maximumの三段階です。
圧縮レベルを指定しなかった場合(既定の動作)は、fastが指定されます。
圧縮レベルmaximumを指定する場合は下記の通りとなります。

imagex /capture C: D:\my-factory-image.wim "My factory image" /compress maximum /verify /check /scroll
コマンドライン(ImageX):イメージ化した環境を別のPCへ展開する

適用するイメージのファイル名が my-factory-image.wim で、ドライブ D:\ に保存されており、これをドライブ C:\ へ適用する場合のコマンドは下記の通りです。

imagex /apply D:\my-factory-image.wim 1 C:\ /check /verify
GUIフロントエンド:gimagexを使った展開用環境のイメージ化

コマンドラインで、“gimagex”と入力しEnterキーを押すと、gimagexを起動できます。

  1. 『Capture』タブを選びます。
  2. 『Source』は『C:\』とし、他は適当に入力します。
  3. 下半分のエリアにある、『Verify』『Check』にチェックを入れます。
  4. 『Create』を押します。
GUIフロントエンド:gimagexを使ってイメージ化済み環境を別のPCへ展開する
  1. 『Apply』タブを選びます。
  2. 『Source』の右にある『Browse』を押し、作成したイメージを選択します。
  3. Destination』は『C:\』とします。
  4. 『Verify』『Check』にチェックを入れます。
  5. 『Apply』を押します。

展開終了後

まず、起動に使用したメディアを取り外します。
作業終了後、再起動する場合は

wpeutil reboot

シャットダウンする場合は、

wpeutil shutdown

とします。

基本方針および注意点について

基本方針
  • 展開用イメージ作成と、作成したイメージの展開はMicrosoft純正のツールで行う
  • イメージ作成と展開を手助けするGUIツールを組み込む
  • ネットワーク(802.1X)とWindows Scripting Host(WSH)も使えるようにする(注1)

(注1)PEで802.1Xの設定をする方法までは扱いません。設定の方法については、こちらをご覧ください(英語):Configuring 802.1x Network Authentication for WinPE 3.0 and ConfigMgr Deployments - Ryan Lakey

注意点

1. 日本のMicrosoft Download CenterからダウンロードしたPE 3.1は、あらかじめ日本語環境・日本語キーボードの設定になっています。
2. コンポーネントを追加するときは、対応する言語パックも入れる必要があります。
3. PE 3.1は、PE 3.0の更新として配布されており、PE3.1だけをインストールしてWindows PEのメディアを作成することはできません。
あらかじめWindows AIK 3.0をインストールし、Windows 7 SP1 用の Windows AIK について - Ask CORE - Site Home - TechNet Blogsで紹介されている方法に従って更新してください。
4. PE 3.1では、ネットワークのサポートが標準で含まれています。(3.0では含まれていません)

泊まりがけの遠征

題名見ると何かでかいことでもしたのかと聞かれそうだけど、大したことはしていない。

この連休、日・月と山梨に行ってきた。
長い休みを取ってから突然いろいろと起きすぎて、何と捉えたらいいのか分からないものが溜まっていた。
簡単に言えば鬱憤晴らしだ。

10/13(日)

高速バスで新宿から甲府へ。
渋滞があり2時間半のところを3時間半で到着。車中でレンタカーの予約を1時間だけ後ろにずらす処理をした。
そしたら17,000円前後のレンタカー代が15,000円くらいになった。
View Larger Map

目的地

明確な目的地はなし。
とりあえず八ヶ岳周辺と温泉(後述)に行きたいということだけは思っていた。あとは成り行き任せ。
View Larger Map

この日に行ったところ・寄ったところ

道の駅 南きよさと
休憩のため道中立ち寄り。
信玄ソフトクリームなる不思議なものがあったので試してみた。一つ350円。

信玄餅とソフトクリームが一緒に食えるというのが売りの一品。ソフトのほうはきな粉と黒蜜が絡むと味が変わって、よくある味に飽きずに済む。
それだけアイスのほうはよくある味。

野辺山駅とその周辺
駅左側(土産物屋)にうまいソフトがあると聞いたのでまた食すことに。
たしか一つ300円だっただろうか。

しっかりと牛乳の濃い味がする一方であまりしつこくない一品だった。
鉄道沿線沿いにあるJR最高地点はなぜか見つけられず。あれ、目立つはずなのに。

温泉
この日は、『みはらしの丘 みたまの湯』。大人一人750円。
昨年のこの時期に一度行ってからやみつきになってしまった。高台から甲府市街を見下ろしながら入れる露天風呂がたまらない。
ここで晩飯も頂いた。山梨の名物という『鳥のモツ煮』とざるそばのセット。たしか1280円。

この日は甲府市内にて一泊。

10/14(月)

帰りは19時の高速バスで、その前に下部温泉に寄っていこうと決めていた。
でもそれまでの間何もない。ならうろつき回って浪費だ、ということでやってみたらとんでもないことに。
全行程220kmだよ!w
実績解除:North to South Yamanashi山梨県を北から南へ抜ける)
View Larger Map

ちなみに昨日と合わせて357km走りました。走りすぎだろといわれても文句返せません。
これでも燃費が32.7km/l行ってるんだからHVはやめられない。正直一人で乗るならかなりおいしい。というかおいしすぎる。

目的地

夕方に下部温泉に回る以外、なし。
午前10時あたりからどうやって時間潰そう?
じゃあ知り合いが住んでる南アルプス通ってそっから考えるか、という形でめちゃくちゃ適当。

最終的に国道52号が静岡まで通じていると知り、静岡県まで突入してやってから考えようとこれまた適当。

通ったところ、寄ったところ、その他

道の駅とみざわ
昼食ついでに休憩。手打ちざるそば、650円。

富嶽カントリークラブ
国道52号で静岡入り、つまり山梨を南北に貫ける機会ができるぞ!ということで、静岡入りしてまもなくUターンできる場所を探して左折で入った場所。
単にUターンした、それだけなんだけど山梨を南北に貫いたので4sqでチェックインして証拠を残したのでした。

奈良田温泉
道の駅で早川町周辺に渓谷が見れるエリアがあると知って、なんか気になるな―と思っていたので車で突っ込めるところまで突っ込んだ結果がここ。
単に時間が余っていたのが余計行く気にさせた一要因*1
道中土砂崩れからの復旧工事による影響で、川の中に作られた仮設道路を通ったがなかなかひどいものだった。
それ以外でも基本的に山間の狭くうねった道が続くので、慣れた人以外は行かない方が無難。
自分は逆に山道の方が燃えるので果敢にアタックしたけどね。(いわゆる変態)
あと、奈良田付近はあまりにも風光明媚な渓谷が道路沿いに見えるけど、見とれてると渓谷に吸い込まれますよ、とだけ。



下部温泉 下部ホテル
山の中に突っ込まず最初からこっちに行ってゆっくりしてれば?
そんな意見が聞こえてきそうですがそんなことをいうあなたの方が正解。

5年くらい前に電車の旅で身延線にアタックして以降の訪問。
相変わらずの浴場の広さと上質さでもてなしてくれる。
大人一人1,050円もするがその価値は十分にある。

総括

2日で約360kmなのでまだ少ないけど(自分の最高記録は一日で800km)、突っ走りまくってなんとなく気分も晴れた、そんな2日間だった。
自分の気晴らしの手段は運転することなんだなと改めて認識した。
たぶん自分でまだ見たことのないところとか、そういうところを開拓していくのが楽しいんだろうな、と。

あとは帰り際に燃費から燃料代を精算するのを忘れそうになったあたり、物忘れ激しくなったなあと感じている。
こうなったの、一昨年に就活に失敗してそれ以降な気もする。
修正していくのは(周囲の環境が変えられない限り)無理そう。

おそらく次の機会は来年春以降だろうか。その頃には周囲の環境を変えておきたい。

*1:普通の人はそれだけの理由でこんなことはしない

お伊勢参りの後編

台風直撃前の9月15日。三重県内は未明から雨が降っていて、目が覚めたら地面に水たまりができるくらいに濡れていた。

雨がやんだり降ったりを繰り返すやり過ごしにくい天気だったものの、近くに鈴鹿サーキットがあることもあり、寄ってから帰ることにした。

この日の鈴鹿

二輪ST600のレースが行われていた。天候が荒れることを考え決勝では1周少なくされた。

なお決勝中に転倒事故が発生し、赤旗でレースが中断となるトラブルが発生。
その後戻ってきたライダーはなんとか無事そうだった…命が助かっただけに一安心。

帰り際

鈴鹿ICから高速に乗り、御在所SAにてさんま寿司と鶏の唐揚げを昼飯にした。
前者は紀州の名産、後者はパッケージを見たら名古屋コーチンだったみたい。

唐揚げは水分が多すぎることはないが少なくて固いということもなく、絶妙な柔らかさと水分にさっぱりした味がよかった。

自分は御在所SAから先、恵那峡SAまで運転。
名古屋市内の高速は首都高と違って運転しやすかった。(車が多すぎない)

その後何時間もの間、交代や休憩を挟み群馬県の横川へ。
横川といったら釜飯、である。到着したのが18時半とちょうどいいこともあり、晩飯は釜飯に。

ここ横川から実家までは残り270kmほど。
横川からは自分がまた運転し、途中上河内SAで休憩を入れてぶっ通しで運転。
実家到着は22時半だった。

簡単にまとめとか

東京の自宅から高速とフェリーで鳥羽を経由して伊勢神宮までが約370km、その後の鈴鹿までの移動が約70km、鈴鹿サーキットから実家までが(中央・長野・上信越北関東道経由で)666km。
総移動距離は1200km前後で、弟の車のトリップメーターは実家に戻った段階で1400だか1500kmを指していた(金曜夜に東京まで移動した分を含んでいる)。

伊勢市にはまたもう一度行ってみたい。五十鈴川の川岸が綺麗なところとか、街の雰囲気が気に入ったので今度はゆっくりと撮影と観光をしたい。

…が、会社に勤めている限りはゆっくりと見て回るということをさせてはくれない。土日でいそいそと回るしかない。
ゆっくり見て回って体験するからこそ、いろいろと感じ取れるものも多いのに。

個人に時間を与えず働く・働かせるアメリカ的な部分まで真似する必要など皆無なのに、と時々思いながら過ごしたのが今回の旅でした。

お伊勢参りをしてきた

式年遷宮という、20年に1度の行事が行われている伊勢神宮へ行ってきた。
次の式年遷宮は20年後(2033年)の予定。予定としたのは、過去終戦直後あたりに一度中止された経歴があるため。
とはいえ、よほどのことがない限り予定通り行われると思う。

交通手段は弟と車で。
弟が金曜の夜仕事上がりから、直接車で東京の自宅まで来てそこから合流という超強行スケジュール。

2013/09/14

弟が午前3時半に東京の自宅へ到着。そこからいろいろと荷物を積み込み、出発したのは午前4時ごろ。
都内からは一度海老名SAで休憩し、静岡の牧ノ原SAまで自分が運転。ここに到着したのは午前6時半。朝食を取り弟へ運転を交代。

いつの間にか寝ていて、気がついたら浜名湖SAについていた。飯を食うと誰でも眠くなるもので、弟も寝ていた。
気がついた時点で時刻は午前8時あたりだったかと思う。

その後豊川ICで高速を降り、実にのどかな景色が広がる渥美半島をのんびりとドライブし、伊良湖岬へ。
幸いにも10時40分の便にそのまま間に合い、鳥羽へ。
気になる運賃は、普通車で4〜5mの場合、一台6500円(ドライバー一人の運賃を含む)。他大人一人で1500円。そのため今回は片道8000円。

海面はまるで風になびく、大きな一枚の布のよう。

揺られること約一時間、鳥羽へ到着。

伊勢神宮

鳥羽からは車で30分くらいで到着。3連休の初日ということもあり大混雑していた。
内宮に入ってすぐにある、御手洗場(みたらしば)。鳥居前にある清め場だけでなく、ここでさらに清めてから参宮しましょう、というのはこれを書いているときに知った話。

ここを流れるのは五十鈴川。透明度は高い。
川岸が綺麗な場所で絵になるので、今度はゆっくりと撮影のために訪れたい。

内宮の正殿前。ここから先は撮影禁止区間。
中の雰囲気は普通の神社と違う。拝むときに圧倒的な何かを感じた。

社殿の作り替えの様子。外宮で撮ったものだけど内宮も同じ。
見ての通り、奥手側が新しく手前側が現在の社殿。
なお内宮は作り替えられたばかりのためか、檜特有の香りが強く漂い非常に心地よかった。
それにしても、20年でここまで変わってしまうというのも驚きである。

おまけ

実は伊勢市街、『半分の月がのぼる空』のモデルとなった地でもある。
2年前はポスターが掲示されていたという話を弟から聞いていたので、それを探す目的でも駅前から外宮までを散歩してみた。

伊勢市駅前から商店街へ。

道中で見つけたお店でアイスを食べた。濃厚な味と程よい冷え具合に癒やされた。

実際のところ、過去掲示されていたというそのポスターを見つけることはできなかった。
遷宮の話で盛り上げた方が人は来るし、今年の今の時期ならそれが目当てで来る人が多い、と見ているからだろう。

個人的にはひっそりとどこかに貼っておいてほしいなあと思った。
というのも、あそこまで人の心情を描いている作品はそうそう多くないと感じていて、そういう面から気に入っている作品だからなんだけど。

このあと鈴鹿まで移動した。というのも、直前に日程が決まったこともあり、伊勢市内に宿を取れなかったため。

夕飯

一升びんという、松阪牛を手頃に食べられる焼き肉店へ。



脂が甘くて肉は焼いてもやわらかく、最高だった。ちょっと食べ過ぎて(寝不足だったのもあるんだろう)、翌日軽く胃がもたれた。

9月14日の分はこれでおしまい。