過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示

2012/10/27
【GAE】JDOFatalInternalException にハマった

 
昨日の不具合時に Google App Engine で色々行ってたら
 
JDOFatalInternalException
 
が出た。ローカル環境でも GAE 上でも発生。JDOヘルパーからマネージャーを
取得するだけで発生するんだよ。
 
JDOHelper.getPersistenceManagerFactory("transactions-optional");
 
調べた所、サーバーログのタイムスタンプを日本語化する際に組み込んだ
ライブラリ apache-log4j-extras-1.1 が原因だった。
 
色んなライブラリを併用していたから、1.1 ではダメだったのがあったのか?
って事で apache-log4j-extras-1.0 を落としたら、例外消えました。
 
開発してると、最新のライブラリが使えないこと多いよね…

2012/10/18
【GAE】GoogleAppEngine のトランザクション使い物にならねー

 
久しぶりに Google App Engine の JDO を使ってトランザクション
利用してみたのだけど、あまりに使い物になら無すぎてビックリ…
 
 
以前と同じ感想なんだけど、さらに1リクエスト中
 
A. データの挿入/更新
B. データの取得
 
を連続して行うと、B の段階で A で挿入したデータが取得できない。
 
PersistenceManager.close()
 
を A を行った後に呼び、その後に全件を取得すると、取得できることもある。
出来ない事もある。10回中6回は A のデータが取得できる。
 
次回のリクエスト( doGet )では確実に取れる。
 
正直、なんじゃこりゃーって感じ。
 
 
こんな追加勝手悪いと、ゲームサーバーとかに使いにくい。

2012/10/12
GAE の JDO で ClassNotPersistenceCapableException

 
GoogleAppEngine で JDO を久しぶりに使おうとしたら、
 
ClassNotPersistenceCapableException: The class "The class "xxx" is not persistable. This means that it either hasnt been enhanced, or that the enhanced version of the file is not in the CLASSPATH (or is hidden by an unenhanced version), or the Meta-Data/annotations for the class are not found." is not persistable. This means that it either hasnt been enhanced, or that the enhanced version of the file is not in the CLASSPATH (or is hidden by an unenhanced version), or the Meta-Data for the class is not found.
 
と怒られた。手元の Eclipse 3.5 で何回クリーンしてもダメ。パッケージを更新
してもダメ。
 
PersistenceManager で pm.makePersistent(…); したいだけなのに。
 
仕方ないので Eclipse を 3.7 にして、そっちでビルドするとすんなり実行できた。
たぶん Eclipse の依存関係がバグったのが原因。
gae_setting
 
なぜか、SDK が App Engine(1) 1.7.2 とかになってるんだぜ。
カッコなんかつかないだろう…普通に考えて。
 
ちなみに他の環境での Eclipse3.5 では問題なく JDO いけた。
Eclipse って 2012 年のこの時代になっても、まだ安定してないのかよ。
 
以前、ソフトウェアの更新を行って、あまりに遅かったのでキャンセルとたの
影響あったかもしれない。プログラム以外でハマルのは、正直疲れる。

2011/11/03
音声ノイズ除去って難しい…

 
Windows のマイクから音を録音し、その音源をBluetooth でストリーミング
配信で再生させるという趣味プログラムを組んでます。
 
( Bluetooth で skypeトランシーバーみたいなものを再現する目的 )
 
 
録音には waveInOpen() を利用しロジックは全てうまく行ったのですが、
録音時の「サーッ」というノイズ気になる。
 
ノイズキャンセラーとか FFT(高速フーリエ変換)の拾い物を3つぐらい試して
みたのですが、一番良いのでも…「サーッ」って音しか無い音源だと、
 
「ザザーッ」
 
と余計に煩くなってしまうし、全然ダメだ。そもそもノイズキャンセラーを
売りにした製品があるのを考えると、一朝一夕のレベルで期待通りの
ノイズキャンセラーが作れるわけ無いという現実に気づいた。
 
マイクの入力音量を上げて録音すれば音があるときは気にならないのだけど、
無音の時は「サー」ってのが気になる。
 
※「ステレオミキサー」での録音にて
 
