2014年9月アーカイブ

いやあ、久しぶりに規模的にヤバいセキュリティ問題発生っすねえ。

だって、bash が入ってない UNIX マシンなんか無いやろ?いや、あるだろうけど、相当の変わり者のマシンだろ、それ。

OS の開発元(Linux の各ディストリビュータとか)からのパッチや、修正版パッケージの提供があればいいけど、ないとソースから make し直しか。それだと影響範囲の調査とか面倒くさそう・・・

ということで、取り敢えずうちのテストサーバで対応作業を確認してみた。

このテストサーバに入っている bash が、

# rpm -aq|grep bash
bash-3.2-32.el5

ということで、もろに問題のある Bash 3.2系(^^;
OS は CentOS release 5.8 (Final)なので、[CentOS-announce] CESA-2014:1306 Important CentOS 5 bash Security Update を確認してみると、セキュリティパッチの当たったパッケージ bash-3.2-33.el5_10.4.x86_64.rpm が提供されているようだ。

yum で確認してみる。

# yum list|grep bash
bash.x86_64                            3.2-32.el5                 installed
bash.x86_64                            3.2-33.el5_10.4            updates

ふむふむ。
updates だけ確認するときは、

# yum list updates|grep bash
bash.x86_64                       3.2-33.el5_10.4                     updates

でもOK。
おお、確かに updates ってことで、3.2-33.el5_10.4 が提供されている。

取り敢えず 3.2-33.el5_10.4 をインストール。
途中で依存関係を確認したいので、-y オプションは無しで。

# yum update bash
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: ftp.iij.ad.jp
 * base: ftp.iij.ad.jp
 * centosplus: ftp.iij.ad.jp
 * contrib: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Excluding Packages in global exclude list
Finished
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package bash.x86_64 0:3.2-33.el5_10.4 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================================
 Package                                 Arch                                      Version                                            Repository                                  Size
=======================================================================================================================================================================================
Updating:
 bash                                    x86_64                                    3.2-33.el5_10.4                                    updates                                    1.8 M

Transaction Summary
=======================================================================================================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total download size: 1.8 M
Is this ok [y/N]: 

特に他のソフトが update されてしまうということは無いみたい。それなら問題ないので y を入力して先に進む。

Downloading Packages:
bash-3.2-33.el5_10.4.x86_64.rpm                                                                                                                                 | 1.8 MB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : bash                                                                                                                                                            1/2
  Cleanup        : bash                                                                                                                                                            2/2

Updated:
  bash.x86_64 0:3.2-33.el5_10.4

Complete!

インストールされたか確認。

# rpm -aq|grep bash
bash-3.2-33.el5_10.4

バッチリね。
CentOS はパッチ適用済みのパッケージが提供されているので対応も簡単にすみそう。

ちなみに、bash シェルにリモートログインして上記作業を行っても(bash の入れ替えをしても)、途中で回線が切れちゃうなんてことはないのでご安心を。
昨夜は、残業後に大雨の中「おでんとめん処 ふくろう」へ。
いや、マジで大雨だったので、途中本通のアーケード街を抜けたというのに、ズボンの裾はべちょべちょだった。

しかし、今週末で「ふくろう」も閉店である。行かねばなるまい。
最後におでんで一杯やっておかんとなあ・・・と(笑)
いやあ、気軽に独り飲みのできる飲み屋が無くなって悲しいわ。いや、ふくろうはラーメン屋なんだけど(笑)

20140924_oden.JPG
ふくろうのおでんといえば、定番のおでん種の他に、大将が色々とチャレンジする変わり種も楽しみの一つだった。
時々「ん?」と首をひねるものもあったが、だいたいにおいて当たりであった。
その中で俺が一番のお気に入りだったのが「かしわ」だ。鶏肉やね。ふくろうでは「親鳥」って呼んでた。
まあ、鶏肉をおでんに入れるところはあって、和田大将の完全オリジナルというわけではないが、ふくろうの「親鳥」は美味かった。おでん鍋に入ってたら絶対注文してたわ。

しかし、残念ながら昨日は「親鳥」はなかった。
代わりに入っていたのが「せせり」である。おお、鶏の首肉。貴重部位やないか。
これが、また、身がしまってるのに柔らかく、実に美味い。おかわりしてしまった(笑)

俺に鶏肉のおでんの美味さを教えてくれた店、ふくろう。残念ながら今週末で閉店。でも、最後にしっかりおでんを味わえたのでよかった。

今週末のソフトボールチームの打ち上げでは、俺が鶏肉のおでんを作ってみるかな。
記念すべき「そお小学校」初めての運動会も、学校、地域、保護者の協力のもと、9/21(日)に無事行うことができた。そうそう、中学生たちのことも忘れちゃいかんな。競技の準備などで積極的に協力してくれて非常にありがたかった。
俺は「本部席に座っている」のが仕事だったので何もしてないんだけど(^^;なんか、俺だけすみません(^^;
そして、終わった後で「良い運動会だった」というお話をたくさんの人からいただいたのは保護者としても大変嬉しかった。
実際、とても楽しい運動会だった。

20140921_undoukai1.JPG
祖生東小学校のように十数人の児童で行なう運動会も楽しかったが、やはり人数が増えれば楽しさも増す。
というか、このくらい(55人)の児童数でやる運動会が一番楽しいかも。
あまり人数が増えてくると、自分の子供が出てくる競技も減るし。競技時間も長くなるから、競技の数そのものも減るし。

それと、大人にも優しくなったな(笑)

児童の競技が低学年(1~2年)と中・高学年(3~6年)にわかれたお陰で、大人の競技数もほどよい数になって助かった(^^;なにせ、東小の時は、児童と大人の競技がほぼ交互交互で、体力的にかなり厳しかったからな(^^;;;
とは言っても、決して人数が多いわけではないので保護者も協力的に成らざるを得ず(^^;、例えば借り物競争では日頃強面のお父さんたちも積極的に協力してくれて、変なかぶり物や扮装でグラウンドを駆けまわっていたし、そういうところも今の学校のサイズがちょうどいいのかも。
20140921_undoukai2.JPG
多分、もっと人数が多いと、「いやあ、俺はそういうのええわ」と斜に構えてしまうお父さん方も増えてくると思う。長男坊の幼稚園(広島市内有数のマンモス幼稚園だった)の行事なんかで俺がそうだったように(^^;

というわけで、本当に楽しい運動会だった。

ただ、個人的には、入学式につづいてまたも「会長あいさつ」をアドリブでやってしまったこと(おかげでだらだらな内容に(^^;)、綱引きに出たせいで今日もまだ右手首が痛いこと(運動不足や!(^^;)、太っているせいでアンカーが着るメッシュのタンクトップが入らず、まるでメンズブラのように胸のところで止まってしまったこと(写真で見ると、ジャージ姿の俺ってホントにむっちりしてるな(^^;)・・・といった問題点・反省点はあります(^^;;;
この日曜日は岩国市立そお小学校の運動会だった。

俺は、当日、運動会をやるかやらないかの判断をする係だったので、朝 6時に小学校へ。
まあ、前日少しだけ雨が降ったものの、この日は天気予報でも晴れということになっていたので、特に悩むこともなく実施を決定。
6:30に煙火を上げることになった。

20140921_enka.JPG
煙火を上げる係は、運動会の主担当であるT先生であった。
火薬付きの花火を打ち上げ用の金属筒にセットし、花火から伸びた銅線を電池につなげば点火する仕組みである。

花火をセットし終わると、俺と校長先生は暴発した時のことを考えて十分に打ち上げ場所から距離を取り、T先生が着火されるのを見守った。
いや、別にビビったとか、自分だけ助かろうとしたわけではない。万が一暴発してT先生が怪我をされた時に、すぐに救急車を呼べるようにそうしたのだ。もちろん嘘だけど(笑)

しかし、俺たちがそうして安全な場所から静かに見守っているというのになかなか煙火が上がらない。
仕方ないので様子を見に行った。ホントに仕方ないので。

どうも、電池に線をつないでも着火しないようである。
花火と一緒に「着火用です」と単一電池一本がついてきたということなので、電池で着火するのは間違いないのだろうが、確かに何の反応もない。
試しに、電池を交換してみたがダメである。むーん。

こりゃ、三人でオオカミ少年のように祖生の村を「今日は運動会をやるぞーーー」と叫びながら走り回らんといかんかもな・・・と覚悟しました。

そんな時、安全な場所から校長先生が「電池を二個直列につないだらどうか?」と我々にアドバイス、というか指示を。
「ああ、なるほどね」と俺が電池を二個つないで試しに電線の先を当てると・・・

ドーーーン!!と音を立てて煙火が上がったのでありました。

まったく油断していたので、俺もT先生も腰を抜かすほどびっくりしましたわ(^^;;;
T先生から「いきなりですね!」と軽く非難されつつも、まあ、これで、祖生の村を走り回らなくてよくなったわと、俺はほっと胸をなでおろしたのであった。
前にも書いたように、.NET 系の言語(VBとC#)でデータセットを使ってほげほげという開発経験がないので、日々発見の毎日である(^^;
データセットのメソッドやプロパティを全て理解しているわけではないので、あるメソッドを使えば簡単に解決することを、ロジックでごにょごにょしたり、まあ、そういう無駄がまだ多い(^^;
今の仕事の契約が切れる頃にバッチリになりそうで若干申し訳ないなと思いつつ(^^;;;

データテーブルの中の何件かのレコードのフラグを変更する・・・なんて処理で、例えば keys() という配列に対象レコードのキーが入っているとして、

For i = 0 To dt.Count - 1
For j = 0 To keys.Length - 1
If dt(i).id = keys(j) Then
dt(i).chkFlg = 1
Exit For
End If
Next
Next

なんて多重ループにしてたんだけど、レコード数が増えたら遅くなるわなあ・・・と(^^;
実は、こんな風にループして総舐めにしなくても、ちゃんと更新対象を指定できるメソッドが DataSet クラスにはある。

FindBy だ。(ただし、データセットできちんと主キーの設定がされていないと使えない)

ちゃんと主キーとして指定されている項目でレコードを絞り込める環境であれば、

For j = 0 To keys.Length - 1
Dim row As DataSet.hogeRow
row = dt.FindByid(keys(j))
row.chkFlg = 1
Next

という感じで組める。
これならループが1個で随分処理がシンプルになる。

メソッド知らなくても、こまめにググればええやんという話だが、最初はその余裕すらなかったわ(^^;

<追記>
ちなみに、主キー設定がなければ、Select メソッドで対象レコードを絞り込めばよし。
ただ、結果が配列で返ってくるなど、若干動きは変わってくるが。
VB.NET で、データセットから作成したビューのレコードを、ループさせながらインデックス指定で直接削除すんなよという話。

インデックスを指定してレコードを削除する場合も、例えば、

view.AllowDelete = True
Do
    Dim i As Integer = view.Find("消したいレコードに含まれているキーワード")
    If i <> -1 Then
        view.Delete(i)
    Else
        Exit Do
    End If
Loop

みたいな使い方であれば問題ないんだけど、ループしながらインデックスをアップしつつ消しちゃうと、その瞬間にレコードが削除されたことでその後のレコードのインデックスが変化してしまい、正常にデリートできない(削除予定のレコードが並んでいた場合、次のレコードを飛ばしちゃうことになっちゃう)という話。
ビューの Delete メソッドは直接レコードを削除しちゃうんだよね。

例えば、

view.AllowDelete = True
Dim max As Integer = view.Count - 1
For i = 0 To max
    if view(i).hoge = "消したいレコードに含まれているキーワード" Then
        view(i).Delete()
    End If
Next

みたいにしちゃうと、view(i).Delete() しちゃった時点で、以降のレコードのインデックスがひとつ減っちゃう。
本来、view(i + 1) だったレコードが view(i) になっちゃうということ。
つまり、上に書いたように、削除予定のレコードが並んでた場合、削除したレコードの次のレコードの処理は飛ばされてしまうということだ。あかん。

どうしてもビューの中身を頭から舐めながら処理を行いたい場合は、一旦データテーブル等にコピーして処理を行う必要がある。

Dim dt As HogehogeDs.hogeDataTable = CType(view.Table, HogehogeDs.hogeDataTable)
Dim max As Integer = dt.Count - 1
For i = 0 To max
    If dt(i).hoge = "消したいレコードに含まれているキーワード" Then
        dt(i).Delete()
    End If
Next
dt.AcceptChanges()
view = dt.DefaultView

みたいな感じ。

データテーブルの Delete メソッドはビューと違って「実際に削除するのではなく、削除マークをつけるだけなので、最後に AcceptChanges するまではインデックスが変化することもなく、問題なく最後まで削除処理を行うことができる。

これも、知らずにやっちゃうと相当ハマる。特に、レコード件数が多い時はデバッグで問題を見つけ出すのも大変(^^;
さっき、高森みどり中の文化祭の話を書いてたら、高校時代のことを思い出して懐かしくてたまらなくなった。

俺らが通っていた頃の高森高校は、文化祭は「1年生は合唱コンクール」「2,3年生は(食べ物屋以外の)催し物」ってなってた。

だから、2年生になった時、俺は映画を撮ることにした。
ホントは 8mm フィルムで撮りたかったんだけど、うちの 8mm カメラは従兄弟のよっちゃんが小学生の時に分解してしまってたんで(^^;、ビデオカメラで撮ることにした。
うちには当時珍しかったビデオカメラがあったんでね(多分、周東町内でも何軒も持ってなかったんじゃないかな。少なくとも、俺のクラスではうち以外には誰も持ってなかった)

ちなみにそんな感じだったので、うちの家を「篠田財閥」とか呼ぶ人がいるけど、昔からうちは貧乏だからね。普通の家が衣食住に使う金を、親父がわけわからんものに使うだけで。おかげで俺は小学生の時自転車やソフトボールのグローブなどを買ってもらえなかったし、小遣いくれないんで高校時代も私服はみすぼらしいもんだったよ。肩に高価なビデオカメラをかかえて(笑)

で、話を文化祭の映画づくりのことに戻すけど、そうして高2の時に撮ったのが「包淋(パウリン)間一髪」だ。俺は脚本と撮影と、監督をした。
中国からの転校生・包淋(パウリン。包茎の「包」と、淋病の「淋」を組み合わせただけだ(^^;)がクラスでいじめに合うが、生徒に酷い体罰をふるう化け物教師・ゾエゾエマンと得意の拳法で闘ううちに、クラスメイトたちと心を通わせていくという話だ(笑)
全く何のことかよくわからん作品だが、俺と主演のAND君がブルース・リー好きだったのと、当時は校内暴力などが話題だったので、その辺を組み合わせてこんな話に(^^;

この映画作りが殊の外楽しかったので、高3の時にも再び監督・脚本で「なぜか気分はディテクティブ(探偵)」という映画を撮った。
この時は、俺も準主役級で演技もした。ただ、演技に関しては俺が一番下手だったね(^^; もう二度と役者的なことはするもんか!と誓って今に至る。

2年生の時は撮影も俺がしたんだけど、この映画を撮る時は、暇そうにしてた友人のN村に「暇なら一緒に映画を撮ろう。カメラまわせよ」とビデオカメラを預けた。糞重いカメラを持って撮影するのは大変だから(^^;
いや、マジ重いんよ、カメラが。今の業務用のカメラよりでかいくらいで。あまりに重いので本体部を肩に乗せて、長いレンズの下についてるガングリップを握る仕組みだった。まるで対戦車砲だよ(^^;しかも、そのカメラとは別に、今どきのビデオデッキを 2台重ねたくらいの大きさの本体をベルトで肩から下げて撮影するんだからな(^^;)

この時、カメラを押し付けたN村が、後にプロになって「おっぱいバレー」などを撮った西村博光君だ。
プロの映画カメラマンになってるんだから立派なもんだ。俺なんかきっちり安定路線のサラリーマン人生を選んだというのに(いや、今はサラリーマンじゃないけど)

この時は、アフレコが上手くいかなくてヒロイン役の子が泣きだしたのをみんなで慰めたり、文化祭なんかしらねえよって立ち位置の悪友たちが上映会場の準備に協力してくれたり、色々青春だったわあ(笑)

あ、ちなみに映画のストーリーは「誘拐された少女の捜索と、なぜ誘拐されたのか、その謎を調査する私立探偵たちの物語」というありふれたものです(^^;
授業中に内職して脚本書きました(笑)
主演は去年まで高森高校のPTA会長をしてたKタ君です(笑)

いやあ、この頃のビデオはデジタル編集じゃないので、シーンの切り替わるところには必ずノイズが入っちゃうし、だからパパパパっと短いシーンを切り替えるなんてことも出来なくて、色々制限があったんだけど、でもひとつの作品を作り上げていくのは楽しかったなあ。

今と同じビデオ撮影機材や編集環境(PC の編集ソフトで十分)があったら、一年中なんか作品撮ってただろうねえ。
そこのところだけは、ホントに今の若いヤツらが羨ましいわ。

いや、他には一切若者を羨ましく思うことはないんだけど。
俺、今でも親指の位置まで勃起するし(笑)
9/6(土)は、高森高校と高森みどり中学が合同で行う文化祭だったので、午前中家族で出かけてみた。

20140920_gassai1.JPG
高校が一緒ということで、フライドポテトや箸巻き(お好み焼きみたいなのが箸に巻き付いてるアレ)などの売店も出ててなかなか立派なものだった。
俺らが高森高校に通ってた頃(ああ・・・よく考えたら 30年も前だ・・・)の文化祭では、食品扱う売店とか許可出なかったけどなあ。最近、こういう食べ物系は色々規制も厳しいだろうに頑張ってるな。

まあ、こういう屋台は高校生たちがやってるもので、中学生たちの活動は主に文化活動の発表や展示、劇、クイズ大会の開催などだ。
いや、これでも十分楽しいよなあ。俺は周東中学校だったけど、文化祭って三年間クラス対抗の合唱コンクールだけだったからなあ。正直、つまんなかったし、合唱になんの思い入れもなかった俺には、ほとんど記憶としても残ってないわ。(指導して下さった先生や、一緒に練習したクラスメイト、それに合唱コンクールそのものをディスってるわけではありません(^^;俺は漫画に出てくるような「文化祭」がしたかったってだけで(笑))
みどり中学の子たち、羨ましいなあ。

俺も、高校時代は、二年、三年の時にビデオ映画を撮って楽しかったわあ。どっちも、まだ小さかった弟が上からテレビ番組を上書き録画しやがって消えちゃったけど(^^;

20140920_gassai2.JPG
あ、話を合祭に戻す。

俺らの頃は、バンド演奏は12月のクリスマスコンサートしか許されてなかったけど、俺らも立ったあの武道館のステージ、あ、いや、格技棟のステージ(笑)で、バンド演奏やってた。
最初のギャルバンの演奏を見たんだけど、ギターの子の赤いムスタングが格好良かったわあ(笑)それに、演奏もしっかりしてたね。俺らの頃は、ギャルバンなんていなかったけど。
まあ、その後のMCが身内受けの話ばかり延々続いてついていけなかったので(^^;一曲聞いただけで武道館、あ、格技棟を後にしたのだが。

まあ、でも、何度も言うようだが、文化祭でこんな風に多彩な活動が出来て、みどり中の子は幸せだよ。その幸福な環境をよく理解して、しっかり勉強に励んでほしいね。そうしないと、こういう楽しい催しも無くなっちゃうよ。
この月曜日はシット・オン・トップを車の屋根に積んで中山湖へ。

20150915_nakayamako.JPG
次男坊をカヌー同好会の練習に送るついでに、娘と姪っ子と久しぶりに湖上の景色を楽しもうと思ったためである。4ヶ月ぶりくらいかな。

つーか、娘が「私、カヌー漕げるけえ、カヌーしに行こうやあ」と言うから出撃したのに、数回パドルを漕いだらすぐに飽きて、後は姪っ子と二人でステルス12の上でキャッキャ騒ぐばかりであった(^^;
姪っ子も途中興味を示し、「漕がせて、漕がせて」というのでパドルを渡したが、やっぱ数回漕いだらすぐに飽きてしまった(^^;

シット・オン・トップタイプのカヌーは重くてなかなか進まないので、子供に漕がせるにはちょっとアレのアレか(^^;;;
やっぱ、漕いだ分だけスースー進まないと面白くないだろうな。

ところで、姪っ子が家から梨とぶどうを持ってきてて、湖上で娘と二人で食べ始めたのだが、なんか、美味そうに果物を食う子供の後ろでひたすらパドリングしていると、貴族の優雅なボート遊びに付き合わされてる召使の気持ちになったよ(^^;

ま、俺にもぶどう二粒だけくれたけど(笑)
もうお亡くなりになったと思っていた C01HW の純正バッテリーだが、試しに復活の儀式を行ってみた。
現在空っけつになっているバッテリーを、この間買った充電器でフル充電にしてみたのだ。

20140919_battery.JPG
今までは予備バッテリーを持ってなかったので、どうしても「空っけつにしてフル充電」というわけにいかなかった。使いながら都度充電するしかなかったわけだ。充電器もなかったので、本体を使いながら、バッテリーだけ別に充電ということも出来んかったし。

しかーし、今回、予備バッテリーと充電器を買ったので、バッテリー復活の儀式が可能となったわけ。

で、試してみた。

電源を入れて数分で1目盛り減ったので、ああ、こりゃやっぱダメか・・・と思ったんだが、そこから思いの外長く持った。
結局、1時間45分で Low Battery。
この間は、フル目盛り状態から数分で Low Battery になったので、えらい復活具合だな。
バテ子よ!!死んでなかったんだな、お前。

使えるバッテリーは多ければ多いほどいいので、しばらくフル使用、フル充電を繰り返して様子を見てみよう。
俺が外食で絶対食べないうどんが「玉子うどん」である。「月見うどん」とも言うな。
理由は「家でも簡単に作れるから」だ。
てか、家でうどん作った時は絶対玉子入れるやろう。そんなものをわざわざ金を出して店で食う気にはならんわあ。あ、「釜玉うどん」は別よ。

20140918_tamagoudon.JPG
しかし、今日の社食での夕方の間食は「玉子うどん」であった。
理由は「人生に変化が欲しかった」から(笑)
だって、気が付けばいつも天ぷらうどんばかりなんだもの、俺(^^;

玉子が入ってるだけで、天ぷらうどんより 10円高い 270円だ。ああ・・・玉子が入ってるだけで、天ぷらうどんより高いとは・・・

そして、やはり玉子うどんには侘びしさがあった・・・(笑)

家に帰ったら晩飯を食うので、社食での間食はうどんだけに抑えていたのに、玉子うどんの地味さに、思わずおにぎり一個(80円)を追加してしまった。

俺のデブ度がアップしてしまうやないか!どう責任を取るつもりや!?>玉子うどん

ま、美味かったので許すけど(笑)
C01HW の取り扱い説明書には、新品バッテリーで 4時間動くって書いてある。

昨日、初めてフル充電した互換バッテリーで C01HW を使ってみたけど、朝 9時から使いっぱなしで(ただし、最初の 1時間は大量に通信が発生したが、その後はメールの送受信や Web のちょっとした閲覧くらいにしか使っていない)、ちょうど 4時間で Low Battery になった(笑)

20140918_battery.JPG
取説どおりやないけ(笑)
それも、怪しいくらいにぴったり(^^;
すごいなあ。

まあ、これで互換バッテリーでも品質的には問題なさげ・・・ということがわかってよかった。
4時間持てば打ち合わせには問題ないし、予備バッテリーも持っておけば、とりあえず俺の使い方程度であれば無敵だな。(バッテリー、薄いんで予備を持ち歩いても苦にはならんし)

あと、1、2年は C01HW 使うで(笑)
先々週は祖生のソフトボールナイターリーグ史上に残る 33-2(こっちの方が正しいみたい)という大差による負け試合を経験した我が「れいぜん」ですが(^^;、先週はついに「今期 2勝目!」をゲットしました。

相手は「Hirabata」。
エースのRちゃんの調子も悪くはなかったんだけど、何故かうちのエースT村さんを Hirabata の主軸が打ち崩せず、最終回、1点差まで追い上げられましたが、結局逃げ切って 8-7 で勝利です!

20140913_soft1.JPG
この試合は、Hirabata の主軸に大きなあたりが(あまり)出なかったというのもあるけど、うちの守備陣も大活躍でありました。
特に外野。守備位置もよくて、強烈なセンターへのライナー性のあたりを真正面でガッチリ捕球したり、レフトも完全に頭の上を超えた球に追いついたり、ライトもホームへ素晴らしい返球を見せたり、外野陣は全員が大活躍。
また内野も、ショートのOツカさんが完全に抜けたと思われた球を逆ハンで捕ってファーストへ矢のような送球を!プロみたい(笑)
この日は、活躍しなかった選手がいないって感じだったわ。

まあ、でも、この日の一番の勝利の立役者は公民館の人・・・かな(笑)
実はこの日スコア表(メンバー表)が用意してなくて、試合開始時間が 10分くらい遅れたのだ。
宿直の人が原紙を探しだしてコピーを取るまで時間がかかってしまったから。これで、一試合目には遅れそうだったNオさんが試合開始に間に合ったのだ。おかげで、肩が痛くてボールの投げられない俺が人数合わせのために試合に出る必要がなくなった(^^;
俺が出てればもっと点を取られていただろうし、なにせ今期 0安打の俺が打席に立ったらチャンスも潰していただろう。
ありがとう公民館の人!(笑)

20140913_soft2.JPG
そうそう。我がチームはホームラン打てる選手がK太しかいないんだけど(この日は仕事で休み)、二試合目の「かかし」戦では、俺の弟がセンターオーバーの文句なしのホームランを放った。
実はこの前の打席で弟が打順を間違えてしまい、本来の打者であるOツカさんがアウトになるというハプニングがあり、弟もずいぶんと気合を入れて次の打席に立ったようだ。
そしてホームラン。やっぱ、人間、大切なのはハートだね!(笑)

結局、かかし戦は最終回に怒涛の追い上げをしたんだけど力及ばず 12-10 で負けてしまった。でも、これも良い試合だった。

ということで、9/26 の最終戦を残し、我が「れいぜん」はここまで 2勝 9敗。最終戦勝って、負け数を 1桁で乗り切りたいなあ(^^;
昨日は22時すぎまで残業して、帰りに「寅卯」に顔を出してみると人でいっぱい。
カウンター、ほぼ埋まってる。
俺は基本的に見ず知らずな人と肩寄せ合って酒を飲むなんてことにまったく何の喜びも見いだせない人間なので(笑)、踵を返し、そのまま「博多ラーメン亭」へ(笑)

20140917_hakata1.JPG
とりあえず麦焼酎のお湯割り(350円)を頼んだんだけど、ここも 23時閉店なので、すでにツマミ系がことごとく品切れ(^^;
結局、餃子をツマミに麦焼酎を飲むはめになった。俺は餃子にはビールと決めていたのだが・・・

しかし、相変わらずここの餃子旨し。俺の好きな餃子ベスト3に入ってるな。うま、うま。5個で 290円也。

もう、昨夜は頭を使いすぎたせいか眠気が凄くて、結局、お酒はこれだけで、晩飯に「辛みそラーメン」を注文。700円也。
豚骨ラーメンの真ん中に辛みそが乗っかったアレ。
箸で味噌を溶かして十分スープに混ぜ込んでからズルズル。
いかん。最近歳のせいか辛味を感じ辛いというか辛味への耐性がハンパないので、更に辛子高菜を大量投入してズルズル。
ああ、ピリ辛、旨し、旨し。

20140917_hakata2.JPG
でも、うっかり麺の固さ指定をしなかったら、やっぱり少し柔らかいや。
そう言えば、ここのデフォはちょっと柔らかめだったな・・・と思い出しつつ、今度はどんなに疲れているときでも、博多ラーメン亭では必ずメンカタ指定をしようと心に誓うのであった。

そう言えば、昨夜は大将が給仕のおばさんにゴルフの説明をしていた。
大将、ゴルフするのかな?
だとしたら寂しい。やはり大将には競艇か競輪で休日を過ごしてほしい。競馬ではなく。競艇か競輪で。だって、俺の中ではそういうイメージなんだもん(笑)
今やってる仕事、帳票の出力には VB-Report 8 を使っている。
これ、帳票定義が Excel シートで作成出来るスグレモノなんだけど(Excel でセルを結合したり、罫線を引いたりして帳票のデザインを行ったら、あとは簡単なプログラムで帳票出力できる)、意外にネット上に情報がなくて俺みたいな初めて使うもんには困るわあ。

情報が無いっつうか、古いんだよな。だいたい、Ver 3 の頃の情報ばっか引っかかる。

開発ツールについてきてるヘルプを使えば良いっつう話なんだけど、このヘルプがこれまたなかなか情報までたどり着きづらいというか(^^;(あくまで、俺みたいに初めて使う人間の意見だけど)

Ver 3 の頃と 8 では大きくプロパティが変わってるんだけど、ヘルプの検索でもなかなか引っかからなくて弱った(^^;
例えばプログラムの中で動的に「セルの結合」がしたかったんだけど、「キーワード」や「検索」で「セル結合」とか入れてもなんもヒットせんし(^^;

結局、

【セルの結合】
3.0 Report.Pos(x1, y1, x2, y2).Attr.Joint = True
 ↓
8.0 Report.Pos(x1, y1, x2, y2).Attr.MergeCells = True

みたいに変わってたんだけど、「Joint」とか入れてもヘルプじゃなんもヒットせんしさあ。
こういうの、過去のバージョンの内容と変わったものについてもっと考慮してほしいなあ。

【縮小して全体表示】
3.0 Report.Pos(x1, y1).Attr.Fit = True
 ↓
8.0 Report.Pos(x1, y1).Attr.ShrinkToFit = True

これも、「Fit」じゃ何の情報も見つからなくて、もちろん「ShrinkToFit」って入れればヒットするんだけど(^^;
「ShrinkToFit」がわかんないから検索してんのに(^^;

まあ、さすがにこれだけ名前が変わってるってのがわかれば、PosHorz は、プロパティの一覧を頭から舐めていって、ああ、この HorizontalAlignment に変わったんだろうなあと想像はつくが・・・

ちなみに、中央揃えは、

Report.Pos(x1, y2).Attr.HorizontalAlignment = VBReport8.HorizontalAlignment.Center

だ。
以前、会社の PC に入れて、チュートリアルを終了し戦場に出たらあっというまに撃破されて、こりゃ操作も難しいし、上達するまでやり込む時間も俺にはないしな・・・と二度と起動することはなかったんだけど、Blitz を経験して、こりゃ PC でもいけるんじゃね?とついに自宅 PC にインストールした次第。
次男坊も PC 版をやりたいとうるさかったしな(^^;

20140915_wot.JPG
結局、デスクトップ PC 2台と、ノート PC 1台に入れてみたけど、ノート PC ではまともに動かなかったな、やっぱり(^^;
ちなみに、ノート PC のスペックは Intel Core2Duo T7100 + Intel GM965 Express Chipset という組み合わせ。これじゃあ、無理か(^^;
一応動きはするけど、一番グラフィックをしょぼくしても、時々動きがとまってしまうような有り様。さすがに「戦闘」はできませんわ(^^;

デスクトップ PC の方は余裕で動く。
Intel Core-I3 3.40GHz + Intel B85 で内蔵グラフィックスという、今どき、特に速いわけでもない構成なんだけど、メモリ 16GB が効いているのか快適、快適。
ウィンドウ表示でもスムーズに動く。

しかし、やっぱ PC 版はなかなか操作が難しいね。
マウスを使って狙いをつけるんだけど、これがなかなかうまくいきませんわ。
でも、何ヶ月か前に事務所 PC に入れてチュートリアルをやった時は方向転換さえままならない感じだったけど(戦車が進んでいる方向と、砲塔(視線)の向きが違うことになかなか馴れなかった)、その辺の基本操作はばっちり。Blitz 効果やね。

さて、Blitz にはいない自走砲にやられっぱなしだけど(^^;(長時間停まってるのが悪いのはわかってるんだけど、索敵や照準がまだ下手なのでしょうがないのよ(^^;)、マップも広くて楽しいし、時間を見つけて楽しみますぞ。

・・・まあ、月曜日は午後から息子たちとずっと PC の前から動かずプレイしてましたけど(^^;;;(ああ、休日を無駄に・・・(^^;;;)
バッテリーがお亡くなりになったので、C01HW を機種変するぜ・・・という話をこの間書いたけど、C01HW 用のバッテリーって安いのねえ。

20140917_HWBAF1.JPG
Amazon で検索したら、純正バッテリー(HWBAF1)でも 750円くらい。互換バッテリーなら 600円、2個セットなら 550円x2 であるやん。

というわけで、互換バッテリー 2個と充電器。それぞれ 1,100円 + 1,430円で計 2,530円。まあ、このくらいの出費で済むのなら、そのまま C01HW 使ってる方がいいだろう。

バッテリー、もっと高いのかと思ってたよ。
PC とかカメラとかのバッテリー、むっちゃ高いからなあ。その感覚で「バッテリー買い換えるくらいなら本体を変えるか、いっそ別のサービスに変えるか・・・」とか思ってたわけだけど、25百円そこそこで済むのなら、反対に機種変とかサービスの変更とかする意味が無いわ(^^;

スピードにはこだわらないが、定額制は青天井に適用されるサービスでないと駄目。スピードにはこだわらないと言っても、1Mbps のスピードも出てないとか、パケットの制限量を超えたら極端にスピードが落ちるのは不可。これが俺の要件。

あと、付加サービス的なものは一切いらない。単に、TCP/IP でインターネットに接続できればいい。

こういう要件で「こっちの方がいいよ」というアドバイスがあれば夜露死苦。
先々週の金曜日の話しだけど、一日に三回も鬱陶しい営業(勧誘)電話がかかってきたぜ。

こういうのは押し売りと同じ悪であり、迷惑している人がたくさんいるので、電話番号晒しとく。全部 0120 から始まるフリーダイヤルだけど、電話代が自分持ちだからって許されると思うなよ!
しかも、うちの場合は転送電話だから電話代かかるんじゃ!ボケ!
ちなみに、営業電話だとわかった時点でガチャ切りするため、詳細情報はありません(笑)

一発目。
0120 963 782
昼休み。WoT Blitz でロシアの A-20 と射ち合ってる最中に電話してきやがって。電話出てる間に撃ち負けてたやないか!!今回一番迷惑だったのはそういう意味でこの電話じゃ!ボケ!
ググってみると、以前はカウネットの勧誘で使われていたらしいけど、どうなんかね?今もそうなら、コクヨの不買運動しなきゃ。

二発目。
0120 989 539
こっちは徳島のアクセサリーとかの通販サイトらしいが。
まあ、確かに俺は社長だし、社長夫人としての身だしなみを整えてもらうために、嫁さんにもポケットマネーで高額な宝石をちょいちょい買ってやっているが、電話してきた怪しげなアクセサリー通販会社から買うことはないわ、ボケ!

三発目。
0120 042 010
沖縄の株式会社 IS コールセンターとかいう複合機を売る怪しい会社らしい。
複合機(コピー&FAX)のしつこい営業は、岡山の粗チングループ、あ、誤変換してる。岡山のソブリングループ相手でうんざりしてんだよ!二度と電話してくんな、ボケ!

一日に固めて電話がかかってくるってことは、これらのコールセンターの運営元が同じで、一斉に同じ名簿情報で営業コール指示が出たんだろうな。

まったく、名簿情報乞食どもが!
コールセンターの仕事をしているだけのお姉さんやおばさんには罪がないと思うなよ。
こういう迷惑電話をかけていることは本人たちも意識しているはずや。だって、名乗った途端にガチャ切りなんか普通に体験してるだろうからな。
それでもこの仕事をしてるってことは、電話をしてきただけでお前らオペレータも同罪っちゅうことなんじゃ!

さあ、みなさん、これらの電話番号を、すぐに着信拒否に!(笑)
昨日は朝から爆笑させてもらったわ(^^;

20140914_shimbun.jpg
あの絶叫議員、あ、元議員か?その野々村氏の記事写真・・・

使われてる写真、絶対悪意があるだろう(笑)記事書いた記者めぇ~(笑)
全国ニュースだから、中国新聞じゃなく、共同通信から配信された記事か。なんにせよ、これは酷い(^^;

象徴的な、あの、耳に手を当てて記者からの質問を聞くあの写真である。
県議やってたんだから、他に新聞社で持ってる写真あるだろう?なんで、この写真をチョイスするかなぁ?(笑)

おかげで、ホントに笑死するかと思ったよ。休日の朝っぱらから(^^;
残業の時は社食でうどん・・・という話を書いたが、まあ、実際、毎日残業なので、ほぼ毎日うどんを食ってる(笑)
天ぷらうどんが一番多いかな。一杯260円也。

20140908_udon.JPG
最初のうちは売店でジュースや菓子類を買って残業時の飢えを凌いでいたが、260円より高くつくことも度々だったので、残業前の天ぷらうどんというのはコスト的にも良い感じなのである。

ところで、広島駅一番ホームの立ち食いうどんって、こんなに腰があったっけ???

一番ホームの立ち食いうどんコーナーと同じ会社が運営している社食で、実際、使われている天ぷら(かき揚げ)は明らかに一番ホームの天ぷらうどんと同じなのだが、どうも麺はこっちの方が良い物を使っているような・・・

というのがこの社食のうどん。さぬきうどんほどではないが、それでも十分な腰がある麺なのだ。

最近、広島駅の立ち食いうどん、食ってないから記憶はあやふやなんだけど、もっと柔らかい、もろに「ゆで麺」って感じのふかふかの麺だった気が・・・

ま、俺は腰のある麺もふかふか麺もどっちも好きなんで良いんだけどね(笑)

俺がうどんの麺で唯一きらいなのは、名古屋の味噌煮込みうどんの生煮えみたいな固い茹で具合の麺だけだからな。
今年で長男坊は卒業。
次男坊は別の中学校に行ったので、周東中で運動会を見るのはこれで最後(娘がどっちの中学校に進学するかはわからないけど、それは6年後のことだし(^^;)
ということで、最後の周中運動会をしっかり見るために、近所の有志とともに、朝から場所取りに行ってきた。
朝5時すぎ起きですよ(^^;とほほほ。

20140914_undoukai1.JPG
6時前に中学校に着いたんだけど、すでに自立タープがたくさん張られてる。
6時からでないと張っちゃあ駄目って聞いてたんだけど、ルールが変わったんかな?

周東中は毎年地区毎に応援場所が変わる。
祖生は、今年は部室棟側。
去年はゴール地点の斜め前あたりだったので、子供たちがゴールするところは楽しめたんだけど、グラウンドを一周回らない競技だと、俺らの前は競技範囲外だったので競技する姿を全然見れなかった。今年は楽しめそうだ(笑)

さて、広島のおじいちゃん、おばあちゃんも来られたので、そろそろ出るか。
まだうんこ行ってないんだけど・・・
20140906_softball.JPG
いや、もしかしたら 33-2 だったかも。
よく覚えてないんですけど(笑)
祖生ソフトボールナイターリーグの試合結果です。うちと下祖生の試合。
もちろん、我が「れいぜん」の負け試合ですよ(^^;

いやあ、他のチームでホームラン王争いとか首位打者争いに参加されている皆さん、ごめんなさい。
かなりの数のホームランとヒットを出しちゃったので、皆さんのホームラン王、首位打者の件、かなり厳しくなったと思います(^^;

なにせ、この試合、日頃内野を守ってる選手が三人も休みだったので、いつもセカンド守ってるS中君にサードに入ってもらったり、ライトを守ってるうちの弟にファーストをやらせたり、かなり苦しい試合だったんでね。内野ゴロはほぼスルーという内容で(^^;
さすがに、これほど内野のメンバーが集まらないということももう無いと思うので、他のチームにはこれほどの負けをすることはないと思うのだ。

しかし、33-2 でも 32-3 でも、これ、リーグ新記録なんじゃないの?点差の(^^;;;

ああ、明日は周東中学校の運動会なので今夜はのんびりしたいんだけど、よりによって今夜はうちがダブルだ。「Hirabata」と「かかし」か。
今期もう一勝できるとしたら、今日の試合のどちらかしかないか。
今週は、ずっと夕方、社食で間食をとっている。晩飯は家に帰って食うんで、軽くうどんとかをね。

この間食べたのは「カレーうどん」330円也だ。

20140909_carryudon.JPG
330円というと「安い!」と思ってしまうのだが、実際はこの社食の昼定食と同じ値段で、うどんの中ではなかなかの高級品である。

それだけに期待は大きい。わくわくしながら出てくるのを待ったのだが・・・

これ、「カレーをうどんにかけたもの」やん!!

俺的には、「カレーうどん」というと蕎麦屋で出てくるあの出汁の効いた、そんなに辛くはないんだけど、ピリピリとスパイスの効いた、あの黄色いカレースープの、あの「カレーうどん」こそ「カレーうどん」なんですよ!!

確か、広島駅の(この社食を運営している「ひろしま駅弁」とは別の会社がやっている)立ち喰いうどんの店で出してたカレーうどんも「カレーをうどんにかけたもの」だったなあ。

まあ、カレーはそこそこ美味いんで許すけど(笑)

そう言えば、ちゃんとした「カレーうどん」を久しく食ってないなあ。
相変わらず VisualBasic の話。

やりたかったことは、例えば

○ 全部表示
○ カテゴリAの商品だけ表示
○ カテゴリBの商品だけ表示

みたいなラジオボタンがあって、それを選択することで、そのボタンの内容に見合った一覧を DataGridView に表示したいということ。

DataGridView には BindingSource 経由で DataView の内容がバインドされている。

方法としては、何の検索(絞込)も行っていない状態の DataView をローカル変数で保持しておいて、「カテゴリBの商品だけ表示」ラジオボタンがチェックされたら、

  1. ローカル変数に保持していた全件が含まれた DataView を新しい DataView にコピー
  2. その新しい DataView で「カテゴリBの商品だけ」を検索(絞込)
  3. その結果を、BindingSource.DataSource にセット

という処理をするだけ。

で、この時、「ローカル変数に保持していた全件が含まれた DataView を新しい DataView にコピー」の部分を、

Dim newDsv As DataView = BaseDsv(←ローカル変数で保持してる DataView)

みたいに書いてはいけません・・・ということなんじゃね(^^;
これ、BaseDsv を newDsv に代入するって意味じゃなくて、newDsv と BaseDsv を関連付けるって意味なのね(^^;

これで、

Dim newDsv As DataView = BaseDsv
newDsv.RowFilter = "category = 'a'"

なんてやっちゃうと、BaseDsv の中身も RowFilter で絞り込んだ後の内容になっちゃう(^^;

こういう時は、

Dim newDsv New DataView
newDsv.Table = BaseDsv.Table.Copy()
newDsv.RowFilter = "category = 'a'"

ってやらなきゃダメ。
これで、newDsv だけが絞りこまれた内容になって、BaseDsv の内容は元のまま残る。
VB.NET の仕様というより、オブジェクト指向的な問題やね(^^;

こういう発見が日々あって楽しいんだけど、おかげでプログラミングは遅れ気味な今日このごろであった・・・(^^;;;;
今日、昼から安芸高田市の旧吉田町までFS作業に出かけた。
国道54号線で、八木の被災地区を通ることになる。もしかしたら、まだ渋滞などが発生してるのかな・・・と思い、30分だけ早めに出た。

20140912_dosyasaigai.JPG
広島ICの近くの空き地が「広島土砂災害 土砂一時置き場」になっているのを見て少し緊張する。
しかし、ところどころ片側4車線になる広い国道54号線は渋滞などなく、すいすいと通り抜けることができた。
道路の端の方が少し土砂で汚れているのだが、ほんの3週間ほど前に、70人以上の死者を出したような災害が起きたとはとても思えない。

しかし、右手に「BOOKOFF SUPER BAZAAR 54号広島八木」の大きな建物があるところに差し掛かると、突然、その BOOKOFF の建物と反対側に土砂災害の現場が現れた。直線距離で数百メートル程度しか離れてないだろう。
あのニュースで見た半分土砂に埋まったままの家々が、ほんとにニュースのままの姿で目に飛び込んできた。
こういう言い方は不謹慎だと思われる人もいらっしゃるだろうが、本当にそれは「迫力のある風景」であった。そして、本当に怖い。恐怖を感じる風景だ。

日々、自衛隊や消防、その他の行政機関や、たくさんのボランティアの方々の手で土砂が取り除かれているのだろうが、未だにこんな状態なのか・・・という悲惨な状態が遠目にもわかる。

気づけば、俺の車の周りにも、土砂を積んだトラックが何台も走っている。
荷台の土砂に、木の根っ子のようなものや、瓦礫などが混ざっているので、土砂災害の現場から運びだされたものだとすぐわかる。
近くには、あれだけの土砂を捨てる場所がなかなか確保できないのだろう。何台かのトラックは南原峡の方まで土砂を運んでいた。

まだまだそんな状態なんだな。

ボランティアで参加する時間もエネルギーもない俺は、別の形で復興に協力したい。
金だよ、金。金でサポートですよ。(ただ、今月末の仕入れ代金のうち、35万円分が現在不足している非常に厳しい財政状況なので、もう少し待ってね)

とりあえず、事務所の近くの「スパーク 堺町店」のレジのところの義援金募金箱に小銭を投げ込んでおいた(^^;;;

職場の近くの中国新聞社会事業団でも「広島土砂災害」の被災者への義援金を受け付けている。
事務所で使ってる EPSON EP-803A がそろそろ限界や。

20140912_printer.JPG
紙が一度に 7,8枚重なって出るようになってもうた(^^;

この間から、3回連続でジャムったり、2,3枚重なって出たりするようになってたんで、そろそろやばいなっと思ってたけど、今日は中で紙が滑ってるようで、(紙が送られてないから)印刷の上の方が切れたりして「ああ、こりゃ使えんわ」とか思ってたら、とうとう紙が一度に 7,8枚重なって出るようになってもうたわ(^^;

この金の無い時に厳しいのお(^^;

デオデオ本店(あ、エディオン広島本店?(^^;)で買ったんだけど、もう 5年経ってたかな?まだ 3年くらいだよな?
ということは、まだデオデオ保証は効いてるな・・・

しかし、デオデオ(あ、エディオン)まで持っていくのが大変だよなあ。
とりあえず今日は車なので(昼間にエディオン行ってる暇はないので)岩国に持って帰っておいて、日曜日にでも岩国のエディオン持っていくか・・・

あ、日曜日は周東中学校の運動会だった・・・
VB.NET はちょっとしたツール(定例処理で使う超シンプルな FTP クライアントとか)を作るのに使ってたので(ちいさなプログラムでも、それなりに内部的にはややこしいことをしてたしな)、コーディング自体は問題なかったのだが、実は DB がらみのプログラムは全然書いたことがなかった。
なので、DB のデータを DataSet にセットして云々かんぬんなんてやったことなかったわけよ(^^;

なので、7月、8月に作ったプログラムって、無駄なことしてるわあ(^^;

ある DataSet の中身を並び替えて DataGridView にセットするんだけど、

' 並び替えのため DataSet を View にセット
Dim hogeDv As DataView = hogeDs.t_hoge.DefaultView

' 並びかえ(あのコード1、この日付1)
hogeDv.Sort = "ano_code1, kono_date1"

' 並び替えを行った View を新しい DataSet にコピー
Dim newDs As New HogeDataSet
For Each drv As DataRowView In hogeDv
    Dim dr As HogeDataSet.t_hogeRow = CType(drv.Row, HogeDataSet.t_hogeRow)
    Dim ndr As HogeDataSet.t_hogeRow = newDs.t_hoge.Newt_hogeRow
    ndr.ItemArray = dr.ItemArray
    newDs.t_hoge.Addt_hogeRow(ndr)
Next
' 更新の反映
newDs.AcceptChanges()

Me.HogeBindingSource.DataMember = newDs.t_hoge.TableName
Me.HogeBindingSource.DataSource = ds

みたいに、わざわざ View の内容を新しい DataSet にセットしてから BindingSource にバインドしてたけど、そんなことする必要なかったんやなあ。
別に View のままで突っ込めたんや。
この頃は、DataSet がらみのクラスのプロパティの内容とかあまり理解してなかったからなあ(^^;

実際は、

' 並び替えのため DataSet を View にセット
Dim hogeDv As DataView = hogeDs.t_hoge.DefaultView

' 並びかえ(あのコード1、この日付1)
hogeDv.Sort = "ano_code1, kono_date1"

Me.HogeBindingSource.DataMember = hogeDv.Table.TableName
Me.HogeBindingSource.DataSource = hogeDv

これでええんやな。

恥ずかしいから、過去のコードもこっそり直しとかないと(^^;(まあ、なんの問題もなく動いてるので、そんなにじっくりソースを見られちゃうこともないだろうけど)
World of Tanks Blitz の話。

次男坊とは「小隊」組んだ意味がなかった・・・という話を以前書いた。

さっさと次男坊は自分が好きなように戦いに行っちゃうので、協力プレイとか一切できず、小隊組んで参戦した意味がなんもなかったという話だ。

一方、長男坊は常に「どっちに行く?」「どう攻める?」「俺が先に行こうか?」などという確認や、「D.W.2 が左後ろにいるんで注意!」などという情報提供をしつつプレイするので、俺も長男坊も「小隊を組んだほうが勝率が良い」状態であった。
兄弟といっても、性格はまるっきり違うという良い例だ(笑)

それに、次男坊は俺らより2つくらい先の Tier に進んでいるので(俺らが 4だけど、次男坊は 6?)、一緒に戦場に行くと、見たことないような強力な戦車ばかりに囲まれて、俺の D.W.2 は格好の獲物と化してしまうのである(^^;

20140907_wot.jpgというわけで、しばらく次男坊とは小隊を組んだことがなかったのだが、先日、珍しく次男坊の方から「小隊組もうやあ」と言ってきたので、久しぶりに二人で戦場へ出てみた。
「小隊組んでるのに勝手に動き回るから意味ない」という話を散々していたので、先日よりは幾分マシになっていたが、やはり戦いが進んでくるといつの間にか次男坊は俺のことは忘れ、一人どっかへ行ってしまい、そして、そこで撃破されてしまった(^^;
次男坊も、敵戦車を 2輌撃破した末のことだったようだが。

「だからあ、そういう戦いするんじゃ小隊の意味が無いっちゅうの」と俺も思わず声を荒らげてしまったよ。たかがゲームなのに(^^;

しかし、そこから次男坊の隊の仲間としての「リアルなフォロー」が始まった。
WoT Blitz では、自分の戦車が撃破された後、生き残っている戦車の視点でゲームの推移を見ることができるのだが、次男坊は俺の戦車を選び、敵との打ち合いや移動であっぷあっぷの俺に変わって周囲の索敵を始めた(笑)

「父さん、その建物の影に D.W.2 がおるよ」とか、「左から T-20 が来よるよ」とか。

おかげで俺は、向かってくる敵を建物の影で待ちぶせしたり、相手の横っ面から突っ込んだり、アグレッシブな(笑)動きでなんと 4輌の敵戦車を撃破したのである。
今まで、3輌も撃破したことなかったのに。いきなり 4輌である。そして、「トップガン」の称号を手にしたのである。

それや、息子よ!それをゲーム中にやって欲しいんや!!(笑)

まあ、今回は「トップガン」の称号を手に入れて嬉しいので許すけどな(笑)

てか、戦闘は、相手の陣地占領で負けであった・・・(^^;
モバイル環境は Pocket WiFi SoftBank C01HW なのだが、これ、2010/11 に買ったやつなので、そろそろ丸 4年になる。
とうとう、最近バッテリーがお亡くなりになられた様子・・・

20140908_wifi.JPG
先週、お客さんのところでの打ち合わせに iPad を接続するために持っていったんだけど、ものの数分で Low Battery に・・・
「あれ?充電してなかったのか?」とその時は思ったんだけど、改めて満タンに充電して使おうとしたら、ものの二、三分で空っけつになってしまった(^^;
使えねぇ~(^^;

7月から客先常駐での作業となり、事務所で PC の USB ポートから給電しながら使ってばかりだったので、一体いつ頃お亡くなりになられたのかはわからないが、ここ1、2ヶ月のことだろう。

以前ほどではないとはいえ、外での打ち合わせや PC を使った作業もぽつぽつとはあるので、このままではちょっとまずい。
急ぎモバイル環境を整えねば。
といっても、この田舎では他のキャリアに乗り換えるメリットとか、そもそもその選択肢とか、そういうのが都会とは違ってほとんどないので、まあ、このまま後継ルータの 301HW か 304HW に乗り換えるって感じかな。
「豊丸水産 徳山駅前店」の階段の壁に「山口県あるある」として貼られていたんだけど、山口県ってここ何年か「男性肥満率 全国ワースト1」なんだよ。

ちょっと古い記事だけど
  ↓
男性肥満率(2010年)

俺、最初、「ああ、山口県って肥満児多いんやな」って思ったけど、「ワースト1」だから、つまり「肥満児が少ない」ってことやったんやね。

俺がこんなに太ってるのに?

まあ、でも、確かにあんまり太ってる人、見んわ。
祖生が田舎というのもあるんだろうけど、実際俺、「祖生の肥満男子ベスト10」には入ってる気がするわ。そのくらい太った人間を見ない。
確かに、確かに。広島と全然違うわ。

なんか、すごくいやな気分になってきたんですけど(^^;

2010年は今より 10kg 痩せてたのになあ。
走らなくなって、一気にリバウンドしたなあ。

20140905_wait.jpg
いや、マジ、痩せたいのなら走ることやね。「好きなだけ食べて、運動もせずに痩せる」というのは 100%無いから。腹に糞でかい寄生虫でもいない限り。
もし、「好きなだけ食べて、運動もせず痩せた」としたら、それ、確実に病気だから。「やった、痩せた!」なんて喜んでないで、早めに病院行った方がいいわ、マジで。

ウォーキングは駄目よ、ウォーキングは。あんなのじゃ痩せません。
歩くスピードと同じでいいから「ランニング」をしなさい。絶対痩せるから。スローランなら全然苦しくないし。俺も、忙しくなければ全然走るんだけどな。

まあ、先月から客先常駐で仕事をするようになって、何もしてないけど 2kg くらい体重落ちたけどね。精神的に追い詰められているんでしょうか?(笑)
VB.NET の話。

DataSet には並び替えの概念はないので、DataSet の表をソートしようとすると、その DataSet から DataView を作って、それを Sort メソッドで並び替えるしか無いわけだけど、検索(行の抽出)だけであれば DataSet の中で行える。

昨日アップしたエントリーでは、

Dim dv As DataView = ds.hoge_table.DefaultView
dv.RowFilter = "hoge_time >= #" & hogeTime.ToString & ".00000# Or hoge_time <= #" & hogeTime.ToString & ".99999#"
dv.Sort = "key1, key2"
For Each drv As DataRowView In dv
    Dim dr As HogehogeDataSet.hoge_tableRow = CType(drv.Row, HogehogeDataSet.hoge_tableRow)
    dr.key1 をほげほげ~
Next

という処理のことを書いたけど、この Sort メソッドを実行しない・・・という前提なら(つまり検索(抽出)をしたいだけなら)、DataTable の Select メソッドを使えば、検索(抽出)した結果が配列で取れるので、

Dim filter As New Text.StringBuilder
filter.Append("hoge_time >= #" & hogeTime.ToString & ".00000# Or hoge_time <= #" & hogeTime.ToString & ".99999#")
Dim drList() As DataRow = ds.hoge_table.Select(filter.ToString)
For Each dr As HogehogeDataSet.hoge_tableRow In drList
    dr.key1 をほげほげ~
Next

という感じで良い。

ステップ数は変わらないけど、抽出のためだけにビューを作らないので俺はこっちの方が好みだな。
ソートする時はどうしようもないけど(^^;

一応、メモ代わりに書いとくなり。
先週の徳山遠征。2軒めにたどり着くまでがけっこう大変だった。

N◎君が気になる店をピックアップしてきてたんだけど、18時すぎの時点で満席で蹴られてしまった。
まあ、カウンターと小さなテーブルがあるだけの小さな店だったんだけど。

その後も、徳山の町をぶらぶらと歩きながら目についた店に飛び込んでみたりしたのだが、どこも満席で駄目。
何か、景気がいいじゃねえか、徳山!
N◎は「駅ビル建設とかで作業員がいっぱい来てるんじゃないか。単なる建設バブルじゃねえか」って言ってたけど、俺らがいかにも美味そうな店、つまり人気店を狙い撃ちしてただけって気もするな(^^;

ということで、多分、二軒目の店に行く前にちょっと道に迷った(;_;)時間も入れると、小一時間くらい徳山の町をさまよってたんじゃないかな(^^; 運動不足の中年男子には厳しい話じゃ(^^;;;

20140830_toyomaru1.JPG
「もう、チェーンの居酒屋でいいから、どっかはいろうぜ!」と、結局選んだのが「豊丸水産 徳山駅前店」。
関東の方には何店かあるチェーン店のようだが、広島・岩国方面では見たことがなかったので選択。
それに、ここ、俺が好きな「自分で焼いて食べる店」のようだ。

この店も、とりあえず席は埋まっていたのだが(どうした徳山!)、二階の座敷は相席可能とのこと。
相席といっても、8人席を真ん中でカーテンで仕切っているということだったので全然OK。
こうして、俺らはやっとヤンキーカップルがいちゃいちゃしながら呑んでる席の隣に落ち着くことができたのである(^^;

で、この店、お通しが笑った。

いきなり店員が魚介類をたんまり載せた大皿を持ってやってきて、「お通しです」と言う。
「え?これが!?」とあまりの豪快さに驚いたんだけど、実際はこの中から一品選ぶようだ。まあ、そりゃそうだよな(^^;

ということで、わしらはハタハタの一夜干しを選択。一人二尾ずつ。
いやあ、でも、これでも十分豪快じゃのお(笑)

20140830_toyomaru2.JPG
これを、目の前のガスコンロで自分で焼いて食べる。
最近、この「ガスコンロで自分で焼く」っていう店、増えてきたよね?特に「魚」とか「水産」とか、そんな単語が店名に含まれている居酒屋にけっこう導入されてきているよな。まあ、自分で焼くのが大好きな俺にはうれしい話だが(笑)

で、ハタハタ、美味かったわあ。
これが付き出しとか最高やね。

この店、実はビールは不味かったんだけど(アサヒドライなんだけど、賞味期限切れのような、なんか気の抜けた味(^^;)、とりあえずはハタハタに免じて許すわ(笑)

・・・ということで、「豊丸水産 徳山駅前店」の話はもう少し続く。たぶん。
結局、これってミリ秒までマッチングする必要がないのなら、格納時に、

Dim hogeTime As DateTime = Now

じゃなく、

Dim hogeTime As DateTime = CDate(Now.ToString)

みたいにして、ミリ秒を削った時間(まあ、実際は 0ミリ秒になるってことだけど)をセットしてやれってことか。

こうすると、hogeTime には実際の時刻が 2014/09/04 18:37:36.5685248 であろうと、2014/09/04 18:37:36.0000000 という値がセットされるので、

dv.RowFilter = "hoge_time = #" & hogeTime & "#"

という条件でマッチングするようになる。

dv.RowFilter = "hoge_time >= #" & hogeTime.ToString & ".00000# Or hoge_time <= #" & hogeTime.ToString & ".99999#"

みたいに長ったらしい条件書かなくてもいい。

つーか、この長ったらしい条件、やっぱダメだよね。
例えば、これじゃあ 2014/09/04 18:37:36.9999999(小数点以下 7桁)の時間はマッチしないよね。条件が <= 2014/09/04 18:37:36.99999(小数点以下 5桁)だから。18:37:36.9999900 ってことだもんね。
いや、それは小数点以下の桁数を 7桁にして <= 2014/09/04 18:37:36.9999999 となるようにすればいいやん・・・と思うかもしれんけど、小数点以下の最大桁数って、これ、絶対固定なの?

今、仕事で使っている Windows 8.1 Pro(64bit)の VB.NET で確認すると、7桁まで取れるようなんだけど(ToString("yyyy/MM/dd HH:mm:ss.FFFFFFFF") みたいにミリ秒以下を 8桁にすると例外エラーで落ちる)、これ、32bit 版でも一緒なの?あるいは、今後 CPU のビット数や OS のバージョンが上がっても、絶対 7桁なの?12桁とかにならないの?

そのあたりが担保できない限り、やっぱミリ数は含めるべきじゃないよね。青天井で桁数増えていく可能性あるんだから。この辺、「Microsoft の勝手」の世界だよね?
今は <= 2014/09/04 18:37:36.9999999 が有効でも、何年か後はわからんってことよね。

ということで、時間は CDate(Now.ToString) して突っ込んじゃうのが一番安全そう。

「業務アプリケーション」でミリ秒まで必要なケースって糞レアだからな(笑)
そういえば、トランザクションって DB を CloseConnection した後も生きてるんだっけ?

あるフレームワークを使って VB.NET の開発をしてるんだけど、DB を参照しかしない場合も、DB への OpenConnection 後で BeginTransaction が実行される。

まあ、DB を更新をした場合は、必ず CommitTransaction か RollbackTransaction 実行して処理を抜けるんだけど、参照しかしなかった場合はその処理を書いてなかった。
というのも、処理は全て try/catch/finally 文で囲まれていて、finally で DB への CloseConnection 処理を実行してるので「DB から切断するからトランザクションも終了するわな」とか思ってた(^^;
でも、実際には終わってなくて、次に BeginTransaction した時に、「トランザクションが開始されてます」のエラーになっちゃう。

いやあ、俺がまだこのフレームワークに慣れてないのと、他にちょっと疑わしい点があったので、結局そっちの的外れな方をいろいろ調べてて、今日の午前中を無駄に過ごしてしまった(^^;

しかし、DB から切断しても Transaction って生きてるものなのね(^^;(時間が経つとタイムアウトなのかなんなのか自動で死んじゃうみたいだけど)
これまで、ずっとそんなことは意識せず生きてきたわ。
てか、自分でフルスクラッチでプログラム作る時は、参照だけの時にもトランザクションを実行するなんてことないからな(^^;

やっぱ、たまに他社のプロジェクトに入ると色々勉強になるなあ(^^;
先週土曜日は久しぶりの徳山遠征であった。
いや、単に徳山まで飲みに出ただけの話だけどね。

20140830_densuke1.JPG
玖珂駅でN◎君と待ち合わせ、16:28 発の岩徳線でいざ徳山へ!
ちょっと時間的には早いんだけど、せっかく徳山まで飲みに出るんだから、三軒くらいは回りたいからな。なにせ遠征なので(笑)

しかし、徳山駅に着いたのは(当然だけど(^^;)17時ちょっと過ぎ(^^;
さすがに 17時から飲める店は少ないのだが、N◎君が事前にネットで知らべたところ「でんすけ 本店」というおでん屋は 17時からやっているらしい。

「早い時間から店を開けてるおでん屋だから、どうせ人間のクズのようなヤツらが酒を求めて集まってきている小汚い店なんだろうな。」とワクワクしながら俺たちは店に向かった。
いやあ、そういう小汚い店が落ち着くのよ(笑)

20140830_densuke3.JPG
しかーーーし、予想に反して「でんすけ」は小綺麗な店であった。
カウンターなんかもまだ新しくて、店内は非常に清潔的であった。
そして、けっこう人気のある店のようである。俺らが17:30頃行った時にはすでにカウンターが埋まりそうで(てか、一階にはカウンター席しかない)、俺らも一番奥になんとか席を確保できたような状態だった。

そして、料理も良い感じよ。

おでんの出汁が上品で美味かった~
値段の方は、1個100円と200円。俺ら肥満族が好むようなおでん種は軒並み 200円だから、いつものような食べ方してると少し高くつきそう。いつも1個100円オンリーとか、そういうところで飲んでるからなあ(^^;
でも、まあ、実際のところ、内容から考えれば決して高くはないというか、まあ納得できる値段じゃね?
20140830_densuke2.JPG
この日は結局、一人 1,800円くらい。
生中一杯と、300mlの吟醸酒「中島屋」(周南市 中島屋酒造場)を二人で分けて飲んでこの値段だから、ま、ちょい高くらいの金額か。

そのほかに、地ダコのサラダやキスの天ぷらなんかを頼んでみたが、どれも美味しかった。

この店には、俺の大好きな馬刺しやクジラの肉も色々あるんだけど、この日はこの店で軽くやって、次の店で本格的に飲もうという予定だったので手を出さず。
ぜひ、今度もう一度行って食べてみたいですな。
あと、VB.NET で「え?こんな面倒なことしないといかんの?」という話だと、「バイト数での文字列の分割」かなあ。

「全角文字を途中でぶった切ってしまうことは在り得ない」という条件での処理なので、「文字列の最後が『全角文字の前半分の1byte』じゃないか?」みたいなややこしいチェックはしないでいい。だから、純粋に「byte 数で文字列を分割できる split や substr」みたいなのがあれば嬉しかったんだけど、無いのね、そんなの(^^;
ちゃんと「byte 数」じゃなく「文字数」としてアレコレ処理してくれるようで、有難迷惑だなあ(^^;

今回は、

'わたしは慎吾   00100100'
'あの子はチンコ 00001110'
'あたいは茜     00101011'

みたいなデータ(固定長)を、15byte と 8byte にぶった切りたいだけ。
例えば、「わたしは慎吾   」と「00100100」という具合に。

あれこれ試して、

Dim bytes() As Byte = System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes(hogehoge)
Dim byteF() As Byte = CType(Array.CreateInstance(GetType(Byte), 15), Byte())
Dim byteR() As Byte = CType(Array.CreateInstance(GetType(Byte), 8), Byte())
Array.Copy(bytes, 0, byteF, 0, 15)  ' 1~15byte
Array.Copy(bytes, 15, byteR, 0, 8)   ' 16~23byte
Dim strF As String = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(byteF)
Dim strR As String = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(byteR)

※hogehoge に「わたしは慎吾   00100100」のような文字列が入っている。

とかしたんだけど、上に書いたように「全角コードを跨ぐことはない」ので「全角コードである」ということを意識する必要もないのに、なんか、Shift_JIS エンコードしてからバイト文字列に分割したりと面倒臭いことこの上無い。

もっとスマートな方法があると思うので、ぜひ、VB.NET マスターの方はコメントを!!(笑)
VB.NET の話。

最終的にソートをしたいので、DataSet から

Dim dv As DataView = ds.hoge_table.DefaultView

という具合に DataView を作成し、その中からある日時のデータ(行)だけ抜き出そうとした。
抜き出した後にソートしたいわけね。

具体的には、send_time というカラムに 2014/09/03 17:51:29 と入っている行を抜く。

そこで、

dv.RowFilter = "send_time=#" & hoge_time & "#"

としてみたが、抜き出した行数 0 なのである。(hoge_time 変数には 2014/09/03 17:51:29 という時間が DateTime 型で格納されている)

イミディエイトウィンドウで RowFilter の内容と、データを(試しに200件目のデータを)確認すると、

?dv.RowFilter.ToString
"send_time=#2014/09/03 17:51:29#"
?ds.hoge(200)(68).ToString
"2014/09/03 17:51:29"

と、どっちも 2014/09/03 17:51:29 やないけ!!?
なんで抜けんの?

・・・と少々ハマったが、どうやら DataSet に入っている日時はミリ秒まで格納されているらしい。
ToString では表示されないけど。

なので、秒までの時間でマッチングさせようとすると、

dv.RowFilter = "send_time >= #" & hoge_time.ToString & ".00000# Or send_time <= #" & hoge_time.ToString & ".99999#"

としないといけないようだ。
これで、RowFilter は、

?dv.RowFilter.ToString
"send_time >= #2014/09/03 17:51:29.00000# Or send_time <= #2014/09/03 17:51:29.99999#"

こうなって、無事マッチングした行が抜き出せたのである。

面倒くせぇ~!!(^^;

なんか、他に方法があるのかもしれないが、結局見つけ出せず。
「もっとスマートな方法があるぜ!」という .NET マスターは、ぜひここにコメントを!(笑)
昨日は西広島駅近くの踏切の異常で遅れたJR山陽本線だけど、今日は可部線との連絡の関係でやはり遅れた。
まあ、可部線に関しては昨日から運転再開したばかりなんで仕方ないよね。

ところで、その遅れを知らせる車内放送があかんかった(^^;

声からすると、それなりの経験のある中年男性という感じだったが、ひたすら「ご迷惑しております」を連発するのである。

「列車が遅れまして、まことにご迷惑しております」と。

いや、お前に迷惑なんかかけてないわっ!と心の中でツッコんでたよ(笑)

「列車が遅れまして、まことにご迷惑をおかけしております」だろ。

まあ、おかげで横川駅の二駅前で目が覚めたのでよしとするがな(笑)
やっと徳山駅前の屋台のラーメンを食べることができた。
屋台の名前は忘れたけど、駅を出て右手にいつも開いてるあの屋台ね。けっこういつも人が多い。

20140830_yatai1.JPG
徳山に飲みに出たときは、だいたい最後の店で電車の時間ぎりぎりまで飲んでしまって、鬼のように走って駅に向かうというパターンが多かったので、気にはなっていたものの、なかなか寄ることができなかったのだ。
しかし、今回は最後の店で飲んでる途中で奇跡的にこの屋台のことを思い出し、同行してたN◎君に「俺、駅前の屋台のラーメン食いたいので、今日は余裕をもって出ようで」と伝えることができたのであった。

・・・ま、結局、下に書いたとおり、余裕なんかなくてぎりぎりだったけど(^^;

確か、最終は 22:20過ぎ頃だったはず・・・というあやふやな記憶で屋台についたのが 22:05頃。
屋台のラーメンは出てくるのも早いので、15分あったら余裕やで!と思っていたのだが、ここで衝撃の事実が判明したのである。
なんと、岩徳線岩国行の最終は 22:16 だったのであった。

がぜん、やばい感じになってきたぜ!(^^;
駅行って切符買ってという時間が 2分かかるとしたら、22:14には屋台を後にしないといけない。
ラーメンが出てきた時点で、すでに 22:09だ。しかもスープはむちゃくちゃ熱々やで!
分単位のスケジュールで、この熱々の豚骨ラーメンを食わないといけないのか!!

20140830_yatai2.JPG
ま、食いましたけどね。

味の方は、まあ、こんなもんか。可もなく不可もなし。普通の豚骨ラーメン。
いつも客が多いので期待してたんでちょっと拍子抜けだったけど、まあ、ほんと、「中の中」という味で、飲んだ帰りに屋台で食って帰るラーメンの味としては問題無しかな。
チャーシューは俺の好みとはちょっと違ってた。でも、麺の茹で具合は完璧!ばっちりよ!
「また是非来たい!」とまでは思わないけど、また時間に余裕があれば寄ってもいいかなと思う。

ちなみにお代の方は、ラーメン 600円、ビール大瓶 450円、ぎんなん(おでん)100円でありました。
この夏は俺の仕事がムチャ忙しかったのと(今もですけど)雨が多かったせいで、庭の雑草がすごいことになっていて、ついに芝生は諦めて除草剤をまこうかと思ってる今日この頃なんですが、ミント、すごいね(^^;

20140831_mint.JPG
もう何年も前に、ミントを玄関先の樹の下に植えてそのまま放置してるんだけど、毎年勝手に青々と伸びてきますよ(笑)
他の雑草よりよく育ってますからね(^^;
ハーブって言っても、しょせん元は単なる雑草というのがよくわかりますな。

この辺の草引きをしていると、そこはかとミントの爽やかな香りがしてきてそれは良いんだけど、何の手入れもしてないので、つぶしてジンのソーダ割りなんかに浮かべても、少し青臭い香りがして今ひとつ(^^;

でも、この間、庭で小1の娘とボール遊びをしたんだけど、娘が汚れたボールをタオルで拭いた後、このミントの葉をボールに擦り付けて「あー、良い香り」と恍惚とした顔をしてるのが大変笑えたので、こんなミントでも何かの役には立っているのだなあと思った(笑)

このアーカイブについて

このページには、2014年9月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2014年8月です。

次のアーカイブは2014年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら