RDBMS の差分

現在のソフトウェアはバージョン管理するのが当たり前となった。ソースコードが当たり前になると設定やデータもバージョン管理が始まる。でも、そのせいで運用が不便になっていく。

続きを読む

VB.NET 2003 with NUnit 2.6

Visual Basic.NET 2003 Standard SP1 にて、2012年11月時点で最新の NUnit 2.6.2 を使ってみる。

NUnit は刻々と変わっていくので最新を使いたい。とはいえ、GUI サポート無い・サンプルが対応していないなど、.Net Framework 1.1 のサポートは限定的となっている。覚悟の上で使うこと。

続きを読む

Hello world!

Welcome to WordPress.com. After you read this, you should delete and write your own post, with a new title above. Or hit Add New on the left (of the admin dashboard) to start a fresh post.

Here are some suggestions for your first post.

  1. You can find new ideas for what to blog about by reading the Daily Post.
  2. Add PressThis to your browser. It creates a new blog post for you about any interesting  page you read on the web.
  3. Make some changes to this page, and then hit preview on the right. You can always preview any post or edit it before you share it to the world.

Bridge (VMware Player) with Bridge Network Adapter

有線LANのネットワークに、無線LANしか持たない機器を参加させたくなり
1台のWindows PCで有線LANと無線LANのブリッジ接続を構成することでそれは成功した。

ただし、元々インストールしていたVMware Playerが何度目かの再起動後に動作がおかしくなってしまった。
珍しい症例だと思うのでメモ。

ネットワークアダプタを「ブリッジ」にしていた仮想マシンが他と通信できない。
ネットワークのプロパティで「ブリッジ ネットワーク」を見たところ、"VMware Bridge Protocol" はインストール済みとなっている。
vmnetcfg.exeで見ても「VMnet0」のタイプが "ブリッジ" となっている。
ただし、ブリッジ先のアダプタ名が "WAN ミニポート" しか出てこないため、ブリッジ ネットワーク アダプタとうまく結合できていないようだ。

「ブリッジ ネットワーク」のプロパティで "VMware Bridge Protocol" をアンインストールして、再起動後にインストールしてみた。
ネットワークのプロパティ画面に特に変わりはなかったが、vmnetcfg.exe で「VMNet0」を開いたところ
ブリッジ先アダプタに、「ブリッジ ネットワーク」を構成する物理アダプタの項が2つ増えていた。
この時点で仮想マシンは他と通信できるようになった。

今気づいたが、VMNet0を作ってブリッジに参加させることができたかもしれない。
サービスが一つなくなる分、そちらのほうがより良いだろうから、次に発生したら試してみよう。

参考: http://blog.livedoor.jp/blackwingcat/archives/1260856.html

メールの不要ヘッダを除去するコマンドライン

メールを転送する際に必要なヘッダ以外を除去するフィルタをsedで書いてみた。
こんな短いスクリプトでも、何時間かバグに悩んだので記録しておく。
procmailにも応用できるはず。

$ cat メール | sed ‘-e /^[ ]/H’ ‘-e /^[ ]/!x’ ‘-e 1d’ ‘-e /^Sender: /p’ ‘-e /^Date: /p’ ‘-e /^From: /p’ ‘-e /^Reply-To: /p’ ‘-e /^Subject: /p’ ‘-e /^To: /p’ ‘-e /^$/ {‘ ‘-e G’ ‘-e :b’ ‘-e n’ ‘-e bb’ ‘-e }’ ‘-e d’ | mail -s 題名 mail@example.jp

[ ]の中身は、実際はスペースとタブが一つずつ入っている。
コマンドラインでタブを打つには、Ctrl-Vに続いてタブを打てばたいていのUNIXのシェルでいけるはず。

動作を簡単に説明する。
先頭が空白文字の行が続く限り読み込んだ行をホールドスペースに追加していく。
それが終われば現在行と交換でパターンスペースに持ってきて、ヘッダが一致すれば出力する。
もし空行であれば本文が続くので、ループをまわして全て出力。
一致しないヘッダは捨てて次の行を読み込む。

あとはヘッダのBエンコードやQエンコードを紐解くスクリプトを追加すれば完璧なのだが。
昔作ったのでsedで実現できることは間違いないが、機能の割にかなり苦労したのでここで再現はしない。
地道に変換テーブルを書いてかなりの規模になったはず。コマンドラインの文字数に収まらないかもしれない。