おくればせながら、新年明けましておめでとうございます。本年もよろしくお願いいたします>皆様方
さて、新年ということでもちを家でついた分で雑煮を作ったりして楽しんでいます。おせちはあんまり好きではないですが、雑煮は大好きです。ちょこちょこバリエーションを変えつつ、基本的な雑煮を作ります。たいがいしょうゆ味が多くて、たまにみそ味。あ、香川出身ではないので、あんこモチは入れないですよ。
お雑煮のいいところとしては、
1.お手軽に作れる
2.野菜、肉魚類と、栄養バランスもばっちり
3.もちなので、おなかがふくれて満足
4.汁も飲めて、体があったまる
ということで、冬にはもってこいの食事ですからねー。ちなみに、下の写真は12/28日ごろに作ったフライング雑煮です。お正月もへったくれもありませんが(w
実家に帰省している間、自宅にあるWindowsな録画マシンの状態をチェックしたら、なんと年末から1つも録画されていなかったことが判明。ちょっとショック。でも、まあTVはそれほど見ないのでたいした被害はないですが。ということで、LinuxマシンからルータとLAN内のLinuxマシンを通じて、LAN内のWindowsマシンを操作するときのメモ。
□ ssh経由でリモートからrdesktopをする際のメモ |Linuxマシン|=======インターネット=====|ルータ|----|Linuxマシン|---|Windowsマシン| * ルータはsshのポート(22番ポート)を"アドレス変換"機能などの設定をして、ポートを空けておくこと。 * リモートのLinuxマシンには、rdesktopコマンドがインストールされていること。 Debianの場合であれば # aptitude install rdesktop を実行してインストーしておく。他のディストリビューションでは、それぞれ合った方法でインストールする。 * Windows XP Proなど、リモートデスクトップ機能のあるWindowsで コントロールパネル→「システム」→「リモート」タブで「リモートデスクトップ」 の項目にチェックを入れて有効にしておく。 * 設定方法 1.sshのポートフォワード機能を利用して、3389番ポートを転送させる ssh -L 3389:(LAN内のWindowsマシンのIP):3389 (ユーザ名)@(ルータのグローバルIP) 例) ssh -L 3389:222.222.222.222:3389 user@111.111.111.111 この際、ターミナルを閉じるとセッションが切れてしまうので ポートフォワードを利用する間は、ターミナルは開いたままにしておく。 2.rdesktopコマンドを利用してリモートデスクトップを使用 rdesktop localhost:3389 データ圧縮等を行って転送量を節約する例 例) rdesktop -z localhost:3389 ...データ圧縮を行う rdesktop -z -a 16 localhost:3389 ...さらに色数を16ビット色に制限 rdesktop -z -a 16 -g 1024x768 localhost:3389 ...さらに解像度1024x768に設定 * 参考URL 詳細オプション等は、man sshやman rdesktopで確認のこと。 @IT - リモートから「リモート デスクトップ」を許可する http://www.atmarkit.co.jp/fwin2k/win2ktips/564rdpconf/rdpconf.html @IT - ターミナル・サービス/リモート・デスクトップ接続のポート番号を変更する http://www.atmarkit.co.jp/fwin2k/win2ktips/341termport/termport.html
進捗状況を表す"グルグル"を書いてみましたよ。FreeBSDとかKnoppixのハードウェア認識などで、|/-\の記号がぐるぐるまわってるアレですよ。アレ。何と呼ぶのか知りませんが、knoppixのhwsetupではstartwheelという表現で書かれてました。ともかく、IRC上でこのことがネタに登った際に、コンソール上で進捗状況を表すシェルスクリプトを書いてみたときのメモ。
□ knoppixのグルグルをシェルスクリプトで実装してみた例 具体的なスクリプトは、さらに下の方の記事を参照。 □ シェルスクリプトでの例 (単なるグルグル) 実行を止めるには、Ctrl+Cで。 ---------------------------------------- #!/bin/bash while :;do for c in \| / - \\; do echo -ne "\b$c"; sleep 0.2; done; done ---------------------------------------- これを開いて分かりやすくしたものが下記。 ---------------------------------------- #!/bin/bash while :; do for c in \| / - \\; do echo -ne "\b$c" sleep 0.2 done done ---------------------------------------- □ シェルスクリプトでの例 (ファイルを見つけるまでグルグル) 下記の内容を、hoge.shなどのファイル名で保存し $ bash hoge.sh などで実行してグルグルさせておく。別ターミナルを開き、 $touch hoge.txt などを実行してhoge.txtファイルを作成すれば、スクリプトは終了する。 ---------------------------------------- #!/bin/bash filename="hoge.txt" echo -n "Finding $filename... " until [ -f $filename ]; do for c in \| / - \\; do echo -ne "\b$c" sleep 0.2 done done echo -e "\n$filename found!" ---------------------------------------- □ Knoppixでの実装例 http://debian-knoppix.alioth.debian.org/sources/hwsetup_1.2-7.tar.gz 上記ファイル中のhwsetup.cの一部抜粋 ---------------------------------------- pid_t startwheel(void) /* Feedback while detecting hardware */ { char v[]="Autoconfiguring devices... "; char r[]="/-\\|"; char *b="\b"; pid_t pid; if((pid=fork())>0) return pid; /* return Child PID to Master process */ else if(pid==0) { int i,j; /* Allow killing of process */ signal(SIGHUP,SIG_DFL); signal(SIGINT,SIG_DFL); signal(SIGTERM,SIG_DFL); write(2,v,sizeof(v)-1); for(i=j=0;;i++,j++) { if(j%8==7) write(2,"\033[42;32m \033[0m",13); /* a green space */ write(2,&r[i%4],1); write(2,b,1); usleep(40000); } exit(0); /* Exit child process */ } return 0; } ---------------------------------------- 該当の箇所は、16行目のforループ中で、18行目で8回に1回緑の空白を出力し 19行目で|/-\の記号とバックスペースを出力し、20行目で0.04secの待ちが入っている。 □ knoppixのhwsetupをシェルスクリプトで書いてみた例 ---------------------------------------- #!/bin/bash ary=(\| / - \\) for ((i=j=0 ;; i++,j++)); do if ((j % 8 == 7)); then echo -ne "\033[42;32m \033[0m" # write green space fi echo -ne "${ary[$i % 4]}" echo -ne "\b" sleep 0.04 done ---------------------------------------- 7行目のエスケープシーケンスで色を指定している箇所を変更すると 色を変更することができる。 \033はESC(エスケープシーケンス)を表す。\x1bとしても同等の意味を持つ。 [(数字)mの箇所は、色を表す。[0mは既定値に戻す。 42は背景色を緑に、32で文字色を緑にする。 42;32の箇所を変更。 黒 40,30 赤 41,31 緑 42,32 黄 43,33 青 44,34 紫 45,35 水色 46,36 灰色 47,37 エスケープシーケンスについて http://hp.vector.co.jp/authors/VA016670/escape_code.html 5. ANSI エスケープシーケンス: 色とカーソル操作 http://archive.linux.or.jp/JF/JFdocs/Bash-Prompt-HOWTO-5.html 詳細は、man asciiやman bashなどを確認のこと。
Wikipedia - 19インチラック http://ja.wikipedia.org/wiki/19%E3%82%A4%E3%83%B3%E3%83%81%E3%83%A9%E3%83%83%E3%82%AF ITPro - 19インチラックって何だろう? http://itpro.nikkeibp.co.jp/article/COLUMN/20070912/281742/ サンワサプライ - サーバラックの選び方 https://www.sanwa.co.jp/product/furniture/server/server_select.html @IT - ラックマウント型サーバ選びの意外な落とし穴 http://www.atmarkit.co.jp/fsys/kaisetsu/030rack_mount/rack_mount.html
特定のメールを振り分けて携帯に自動転送したかったので、普段使っているメーラ Sylpheedの振り分けルールを利用した rubyスクリプトを書きました。procmail使うために.procmailrc書いてもいいんですが、必要な時に手軽に自動転送機能をON/OFFしたいとか、振り分けルールを変更したいというときに面倒なんですね。ということで、安易にSylpheedの振り分け機能を利用することにしたので、そのメモ。
□ Sylpheedの振り分け機能を利用して、条件に合ったメールを自動転送する@Linux [必要な条件] * Sylpheedがインストールされていること * rubyならびに、tmailライブラリがインストールされていること * 転送は、Sylpheedのメール受信時のアクション機能によって行うので 転送をさせるには、Sylpheedを自動メール受信設定にして 起動させ続けておく必要がある。 (その代わり、sylpheedを起動していない時には転送されないので 仕事などでの転送オン/オフの切り替えができる。) * 全てのメールを常に転送させたい場合は、転送メールサービスや プロバイダ等のメール転送サービスを利用して行うほうが確実。 ------------------------------------------------------ 1.tmailライブラリのインストール (Debian/Ubuntuの場合) # aptitude update # aptitude install libtmail-ruby1.8 2.スクリプトのダウンロードと編集 下記のリンクから直接ダウンロードします。 スクリプトダウンロード :transfer_mail.tar.gz エディタを開き、スクリプト中の -------------------------------------------------------------- SMTP_SERVER = "mail.example.com" #SMTPサーバ名 TRANS_ADDRESS = "mobile-phone@example.com" #転送先メールアドレス -------------------------------------------------------------- を自分の環境に合わせて変更します。 スクリプトでは、Pop before SMTPなどを除き、SMTP認証には対応していないので SMTP認証が必要な場合は、スクリプトを改造する必要があります。 また、添付ファイル付き等のマルチパートなメールの場合は 本文しか転送しません。 まあ、プログラムは程々にしか書いてませんが、それなりに実用にはなると思います。 3.スクリプトのコピーと実行権限の追加 解凍し、実行権限を与え、/usr/local/binなどにコピーする。 $ tar xvzf transfer_mail.tar.gz $ chmod +x transfer_mail.rb # cp transfer_mail.rb /usr/local/bin/ 4.Sylpheedの振り分けに登録 Sylpheedを開き、「設定」→「振り分けの設定」を開く。 振り分けのルールは、自分の振り分けたい条件を書いてください。 「次のアクションを実行」の項目で「コマンドを実行」を選択し、 "/usr/local/bin/transfer_mail.rb"を入力する。 「未読」の項目を追加しないと、既存のメールを振り分けた際に大量に メールが飛ぶことになるので、追加しておく。 また、振り分け条件として「次の条件のすべてが該当する場合」に 設定しておいたほうが良いと思います。 Sylpheed - lightweight and user-friendly e-mail client - http://sylpheed.sraoss.jp/ja/ Tmail - Ruby Email Handler http://tmail.rubyforge.org/
ITmedia - asahi.com「iPod課金検討」報道、文化庁「事実に反する」と抗議 http://www.itmedia.co.jp/news/articles/0801/17/news112.html asahi.com - iPodに補償金上乗せ、検討へ 文化審小委員会 http://www.asahi.com/culture/update/0117/TKY200801170220.html 文部科学省 - 文化審議会 議事録 著作権分科会 私的録音録画小委員会 http://www.mext.go.jp/b_menu/shingi/bunka/index.htm#gijiroku 新聞社系のサイトは、すぐ消えて使い物にならないので 下記で改めて引用しておく。 ----------------------------------- http://www.asahi.com/culture/update/0117/TKY200801170220.html iPodに補償金上乗せ、検討へ 文化審小委員会 2008年01月17日17時28分 文化審議会著作権分科会の私的録音録画小委員会(主査=中山信弘・東大教授)は 17日、iPodなどの携帯音楽プレーヤーや、次世代DVDを含めた ハードディスク内蔵のDVDレコーダーの価格に「私的録音録画補償金」 を上乗せするかどうかを2月以降、検討することで合意した。 iPodに補償金がかかれば、1台あたり数百円になるとみられる。 デジタル機器は楽曲やテレビ番組を同じ品質で簡単に複製できるため、 MD、DVDやレコーダーの価格に著作権者への補償金を加えている。 だが、対象となっていないハードディスクやフラッシュメモリー内蔵の 再生機器が近年、急速に広がったため、06年度の録音補償金は00年度の 4分の1強にまで減少。対象の拡大を求める著作権団体とメーカーが 対立していた。 -----------------------------------
ふと、新幹線で出張する際に、デッキでボーッと隣の線路を眺めていると、隣のレールが見える相対的な位置が、ほとんど変わらないことに気づいたので、調べてみた。
そもそも、在来線だと駅が多かったり、ポイントや鉄橋があったりすると、列車から見える隣の線路の位置はけっこう変わってしまいますね。新幹線の場合は、駅間が長いことと高架軌道で高速走行するため、隣の線路と沿って走る区間が長く、相対的な位置が変わらないように見えるのでしょう。
で、鉄道のレールのずれは「軌道狂い」と呼ばれ、主に「軌間狂い」「水準狂い」「通り狂い」「高低狂い」などをまとめた総称のことだそうです。軌間狂いは、レールとレールの間の間隔のずれのこと。水準狂いは、隣り合うレールとレールの高さのずれのこと。通り狂いとは、レールを真上から見たときの、左右方向へのずれのこと。高低狂いとは、レールを真横から見たときの、上下方向へのずれのこと。詳細は、鉄道車両Tipsのページの図を見るとよく分かるでしょう。今回のように、隣り合う列車から見たときのレールずれというのは、主に「通り狂い」のことだということが分かりました。
この通り狂いの測定は、あの"ドクターイエロー"や"黄色い新幹線"の愛称で呼ばれる電気軌道総合試験車がレーザーで計測しており、最新のドクターイエローでは、新幹線の路線を25cm間隔で0.2mmの精度で計測しているそう。ドクターイエローでの計測に関しては、日本機械保線の軌道検測の原理についてのページが詳しい。レーザーでの計測って、このようにやるんですね。
さらに調べていくと、この通り狂いの誤差がどこまで許容されるのか、というはっきりとした資料が見つからなかったのですが、どうやらレール10mあたり横方向3mmのずれであれば、修正されるそうです。ここまでの精度でレールが調整されているということを、改めて納得しました。そりゃ、270Km/h(秒速75m)で走る新幹線から見ても、隣の線路のずれが分からないわけですねー。
この保線を行う車両には、いろいろバリエーションがあるのですが、日本機械保線の保線作業の流れというFlashサイトが素晴らしい出来ですね。どのような列車がどのような作業を行っているか、一般向けにも分かりやすいFlashムービーとなっています。開発した人は"A列車でいこう"のファンだったとかかなー?保線車両は、プラッサー&トイラー社という海外メーカーが圧倒的なシェアを持っており、プラッサーの製品ページでは、多種多様な保線用車両が載っています。この業界も、一般にはあまり知られないだけに奥が深い。
コマンドオプションのヘルプを調べようとして、--helpが有効でなかったために、少し戸惑ってしまったので調べてみたメモ。
ことの発端は、画面キャプチャのimportコマンドのオプションを調べようと思って、import --helpと打ってしまったのが運の尽き。--helpというファイルができてしまい、rm --helpでもrm "--help"でも、rmのヘルプメッセージが出てきてしまい、うまくいかず。ふと、rmのコマンドヘルプを見ると、`-' で始まる名前のファイルを削除するには、例えば `-foo' というファイルならこういうコマンドを使いましょう rm -- -foo なんてヘルプがあって、その通りに rm -- --help と入力したら、うまく削除できましたとさ。(追記:rm ./--helpすればよかったことに気づかなかったorz)
そもそも、コマンドのヘルプオプションを表示するオプションは、決まっているのではないかと聞いてみたら、GNUのコーディング規約では、--versionと--helpは必須のオプションらしい。まあ、すべてのソフトがこのコーディング規約を守っているわけではないので、コマンドによっては、-hだったり--helpだったり、-helpだったり、-?だったりするなんてことがおきるんですねぇ。(-ω-)
シェルスクリプト中でテンポラリファイルを作成するには、通常はmktempとかtempfileコマンドを使うが、どっちのほうがセキュアなんだろうか。mktempのほうがよりセキュアという記述を見かけたし、mktempが使われるケースが多いので、その通りなんだろう。ただ、Cの関数では、mktemp()ではなくmkstemp()またはtmpfile()を利用するように推奨されているので、コマンド名とまざるとどっちがセキュアか紛らわしくなる。
IPA ISEC - 第7章 データ漏えい対策 テンポラリファイル(Unix の一時ファイル) http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c603.html IPA ISEC - 第9章 ファイル対策 シンボリックリンク攻撃対策 http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c802.html IPA ISEC - 第9章 ファイル対策 ファイルレースコンディション対策 http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c803.html @IT - Linux Tips 適当な名前のファイルやディレクトリを作成するには http://www.atmarkit.co.jp/flinux/rensai/linuxtips/348mktempdir.html
JVN#88575577 複数のヤマハルーター製品におけるクロスサイトリクエストフォージェリの脆弱性 http://jvn.jp/jp/JVN%2388575577/ yamaha - WWWブラウザによる設定におけるクロスサイト・リクエスト・フォージェリの脆弱性について http://www.rtpro.yamaha.co.jp/RT/FAQ/Security/JVN88575577.html