低空飛行の航空日誌

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

beatmania IIDX 行脚記その1 北関東編

7月半ばといえば、青春18きっぷ
青春18きっぷといえば、普段は費用・時間面で行けない場所へ時間はかかるが安く行けるようになる。だからそんなところに行きたい。
で、行ったら温泉入りたい(ここ重要)。

そういえば、普段から遊んでるビーマニも全国行脚の実績あるしなぁ……と思い出した途端、
「じゃあ全部絡めてしまえばおいしいところばかりじゃないか」
と思い立ってそのまま行動に移しました。

我ながらアホや―、と。
移動中に古くからの友人で同じくビーマニで遊んでいるのから電話をもらい「今関東制覇すべく高崎に向かっている(電車の中だから出られない)」と送ったら、「行動力ありすぎ」と帰ってきた。
はい、そんな奴です、私。いつも突然なのになんかぶっ飛んだことをやらかす。

今回のコンセプト

  1. 北関東3県で、JRの駅から近いゲーセンを選ぶ。目安は徒歩10分圏内。
  2. 昼か夜で行った土地らしいものを何か食べる。
  3. 温泉にもできる限り入る。(←これ重要)これは駅から徒歩15分までを目安にする。それ以上はだるい。

訪問したゲーセンとちょっとした報告?

お世話になったサイト:beatmania IIDX ゲームセンターマップ
スマートフォン版も用意されておりお世話になりっきりでした。

茨城県

ジョイプラザ竜ヶ崎店(佐貫駅 徒歩10分)
駅からそれらしき場所は見えていたものの、道がさっぱりわからないのでGoogle Mapに案内させたら、こんな場所を通れと案内された。
さすがGoogle Map、変なところを歩かせてくれやがります。

ここは郊外型のショッピングセンターに併設という形で、奥まった場所にあります。

行脚達成は撮り忘れ。

メンテナンス状況とか

2台あり、いずれも液晶筐体です。正面から見て右側の筐体は皿の遊びがある(わかりやすい例えで言えば、自動車のブレーキの踏みしろがあるのと同じ。本来皿の遊びはない)点だけが気になりました。
ただ反応は問題なかったです。ボタンは可もなく不可もなく。エフェクターかければ音量も問題なし。
皿の遊びがある以外は、今時のよくあるメンテ状態でプレイしやすかったです。

栃木県

ハッピープラス ララスクエア店(宇都宮駅の隣、ララスクエアのB1F)
ララスクエアは宇都宮駅西口の目の前にあります。ここで栃木行脚を達成。


モアイ宇都宮店(MEGAドン・キホーテラパーク宇都宮店B1F、徒歩20分)
昼だか晩飯だかわからない時間にたらふく餃子を食べに行ったのとついでに、遠征店舗を増やす目的で。

メンテナンス状況とか

ハッピープラスさん
ブラウン管でしたが、ほんのちょっと歪みが出ている点以外は良好で、ボタンも特に問題なしでした。
(2014/11/23追記:2P側は歪みが激しいようだ、との報告を頂きました。2P側のプレイヤーさんはご注意ください。)
昔のブラウン管時代によくあったメンテがされている感じ。その面で懐かしい感じでした。
周囲に音ゲーはいくつか置いてありますが、なぜか静かなので、エフェクターなし・Play Volumeのつまみが真ん中かそれより一つ下でも問題なくプレイできる珍しい環境でした。

モアイ宇都宮店さん
ブラウン管モニターが色変化を起こしてしまっていて、2・4・6番のオブジェが標準のものだと黒とほぼ同色となってしまい、非常に見えにくい状態に。
さらにボタンは工場出荷時のものそのままと思われる、0.98N前後の非常に重いスイッチと固いスプリングの組み合わせ。自分には高難易度の譜面など到底プレイできる環境ではありませんでした。
ただ、皿だけはそれなりに軽く反応も普通で、エフェクターかければ音量も問題なかったので、そこだけは救いでした。
……総合的に見るとおすすめはできません。

群馬県

THE 3RD PLANET 高崎店(高崎駅 徒歩10分)
ここで群馬行脚と関東地方制覇を達成。

