システム・PC

%

剰余演算(割ったあまりを求める。%とかmodという演算子が使われることが多い)における、割ったあまりという定義は自明なようだけど、負の数を割ったあまりとなるとちょっとややこしい。

CやJavaですと、

-12 % 7

は-5になります。

一方perlやrubyでは

-12 % 7

は2になります。どちらも数学的には同じ剰余類になる数なので、挙動としては問題ないと思いますが、個人的には剰余の結果は0~6であって欲しいなと思います。(つまりperlやrubyのほう)

やはり代表元が0~6固定のほうが気持ちいい。

結局のところaをbで割ったあまりというのは

a = q * b + r

で 0 <= b < r となってるのが自然だと思うんですよね。負の時だけ rの範囲が変わるのはあまり気持ちよくありませんし、実際使用する場合も条件文を入れないといけないから扱いにくいかなぁと。

## % 7 (C)# % 7 (perl)
922
811
700
666
555
444
333
222
111
000
-1-16
-2-25
-3-34
-4-43


何故ならもしC言語での仕様だとすると7で割った余りは大きい数からカウントダウンしていくと、6,5,4,3,2,1,0,6,5,4,.. の繰り返しで続いてくるのに、0のところで不連続となってしまいます。ここは6,5,4,3,... とカウントダウンしていってくれたほうが便利です。

ちなみに割った余りというのは整数(特に正の数の場合)だから自明なわけで、ガウス整数とか二次体の整数とか考えると、rの範囲とかがすごく複雑になっちゃいますね。 負の数に拡張する比じゃない?

メモ)SafariでJavaScriptのデバッグをする

ターミナルから以下のコマンドを実行

defaults write com.apple.Safari includeDebugMenu 1

Windows版のやりかたはしらん

2.0.2化完了

今回移行のトラブルのポイントはRails1.Xでサポートされていたpaginateというメソッドが使えなくなったためのようです。

これは標準でscaffoldを作成すると、使うメソッドなので、過去にscaffoldでお気楽に作ったページが全部アウトだったわけです。

まぁたしかにdeprecatedとかでてたけど、こうもバッサリなくなっているとは知らなんだ。

同様の機能を有する(らしい)will_paginateというのをプラグインで入れればいいのですが、これがコントローラのメソッドじゃなく、モデルへメソッドを追加するので、バリバリカスタマイズしてると書き換え箇所は結構多いです。(ついでいうと微妙にポリシーが違う)

テンプレートから簡単に生成できることがウリなのに、ひとつ前のバージョンで生成されたものがアウトで、しかも書き直しが必要というのはどうよ?と思うのは私だけでしょうか?

羽田空港でイーモバイル中

ちょっと前に契約したD02HWとThinkPad(not レノボ)を使って通信中。

下り1.9Mには十分ご満足

しかしThinkPadは名機ですね。

しばらく会社の本棚の肥やしになっていたのですが、やはり使いやすい。 壊れるまで愛用してみようかしら?

PC昇天

メインで使っているAMD64のPCが昇天。もういったい何度目でしょ?w

とにかく動作が不安定で、Windowsも途中でコケルし、BIOSビー、ビーとBeep音が鳴って起動しなくなることもあります。

というわけでケースを開けていつも通りコンデンサを確認。目視では問題ないっぽいです。 ファンも回っているので熱の問題でもない模様。さて、これはいったいどこに問題が?

とネットで調べると、このBeep音の症状はメモリらしいです。

そこで試しにまず起動したときにメモリチェッカを起動してみました。 するとやはり途中でハングアップします。

次にメモリを全部抜いて電源を入れてみると、ビー、ビー、ビーと同じように断続的に音がなります。これはやはりメモリに原因がありそうですね。

そこで、メモリを別なスロットに指し直してみたら、問題なく起動。メモリチェッカも通ったし、Windowsもめでたく起動しました。

どうも接触不良かなんかだった模様です。