しかしフリーソフトでも、期待通りにノイズキャンセラーをしているのが
あるので、必要な知識を身につければ実装できるんだろうけど、そこまで
本腰を入れるほどには時間はない…。
 
 
[追記]
  bitpersamples を 16bit で録音したら雑音消えた。こんなレベルの話だったのか。
  これでクリアな音声を bluetooth でやり取りできる!

2011/10/29
Bluetooth でポートミラーリング…速度は距離に比例しまくった

 
Bluetooth を介し、何ちゃってポートミラーリングを組み込んでみた。
 
目的はインターネットに接続していないパソコンから、ネットに接続している
パソコンを Proxy サーバとして稼動させるため。
bt_mirror
ミラーリングの確認がしやすい http で検証してみた。
 
デスクトップから UL20FT に SPP で接続を行い、UL20FT では HTTP Proxy を
立てている。そしてデスクトップのダミーポートからUL20FT の proxy ポート
通信データをミラーリング。
 
 
ここでは Bluetooth を介してミラーリングを行い、バージョンは互いに
Bluetooth2.1 +EDR となっている。
 
[結果]
2mぐらい離れると激遅。ダイヤルアップよりも遅い。1mぐらいにすると、
けっこう早い。ダイヤルアップ回線より早いかも。
 
EDR オプションが制御できるのかよくわからんが、パソコンをモデム変わりに
使えると考えるとけっこう面白いかも。
 
 
ロジックがまだまだ貧弱なのか、速度が遅すぎるためか、リモートデスクトップ
の接続をミラーリングするのには、うまくいってない。秒間 1KBS(second)
ぐらいしか出ない…

2011/10/07
chcp 1200(UTF-16) って使えないじゃん

 
コマンドプロンプトで UTF16 のファイル名 などを dir /b で表示して、
その値を xargs に渡そうと思っても出来ない。
 
理由は3つある。まずは コードページ 932 の為、出力やパイプが行われた
瞬間に CP932 に変換されてしまう。
 
パイプ経由でアプリケーションに渡る時点で、Windows Shift_JIS に変換される
ので、UTF16 コードのまま渡すことは不可能。また逆に考えると type コマンド
で UTF16 のファイルを表示し、それをファイルにリダイレクトしてやれば Shift_JIS のファイルを生成することも可能。
 
もう一つの理由。パイプを実装しているプログラムコードは、ほぼ全てが SJIS
前提にしているので仮に Unicode で渡されても正しく処理が出来ない
 
 
最後の理由、文字コードを chcp コマンド 1200 、 utf16 を設定するのに…
そもそも失敗する。UTF-8 の 65001 は成功する。
 
使えねぇーー。日本語版 Windows では利用できないって噂は本当かも?
 
って事で Unicode のファイル名などがあると xargs などパイプを利用した
コマンドは正しく動作しないことになります。
 
正確に言えば、以下のやり方で渡すことはできると思いますが。
 
1. chcp 65001 で UTF8 モードにして、UTF-8 の入力を受け付ける
プログラムを実装する。但しフォントが無いので画面には正しく表示できない。
 
2. chcp 932 のままで UTF-8 を渡す。UTF-8 の入力を受け付ける
プログラムを実装する。Android の adb logcat を見るに、これが
現実的?
 
2番の方法ならたぶんこんな感じ。
 
dir /b *txt | sjis2utf8 | xargs-utf8toutf16 echo
 
理論上は上の手順でいけると思う。utf-8 に変換して、次に utf-8 に対応した
xargs を渡してやれば良い。
 
イヤ…だめだ。パイプに渡される時点で UTF16 があると SJIS になるので、
そもそもの出力をUTF-8 にしてやらないとダメってことになるかも。
 
dir_utf8 /b *txt | xargs-utf8toutf16 echo
 
試して無いけど、これで行けそう?ちょっと時間を見つけたら試してみます。
 
 
いけた。これならパイプ経由で を引数として渡すことも可能だ。
コマンドを自作しなければならないという点がありますが、データを渡せる事が
重要なので、この機能は必須だな。

2011/10/06
【コマンドライン】for …( * ) と dir /s /b の小ネタ

 
ほとんどの人にとってどうでも良いネタ紹介。
 
