トワイライト!!

先日書いたトワイライトエクスプレスの再活用。

トワイライトエクスプレス 寝台特急の旅

阪急交通社特設ページより

いよいよ阪急交通社からツアーが発表されたが、2泊3日で35万円から…とななつ星in九州を意識した、なんともゴージャスな設定に吹き出しそうになった。

ミシュランガイドにも掲載された二日市温泉の大丸別荘に1泊し、翌日に下関からトワイライトエクスプレスに乗車するという行程は全くの想定外で期待外れ。

「やっぱり狭き門になりそうな予感…」と言いつつも下関発が設定されるという事から名古屋への帰省でちょっと贅沢するのもありかな…と淡い期待を抱いていたのだが、さっそく将来のTWILIGHT EXPRESS 瑞風を睨んだ方向でくるとはねぇ。

これなら豪華編成で復活した寝台特急「北斗星」で札幌経由の方がよほど安上がりだな。

参照

マイナビニュース http://news.mynavi.jp/travel/train/

トラベル Watch http://travel.watch.impress.co.jp/

阪急交通社 http://www.hankyu-travel.com/

Wikipedia http://ja.wikipedia.org/wiki/

pt1環境改善

ログが闇雲に/var/log/syslogに出力されるのがうっとおしいので、pt1関係のログを/var/log/pt3.logに集約するようrsyslogの設定ファイル/etc/rsyslog.d/40-PT3.confを作成。 プレフィックスを40番にして& stopで/etc/rsyslog.d/50-default.confに渡す前に止めてしまうのがポイント。

yano@GT110b:~$ cat `/etc/rsyslog.d/40-PT3.conf`
# Log kernel generated PTx log messages to file
:msg,regex,"PT[0-9]: " `/var/log/pt3.log`
# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated PTx log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
#& ~
& stop
yano@GT110b:~$

pt1_drvはプレフィックス"PT1:“が一部にしか入ってなかったので、printkの"PT1: “を追加する。但し、“PT1:“とか"PT2:“とか入っている場所もあるので、“PT1: PTn:“となっている箇所は"PTn: “となるよう再度置換する。

