The Way to Nowhere

あるITエンジニアの雑文。

2010年03月

「日経NETWORKの表紙内容お詫び」のハガキの誤植がヒドい件

この記事に関して、「お詫び」のハガキも送られてきて、今日届きました。

「日経NETWORK2010年4月号」表紙内容誤りのお詫び - 日経NETWORK 本誌記事の訂正・補足:ITpro
いつも日経NETWORKをご愛読いただき、誠にありがとうございます。このたび、2010年3月末にお届けした「日経NETWORK2010年4月号」の表紙の内容が一部誤っておりました。ご迷惑をおかけしたことを深くお詫び申し上げます。

その誤植のひどさといったらありえない感じです。
タイトルからしてこんな感じで切れている。
日経NETWORK4月号・表紙内

その他にも変なところで中途半端に改行しているとおもったら、次の行が全然つながっていなくて文になっていないようなところがいくつもあり、誤りのお詫びでさらに墓穴を掘っていて、あきれて過ぎて笑うしかない感じです。

2010/04/02 追記:
その後、再度「お詫び」のハガキが送られてきました。

WshShellのExecで実行したコマンドが終了しない

諸事情あって、Windows Scripting HostのVBScriptでスクリプトを書いたのですが、その際に困った事で軽くググッただけでは解決しなかったのでメモしておく事にしました。
VBScript とかあまり詳しくないんですけど。

そのスクリプトではCScriptでバッチとして実行しながら、途中で他のコマンドを同期をとって実行する必要があったので、普通に以下のように考えてスクリプトを書いてみた。
  1. コマンドを実行
  2. 実行したコマンドの終了待ち
  3. 実行したコマンドの標準出力の内容を自身の標準出力に出力


このまま素直に書けばとりあえずこうなるんだと思う。MSDNとかにもほぼそのまま載っている。
以下では実行するコマンドは適当に"Test.exe"としておく。もちろん実際には違う。
あと、終了ステータス(ExitCode)のチェックとかも実際はするけど、そこは本件とは関係ないので省略してます。
Option Explicit
Dim objShell, objExec

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("Test.exe")

Do While objExec.Status = 0
  WScript.Sleep(100)
Loop

WScript.StdOut.WriteLine "StdOut"
WScript.StdOut.WriteLine objExec.StdOut.ReadAll

とりあえずテスト的に適当なコマンドを実行してみる分には問題なさそうなので、実際に実行したいコマンドに変えてみるといつまでたってもそのコマンドのプロセスが終了しない。
そのコマンドがやるべき事は全て実行されているのだけど、プロセスが終了しないせいで制御がこちらに戻ってこないように見える。
なので、タスクマネージャとかでそのプロセスを強制的に停止してやると制御が戻ってきて標準出力の内容も表示されてた。

いろいろ試行錯誤していたのだが、どうやら実行したコマンドの標準出力の量がとても大きくて、上記のようにプロセスを強制的に停止した後で表示される内容は本来表示されるべき内容全ては表示されていない事に気づいた。

その為、以下のように終了待ちしている途中でも、標準出力にあるものは読み出していく処理を追加したところ、とりあえずは制御は戻ってきてくれたのでやりたい事はできるようにはなった。
でも、1文字読んではSleepというのは、かなりイケてないとは思うけど。
実際には Line ごとに処理していくのが妥当かな、という気がします。
Option Explicit
Dim objShell, objExec, strOut

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("Test.exe")

Do While objExec.Status = 0
  strOut = strOut & objExec.StdOut.Read(1)
  WScript.Sleep(100)
Loop

WScript.StdOut.WriteLine "StdOut"
WScript.StdOut.WriteLine strOut & objExec.StdOut.ReadAll


以下のような適当なスクリプトを実行させて確認したところ、標準出力のサイズが4096バイトを超える場合に、標準出力の読み出しをせずに終了待ちしていると止まってしまうようです。
特に子プロセスの標準出力を読んだり表示したりしていなくても同じでした。
Option Explicit
Dim i, max