Windows コマンドラインから、現ディレクトリ以下のファイルを列挙するには
標準コマンドを利用する方法で2通りあります。

2011/09/29
【Windows】親プロセスの列挙時のレアバグ

 
親プロセスの列挙には Process32First / Process32Next を利用する事で、
親の親、さらには大元の root プロセスまで調べる事ができます。
getparentid
さて今回、自作アプリケーションにて1000回に1回確認できるかどうかの
レアバグに遭遇しました。
 
本バグをログに吐き出して調査した所上記 API …というべきか CreateToolhelp32Snapshot() にて矛盾点が確認できました。

2011/09/25
Android の大半はシングルスレッド

 
唐突ですが Android の大半はシングルコア端末です。
 
デュアルコア自体 Android2.3 搭載 の Galaxy S2 などの限られた機種に
なっています。

 
さて マルチスレッドプログラミングをすれば並列に走るという認識を持っている
方が少なくありません。たしかに並列に走っているようには見えるのですが、
本当の意味で並列に走っているかは別問題です。

2011/09/22
tesseract を試してみた

 
Google オープンソースの OCR tesseract を試してみた。
 
Windows へのインストールは tesseract-ocr-setup-3.00.exe を実行でOK.
コマンドラインからの実行がメインとなります。
 
[入力] in.bmp
[出力] out.txt
 
とする場合、以下のようにコマンドから叩けばOK。
 
tesseract.exe in.bmp out.txt -l jpn
 
tesseract_test
 
抽出結果は、
 
te st
あまぞん
 
となった。BMP でやった場合 test の間に空白は無く完璧な状態だった。
けっこう使えるかも。
 
C/C++ からも使えるって事でビルドしようとしたのですが、
 
A. インクルードディレクトリ間違ってる
B. leptonlib.lib が必要
C. leptonlib.lib を作る為に zlib, libpng, libjpeg, lintiff が必要
 
となって、C の段階でめんどくさくなったので lib ファイル化は一旦中断。
 
利用するにしても CreateProcess/system などプロセスとして実行すれば
良いと考えたり。
 
C++ のサンプルソースから、利用する側のインターフェイスはある程度調べた
ので、どこかに leptonlib.lib  が転がっていれば良いのだが。
 
 
OCR の画像認識を自作したいと考えてる物好きな方は 2011年5月 に発売された
ばかりの  C言語による画像処理プログラミング入門 がお勧めです。


2011/09/18
デバッグコマンドとしても使いやすい Toast

 
先の toast コマンドについて、開発にも使いやすいツールとなっています。
 
toast をインストールしたら、C/C++ 言語からも簡単にデバッグツール
としても利用できます。
 
int main()
{
    system( "toast ようこそ世界へ --tasktray" );
    system( "toast --tasktray デバッグ メッセージ" );
    return 0;
}
 
上記のように system() 関数から利用できます。
 
例えば printf やログをたくさん出力している中、絶対見逃してはいけない
メッセージは上記のようにすることで、グラフィカルに知る事が出来ます
 
トーストをたくさん発行して画面の限界を超えても、表示できるまでメッセージは
保持しているので、何百個発行しても安心。

2011/08/29
Twitter Streaming API の filter を試してみた

 
先日 Google リアルタイム検索が廃止されたので、Yahooリアルタイム検索
乗り換えたのですが、こちらは使い勝手が期待外
 
ってことで、個人で Twitter API 使えないか調べた所、制限つきの API は
利用できるようです。
 
で早速 VC2005 で作ってみた。 
twitter_stream_api
趣味に限り「車輪の再発明」が好きなので Json の解析エンジンを実装したのですが、
C# や .net を使ったほうが開発速度は速いな…
 
 
Windows のコマンドライン上でひたすら twitter のコメントが流れる様は
中々面白い感じがしました。

2011/08/17
【dev】schedule コマンドで xargs を使う

 
schedule コマンド 1.05 から xargs 類似コマンドが使えるようになりました。
 
バッチファイルに xargs.bat とし、以下の内容で作成します。
 
@echo off
 
schedule --xargs-only "%*"
 
引数は -N-i オプションに対応しています。
 
現ディレクトリの txt ファイルを全て表示する。
 
dir /b *txt | xargs -N 1 type
 
 
コピーコマンドを実行する。
 
dir /b *txt | xargs -i -N 1 echo copy {} /tmp
 
ここでは echo でコピーコマンドの生成のみを行っているので、実際には
コピーしません。rm コマンドも同じようにして使うことが出来ます。
 
 
拡張子 java ファイルから、package キーワードを検索
 
dir /b *java  | xargs find \"package\"
 
注意点としては、ダブルクォーテンションの前には必ず をつける必要が
ある点でしょうか。バッチファイル上でダブルクォートにしているので。
 
cygwin を入れてない方向けは、本 exe だけで xargs として使えるので、
お勧めです。また本コマンドでの xargs 用途は、あくまでサブの位置づけで
あり、使い方次第でかなり高度な事も可能になります。
 
( 例えば ant を用いず javac コマンドを再帰的に実行する事も可能です )

2011/08/15
【dev】Windows コマンド pshell を公開

 
pshell コマンドというフロントコマンドを開発しました。
どんな使い方が出来るか、という視点で紹介します。
 
環境変数 PATHを現在時刻と共に表示する
 
◆pshell の場合 
pshell echo $(date /t) `time /t` ${PATH}
 
◆通常コマンドの場合
echo %date% %time% %PATH%
 
Linux シェルのような使い勝手
  
・バッククォートによるプロセス起動
・$() によるプロセス起動
・${} による環境変数展開
 
が可能となります。これが出来る事により、pshell をフロントコマンドとして
利用する事で、Windows の全てのコマンドに対して、引数にコマンドの
戻り値を渡すことが出来ます。

2011/08/12
CreateRemoteThread で ERROR_ACCESS_DENIED

 
Windows7 SP1 64bit 環境で cmd.exe に対して CreateRemoteThread
実行すると ERROR_ACCESS_DENIED になる。
 
OpenProcess() の段階で PROCESS_CREATE_THREAD が成功しており、
かつ特権をさらに与えても失敗。
 
セキュリティなもの?
 
CreateRemoteThread() では 実行に LoadLibrary() で引数に 64bit カーネル
dll を渡してやっているだけなのに。
 
フック関連の書籍は Advanced Windows 下巻が参考になります。

Advanced Windows 第5版 下 (マイクロソフト公式解説書)
 
CreateRemoteThread() に関しては 298ページから記載。概念的なものも含め、
非常に細かく解説してるのは、この本以外では見たことない。
 
うーん、Windows7 でセキュリティが厳しくなったのでしょうか。
それとも 64bit で何か考慮するべき事を忘れてるのか…
 
とおもって色々試してみた所…
 
dll が 64bit でも、CreateRemoteProcess を行うプロセスが 32bit では
失敗してしまう事がわかりました。

2011/08/11
環境変数を高度に扱う penv を公開

 
Windows7 の方はスルー下さい。
 
Windows XP, Vista 向けに環境変数を高度に制御できる penv を公開しました。
本コマンドを利用すると プロセスの出力値をそのまま環境変数に代入する事が
できます。
 
実例を見てみましょう。
 
penv ZZZ_HOGE=`dir`
 
上記のようにすると ZZZ_HOGE という変数に dir の出力全てを代入します。
バッククォートを用いる事で、シェルを実行します。Linux みたいですね。
 
またパイプにも独自に対応したので、以下のような利用も可能です。
 
penv "ZZZ_HOGE=`dir | find \"exe\"`"
 
dir コマンドで出力したのを find コマンドで exe キーワードでフィルターを
かけてます。フィルター後の値が ZZZ_HOGE に代入されますね。
 
現段階では環境変数の展開は実装していないのですが、現在のディレクトリを
環境変数に設定する方法は以下の通り。
 
◆標準コマンドの場合 
set  ZZZ_HOGE=%cd%
 
◆penv コマンドの場合 
penv ZZZ_HOGE=`cd`
 
環境変数の展開は、必要性を感じなかったので今回実装しませんでした。
 
と思ってたのですが、シェルの方が勝手に展開してくれてるようです。
完全ではありませんが penv でも set の方法が使えます。
 