メンテナンス状況とか

IIDXゲーセンマップの情報通り、非常に良好な環境でした。実に素晴らしかった。
音は大きくボタンは軽すぎず重すぎず、皿も軽めで反応も良い。周りに各社音ゲーが置いてある環境で、ここまでの環境を整えているのには頭が下がります。

昨日寝るのが遅くて、それで体調が悪くいいプレイで楽しめなかったのはちょっと心残りな点でした。

他、訪れたところ

栃木県

宇都宮餃子会 来らっせ本店
http://www.gyozakai.com/kirasse/
宇都宮といえばやはり餃子。茨城のゲーセンに寄った段階で昼近かったものの、何も食べる気にならずそのまま宇都宮まで移動してしまった。
ハッピープラスさんでプレイ後、宇都宮駅東口のみんみんを見たらかなり行列ができていて、「こりゃあ来らっせに行くしかないでしょう」と。
なおこのとき15時でしたがこの行列である↓

さて宇都宮駅から二荒山神社方面へ徒歩20分。MEGAドン・キホーテラパーク宇都宮店の地下一階、宇都宮餃子会 来らっせ本店に到着。
まずは有名すぎるみんみんの焼・揚・水餃子をそれぞれ1人前ずつと、ウーロン茶を。餃子は各250円と安い(飲み物は210円)。
ここに来ればみんみんが待ち時間ほぼゼロでありつける。地元の人以外にはあまり知られていないような気がする。

腹が減って仕方がなかったところだったので、まさにYeehaw!!な状態に。
食べきってもまだまだ入るなということで、さらに2人前を追加。
めんめんというところの羽根つき餃子1人前(これは360円)と、再度みんみんの焼餃子を1人前。

それぞれの違いは、めんめんは小籠包みたいな感じで汁が多く、具の味の主張が抑えめなのに対して、みんみんは汁がほぼなく、にらの香りが強く具の味もついていて、互いにまったく逆の存在だった。
めんめんの汁は脂分が主なのか、かなり甘く少し口の中にべたつく感じを残すので、苦手な人は苦手かもしれない。

群馬県

高崎温泉 さくらの湯
http://www.sakuraonsen.jp/
遠出に温泉は欠かせない。
入湯のみなら550円。バスタオルとフェイスタオル(というのだろうか)のレンタルはセットで200円。合わせても750円。
温泉地ならではの安さでほっとした。しかし閑静な住宅地の中に突然と現れるので、その意外さには何か衝撃を感じるかもしれない。
都心の銭湯と同じじゃないですか、といえばそれですんなりきますが。

(写真:周りは一般住宅ばかりで本当に静かなところに、こんな感じで構えている)

……同じ地方都市の秩父だと、駅から6kmもあって900円もするのにこの差は何なんだろう。都心に近いだけで、高かかろうが黙ってても客は入る、と考えているように感じてしまう。
何くさいって言うのか思い出せないけど、そんな感覚。

公式サイトの表記通り本当に普通の温泉で、ふっと体の力が抜ける感覚が心地よかった。
というかこんな温泉が住宅地の中から湧き出すというのが、あまりに意外すぎる。
でも東京も同じか。相当深く掘ればどこでも温泉出るという話だし。この前も丸の内地区から温泉が出たなんていうニュースがあって、少しにぎわったばかり。

オリジナルのe-amusement PASSは自分で作れるのか

おさいふケータイだけでなく、FeliCa対応チップを搭載したカードならどれでも対応するという対応幅の広さを持つ、KONAMIe-amusement PASS
一部ユーザーの間ではカードの上からシールを貼り付けて、半ば無理やりオリジナルデザインのカードを作ることが行われるようになって久しい。

が、それもいわゆる生カード*1を使えば、印刷会社に依頼してある程度まとまった数のオリジナルデザインなe-amusement PASSが作れるだろうし、そもそもどんな種類のカードが実際に使えるのか興味を持ったので、実験してみた。

結論から言うと(2014/9/4 追記)

