2007-12-31 (月)
もう2007年も終わりですね.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
もう2007年も終わりですね.
実家
最近は,OP25Bとかで外部の25番ポートへの接続が制限されていたりするので,認証付きのSMTPを他のポートで動かして使っていたりします.大学内で私が管理しているサーバでも,ずっと2525番ポートでやっていたのを標準の587番ポートにしようと思ったのですが,なぜか繋がらない.
どうやら,学外からの587番ポートへの接続がフィルタされているようです.メールサーバを立てる許可もちゃんと貰っているんだけどなぁ.仕方ないのでまたポート番号を戻しておく.
BBR-4MGよりメモリが広くて快適そう.USBも標準装備.ただ,ADM5120Pを色々いじった感じでは,1万円出すくらいならメモリが少ないので我慢するなぁ.
というか,CoregaのルータにもADM5120Pが乗った機種があるのかなぁ.
それよりも気になるのは,配布しているSDKってBBR-4MGにも使えるんだろうか?使えても,またバイナリサイズを削らないと入らないだろうけど….
プロバイダのメールのSPAMフィルタにACMからのメールが引っかかって,Subjectに「[spam]」って付けられるのがなんだか嫌です.なんか,英文なのが駄目なのかな?
Googleって国際化ドメイン名に対応しているんですね.検索結果に表示されているURLに日本語が入っていて気づきました.
というか,国際化ドメイン名に国際化ドメイン名を試す以外の目的でアクセスしたのは初めてかもしれない…
Firefoxはずいぶん前から国際化ドメインに対応していますが,.netのドメインではアドレスバーにPunycodeで表示される.これは,.netのドメインの審査基準の問題で,良く似た文字を使ったフィッシング詐欺に使われる危険性があるかららしいです.
この対処を聞いた時には特に何も思わなかったのですが,アドレスバーに表示された意味不明なPunycodeを見ていると,ASCII圏の人のための対処でしか無い気がしてきました.
確かに,♭inzume.netと表示されているよりは,xn--inzume-2q9c.netの方が偽者だと気づきやすい.
でも,国際化ドメイン名が増えてくると,xn--98j6b0bzd.netとxn--l9j1a5bzd.netってどっちが本物だっけ?ということになるかもしれない.
.netで国際化ドメインは使うなということなのでしょうが,URLのフォントや色を変えて表示するとかで対応してほしかった.
ちなみに,Firefoxでも,about:configでnetwork.IDN.whitelist.netという値を作ってtrueに設定しておけば,国際化ドメイン名が表示されます.もちろん非推奨.
先生から電話がかかってきたので,行く.資料を受け取ったり.
ついでにサーバのHDDを交換することに.とりあえず,データをバックアップ.
で,新しいHDDにFreeBSDをインストール…と思ったら,このHDD,S-ATA….気を取り直して別のHDDを持ってきて,インストール.してデータをコピー.
なんか,エラーが出るんですけど.というか,HDDの箱に見覚えのある文字が書いてある.前に壊れて交換したHDDだった.使えるHDDはいずこに?
しかも/etc以下のバックアップ忘れてるし….
バックアップのスクリプトを見直す.scpでリモートにバックアップするようにする.
方針としては,パスフレーズ無しのバックアップ専用の鍵を登録しておいて,cronから起動されるスクリプトで自動的にscpでコピーするようにしたい.パスフレーズ無しなので,もしも秘密鍵が記録されたファイルが盗まれると何でも出来てしまうようになる.scponlyなどのシェルを使うのも手だけど,バックアップ先は普段使っているアカウントにしたいので,それは使えない.というわけで,authorized_keysのcommandオプションで対処.
まず,パスフレーズ無しのバックアップ用のキーを生成してバックアップ先に公開鍵を転送しておきます.
ssh-keygen -N "" -f ~/.ssh/backup scp =~/.ssh/backup.pub ksk@backuphost:.
続いてバックアップ先での作業.
backup.pubをauthorized_keysに追加すればOkですが,backupディレクトリへのscp以外が出来ないようにしておきます.
mkdir backup -m 700 echo -n 'no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command="scp -t backup/" ' >> ~/.ssh/authorized_keys cat backup.pub >> ~/.ssh/authorized_keys
これで設定は終わり.バックアップ元に戻って,
scp -i ~/.ssh/backup test.txt ksk@backuphost:.
とかやって,パスワード無しでバックアップ先のbackupディレクトリにコピーされれば成功.
あとは,バックアップ用のスクリプトを以下のように書いて終わり.
#!/bin/sh rm /root/backup/* tar -czf /root/backup/www.tar.gz /home/www tar -czf /root/backup/mailman.tar.gz /usr/local/mailman scp -p -i /root/.ssh/backup /root/backup/* ksk@backuphost:.
scpの-tオプションが安全なのかちゃんと確認してないのが問題かも.そもそもマニュアルに載ってないし.
今日は朝からゼミで発表.
最近,ずっとやってなかったのですが,また手を出そうかなと思ってます.ソフトウェア環境を見直そうと思って色々調べているのですが,なかなかよさげなソフトが見つかりません.
ちなみに今までは,hamaPatch + Metasequoia + POV-Ray でやってました.
大雑把にモデリングするのはやっぱりスプラインモデラが便利です.ある程度作りこんだら,ポリゴン化してフリー版のMetasequoiaでいじって,POV-Rayでレンダリングしたり,別のソフトで使ったりしています.
Nurbsサーフェイスに対応したフリーのモデラが無いかなと探したのですが,流石に見当たりませんね.ロボ研で機械の人たちがCADに使っているSolidWorksはNurbs対応を謳ってますね.
駅前で買い物.
プログラミングコンテストをまた始める.アルゴリズムの改良は先延ばしにして,色々試しながら高速化.とりあえず,ランキングにのるところまで.
何とか現時点でトップ10に入ったけど,これ以上は真面目に考えないと難しそう.考えてはいるのだけど,なかなか書く気が起きない.メモリをたくさん食うとキャッシュが効かなくなって遅くなるんじゃないかとか.
現時点でプログラムはデバッグ用のコードとか含めて350行,だいぶ増えたな.
kukiki.cgiアップデート.
今日はサークルの忘年会
夕食は中華丼を作る.卵がやけに大きかったのは気のせい.
午後から研究室のゼミ.いつもどおり微妙に遅刻.
来週は私が発表です.まぁ,この前使った資料のうち,表に出したらまずそうな部分だけ消して使えば大丈夫か.それよりも,次回のゼミは午前中らしい.眠そう.
プリント基板の作り方を教えて欲しいらしいので,行ってくる.ただ,色々と足りないものがあったので実際に作るのは延期.
やっと日本語版がダウンロードできるようになりました.そういえば,J#ってExpressにはありませんでしたっけ?
プロフェッショナルのアップグレードの条件に「エディションは問いません」と書いてあったので気になったのですが,Express Editionでも大丈夫っぽいです.
今のうちにExpress Editionをダウンロードしておけば,アップグレードできるようです.アップグレードよりアカデミックの方が安いので学生は関係ないですが.
起動時に表示されるダイアログを見たら「6日以内に登録を」って英語版を一度入れたからか.英語版を入れたときにも気になったけど,スタートメニュー上では,2008じゃなくて9.0になっていますね.
コンパイラの最適化も改善されているようです.まだ詳しくは見てませんが,HALのプロコンのプログラムを速度優先で最適化したら少し速くなりました.
とりあえず,2005と併用して様子を見ましょう.
明日はゼミ.
明日リリースですね.英語版は既に少し使ってみましたが,サイズがかなり大きくなっていたのが気になりました.
少し前,Win32なプログラムを書いていて,しかも諸事情でSDKのヘッダファイルを使いたくないという変なプログラムを書いていたときのことです.
なかなか取れなかったバグの原因が構造体のアライメントだったりしたのは,かなりショックでした.構造体のパディングなんて分かりきっているつもりだったし.油断していました.
そのときは,pragmaでアライメントを無効にして解決しましたが,アライメントを無効に出来ないコンパイラって無いんでしょうか?大抵のコンパイラでは大丈夫ですが,実装者に任せられる部分なので分かりません.
Win32のAPIは構造体に激しく依存しているので,もし,アライメントの制御が出来ないと,プログラムが大変なことになります.
C++のstructはもう,デフォルトでアライメント無しにして欲しい.代わりに格納時のバイトオーダーを制御する構文があればさらにうれしい.
SDK無しでWin32のAPIを呼ぶ方法は別の機会に.
仕様を調べてみる.誤り訂正は単純なReed-Solomon符号.意外と簡単そう.
眠い…
今日も少しだけやってみる.300933点までいった.もう少しがんばればランキング圏内ですね.
予想はしてましたが,アドレス関係の演算が結構遅いですね.x86のつもりで書いていると,高速化したつもりが逆にスコアが落ちたりして難しい.ポインタを極力減らすように書き直せば,すぐにもう少し上がりそう.というか,上位を目指すならアルゴリズムをもう少し考えるべきですが.
このコンテストは面白いです.単純な問題に見えるけど,がんばればそれだけスコアも上がります.
鵜飼さんの講演を聞きに行ってきました.面白い話が色々聞けました.
ただ,聞いた内容を漏らしてはいけないようなので書けません.
真面目にGoogleを目指してみようかなぁ.
また少しやってみる.2時間くらいがんばって,94951点.
まだまだランキングには載らないですが,まだいじりどころはたくさんあるので気が向いたときにまたやります.
日本語版も開発終了したみたいですね.Express Editionも18日にはダウンロードできるようになるみたいです.
雪は少し積もった.
天気が悪いので北大の生協で昼食を食べて直ぐに帰ることに.
空港に着いて,とりあえず,予約していた便から変更.20分後に出発の便にしたので,搭乗手続きの後,急いでお土産を買って,搭乗口に.
雪で遅れている飛行機もあるようです.自分の乗る飛行機も少し遅れてましたが,他の便に比べると良い方.
で,やっと離陸という段階で機内の照明がいきなり消えました.電気系統のトラブルらしいです.というわけで,2時間遅れました.
飛行機の中でずっと待っていたのですが,お腹が減ってお土産を開けてしまいました.どうしてくれるんですか>ANA
長野に帰って来て最初に気づいたのは,駅の近くの送電線の鉄塔が1本無くなっていた事です.他の鉄塔も電線が無いけど,どうなるのかな?
午後からゼミでした.ゼミ中にサーバのHDDのチェック.とりあえずfsckしたら,ファイルがいくつか消えました.来週あたりにどうにかすることに.
ミーティング.
tarで固めるときに,ファイル名の文字コードと環境変数の文字コードが違うと展開しても正常に元に戻らないことがある.たぶん,ファイル名中の変な文字を消す処理がロケールに依存していて,おかしなことをしてしまうのだろう.
ロボ研のサーバ上に,そんなtarがあったので元のデータの復元を試みてみる.UTF-8のファイル名なのに,eucで固めてしまったらしい.しかも3GB以上ある.
UTF-8で展開するとさらに悪化するので,格納時と同じeucにして展開.壊れたファイル名を良く見てみると,規則が見えてくる.
このあたりで意味するところ分かりました.
eucでは,最上位ビットが立ったバイトが奇数バイト並ぶことが無いので,無理やり辻褄を合わせてしまうんですね.
適当なPerlスクリプトを書いてディレクトリを作り直してリネームしましたが,壊れたファイル名が重なって上書きされているファイルもあるっぽい.tarを改造した方が上手くいったかも.
ロボ研は無事に書類審査に通ったらしいです.まずは一安心.
がんばってもらいたいです.
研究室で私が管理してるサーバを3ヶ月半ぶりに再起動.
ついでにmake worldしてFreeBSDも7.0-BETA4に….
ただ,HDDがものすごく怪しい.というか,エラー出すぎです.夏ころから読めないセクタが出てきたので,パーティション単位で怪しいところを避けて使っていたのですが,とうとう/のパーティションまでエラーが出るようになりました.
暇を見つけて換装しないとだめですね.
また付けてみました.
クレープを焼く.
もうFTPにありますね.リリースはまだかなぁ.
スケジュールを見るとアナウンスは来年になりそうですね.そういえば,インストーラはどうなるんだろうか.finstallになったりするのかな?
蛍光灯から電力を取る無線カメラが発表されてますね.小さなコイルでそれだけのエネルギーが取れるのが凄い.
ただ,この記事を読むと,蛍光管のフィラメントが磁界を作っているように読めるんですが…….蛍光管内部のコイルって,両端にあるフィラメントですよね?それ以外にコイル状の物体は無いですし.
一般でも参加募集が始まりましたね.
http://googlejapan.blogspot.com/2007/12/google-tech-talk.html
次回は火曜のゼミ後.
xeroxってゼロックスのアプリケーションなんかインストールしていないのになぜあるのか,しかも消せないし……と思っていたのですがWIA関係だったのか.
昨日提出しやつは1115点でした.総合16位.何も考えてない割にはまあまあか.
最新版のバージョンを確認しようとしたら本家のサイトが消えている.
hidedenさんの日記で改造版とオリジナルのものを配布しているようです.せっかくなので改造版の方をダウンロード.ありがたく使わせてもらいます.
明日はミーティング.
そのための資料作り.あまり良いアイディアが浮かばない.この研究の行く末が心配.
ハル研究所のプログラミングコンテストをやってみる.サンプルに書かれているコードの解読に微妙に苦戦したけど,見なかったことにして適当に書いてみる.特に何も考えない総当りだと,手元のパソコンでスコアは1197.とりあえず,登録して提出してみたけど一向に評価されない.というか,評価待ちの数が一旦減ったのにまたどんどん増えてる.評価システムが止まってるのかなぁ.
時間があるときにもう少しいじってみよう.
meshiの仙台土産の牛タンと笹カマを食べる.
重いよ….GUIのデザインはXPのときより良さげなんだけどなぁ.
最近,プログラム書いてもフリーソフトとして公開できる段階までいかないので,Subversionとかでソース公開するだけで,バイナリも説明も無しで,勝手にソースだけ持って行って使ってくださいという形もいいかなと思ってます.
明日までに論文読まないと….
動画の再生時には,音声の方が時間の同期を司っているので,音声の再生速度を変化させると,それにあわせて映像の速さも変わります.
試しに,途中でデータの半分を捨てる音声フィルタを入れてやると倍速で再生されました.
portsの更新にcvsupではなくてportsnapを使うようにした.FreeBSD6以降ならば標準で入っているのでそのまま使えます.
他言語のportsを除外したいなら,/etc/portsnap.confの下の方に,REFUSEという項目があるので,いじってください.
あとは,portsnap fetch するとデータをダウンロードします./var/db/portsnapに50MBくらいのデータが入ります.
その後,portsnap extract とすると,/usr/ports に展開されます.
次回からは,fetch したあとは, portsnap update とします.
初回は遅いですが,差分が小さいときは,cvsupよりも速いようです.
簡単な音声フィルタを作ってみる.結構大変だったけど,慣れればそうでもなくなるかな.
入力ピンと出力ピンが同じ形式のフィルタのメリット値を大きくするとGraphEditでいくつも同じフィルタが連結されて大変なことに.
適当に大きなメリット値を設定しておけば,全てのアプリケーションが使ってくれて便利かと思ったけど,これだとまずそう.2つ以上繋がらないようにしないとですね.
私の環境だけな気もしますが,12月のカレンダーが変な動きしてる.一度最小化して元に戻すと,表示はされてるけど,微妙に大きくなったり小さくなったりを繰り返す….
夕方から実家のサーバに繋がらない.DNSにも繋がらないので,このサイトも名前が引けない….とりあえず,ネームサーバを別のところに.