yano@GT110b:~$ TMPDIR=/var/tmp/pt1_drv
yano@GT110b:~$ mkdir $TMPDIR
yano@GT110b:~$ for f in `fgrep -l printk /usr/src/pt1-chardev-1.1.0/*.c`;do sed -e "s/\(^.*printk(KERN_[A-Z]* \"\)/\\1PT1: /" $f | nkf -w -Lu > $TMPDIR/$f;done
yano@GT110b:~$ for f in $TMPDIR/*.c;do sed -e "s/\"PT1: \(PT[0-9]:\)/\"\\1 /" $f > /usr/src/pt1-chardev-1.1.0/$f;done
yano@GT110b:~$

でもって、DKMSモジュールをrebuild。

BAL No.1734

2011年調達の、オートバイ・軽自動車用バッテリー充電器BAL No.1734

タクトスイッチに接点復活剤をシュー

BAL No.1734のスイッチ

昨年あたりからモードスイッチの反応が悪くなってきたのを思い出したので、そろそろバッテリーがへたってきたのかな…と調べてみたところ「タクトスイッチがすぐ壊れる」という記事が散見している事に気付いた。

「タクトスイッチ」自体は数十円程度で調達可能な汎用電子部品。Prime Magnateの電源スイッチ修理を思い出して、土曜日にマルツパーツ博多呉服町店で調達してきたが、分解する前に「三角ネジ」の壁にぶち当たるとの噂通り難儀。

取り敢えず、ボタン部分を剥いで5-56やパーツクリーナーを吹きつければ復活するという話もあったのでダメ元でトライしてみたところ、見事に復活。

…したかに思えたが、月曜朝には不良再発。1日しか保たなかったようだ。

長年愛用のサンハヤトの接点復活剤も、よくよく考えれば数十年の年代物だけにもはや神通力も衰えたかな。

参照

貧乏オヤジの釣りとかバイクとか http://blogs.yahoo.co.jp/ss_fireblade

マルツオンライン http://www.marutsu.co.jp/

大橋産業株式会社 http://www.bal-ohashi.com/

親の監督責任

子供が蹴ったボール避けて発生した事故で最高裁が「親は賠償責任を負わない」と判断したニュースの違和感。

サッカーボール事故の現場を説明する男児の父親=3月31日、愛媛県今治市

産経ニュース記事より

3月に

2審判決によると、愛媛県今治市で平成16年2月、バイクを運転していた当時80代の男性が、校庭から転がり出たサッカーボールを避けようとして転倒、足を骨折。直後に痴呆の症状が出て、事故から約1年半後に男性は肺炎で死亡した。男性の遺族が約5千万円の賠償を求め提訴し、1審大阪地裁は元少年の過失を認めた上で監督者の両親に責任があるとして約1500万円の賠償を命じた。2審大阪高裁も、減額したものの両親の監督責任を認めて約1100万円の支払いを命じた。

と報じた産経新聞自体、今回ボールよけ転倒死と報じており、またしてもマスメディアによるミスリードの気配がプンプン。

先の記事を読む限り、どう考えても「転倒により死亡したわけではない」ように思えるし、転倒死亡事故だとしても子供の親に対して1千万円以上の支払いを命じた判決の方に違和感がある。そもそも、学校や公園の近くでは「ボールが転がってくる」とか「ボールを追いかけて子供が飛び出してくる」のは少なくとも運転者としては予見して然るべき事項ではないかと思うし、二輪車にとって転倒事故は宿命と言っても過言では無い。

被害者救済の観点と言っても、そこは万が一に備えてしっかり任意保険で手当しておくのが良識あるライダーの責任だろう。聞くところに因ると85歳被害者は病床で男児を元気づけていたという話もあるので、やっぱり裏事情がありそうだ。

取り敢えず、写真を見る限り「学校のフェンスの高さが不十分」であるのが一番の問題じゃ無いかと思うのだがね。

参照

ハフィントンポスト http://www.huffingtonpost.jp/

弁護士ドットコム http://www.bengo4.com/topics/

産経ニュース http://www.sankei.com/

毎日新聞 http://mainichi.jp/

ガジェット通信 http://getnews.jp/

歓迎遠足

土曜日ですが、幼稚園の歓迎遠足と言う事で舞鶴公園へ。

福岡城趾で石垣登り

舞鶴公園にて

名物のソメイヨシノは散ってしまいましたが、枝垂れ桜がなかなか見応えがありました。

進級園児なので歓迎する方ですが、昨年は雨で中止となったので今年が初めての歓迎遠足となり、親の方は勝手がわからずおろおろ。

子供達はサクラそっちのけで、福岡城趾の石垣を登って「忍者ごっこ」に夢中。何度も繰り返して登ってました。ケガも無く、みんな元気で何よりでした。

参照

緑のまちづくり 公益財団法人 福岡市緑のまちづくり協会 http://www.midorimachi.jp/

Wikipedia http://ja.wikipedia.org/wiki/

リニア体験乗車募集

今年度も「超伝導リニア体験乗車」の募集開始との事。

JR東海、2015年度第1回目の「超伝導リニア体験乗車」を4月10日10時より募集

トラベル Watch記事より

各回110席、1区画2席で4320円ですか…

いい値段だねぇ。

参照

トラベル Watch http://travel.watch.impress.co.jp/

マイナビニュース http://news.mynavi.jp/

超電導リニア Superconducting Maglev http://linear.jr-central.co.jp/

Software Design

ところで技術評論社ソフトウェアデザイン

1990~2000と2001~2012

Software Design総集編

思い起こせば、関東在住時代には創刊から毎月買っていたハズだが、気が付いたら一冊も無い。福岡へUターンする時に処分しちゃったんだっけかな…?

うんこ演算を支えるUnkoScript』を読んでみたかったのだが、あいにくSoftware Design 2011年12月号は完売していて、中古の流通も期待薄。

…と思ったら、12年分の144冊、2万8000ページ超の記事をPDF化してDVD-ROMに収めたSoftware Design総集編 【2001~2012】に気が付いた。

PDFなので本棚を占領しないし、タブレット端末などでちょっと時間が空いた時にでも気軽に読めるのがいいね。

というわけで、Software Design総集編 【1990〜2000】と合わせて合計23年276冊分の総集編を調達。

参照

本を読む http://emasaka.blog65.fc2.com/

技術評論社 http://gihyo.jp/

Wikipedia http://ja.wikipedia.org/wiki/

Amazon.co.jp https://www.amazon.co.jp/

うんこ演算

たまたま目に入った本を読む 「Software Design」12月号で気になったうんこ演算

うんこ演算(小学生用)

うんこ演算 子どもの算数を面白くする計算ドリル

「三度の飯よりうんこが好き」とか、まさにその通り。小学校高学年の男子に見せたらテンションMAXだよね。

我が家のヨンサイジーも大喜びしそうだが、演算となるとちょっと難しいかな。

…ていうか、90問の問題からランダムに10問出題され、カギとなる数値もその都度変化する実装になっているそうなので、同じ問題に出喰わしても記憶で答えられる事は無く、しっかりと理解していなくては正解できない事になる。

つまり、ウケ狙いの「おバカアプリ」ではなく、大人でもなかなか侮れない真面目な計算ドリルソフトなのだが、最初に開発したiOS版は"うんこ"がNGワードとなりApp Storeの審査に落ちてしまったという悲しい経緯もあったそうだ。

そういうわけで、再起を図ったAndroid版では審査を通りようやく陽の目を見る事ができたので感謝を表す390円にしたという。App Storeだと1ドル相当のレートに縛られた値付けしかできないそうなので、そのあたりもGoogle Playならでは。

最近のAppleはなかなか融通が利かなくなっている気がするな。

参照

ITmedia Mobile http://www.itmedia.co.jp/mobile/

たつ人 http://www.tatsuzine.com/

andronavi http://andronavi.com/

Google Play https://play.google.com/

面白法人カヤック http://www.kayac.com/

Wikipedia http://ja.wikipedia.org/wiki/

MagicalFinder対応

3日のMagical Finder対応改善。LANDISKGT110bRockDiskNextの3ノード分のメッセージ送信を、クライアントからのUDP/51065トリガーに対してオンデマンドで繰り返すように改修。これをdaemon起動しておけばよさそうだ。

yano@GT110b:~$ cat `~/MagicalFinder/mf_all_nas.py`;
# -*- coding: utf-8 -*-
import socket
import sys
MAGICAL_PORT = 51065
###########################################################
# for GT110b (192.168.199.1)
###########################################################
def make_GT110b():
    payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([192,168,199,1])                 # NAS ip address
    payload.extend([255,255,255,0])                 # subnetmask
    payload.extend([192,168,199,254])               # gateway
    payload.extend([0x00, 0x50])                    # length ?
    payload.extend([0x94,0xde,0x80,0xXX,0xYY,0xZZ]) # MAC address
    payload.extend("GT110b@BRAVOTOURING")
    payload.extend([0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend("IO-DATA")
    payload.extend([0,0,0,0,0,0,0,0,0,0])
    return payload;
###########################################################
# for LANDISK-AV (192.168.199.20)
###########################################################
def make_LANDISK():
    payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([192,168,199,20])                # NAS ip address
    payload.extend([255,255,255,0])                 # subnetmask
    payload.extend([192,168,199,254])               # gateway
    payload.extend([0x00, 0x50])                    # length ?
    payload.extend([0x00,0xa0,0xb0,0xXX,0xYY,0xZZ]) # MAC address
    payload.extend("LANDISK@WORKGROUP")
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend("IO-DATA")
    payload.extend([0,0,0,0,0,0,0,0,0,0])
    return payload;
###########################################################
# for RDN021 (192.168.199.21)
###########################################################
def make_RDN021():
    payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([192,168,199,21])                # NAS ip address
    payload.extend([255,255,255,0])                 # subnetmask
    payload.extend([192,168,199,254])               # gateway
    payload.extend([0x00, 0x50])                    # length ?
    payload.extend([0x00,0x01,0xd2,0xXX,0xYY,0xZZ]) # MAC address
    payload.extend("RDN021@BRAVOTOURING")
    payload.extend([0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend([0,0,0,0,0,0,0,0])
    payload.extend("IO-DATA")
    payload.extend([0,0,0,0,0,0,0,0,0,0])
    return payload;
#-------------------------------------------------------------------------
#   top of send_magical
#-------------------------------------------------------------------------
def send_magical(sock):
    dest_address = ('255.255.255.255', MAGICAL_PORT)
#   print >>sys.stderr, 'send to %s port %s' % dest_address
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    sock.sendto(make_GT110b(), dest_address)
    sock.sendto(make_LANDISK(), dest_address)
    sock.sendto(make_RDN021(), dest_address)
    return;
#-------------------------------------------------------------------------
#   top of main
#-------------------------------------------------------------------------
def main():
    # Create a UDP/IP socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # Bind the socket to the port
    server_address = ('0.0.0.0', MAGICAL_PORT)
    print >>sys.stderr, 'starting up on %s port %s' % server_address
    sock.bind(server_address)
    while True:
        data, address = sock.recvfrom(4096)
        if 0 < data.find("FROM-PC\x00") :
            send_magical(sock)
#-------------------------------------------------------------------------
#   end of main
#-------------------------------------------------------------------------
if __name__ == '__main__':
    main()
# vim:expandtab:ts=4
yano@GT110b:~$ while true;do python `~/MagicalFinder/mf_all_nas.py`; sleep 3;done

参照

AV Watch http://av.watch.impress.co.jp/

NETGEAR GS105E

2013年秋に発表されたプラネックスFXG-05RPT

アンマネージプラス・スイッチ GS105E

ネットギア GS105E

絶滅の危機に瀕していたリピーターハブとして貴重な新製品という事でパケットキャプチャな世界では注目を集めていたものの、いかんせん1万円を超える価格だけに手をこまねいていたのだが、CDレコとMagical Finderの解析を行うにあたってパケットキャプチャは不可欠。

まぁ、取り敢えず「ポートミラーリング」や「フラッディングモード」に対応したスイッチングハブが安く出てないかなぁ…と思ってヤフオク!を物色してみたところ、ネットギアアンマネージプラス・スイッチ GS105Eが「ポートミラーリング」に対応している事がわかった。しかも、新品でも4千円程度というお手頃さだ。

というわけで、速攻でギガビット5ポート アンマネージプラス・スイッチ GS105E-200JPSをポチッとし、Magical Finderの解析を完了。

とは言え、複数のギガビットポートを1つのギガビットポートに「ミラーリング」出力する事になると、当然ながら溢れてキャプチャし損なうケースも考えられる。プロとして万全を期するならフローコントロールでパケットロスを防止できるリピーターハブは欠かせないところだし、再び絶滅の危機に瀕しない保証は無いので、手に入るうちに調達しておきたい。

2013年12月にはIODATAからもBX-MR1が発表されていたが、こちらはLANケーブルに割り込ませるような想定で2ポートしか無い事から、5ポートあるFXG-05RPTの方が使い勝手は良さそうだね。

参照

INTERNET Watch http://internet.watch.impress.co.jp/

ネットギア https://www.netgear.jp/

プラネックス https://www.planex.co.jp/

IODATA アイ・オー・データ機器 http://www.iodata.jp/

価格.com http://kakaku.com/

Wikipedia http://ja.wikipedia.org/wiki/

Amazon.co.jp https://www.amazon.co.jp/