If WScript.Arguments.Count = 0 then
  WScript.Quit(1)
End If
max = WScript.Arguments.Item(0)

For i = 1 to max
  WScript.StdOut.Write(Right(i,1))
  If i = Round( ( max / 2 ), 0) Then
    WScript.Sleep( 5000 )
  End If
Next

ちなみに途中に "Sleep" を入れているのは、処理時間がかかっているように見せて呼び出し側の動きを見る為です。

ただ、こうしても、もしエラー出力(StdErr)が4096バイトを超えてきたらやっぱり止まってしまうみたいで本質的な解決にはなっていないようです。

まあ、標準出力とエラー出力の両方がそんな大量になることなんて、めったにあるものでもないだろうから、実際に実行するコマンドの特性を見ながら対処するのが現実的なところなんでしょうか。

そう割り切って考えると、"Status"で終了待ちするのではなくて、標準出力を1行ごと読み込んで標準出力のストリーム終了まで処理するという方がスッキリする。
特に"Sleep"とか入れてなくても、処理時間がかかっているときは"ReadLine"で待ちになるようなので。
それに子プロセスが終了してから一気に出力するのではなくて、随時自分の標準出力に出力する事で、子プロセスの実行状況もわかるようになるし。
Option Explicit
Dim objShell, objExec

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("Test.exe")

WScript.StdOut.WriteLine "StdOut"
Do While Not( objExec.StdOut.AtEndOfStream )
  WScript.StdOut.WriteLine objExec.StdOut.ReadLine
Loop

WScript.StdOut.WriteLine "StdErr"
WScript.StdErr.WriteLine objExec.StdErr.ReadAll


なんかもう少しスマートなやり方はないものなんでしょうか?


『サラリーマンのための「会社の外」で稼ぐ術』

先日、広尾でちょっと時間が空いてしまって本屋をぶらついていた時になんとなく買ってみた。

本書は柴田英寿氏による、あくまでサラリーマンを続けながら複数収入を得る為の様々なノウハウをまとめたものというところです。

サラリーマンのための「会社の外」で稼ぐ術 複数収入獲得マニュアル

序章 「会社の外」で稼ぐ私
第1章 なぜ「会社の外」で稼ぐのか
第2章 複数収入獲得への5ステップ
第3章 成功するための四つの戦略
第4章 「会社の外」で稼ぐ人たち
第5章 上手に稼ぐノウハウ
第6章 「会社の外」で稼ぐ人の処世術
終章 さあ、明日から始めよう!
付録 アフェリエイトの始め方


簡単に言ってしまうと、最初は大きな元手のいらないアフィリエイトから始めて、株式投資でお金を働かせつつ、人によっては自分の専門分野を究めていって執筆、講演などで稼げるようになり、それなりに稼ぎがたまってきたら、不動産や事業に投資する、という事らしい。
すごく普通に考えて理解できる、ある意味では当たり前の話を整理したという感じで、多くの人にとって有用な内容だと思う。
稼ぐ方法自体に目新しい話はそんなにないと思うので、既にこういうテーマで色々と見ている人にとってどれほどの意味があるものかは、よくわかりません。

どちらかと言えば、会社の外で稼ぎながらいかに会社と付き合っていくか、という点についての心構えやノウハウ的なものも書かれていて、その辺は他にあまりないのかもしれません。

とはいってもその会社に対する姿勢はあまりにもサラリーマン的過ぎてちょっとひいてしまった。わからなくもないんだけどね。
筆者は「超」のつくような大企業に所属していて、その中で得てきた考え方なんだろう。
そんな大企業の中の「ひどさ」が自分には体感としてわからないからこその違和感なのかもしれない。

筆者自身は会社でも十分な成果を上げてはいるのだろうけれども、当の会社は連続で赤字を続けているというのが、本書とは全然関係ない事ながら、ずっと気になっていました。
会社がどうなろうとも自力で稼げる力をつけようというよく言われる事に関して、著者自身が絶好の例でもあるのだけれども、ちょっと皮肉にも思える。
まあ大企業なんて多少の優秀な人がいたところで、その業績とは無関係なんだということをあらためて思った次第です。

最近このブログの記事は、Amazonアフィリエイト絡みの記事が多くなっていますが、偶然です。

『情熱プログラマー』を読んだ

ここで知って読んでみようと思ったものです。
2010-03-07 - 未来のいつか/hyoshiokの日記

『情熱プログラマー』は、Chad Fowler氏による『The Passionate Programmer』の翻訳で、ソフトウェア開発者として充実したキャリアを築く為に参考になる事がいろいろと書かれている。

情熱プログラマー ソフトウェア開発者の幸せな生き方


ここに書かれている事を全部できるとは思わないけども、なんだか嬉しくなりました。
著者が元はミュージシャンだったというのも親近感がわく一つの要因でしょう。

ちょっと英語の原文も読んでみたくなった。

ともかく自分も「プログラマー」でいようと思った。
今の仕事上は様々な人の様々なバイアスがあるので、うかつに言えない表現ではある。
たぶん「技術者」とか言っておいた方が無難なんだろうな。

IFRS Certificate試験再び

前回12月に続き、ICAEWのIFRS Certificate日本語試験を受けてきた。

といっても懲りずに今回もあまり勉強していかなかったので、微妙。
前回よりはマシだと思うけど。

それから、今回は問題用紙への計算経過などの書き込みがOKになった。
でも今回はちゃんと電卓を持っていったので、そんな必要もなかったけど。

それにしても、「IFRS Certificate」等でググッた時の前回記事のランクが高すぎだろう。
もっと他に情報ないのだろうか?

こんなものもありました。参考まで。

国際会計基準(IFRS)検定 重要ポイント&問題集

『ドストエフスキー―謎とちから』

亀山郁夫氏のドストエフスキー解説書。
だいぶ前に地元の本屋で衝動買いして積ん読いたものです。

ドストエフスキー―謎とちから


間違っても私のようにドストエフスキーの作品を一度も読んだ事がない人が読んではいけません。
ていうか、そんな状況では普通は読んでいられないと思います。
それくらい私の頭はイカレテいるのかもしれません。

こういった事を延々と書き連ねているこの著者もどこか「頭がおかしい」と思いますが、それでもこういう世界がまだ存在する事を確認できて、私自身がある種の安堵感を得た事も本当です。

そんなわけで後追いでテキストをいろいろ読んでみようかと思った次第です。

『シリコンバレー精神』

今さらな感じですが、梅田望夫氏の『シリコンバレー精神』を読んだ。
本当は『ウェブ時代 5つの定理』を読んだのと同じ頃に買って、「積読」になっていました。
また、実際に読んだのは数ヶ月前でなかなかblogに書けずにいただけなんですが。

シリコンバレー精神 -グーグルを生むビジネス風土 (ちくま文庫)


1996年から2001年にかけての記事が中心なので、ある意味ではなつかしく、また「あの頃にこんな事が起きていたのか?」と感心したりという事で、それなりにIT業界に関わる人間にとっては読み物として普通に面白いと思いました。

個人的に印象的だったのは「アーリーリタイアメントのゴール」という話。
なんとかして達成したいとは思うものの、一方では現役で働いているからこその「人のつながり」を求めて働き続ける、というのも感覚的によくわかる、「ありそうなこと」だと思いました。

「好きを貫く」生き方については2~3年前の『ウェブ時代をゆく』でブームのようだったのが、金融危機やら不況やらで吹き飛んでしまった感もあるが、あらためて「好きを貫く」事について考えを整理してみるのも必要なのかもしれない。

この本自体はその辺がテーマなわけでもないのだけれど、ちょっと思い出したという事で。

『60歳までに1億円つくる術』

内藤忍氏の『60歳までに1億円つくる術』を読みました。
マネックス証券のキャンペーンで当選したとの事で、送られてきました。
そういえばそんなのにも申し込んでいたか、と思い出しました。

60歳までに1億円つくる術―25歳ゼロ、30歳100万、40歳600万から始める (幻冬舎新書)


既に多くの書評等で言われている通りで目新しい事は特になく、基本は「長期分散投資」のススメというところでした。「収入を増やす」「支出を減らす」という事も言及しているところが、単なる投資入門ではない感じがしました。ただ、著者の他の本を読んだ事はないので、著者なりにこの本ならではの事を書いているのかどうかはよくわかりません。

金融リテラシーを啓蒙する為の釣りのタイトルですが、個人的には「60歳」だと遅すぎる気がするし、「1億円」は少な過ぎるような多過ぎるような、なんとも中途半端な気がしました。
控えめな数字の方が、より多くの人にリアルに実現できると思わせる効果があるのかもしれません。

まあこの手の本を読んだ事のない人なら、とっかかりの1冊としてはよいのものだと思います。

AC/DC来日公演に行ってきた

AC/DC来日公演@さいたまスーパーアリーナに行ってきました。

前回9年前の横浜アリーナはなぜだかあまり良い印象がなくて、「もう随分と歳とってしまってダメなんだな」みたいに思った事くらいしか覚えていない。
なので、実はあまり期待し過ぎないようにしていたのですが、
それでも想像していたよりはすごく楽しむ事ができました。

The Jackではアンガスのストリップもやってくれた。
シャツの下のガリガリの老体はちょっと痛々しかったが、その後はそのまま上半身裸で最後まで突っ走ったのはすごいね。
あんなに火を使う演出もなかなか見れないものだし、最後の大砲もしっかりやってくれたし。
High Voltage の中間部で「ハーイ」の掛け合いにならなかったのがちょっと残念でした。
ボンスコット時代の曲の「イタさ」はやっぱりどうしても感じてしまうのだが、それは言っても仕方ないからこれ以上は言わない。

セットリストはこんな感じだったと思います。
メモとかとっていたわけではないので、曲順はちょっと怪しいと思いますが、やった曲はこんなもんだったと思います。

  1. Rock'n'Roll Train
  2. Hell Ain't A Bad Place To Be
  3. Back In Black
  4. Big Jack
  5. Dirty Deeds Done Dirt Cheap
  6. Shot Down In Flames
  7. Thunderstruck
  8. Black Ice
  9. The Jack
  10. Hells Bells
  11. Shoot To Thrill
  12. High Voltage
  13. War Machine
  14. You Shook Me All Night Long
  15. T.N.T.
  16. Whole Lotta Rosie
  17. Let There Be Rock
  18. Highway To Hell
  19. For Those About To Rock (We Salute You)

こういうのを見たり聞いたりすると、やっぱり曲のスピードとか動きのキレとかは落ちている印象は否めないのですが、実際にライブを体験できた事自体に価値があると思います。

ライヴ~コレクターズ・エディション


ライヴ・アット・ドニントン [DVD]

英語学習サイト smart.fm

たしか以前は "I Know!" とかいう名前だったと思う。
いつかやってみようと思って頭の片隅に置いていたのだが、
いざアクセスしてみると "smart.fm" という名前に変わっていた。

Smart.fm - 世界最大無料学習コミュニティサイト

一応相変わらず英会話スクールにも通ってはいるもののそれだけではなかなか上達した感が得られないので、こういうのと合わせ技でやってみようかな、と思いまして。
記事検索
プロフィール

ntakano75

フリーランスでシステムエンジニアをやっておりました。

Twitter
AdSense
Amazon
  • ライブドアブログ