さて、このケースですが、このPCを作るとき、大きいケースは勘弁ということで、かなりコンパクトにしたんですが、これが悪かったようで、中の配線は超キツキツ。 そんなんで当然メモリにもケーブルが当たっており、構造的に問題があるようです。というわけで、本日アキバでちょっと大きめのケースを購入してきました。 こちらのケースに全部乗せ換えてこれでしばらくは安泰でしょう。 そして、その結果、ケースが余ったわけですが、現在我が家では、メモリとグラボとMBと電源とキーボードとマウスとモニタが余ってて、ついにもう一個PCがくめてしまう状態になってしまいました。さて、どうするか? 個人的にはこれ以上PCがあってもしょうがないので、捨てたい気分ですが

Mongrel + RoRでこまった(つづき

ruby18を pthreadオプションをつけてコンパイルしたらRoRがcore連発。

うほっ

ruby教

だんだんとはまってきた。

今更言語を覚えるのもめんどくせーと思って、毛嫌いしてたけど(たいていperlで事足りるし)わかってくると実に面白いですわ。

やばいかも

さらなる粗大ゴミとUPS

・Appleストアでもらったスピーカー

クラゲ?の形をしたデザイン的なやつで、抽選であたってしまったというやつ。
詳細はここ。今や単なる粗大ゴミ。

・旅行用のカバン

なぜか同じような大きさのやつが2個あるという。不要品


でUPSですが、SU1400Jと 箱にはかいてますね。バッテリーはまだ売っている模様。

箱付きですよ。重いので、動作確認はまたあとで。

DSC06812.jpg
DSC06814.jpg

56Kモデム買ったよん

いまさら56KのFAXモデムを購入。しかもRS-232C接続。

何故いまさらダイアルアップのモデムかといえば、FAXを受信したくなったからです。

迷惑FAXが最近増えてきたのと、それをいちいち紙に印刷するのもアフォらしいんで、FAXモデムで受信して、PDFでサーバに保存しようということに。

FAXモデムにはCLASS1とCLASS2の二つがあって、CLASS2のほうが高機能なのですが、世の中に存在するFAXモデムはほとんどがCLASS1。

昔(といっても5年以上前)同じことをsendfaxというフリーソフトでやろうと思ったんですが、当時sendfaxはCLASS2のモデムにしか対応しておらず、実現できなかったのです。

しかし、時代は変わった。

hylafax

これがいい感じです。ちょっと設定面倒だけどあっさりと動いてしまいました。あとは受信したデータを自動でPDFに変換して、メールで通知するプログラムをさくさくっと書いておしまいです。印刷したいときはPDFをプリンタから出せばいいわけで、これでFAX無くてもいい感じ。

次に送信ですが、windowsからは、winprint hylafaxちゅうソフトを入れれば、サーバ経由で送信可能。これで十分実務には耐えれそうです。いい時代になったものですねぇ。

メモ)ノートンを使っていると画像が表示されない

とあるサイトの画像が見えないので、何故だろうといろいろ調査をしてました。

どうもノートンインターネットセキュリティはデフォルトでブラウザのRefererを削除する模様です。ゆえに先ほどのサイトはRefererが無いと画像が見れないように作られているため画像が見えないわけです。

Refererは「直前にどこのページを見ていたか」をブラウザがサーバに伝えるもので、使う側としてはあまり積極的に送りたくないものではあるので、それを遮断したいと思うのはまぁわからないでもないです。

逆に、サイト運営者にしてみると、別のページに勝手に画像を埋め込まれてしまうのも面白くないわけでそれもわからないでもない。

ということで、このサイトだけ許可させることで解決。メニューのどこで設定するのかかなり悩みましたが。

やり方は次の通り (ちなみにオイラのはNorton Internet Security 2007です) インターネットセキュリティ>プライバシー保護>設定を選択 1)すべてのサイトにRefererを許可するなら カスタムレベルからブラウザプライバシーの有効にするのチェックを削除 2)特定のサイトにRefererを許可するには 拡張>サイトの追加を押し、追加したいホスト名を入力(さっきの礼ならimg1.gamedb.info)。 その後、表示したサイトについての情報のデフォルト設定を使うのチェックをはずし、許可を選択する。 ヘルプ見てかなり悩みましたよ。ノートンは用語が特殊で、ぱっとみ何をしたいのかよくわからないのが難しいですねぇ。