作れます。それも下地にe-amusement PASSのデザインが残らず、白地にオリジナルデザインを載せたカードが作れます。
Felica Lite-Sの白無地カードを購入し、自分で印刷したフィルム等を貼るか、直接書き込むかしてください。
同人活動の一環として、大量に作成する場合は印刷会社に頼むのも手でしょう。

カード購入先の一例はこのページの最下部にあります。
またあくまでもこのページでは、白無地のカードを使って完全オリジナルデザインのものが作れるのかという観点から、技術的なところに絞って検証をしている点にご注意ください。

実験したカード

下の画像の上から順に、FeliCa Lite-S、Mifare Ultralight、Mifare Classic 1K。
一番下は今回実験してないけど、NFC & Smart World 2012でいただいた、NFC QUEST参加用のカード(Type F JIS-X 6319-4 / FeliCa)。
ちなみに、e-amusement PASSNFC Type V (ISO/IEC 15963/Vicinity)という規格に準拠したNFCカード。この規格、あまりお目にかかれないものらしい。
(※ 2014/9/4 追記:ISO/IEC 15963/Vicinity は、荷物識別用のタグを主な用途として制定された、物流業界向け規格のようです)

実験結果

普段よく遊ぶbeatmania IIDX21 SPADAのカードリーダを実験台にした。
午前中でガラガラのゲーセンにて実験。

FeliCa Lite-S

規格がFeliCaとはいえ下位?の規格なので、使えるかどうか不安に思いつつかざしてみたら、普通に反応してそのままカード番号が発行された。

暗証番号を登録する必要はなかったんだけど、なんとなく登録してゲームへのエントリーをキャンセルし、もう一度かざしたらいつも見慣れた画面が出現。
これはカード番号が変わらないということを意味するので、FeliCa Lite-Sの生カードはKONAMIアーケードゲームで使えることがわかった。
(カード番号がかざすたびに変わってしまう場合、暗証番号を登録する画面がもう一度出現する。その場合は使えない。)
同じFeliCa系カードである、NFC QUESTのカードもたぶん問題なく使えるだろう。これは近いうちに追試する予定。

Mifare

Ultralight、Classic 1Kともに、かざしてもまったく反応しなかった。
数秒間かざし続けることも試みたが、反応なし。つまり使えない。

まとめ?

Felica Lite-Sの生カードがe-amusement PASSの代わりとして使えることと、生カードが使えるため完全独自デザインのカードが作成可能であることがわかった。

もしコミケに出展する各サークルが、独自デザインのFelica Lite-Sカードを頒布するようになったら、なかなか面白いことになるだろうなーなんて思ったりもした。
ちなみにFelica Lite-Sの生カードは、Amazonで1枚513円、3枚1,420円、10枚で3,910円。
100枚とかロット買いに近いレベルの価格は不明だけど、ちょっと変わったものを出したいというサークルさんは考えてみてはいかがでしょうか。

その他

NFCのことは正直さっぱりわからないので、基礎知識から身につけられる書籍があれば紹介してくださると大変助かります。
仕事でも非接触カードを触るようになったし、それよりも技術的興味があるので勉強したいです。

あとは、他の会社(セガタイトーなど)が出しているアーケードゲーム向けの非接触式カードについても、そのうち今回と同じように実験をしてみようと思っています。

*1:印刷も何もされていない真っ白で、中には出荷時に必要最低限の情報が書き込みされたカードのこと

ThinkPad T41+Windows 2000

所有する機材の中で唯一のIBM機、ThinkPad T41。
昨年12月にはT41pのマザーボード(1500円前後)とともに入手した、Pentium M 745に換装した。

普段使いにはWindows 7も入ったMacBook Airがあるので、正直困っていない。
でもまだ使えるし、適当な役目を与えられないだろうかと試行錯誤しつつ考え続けて至った結論が、Windows 2000で使うことだった。

Windows 2000を選んだ理由

  • 必要最低限にして十分な機能を持っている
  • 動作が軽快である
  • 過去のゲームを動作させやすい(互換性が高い)
選定理由のちょっとした補足とか