最後に java ソースファイルからパッケージを環境変数にぶち込む方法の紹介。
 
rem 目的のソースファイルからパッケージ名を取得
penv "PACKAGE=`type Main.java | find \"package\"`"

rem package キーを取り除き、スラッシュに置換&ゴミ削除
set PACKAGE=%PACKAGE:~8%
set PACKAGE=%PACKAGE:.=/%
set PACKAGE=%PACKAGE:;=%
set PACKAGE=%PACKAGE: =%

 
rem  確認する
penv PACKAGE
 
上記は Main.java と決め打ちにしてますが dir /b /s *Main*java とする事で、
サブディレクトリから Main という単語が入っている java クラスを探し出し、
パッケージ名を生成する事も可能です。

2011/08/07
skydrive をプログラムから制御

 
skydrive をプログラムから制御するのに、SkyDriveServiceClient.v2.0.2b
使ってみた。
skydrive_common
言語は C# です。skydrive プロトコルの解析に利用したのですが、最初の
認証にて、何のパラメータを付与するのか https なので解析できなかった。
 
ライブラリとしては問題なし。ただしアップロードして生成された URL を取得
できないようなので、結局使う意味が無い。
 
解析結果を途中まで公開しますので、どなたか解析を…
◆1
POST http://docs.live.net/SkyDocsService.svc
 
まずは post アクセス。ここでは location と WWW-Authenticate を取得するのが目的。302 が必ず返却。user-agent などがあると 403 が返って来ます。

送信する content-type は text/xml ; charset=utf-8
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body>
<GetWebAccountInfoRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/clouddocuments">
<BaseRequest>
<ClientAppId>SkyDrive Service Client</ClientAppId>
<Market>en-US</Market>
<SkyDocsServiceVersion>v1.0</SkyDocsServiceVersion>
</BaseRequest>
<GetReadWriteLibrariesOnly>false</GetReadWriteLibrariesOnly>
</GetWebAccountInfoRequest>
</s:Body>
</s:Envelope>
     
◆2
Response 下記の HTTP ヘッダが返って来ます。
Location: https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=xxxxxxx&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fdocs.live.net:101%2FSkyDocsService.svc&lc=xxx&id=xxxxxxx
 
WWW- Authenticate: Passport1.4 ct=1312698601,rver=6.1.6206.0,wp=MBI,lc=1033,id=250206
    
 
◆3
2番に https でアクセスし CID と Authenticate を取得する。たぶん。
 
上記の3番の段階で止まってます。3番通過後は、ほぼ解決できそう。
 
この一連の流れとは別としてなら、Windows Live ID にログイン可能なのですが、
WebDav を使う手順での認証が不明。
 
WWW-Authenticate: 、メールアドレス、パスワード Authenticate  として
ヘッダに付与して POST すれば良いのだろうか?
 
または POST データ部として送る?
 
その場合メールアドレスなら login キーで良いのかな。だとするなら HTML から
解析しないと、メールアドレスのキーワード値がわからん。
 
WebDav の汎用手順での認証なのか Microsoft 固有の認証なのかも不明。
 
 
C#歴 3時間の自分に無理です。
これを読んだあなた。どうか真相を暴いてください。それだけが私の望みです。
 
追記: SkyDriveConnection で解決できそう。

2011/08/05
【バックナンバー001】Javaでのプリプロセッサ

 
過去記事をリニューアル配信していく自分企画を始めました。
最初は Java でのプリプロセッサについて。
 
 
みなさん Java で開発するとき プリプロセッサ は何を使ってますか?
 
C/C++ で開発をしてきた人は、プリプロセス処理を使ってたかと思うのですが、
Javaコンパイラには プリプロセッサは無い のです。
 
 
無いなら「フリーソフトを使えば良い」ということで、いくつかのツールが
あるのでご紹介します。
 
紹介するのは コピーが自由な( ライセンス違反にならない )ソフトを中心に、
利用規約で個人・法人、商用利用に制限が定められていないソフトです。
 
ライセンス規約が厳しいのは「評価項目」に記載していますので、仕事で使うか、
趣味で使うか、プロジェクト全員で使うか等、用途に合わせて選択してください。
 
