カレンダー
クイック サーチカテゴリ管理最近のエントリ
|
2009年 3月 26(木曜日)Virtual PC と TechNet Plus で作るWindowsアプリテスト環境Windows向けのアプリのテスト環境を作ってみた。Virtual PCとTechNet Plusの契約で、比較的安価に、場所を取らずに構築できる。 Windows Vista上でVirtual PCを動かし、その上にWindows Vista HomeBasic, Windows XP Professional, Windows XP Homeをインストールした。取り敢えず、動作はすんごく遅いけれど、アプリのテストや環境の確認はできるようになった。Wineとかと違ってVirtual PCの動作はきちんとしており、これが無料で配布されているのは有り難いことだ。私のマシンでは、実作業に耐えうるような速度では動かないけれど、最新のマシンでは十分に使えるのだろう。 テスト用途に、マイクロソフトのTechNet Plusの契約をしている。概ね全てのWindws OSとOffice製品をインストールしてテストできる。MSDNは個人で契約するのはちょっと厳しい値段であったが、これは年間4万円弱なのでリーズナブルだ。MSDNとの大きな違いは開発環境が含まれないことであり残念なことではあるが、今の開発範囲ではVisual C# Express Editionで間に合っている。昔と違って、今はWindows環境でも個人レベルでプログラミングを楽しむことは十分できるようになっている。 ちょっと不満なところ。 2009年 3月 9(月曜日)UQ WiMAXを初めて使うWiMAXの試験運用が始まっている。私はパソコンを繋げられないものには興味がないので、WiMAXには期待を寄せている。UQ Communicationsのモニターに応募しており、今朝、UQ WiMAXからデータカードが届いたので、少し試してみた。 データカードはD01NAA NEC製のUSBモジュール。思っていたよりも大きい。ノートパソコンに付けてみたら、USBソケットが縦になっているためか、マウスを2つ隣りのソケットに刺しても干渉してしまう。(モジュールが縦のままだと、上手く電波が捉えられないようで、横にせざるを得ない)。また、机の上で使う場合にUSBモジュール回りにごちゃごちゃと物があると繋がり難くなる。大田区にある自宅の1階で、取り敢えず2.17Mbpsの下りスピードが出た(上りは50Kbps)。公称下り40Mbpsのベストエフォートというスペックと比較して、この数字は充分というべきか、遅いというべきか判断が難しいところだ。とりあえず、通常のウェブブラウジングをするには充分と思う。以前ADSLを使っていたときにも2.7Mbpsくらいしか出なかったが、特に大きなダウンロード時以外はさして不足を感じなかった。今後は基地局の整備や伝送関係のパラメタの最適化により速くなっていくと考えると充分期待できる。しかし、利用者が増えることで逆に遅くなってしまう可能性もあるので何とも言えない。 ただ、月額4,480円の料金と釣り合うかというと疑問はある。正直なところ、外で頻繁に使う必要がある人以外には高過ぎる。ADSL並の2,500円なら文句ないところだけど。このままのスピードであれば、お試し期間が終わる7月以降も継続するかどうか悩ましい、というのが印象だ。 なお、現状ではWindows XPとWindows Vista用のドライバ/ユーティリティしか用意されていない。デスクトップの主力環境がLinuxである私に取っては大問題。これも7月までになんとかして貰えないと使えない。ルータに見えるように作ってもらえると嬉しかったのだけど、ホストCPUで沢山処理しないと動かないのかなぁ。Linuxでのチップ対応ドライバの開発は始まったばかりのようで、Intelのチップのみサポートに留まっているから、期待薄かなぁ。 2009年 2月 28(土曜日)Windows Vistaのハードディスク引越しとブートローダWindows Vistaを稼働しているマシンのハードディスクが手狭になったので、少し大きなHDDに換装した。いつものように、バックアップのページに書いてある、ディスクイメージを吸い出して、新しいHDDにコピーする方法で行ったのだけど、すんなり行かなかった。ブートローダ回りが、Windows XPとは異なっているためのようだ。 やったのは、以下の方法。
でリブートしてみると画面が真っ黒なまま動かなくなってしまった。Windowsのファイルチェックが走るはずなのだけどダンマリだ。 XPまでは、MBR → active partitionのboot record → C:\io.sys だったはず。最後のも、パーティションの相対ジオメトリ決め打ちであったので、インストールに依存しないコードであった。現状は画面が真っ暗になることからMBRは通過している風なので、アクティブパーティションのブートレコードがインストール依存になったようだ。 ということで、更に調べると、中身で何をやっているかは分らなかったけれど、マイクロソフトのサイトにブートレコードを書換えて解決する方法が見つかった。昔は何もできなかった、インストールディスクからの回復コンソールで、以下ができるとのこと。
上記の1、2をやり直して、上の3つを行うとブートできるようになった。(素晴しい。だけど、回復コンソールでは「自動回復するか」とか言ってくるので実行してみると、「できたっ!」とか言う癖に、実際には直らない。手動で上記を打たないとならない。) だけど、その後4をやるとやっぱり駄目だ。回復コンソールすら上がらなくなる。どうやら、VistaのNTFS自体が少し変わっていて、私の手元のntfsresizeが古いために(多分パーティション情報かブートコード近辺に)互換性がないようだ。更なる検索を行い、Vistaでは自分でドライブの拡張と縮小ができるようになっていることが判明した。 仕方がないので、もう1回1と2をやり、Bootrecをやり、Vistaでドライブボリュームを拡張し、ようやく終った。
2009年 2月 25(水曜日)Linux tmpfsとRAMディスクLinux の tmpfs を使って、/tmpをRAMディスクにしてみた。結論としては効果は全然なかった。 dfすると/dev/shmというエントリがあって、shared memoryらしいことは知っていたが、使ったことはなかった。これをちょっと調べてみたら、on demandにサイズが変わるRAMディスクのようなもで、/tmpをmountすることもできる。 基本は、
実際には、起動時に /tmp に名前付きpipe?ソケット?がいくつか作られているので、ブート後にマウントを行うとそれらが通信できなくなって支障が出る。(例えばフォントサーバが動かなくなって字形がショボくなったりする)。従って、fstabに書いて起動途中(デーモンが上がる前に)にmountする必要があった。
で、cgiで実測してみたけど、違いは誤差範囲であった。 考えてみれば、ハードディスクのアクセスの際には、HDDのディスクキャッシュ以前にもシステム管理のメインメモリのキャッシュが効いており、連続してアクセスする場合はほぼキャッシュ内に収まっているのだろう。万が一ハードウェアアクセスしてしまうと凄く遅くなるけれど、そうはならないようだ。実際のアルゴリズム的には、Cache → HDDも shm → swap も大して違わないのかもしれない。 書き込み後、時間が経ってから読み出すような場合には効果があるかもしれないけど、通常のtmpファイルとしては大きな利点はなさそうに思う。 2009年 1月 30(金曜日)パソコンから携帯電話への入力パソコンから携帯電話へ入力できるページを作成した。 みんなは「携帯電話の10キーによる入力(マルチタップ)は最高だ」というけれど、本心から言っているのだろうか。私はとにかく打てない。メールでも、殆ど「OK」とか、「今、品川」くらいしか打つ気がしなくて、少し長くなるとパソコンから打とうと思ってしまう。(それで返事が遅くて怒られる)。でも、SoftBankの携帯の場合、無料なSMSはパソコンから打てなかったりするし、DoCoMoはデフォルトでPCのメールを受け取れなかったりで、不便なことが多い。この問題を解決すべく、昔のポケボーがあったり、今のQwertyキー付きのスマートフォンがあったりする訳だけど、広く/長く使われるようにはなっていない。私は使い易いと思う。でも、そういった機器に関して話すと、皆さん上述の反応になる。電車でしばしば、その道のプロと覚しき若いオネーサンがメールを打つのを観察している限りでは、確かにキーの打鍵は早いのだけど、文章はなかなか先に進んでいっていないよ。 そこで、パソコンから入力する方法を考えてみた。本当は、簡単にUSB経由で接続できれば一番便利なんだろうけど、仕様が公開されていない。今の日本の携帯電話の入出力インタフェースは本当に悲しいほど限られている。でも幸いにもQRコードは殆どの機種で使えるようになっている。そこで、QRコードで入力できるようにしてみた。読み取った文字は、私の機種SB 820Pでは、メール本文、WEB URL、メールアドレスには直接使える。それ以外に、文字のコピー/ペースト経由で利用ができるので、大体の入力はカバーできるようだ。(ちょっと使い難いれども)。多分、大体の機種は同じ機能と思う。 自分で使う限り、これは結構便利だ。QRコードで何文字入力可能なのかも知らないのだけれども、SMSの制限文字数以上は入れられているみたい。
2009年 1月 22(木曜日)山の写真: 劔岳赤谷尾根 2005.5昔の山行写真から。2005年5月赤谷尾根。 GWの山はいつも快適であった。天候も安定しているし、何より冬季の山行をしてきた後なので楽に感じてしまう。この年は大勢で赤谷尾根に入った。冬季の劔は一度しか行ったことがない上に中退となったが、春には他に東面の源次郎尾根などにも行った。 赤谷尾根は長く、途中で雨も降ったこともあり4泊した。結構な数のパーティが入っていたようだった。 春なので、劔に付きものな気象条件的な問題もなく、特に困難なところはなかった。それでも、大窓などは結構強い風が吹いていた。赤谷尾根というと、大学教授の父親と双子の息子が冬季に遭難したことから恐しいイメージが強いのだけど、やはり冬季のことを考えると、この吹きさらしの長い稜線を、深い雪の中進まなくてはならないのは厳しいだろう。ちょっと厳冬期に行けるような気はしなかった。2009年 1月 7(水曜日)fetchmail patchfetchmail 6.3.8 のパッチを作成した。最新版の6.3.9 でも特に直っているようには見えないのでそのまま使えるはず。私はfetchmail + sendmail + procmail を使っていて、もう、こんな環境を使っている方はいないかもしれないのだけれど。 GmailがIMAP対応して以来POPからIMAPに移行したのだけど、メール本文に読めない文字が1行分くらい入るようになった。でも、POP3に戻るのは嫌だったので我慢して使っていた。しかしながら、本文にゴミが付いてしまうというのは見過せないので、fetchmailの最新ソースを取ってきて入れ代え、調査してみた。 その結果、エンコードが不明で読めなかったので分り難かったのだけど、どうやらreport_build()が吐いているlogっぽいメッセージが混じってしまうようだった。report_buildはstdoutに吐いていて、それが混っているようだったので、stderrに吐くように変更したら、どうやら不具合は解消されたようである。 1ヶ月ほど使ってみて、特に問題なさそうなので、fetchmailの開発元にpatchを送ってみた。report_build()がどういう目的で使われているか確認していないので、これで正しい直し方なのかは分らない。また、日本語固有の問題だったり、sendmail + procmail を最新にしたら直るようなことなのかもしれない。 2008年 12月 29(月曜日)A7N266-VM の JEN modソフトばかりいじっていたので、少し息抜きにパソコンをいじってみた。 メインマシンは、ヤフオクで落札したパソコンに入っていたマザーボードASUS A7N266-VMで、同じくヤフオク出身のAthlon MP 2000+を載せている。このマザーボードは設定が殆んどなくてつまらない上に、動作不安定で困っていた。私が使うLinuxでは問題ないものの、嫁が使うWindowsではリセットすることがあるため文句を言われていた。しかし、既に時代遅れなDDR SDRAMを3千円も出して買い足してしまった行き掛り上捨てるに忍びない。この不安定さを改善する目的で調べている途中で面白い記事を見つけてしまった。 内容は、パターンと配線があるジャンパにピンを付けて繋ぎ換えると、後継機種のA7N266-Cと同等の設定機能が使えるようになる、というものだ。(英語のフォーラム)。BIOSには隠れていたメニューが現れるという。現実問題としては、Athlon XPをオーバークロックするよりも、Socket AM2に移行したほうが良いのは判っているのだけれど、いじくりの虫がうずいてしまい、ソフトをリリースできたこともあり実行してみた。 実はクラッシュしたHDDからジャンパ部品を外して用意していたのだけれど、さてやろうと思いパソコンの蓋を開けて覗いていたら面倒臭くなってしまった。マザボを外すのが大変なのだ。このため、ジャンパの取り付けは止めて、配線を切断して、新しい配線をはんだ付けすることにした。これなら箱に入れたままでも不可能ではなさそう。最近老眼になってきたためか、細かい作業に思いの他手間取ったがなんとかできた。
実行結果は、133MHz x 12.5 = 1666MHz が、140MHz x 12.5 = 1745MHzまでであった。143MHzではkernel panicになってしまう。Athlon MPはAthlon XPの選別品だということでちょっとは期待していたのだけれども大したことなく、2100+相当よりちょっと速い程度。Palominoではこんなもんか。 最初から、こんなことは時間の無駄だと分ってはいたのですが。 2008年 12月 28(日曜日)フォトスタンドと壁紙お薦めサービス リリース作っていたwallpaper serviceを、ようやく先週リリースすることができた。皆さんに使ってもらえるようになるかは未知数だけれど、個人的には気に入っている。壁紙も16カテゴリで3万枚ほど用意したし。 インタネットには素晴しいコンテンツが沢山あるけれど、普通の人には使えないというところが残念なところだ。私が提供しているサービスは、基本的に技術者が手作業で利用してきたことを、特にコンピュータに詳しくない普通の人にも使ってもらえるようにしたものです。このため、自動化に拘っていて、最小限の設定で動くようにしたいと思っているし、使う人の意見も取り入れてより簡単な操作にして行きたい。 機能や画像に関してリクエストがあれば、教えていただきたい。女性に見せたところ、"アイドル"や"女性"のカテゴリに「品がない絵が多い」というコメントも受けている。画像の内容と数も充実させて行きたい。 2008年 12月 17(水曜日)HTTP Refererフォトスタンドソフトを便利にするために、インタネットにある画像を利用できるようにする開発をしており、壁紙を配信ししているサイトで、ユーザがこのアプリから使えるサイトを集めていた。Refererの扱いに技があるので紹介する。 HTTPにはRefererというヘッダがある。リンクを辿って到達した場合に、そのリンク元のページのURIがweb client側から報告される。サーバ側では、どこから来たかによって動作を変えるヒントになる。 でも、実際の使われ方としては、直リンクを禁止するためが殆どと思う。要するに、他のサイトから<img>や<a>タグとかで利用されたくない、ということ。もっと言うと、殆んどの場合は、画像が掲載orリンクしてある自ページを見て欲しい、ということだ。理由は、そこに貼ってある広告を表示して欲しいから。まぁ、放送局が広告抜きの録画をできないようにしろ、と言っているのと同じことだろう。 ユーザとしては、公開されているものは有効に使いたいわけです。それを利用するためにはどうしたら良いか。 wgetのラッパーの例、 function Wget() { C#の例、 // add an basic referer of the uri 他にも、広告ページを経由しないでダウンロードすることを禁止する方法はあります。
サービスを提供する人は、その提供の仕方に条件を付けることは自由です。従うも良し、法律の範囲内で利用するも良しでしょう。結局、私は不便なページを見ないようにしています。何も無理をしなくても、他に使い易いサイトはいくらでもありますので。個人的には、折角綺麗な写真やコンテンツを作ったのだったら、どんどん見てもらったほうが良いと思うのですが、損得絡みになると仕方ないのでしょうね。 日本では公的機関を始めとして、大抵のサイトではデフォルト何でも禁止になっています。意味も考えずに全部禁止にしておけば後腐れがない、利用などされなくても構わない、という感覚です。今回の中では、米国のnasaimages.orgが素晴しいライセンス条件です。また画像ではないですが、BBCなどは放送された音声や映像をフリーで提供していて素晴しい。そんな中で、日本では更に、フェアユースの概念がないので何をするにもグレーになりがちなのも嫌なことです。 2008年 12月 14(日曜日)パッケージ管理ソフト RPM の依存管理のジレンマRedHat系のパッケージは、rpmというコマンドで管理する。パッケージ間の依存性や要求パッケージを管理して、適切なインストール状態を保ってくれる。使っていると、その管理には2つ課題があることに気付く。行き当りばったりではあるが、問題と対処法を紹介する。
rpmは一旦依存性が崩れる(--forceとか--nodepsとかをしてインストールしてしまう)と、それ以降関係するパッケージは全部駄目になる(--forceとか付けることになる)ので、なるべく rpm を作ってインストールするようにしており、このために、checkinstallというツールを使っている。今回もこれでdbusをインストールしたのだが、いくつかのパッケージが依存していてインストールできない、とか言っているので、強引に--nodepsとかやってしまった。しかし、Firefoxのほうは結局コンパイルエラーが出てしまい、一旦頓挫した。 それで、何日か経ってみるとプリントができなくなっていた。cupsが上らない。messagesを見て、何時から上がらなくなっているかを確認し、その時刻近辺で変更されたファイルをfind / -ctime xx で確認する。で、dbusが悪いようだ。 UNIXのライブラリは原則としてversionの共存ができる。version番号が付いており、コンパイル時に使ったバージョンのライブラリを実行時にもリンクできる。ところが、古いバージョンのライブラリは消えてしまっていていて、それがリンクできない、ということで起動できなくなっている。rpmはupgrade(-U)でなくても消してしまうようだ。実際には、configuration(/etcとか)やファイル(/usr/shareとかに)を持つものは、libxx.soが共存できても、configとかのせいで動かなくなるかもしれない。ここまで考えて、ライブラリを共存させることは禁止にしているのだろう。 でも、実際には動くものもある。今回も dbus の古いライブラリだけをコピーしてやれば、動くようになった。やり方は、古いrpmを取ってきて、alien というツールでバラす。(alien --to-tgz xxxx.rpmとするとファイルがtar.gz形式で取り出せる)。それを /tmp のようなところで展開して、libxx.so.0.xxのようなファイルをコピーし、libxx.so.0へのリンクを作っておく。(詳しくはないが、major versionでリンクを管理するようだ)。 実際問題として、dbusを通常の通り make install でインストールしてしまえば、古いライブラリは概ね残って問題はなかったはずだ。でもrpmの依存性を壊したくなければ、rpmにしてインストールする。この辺りをスッキリ解決できるようにするアイデアはないのだろうか。aptではできているのかなぁ。 2008年 12月 12(金曜日)音声ファイルとLinuxでの再生インタネット上には色々な音声ファイルがころがっている。Linuxでも、Windowsでもデフォルト状態では再生できないものも多い。Linuxでの再生方法を少し整理してみたい。
因みに、ffplayでは大抵再生できるようだ。 コマンドライン再生には、wav用の/usr/bin/playというのがあるが、それに習って、上記のフォーマットを再生できるようにしたplay.plを使っているので、お見せする。出力がoss決め打ちだったり、WAVを吐いたりするデコーダをラップしている。また、m4aフォーマットは、ファイルの頭(magic+α)を読んで判別しているが、仕様書は確認していない。 #!/usr/bin/perl 2008年 12月 10(水曜日)Serendipity インストールblogのページを作ってみたくて、ブログツールをインストールしてみた。 この手のものはあまり知らなかったのだが、Movable Typeの名前だけを知っていたので、それをキーにしてWikiPediaを見てみると、随分色々とある。WordPressとNucleusというのが良く使われているようだ。試しに Movable Typeをインストールしてみて、その具合を見て、結局Serendipityにした。 基本的に組み合わせは、
この中では、4が一つの選択のキーとなるだろう。フリーで使えるのは、MySQL, Postgres, SQLite。この内、SQLiteは呼出しプロセス内で動くみたいで、軽そうである。因みにMobile Typeは、MySQL, Postgres, SQLiteに対応、WordPressとNucleusは、MとP、SerendipityはMとSに対応している。私のサーバは非力でOSがちょっと古いし、沢山のユーザに提供するわけではないので、SQLiteが良さそうだ。 Serendipityのインストールserendipity-1.3.1、Linux-2.4.X、Apache-2.X、PHP4.4、SQLite-2.8で動かした。PHPにSQLite APIが必要で、php-sqlite-1.0.2というのを別途インストールし、php.iniに、"extension=sqlite.so"を足した。(PHP5なら付属しているとのこと。また、php-sqliteはPHP4.3以前では動かない)。SerendipityのアーカイブはDocumentRootにserendipityというディレクトリとして展開すればOK。後はブラウザから展開したURL(http://foo.com/serendipity/index.php)にアクセスすると自動的にインストーラに入る。要求適合の状況が表示され、問題がなければ、後は自動でインストールされる。(RDBが使えなかったりすると、赤表示になって進まなくなる)。簡単だ。 ほぼ完全に日本語化されている。(アドミンメニューに若干の英語が残っている程度) Movable Typeのインストール(ついでのおまけ)MTOS-4.23-en、Linux-2.4.X、Apache-2.X、Perl-5.8、PHP4.3、SQLite-2.8で動かした。PerlのSQLitel APIが必要でperl-DBD-SQLite-1.13というのを入れた。cgiなので、基本的に本体アーカイブをcgi-bin/mt/に、static-mtをDocumentRootに展開する。cgi-bin/mt/mt-config.cgi-original を mt-config.cgi にリネームして設定する。CGIPath、StaticPath、Databaseを設定(SQLite以外はコメントアウトし、DBファイルのパスを指定)。DBファイルは、apacheさんが書き込みできる必要がある。 動き自体は軽い。しかしながら、設定メニューなどは日本語で問題ないのだが、肝心の公開される画面のメッセージカタログが英語になってしまう?。調べていて、開発元の日本法人Six Apart K.K.のページを見るとライセンスが?な感じ(GPL版は問題ないと思うけど)もあり、日本語化の方法も分らなかったので、使うのを諦めた。(静的なコンテンツ作成対応など、技術的には良いと思うのだけど) 2008年 12月 6(土曜日)盆掘川 伝名沢五日市で山岳会の宴会があり、ついでなのでハイキングに行くことにした。秋川周辺は、長谷川カップの手伝いに毎年来ているのだが、山としては10年くらい前にツヅラ岩に行ってきりである。相模湖から歩いてみようかとも思ったが、最近の夜更し生活のため起きられそうにないので、最終的に盆掘川にした。 案の定寝坊をしてしまったがとにかく出発する。武蔵五日市に11:30盆掘集落に12:00。遅過ぎる。棡葉窪に行くつもりであったが、ルート図はざっとしか見ていなくて、地形図上に見える一番大きな左岸の支流と思い込んでいた。帰ってから分ったのだが、これは伝名沢であった。まぁ、山を歩ければどこでも良かったのですが。 下のほうは川歩きで変な気がしたが、埋まったのか、とくらいに考えながら歩く。堰堤を幾つか登ると二股になる。時間も早いのでそのまま左股に進む。10mくらいの登れない滝が出てくる。左岸を巻くが確保なしではちょっと怖い。幾つか小さな滝を登って、そのまま臼杵山の南の鞍部に登った。堰堤はあるものの、人が入っている痕跡が少ないので、自然が好きな方は楽しめると思う。技術的には難しいところは全くない。 臼杵山から下る。宴会までまだ時間があるので、城山まで行くことにして尾根を進む。しかし、日が暮れたので、十里木に下山。城山の尾根は、人為的に鞍部が削られていると思われ、凸凹が多くて意外に時間が掛かってしまった。 武蔵五日市11:30-出合い13:00-二股13:40-稜線14:50-十里木16:50 |
ブログ管理 |