USB2.0DirectX 9.0c、NTカーネル譲りの安定性と、遊びを含めた日ごろ使いには十分な機能が揃っている。
それでいて、XPのような無駄な機能(Windows ファイアウォール、セキュリティ センター、エラー報告、Visual Style)がない。
「日ごろ使う機能を最低限度のフットプリントで」を考えた場合、いまだWindows 2000はトップになるのではないかと思う。*1
当初はLinuxを考えてAndroid-x86http://www.android-x86.org/)も含めて試したが、動作の緩慢さや使い勝手の違い(特にシステムの設定周り)、環境構築の面倒さといったデメリットばかりが目立ってしまい、対象からは外れてしまった。
気軽に使える、というのは趣味の上では重要だと思う。

環境構築よもやま話

主にお世話になったサイト:Windows2000で使えるソフト最終バージョンまとめ

ウイルス対策ソフト

Windows Updateまで済ませたあと、ためしに手持ちのNorton Antivirus 2004 Professionalを入れてみた。
LiveUpdateは問題なくいった、と見えた。

が、問題はこのあとだった。
ウイルス定義の更新日付が2011年1月5日で、このままでは使い物にならない状態だった。
Windows2000で使えるソフト最終バージョンまとめを見てサポート終了とはわかっていたものの、まさかこんな現実だとは思わなかった。

このあとで事前に作成したリカバリイメージを使って環境を巻き戻し、ClamWin Antivirusを入れて決着がついた。

実は期限切れしていたESET NOD32を更新して使おうかとも考えたが、最近ESETはMacにも対応したという。
なのでESETは、MacBook AirMac環境用ウイルス対策ソフトとして使おうと決めた。

ブラウザ

ブラウザは汚名高きIE6 SP1。当然使い物にならない。
ここはPowerPCiBookに、普段使いのMacBook Airでも使っているFireFoxを使おうと決めた。
インストール可能なもので最新のものは、ESR 10.0.12。

物は試しで、Twitterを開いてみたが重すぎた。しょっちゅうCPU使用率が100%に張り付く。
文字入力中の文字数カウントで100%(文字入力が紙芝居の速度になる)、スクロールは当然100%、添付画像開くのもまた100%(クリックして拡大画像を開くまで15秒くらいかかる)……完全にNG。