ソフト名 概要 評価 現代評価
PPP
・携帯Java等では 503 の開発の時からよく利用されている。書籍などにも紹介されたツール。
[最終更新]
2002年11月
・ソースコードが 5000行を越した辺りから、環境によっては激しく重い。
・趣味として使う程度のものならば実用的。 携帯アプリ開発として考えると、
ソースコード も 505 までの時代とは違い
コード量が多いので最近は実用に耐えなくなってきている感がある。
☆☆
JavaPP Java 用に開発されたプリプロセス。
 
[最終更新]
2004年10月
・バージョン 2.0 系にはとんでもないバグがあるので、1.3 を使用する必要がある。
・処理速度は ppp とは比較にならないぐらい高速。
・enum をサポートしていないのはちょっと辛い ( enum のみ変換するツールを
作って組み合わせれば実用的 )
☆☆☆
fpp Java 用に開発されたプリプロセス。
 
[最終更新]
2011年8月
・PPP と JavaPP の後に誕生。
・プリプロセッサとしての双方の良い所を引き継き変換速度を最重視しているソフト
 
・Java5 以降にも対応。
☆☆☆☆
pp_inc Java 用に開発されたプリプロセス。
 
[最終更新]
2005年11月
・PPP と JavaPP を越えたソフト。
・Java5 以降のアノテーションに対応していないので @override などがあると
コンパイルが通らなくなるので Android には向いていない。
☆☆☆☆
cpp32 Cコンパイラ ・完璧なプリプロセッサ
    ( 但し商用利用は不可なので企業では使えない。もし無料版を企業で使っていたら規約違反。密告により損害賠償も… )
☆☆☆
cygwin/gcc Cコンパイラ ・完璧なプリプロセッサ
・ソースの拡張子は C/C++ 必須。
・cygwin環境の構築が必須。
☆☆☆☆
VisualStudio Cコンパイラ ・完璧なプリプロセッサ
・無料版もあるので、各マシンにインストールすれば構築可能。
ただし無料版でも第三者に exe を譲渡・
コピー するのはNGなのでプロジェクト
単位で導入する場合は、全員が VisualStudio を正規にインストールする
必要あり。
☆☆☆☆
 
「☆マーク」の評価は、導入難易度、利用規約、ソフトの完成度、ソフトの速度、
他アプリケーションへの依存度などを総合評価し、判断しました。
 
以上 Java でのプリプロセッサ紹介でした。
 

2011/07/31
【dev】scheduleコマンドで find . -name '*txt' | grep "" を再現

 
schedule コマンドで現ディレクトリ以下にある txt ファイル全てに文字列検索を
実行する。
 
schedule --process "cmd /c" --args "dir /b /s *txt" --xargs "find \"test\"" --run-once
 
ポイントは xargs 引数にダブルクォートを利用する場合、エスケープして
やる必要がある点です。
 
ヒットした文字列をカラー表示にしたい場合は -color-filter "test"上記に
付け加えてやると、カラー表示も可能です。色はデフォルトが green ですが、
別の定義色も利用可能です。
 
例えば --color red など。

2011/07/27
【dev】scheduleコマンドの select 引数について

 
scheduleコマンドの select 引数について。
 
select 引数は、出力されたデータが特定フォーマットに準じている場合、
カラムを選択して表示する事ができます。
 
例えば fport の類似コマンド psr /c fport で、ポート番号、Process、Path
順番で表示させたい場合、以下のように利用します。
 
schedule --process psr --args "/c fport" --select 3 --select 2 --select 6
 
簡単ですね。同様に特定フォーマットに準じている場合は、if コマンドも利用
できますので「もしポート番号 xxxx が開かれたならプロセスを起動」という
ことも可能です。
 
if が条件一致した行データは、パイプ経由(標準入力)として起動プロセスに
渡されますので、メールコマンドを呼び出すアプリケーションを作った場合は、
「特定のイベントが起きたときメール送信」なども可能です。
 
Powershell で利用する場合は --option item_hint_space が必要になります。
 
 
なお本ツールは体験版制限として、5分を超えた監視はできません。機能自体は
全て利用する事ができます。