PowerPCiBookで使っているTenFourFox(http://www.floodgap.com/software/tenfourfox/)は、こんなにひどくない。
CPUに合わせたチューニングをするのって重要なんだなと思うと同時に、世界のどこでもいいから同じようなプロジェクトがWindows 2000向けで出てこないかな、と思った。

古いゲーム

押入れからUnreal Tournamentを引っ張り出してきて入れてみた。

うおお……この画面、すごく懐かしいぞ。なんか高揚感が沸き立ってくる。

436パッチを入れないまま動かしてみたけど、1440x1050では動きがあまりスムーズとはいえないものだった。
Mobility RADEON 7500の限界だろう。実際に遊ぶなら1024x768あたりまで落とすしかない。

無線LAN

T41 2373-3PJ(手持ちのモデルナンバー)は、Intel PRO/Wireless 2100 3Bが内蔵されていて、802.11b(11Mbps)にしか対応しない。
Windows 2000はWPA/WPA2非対応で対応させるパッチもないので、PCカードかUSB接続の無線LANカードを付属しているユーティリティと共に使うか、mini PCIの2100 3Bを、IBM純正品の2915ABGと交換する必要がある。

この問題もこれまた手持ちだった、Planex GW-NS54CWを使うことで解決した。
でも本当は2915ABGに買い換えたい。今度の通院のあとで秋葉原に寄って、まだ残っていたら買っておこう。

その他

ウルトラベイ・スリムに内蔵されている、UJDA745(DVD-ROM/CD-RWコンボドライブ)が、DVD読み込み不可・CD-R/RW書き込みほぼ不能になってしまい、実質CD-ROMドライブと化してしまっている。
「どうにかならないだろうか」と思って適当に検索していたら、純正の代替品を見つけてしまった。

7000円前後を考えていた予想に反して、ほぼ半額だった上に増税前というのも手伝い、そのまま注文してしまった。

今後

いろいろと古いゲーム・アプリケーションを突っ込んで遊ぶ機材に仕立てる予定。
HDDが80GBと少々心許ないが、LunaticRave 2を入れてBMSで遊んでみたい。
ただ、実家から持ち出すのは、まだもう少し先になる気がする(今東京で住んでいる部屋には置く場所がない)。

*1:ただしUSB2.0の速度がまともに出るようになったのはWindows 7から。それがあれば本当に文句はないが、いまさら無理な話。

DN2820FYKHとBOINC

昨日にNUCが届いたのでセットアップしました。
気になった点などを以下つらつらと。

BIOS

工場出荷時はバージョン 0015です。
これはUEFIをサポートしたOSのインストールにしか対応しないうえ、BIOSのどこかの設定をちょっと変えるとすぐに画面出力されなくなるという、謎(本当に原因不明)の症状を引き起こすバグのようなものが潜んでいるようです。
(実際に3、4回くらい同じ現象が起きて発狂しかけました)

なので、必ずBIOSは更新しましょう。3月4日現在のバージョンは0025です。
BIOSを更新するだけで、画面出力がされなくなるバグのような現象の出現確率は、大幅に低下することを確認しています。
(それでも、どこか設定を変えると画面出力されなくなる場合があるんですけどね……なんなんでしょう、これ。)

Secure Boot

Windows8/8.1インストール後に、UEFIの設定から有効化してください。
最初はPlatform Keyがインストールされていないので、インストールしてから有効化しましょう。

この作業でも、これまたなぜか画面出力されなくなるという怪奇現象が発生することがあります。
そのような場合は、一度電源コードを抜き1時間程度ほったらかしにすると、勝手に復旧するようです。
(これも実際に起きて、一晩放置したら直っていました)

一発で起動しないことがある

電源投入時になぜかブートデバイスを見失う場合があります。
そのような場合は電源を入れなおすと、たいていうまくいきます。

消費電力

BOINCで負荷をかけても、せいぜい9Wです。
あまりにも低すぎるので驚きました。

BOINCベンチマークは、float 1656 / integer 2902 でした。

調べてみると、2007年辺りのメインストリームCPU(最も近いのはAMD Athlon64 X2 4600+)とほぼ同程度の性能がたったの8〜9Wで実現できるのですから、驚くほかありません。
24時間365日動かしても、増える電気代はおそらく無視可能なレベルかと思われます。

プロジェクトごとの処理所要時間

ばらつきのある場合は、最小と最大を併記しています。
1日の平均リザルト数:7.74

プロジェクト名 所要時間(単位:時間)
FAAH 4〜9
MCM 5.5〜14
FAAH Vina 2.2〜34

特にFAHVは、所要時間のばらつきが非常に大きいです。

汎用性の高いWindows PE 5.0 (x64)メディアの作り方

English version of this article available from here.
Windows 8.1がベースのWindows PE 5.0で、展開・リカバリ・メンテナンスなどができる、汎用性の高いメディア(x64版)を作る方法です。
ここで紹介する手順で作成したものは、CD・USBメモリのどちらからでも起動できます。
また、Windows PE 5.0を使用するコンピューターが、BIOS/UEFIシステムのどちらか、かを問いません。

この手順で作成したPE 5.0の起動に要する時間は、USBメモリ版が約1〜2分、CD版は5〜7分ほどです。

重要な注意点

x64Windows PE上で実行可能なアプリケーションについて
アーキテクチャ 開発言語等 GUI/CUI 実行可否
32bit(x86) C/C++ すべて ×
32bit(x86) .net すべて ×
64bit(x64) C/C++ すべて
64bit(x64) .net CUI △(未確認)
64bit(x64) .net GUI ×
IMEの組み込み

IMEの組み込みは不可能です。Windows PE 4.0以降、IMEの組み込みはMicrosoftもサポートしていません。

ネットワークドライバ

Windows PEには、あらかじめ代表的なネットワーク デバイスのドライバが含まれています。そのまま使えるかどうか不安な場合はWinPE: マウントとカスタマイズ(MSDN)を参照し、ドライバの追加を行ってください。

作成手順

Windows ADKのインストール

Windows Assessment and Deployment Kit (Windows ADK)を、http://www.microsoft.com/ja-jp/download/details.aspx?id=39982からダウンロードし、インストールします。
ADKのインストール方法は、運用:管理者必携のトラブルシューティングツール「Windows PE 5.0」の起動用USBメモリを作成する (1/2) - @ITの1ページ目と同じです。

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

スタートメニューの「Windows Kits」―「Windows ADK」ー「展開およびイメージング ツール環境」を、管理者権限で実行します。
Windows ADKコマンドプロンプトが開いたら、下記コマンドを入力します。

copype amd64 C:\winpe_x64

コマンド実行後、下記ディレクトリが自動で作成され、必要なデータが展開されます。

C:\winpe_x64
C:\winpe_x64\fwfiles
C:\winpe_x64\media
C:\winpe_x64\mount
ブートイメージのマウント

下記コマンドで、Windows PE ブートイメージをマウントします。

Dism /mount-image:C:\winpe_x64\media\sources\boot.wim /index:1 /mountdir:C:\winpe_x64\mount
オプション コンポーネントの追加

必要なコンポーネントを追加していきます。
追加するコンポーネントと、他に追加可能なコンポーネントの詳細については、WinPE: パッケージの追加 (オプション コンポーネント リファレンス)を参照してください。

また各コマンドは、すべて一行で入力しなければならないことに注意してください。
1. WMI:Windows Management Instrumentation(WinPE-WMI)

Dism /image:C:\winpe_x64\mount /Add-package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-WMI_ja-jp.cab"

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

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-RNDIS.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-RNDIS_ja-jp.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Dot3Svc.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-Dot3Svc_ja-jp.cab"

3. 暗号化ドライブなどのサポート(WinPE-EnhancedStorage)

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-EnhancedStorage.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-EnhancedStorage_ja-jp.cab"

4. イメージキャプチャツールと展開サービスクライアント(WinPE-WDS-Tools)
(注)WDSは、監査モードと密接な関連を持ちます。監査モードについては監査モードで環境複製用のマスタ・イメージをカスタマイズする(Windows 7/Server 2008 R2編) − @ITを、WDSについては、クライアントの展開(WDS/WAIK/Windows PE/ImageX)をご参照ください。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WDS-Tools.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-WDS-Tools_ja-jp.cab"

5. BitLockerとTPMのサポート(WinPE-SecureStartup)
WinPE-WMIを入れた後で追加します。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-SecureStartup_ja-jp.cab"

6. 機能限定版の.net Framework 4.5 (WinPE-NetFX)
WinPE-WMIを入れた後で追加します。

Dism /Image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFx.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-NetFx_ja-jp.cab"

7. WSHWindows Scripting Host(WinPE-Scripting)
WinPE-WMI, WinPE-NetFXを入れた後で追加します。

Dism /Image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-Scripting_ja-jp.cab"

8. 機能限定版のWindows PowerShell(WinPE-PowerShell
WinPE-WMI, WinPE-NetFX, WinPE-Scriptingを入れた後で追加します。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-PowerShell_ja-jp.cab"

9. DISM コマンドユーティリティ(WinPE-DismCmdlets)
WinPE-WMI, WinPE-NetFX, WinPE-Scripting, WinPE-PowerShellを入れた後で追加します。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-DismCmdlets_ja-jp.cab"

10. iSCSIなどの記憶域管理用 PowerShellコマンドユーティリティ(WinPE-StorageWMI)
WinPE-WMI, WinPE-NetFX, WinPE-Scripting, WinPE-PowerShellを入れた後で追加します。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-StorageWMI.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-JP\WinPE-StorageWMI_ja-jp.cab"

11. 日本語言語パックと日本語フォント

Dism /image:C:\winpe_x64\mount /Add-package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-JA-JP.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-jp\lp.cab"
その他のオプション コンポーネントの追加

必要に応じて、展開やメンテナンスの作業性向上を目的とした、コンポーネントの追加を行います。
この手順が必要ない場合は、飛ばしてもかまいません。

1. HTML アプリケーションサポート(WinPE-HTA
HTML アプリケーションのサポートにより、操作しやすいユーザー インターフェースが実装でき、定型的な作業の省力化が見込めます。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HTA.cab" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-jp\WinPE-HTA_ja-jp.cab"

2. 削除されたファイルを検出し、回復する操作をサポートするAPI(WinPE-FMAPI)
これを使って削除されたファイルを検出・回復するよりは、PhotoRec (http://www.cgsecurity.org/wiki/PhotoRec)など、専用ソフトのご利用をおすすめします。
このパッケージには、対応する日本語言語パックがありません。

Dism /image:C:\winpe_x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FMAPI.cab"

3. セキュアブート環境での環境変数管理用PowerShellコマンドユーティリティ(WinPE-SecureBootCmdlets)
用途等を含め、詳細は不明です。
このパッケージには、対応する日本語言語パックがありません。

Dism /Add-Package /Image:"H:\winpe_x64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureBootCmdlets.cab"  
PE 5.0を日本語環境にする

1. 入力・システム・ユーザーロケールとUIの言語を日本語にします。

Dism /image:C:\winpe_x64\mount /Set-AllIntl:ja-jp
Dism /image:C:\winpe_x64\mount /Set-InputLocale:0411:00000411

2. キーボードを日本語配列にします。

Dism /image:C:\winpe_x64\mount /Set-LayeredDriver:6

理由があって英語キーボードとしたい場合は、下記の通りとなります。

Dism /image:C:\winpe_x64\mount /Set-LayeredDriver:1

3. 時間帯を日本標準時にします。

Dism /image:C:\winpe_x64\mount /Set-TimeZone:"Tokyo Standard Time"
独自のプログラムやファイルの追加

運用:管理者必携のトラブルシューティングツール「Windows PE 5.0」の起動用USBメモリを作成する (2/2) - @IT の『手順4――(オプション)ユーザー独自のプログラムやデータの追加』をご覧の上、必要に応じて追加してください。

変更の適用

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

Dism /Unmount-Image /mountdir:C:\winpe_x64\mount /commit

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

Dism /Unmount-Image /mountdir:C:\winpe_x64\mount /discard
ブートメディアの作成

ISOイメージを作成するか、USBメモリへ直接書き込むことができます。
USBメモリへ書き込む場合は、内容がすべて消去されますのでご注意ください。

ISOイメージを作成する

makewinpemedia /iso C:\winpe_x64 C:\winpe_x64\winpe50_x64.iso

USBメモリへ直接書き込む(USBメモリがドライブ F:\ と認識されている場合)

makewinpemedia /ufd C:\winpe_x64 F:

以前との変更点
Windows PE 3.0では、BIOSのみ・UEFIのみ・BIOS/UEFI両方から起動する、3種類のメディアを作成できました。
しかしWindows PE 5.0では、これらの区別がなくなり、常にBIOS/UEFIどちらの環境でも起動可能なメディアが作成されます。
BIOS/UEFIのどちらで起動させるかは、使用するコンピューターの起動時にBIOS/UEFIメニューから選択してください。

使用例

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

展開用環境のイメージ化

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

DISMコマンドで展開用イメージを作成する際に、既定で除外されるファイル・フォルダについては、DISM 構成一覧と WimScript.ini ファイルをご覧ください。

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

Dism /Capture-Image /ImageFile:D:\my-factory-image.wim /CaptureDir:C:\ /Name:"My Factory Image" /CheckIntegrity /Verify

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

Dism /Capture-Image /Compress:max /ImageFile:D:\my-factory-image.wim /CaptureDir:C:\ /Name:"My Factory Image" /CheckIntegrity /Verify
イメージ化した環境を別のPCへ展開する

適用するイメージのファイル名が my-factory-image.wim で、ドライブ D:\ に保存されており、これをドライブ C:\ へ適用する場合のコマンドは下記の通りです。
(2014/8/21 コマンドラインオプション“/Index:1” が必要なことに気付き修正)

Dism /Apply-Image /ImageFile:D:\my-factory-image.wim /Index:1 /ApplyDir:C:\ /CheckIntegrity /Verify
展開終了後

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

wpeutil reboot

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

wpeutil shutdown

とします。

マルコフ連鎖ライブラリ 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 の構造で各要素を入れてあるだけ)。

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