logo
 2003年   2004年   2005年   2006年   2007年   2008年   2009年   2010年   2011年   2012年   2013年   2014年   2015年   2016年 
 9月 
 10月 
 11月 
 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月
 3月
 4月
 5月
 6月
アイコンの説明
code:Haemophilus influenzae
ここに書かれていることは無保証です。同じことを行って問題が発生しても、龍義は責任をとりません。

■ 8月1日Windows

zip ファイルがいっぱいあって、1つ1つ解凍するのが面倒だったので、cygwin の unzip で一括解凍をしようとしていた。

$ unzip *.zip caution: filename not matched: 2016080100.zip

not matched なんですと。 man unzip を眺めると

To test all zipfiles in the current directory, printing only the summaries: unzip -tq \*.zip

と出ている。 unzip \*.zip でやってみたら、意図した動作になった。 シングルクォートで unzip '*.zip' と括ってもできるみたい。

■ 8月2日Electric

昨夜というか、今日の朝方激しい雷の音と光で目が覚める。 PC を24時間付けっぱなしにしているので、電源を落としてコンセントを抜こうか考える。 サージガード付き電源に刺さっているけど、TV アンテナとか別の機器にも間接的に繋がっている。 どことどこを切り離せば良いかと考えているうちに、雷の音が遠くなってきた。

これからの時期、ちょっと心配なので、どこを切り離せば良いのか考えておかないとな。

■ 8月3日WWW

ダウンロードしたファイルが hqx で、どうやって解凍しようかと悩む。 explzh なんかがある統合アーカイバプロジェクトに、解凍 DLL がないかと見てみるも無いようだし。

仕方なく Aladdin の Stuffit Expander を入れようと思って検索してみたが、SmithMicro という会社のページにしか見つからない。 これは本物なのか調べてみると、Aladdin Systems は Allume Systems という会社に変わってしまったようで。 その Allume Systems も2005年に買収される。 じゃ、合っているのかとダウンロードしようとしたら、e-mail アドレスを入れる必要がある。 なんだか面倒になって、ファイルを解凍するのはあきらめた。

■ 8月4日Network

先月20日に ADSL の回線調整をしてもらったが、既に速度が遅くなってしまった。 こんなことをここ1年以上やっている気がする。 それより前は何の問題もなかったのに。 とっとと光回線に替えろということなんだろうけど、それはそれで障害があるし、値段も高くなるし。

どちらにしても繋がらないのは困るので、いつものように Yahoo BB に電話して、今回は ADSL モデムの交換をお願いすることになった。 これで良くなれば良いのだけど、多分駄目だろうな。

■ 8月5日Windows

メインの PC を Windows 10 にして暫く経つ。 最初は Update を渋っていたが、使ってみると Windows 8.1 より安定している。 それだけだと良いことだった気もするが、起動時間が2週間を超えると Edge を起動しても進まなかったり、スタートメニューが出なくなってくる。 やっぱり一長一短という感じかな。

現在サポート範囲内の Windows は、Server を除くと Windows Vista, Windows 7, Windows 8, (Windows 8.1, ) Windows 10 となっている。 色々な PC がある環境だと、UI が違っていたりするので大変だろうなと思う。 そもそも Windows 8 は明らかな失敗だったような気もするし、それ以降の例えば「コントロールパネル」と「設定」が両方あるという統一感の無さも混乱の元だし。 Windows XP はその点では良かったな。

■ 8月6日Network

一昨日の続き。ADSL モデム交換したが、やっぱり途切れる。 予想通りの結果になった。 ただ、あえて言うとだいぶましになった気がする。 光に替えろというお告げなのかもしれないな、料金だけは調べてみることに。

■ 8月7日Windows

C# で画像を読み込ませるテストなんかをしていた。 あるファイルを読み込んだところで、「メモリが不足しています」と出た。

メモリが不足しています

嫌な感じがしてきて、画像ファイルの確認をしたら、メモリが不足するほどのサイズではない。 コードが悪いのかと確認してみる。 実際には動的に画像が入ってきているけど、こんな感じだった。

Image img = Image.FromFile("C:\\tmp\\triangle00.svg");

ここでもしかして、と思って FromFile の確認をしてみると。

Managed GDI+ has built-in encoders and decoders that support the following file types: BMP GIF JPEG PNG TIFF

SVG は対応していないということで。 同じページの Exceptions を確認すると。

OutOfMemoryException The file does not have a valid image format. -or- GDI+ does not support the pixel format of the file.

なんだかな。 こんな Exceptions は混乱の元だからやめて欲しい。

■ 8月8日Windows

少し昨日の続き。 SVG ファイルを C# で読み込みたいけど、動的に変わってきたりするので事前に png 等の形式にはできない。 仕方ないので、SVG ファイルを解析して Graphics オブジェクトに描いてやることにした。 SVG の線である path の d="M ~ L ~" 指定は DrawLine で、文字の text は DrawString とかはさほど難しくもなく扱うことができた。 完全な円の circle も DrawArc で対応できたが、path の d="M ~ A ~" 指定で行われる円や楕円の一部の場合が簡単にはいかない。

この <path d="M ~ A ~"> では、2点を通る半径 r の円を描くことができるのだけど、Graphics オブジェクトではそんなものを用意していない。 DrawArc で外接する四角形を用意して、角度指定する必要がある。 つまり、2点の位置と半径から円の中心を求めたりしないといけない。 紙の上だったらコンパス使えばすぐなのだけど、プログラム上ではそんな簡単にはいかない。 色々やり方を調べてなんとかできたけど、方程式とか忘れてしまうので、わかりやすい方法があればな、という具合で。

■ 8月9日Windows

昨日の続きで。 効率的ではないけど、三角関数を使わずに2点と半径から円の中心点を求める方法を考えてみた。

まず、予備知識で、2点を通る半径 r の円は2つ存在する。 2点を P1 と P2 とすると。

2点を通る半径 r の円

まずは、P1 と P2 の中心点である Q を求める。 P1 と P2 は元々 x 値と y 値での座標なので、これはそんなに難しくない。

2点を通る半径 r の円

この P1 と P2 を結んだ直線に対して、Q で直交する直線上に円の中心点がくることになる。

2点を通る半径 r の円

話を単純化するために円を1つにして、まず C から Q の長さ e を求めたい。 それには d の長さが必要になってくる。

2点を通る半径 r の円

d の長さは、直角三角形の特徴から
a2 + b2 = d2
なので、
d = sqrt(a2 + b2)
で求めることができる。

求まったら、前の図に戻って、やはり直角三角形なので、
d2 + e2 = r2
から、
e = sqrt(r2 - d2)
で求めることができる。

2点を通る半径 r の円

一度これまでのことを忘れて、Q を水平に通る線、垂直に通る線を引く。 さらに P1 に垂直線、C に水平線を引く。 こんな感じで三角形が2つできる。

2点を通る半径 r の円

実はこの2つの三角形は、2つの角度が同じなので相似である。

2点を通る半径 r の円

相似ということは、
a : b : d = f : g : e
になる。

なので、例えば f を求めるには、
a : d = f : e
から、
f = a * e / d
で求めることができる。

2点を通る半径 r の円

Q の座標は出ているので f と g が出たら、円の中心点を出すことができると。

実際には Graphic オブジェクトを使って描くので、角度が必要になって三角関数を使うことになるけど。 忘れないように三角関数を使わない方法をここにメモしておくが、もっとわかりやすいやり方があれば、教えてもらえると助かるな。

■ 8月10日Windows

某所でドットプリンターを使っていて。 今時と思っていたけど、複写式の印刷ができるので未だに売られているみたいで。 そんな話は置いて、数字が見づらいのでフォントを変えて欲しいと話があった。 現在は [MS Pゴシック] の BOLD を全角で使っているが、年寄には8と3がわかり辛いとかなんとか。

確かに8と3はわかり辛い気もするが、ちょっと比較してみた。

フォント比較

メイリオが良い感じなのだけど、妙に字間が開いてしまってプロポーショナルじゃない感じになってしまう。 Windows の PC から出しているので、フォントも限られるし。 半角数字も合わせて比較した方が良いなと思って英語フォントもいくつか見てみる。 Courier New 辺りが見やすいかな。 半角になるので幅が狭くなるけど、伸長してやれば良いか。 いくつか印刷して、持って行ってみることに。

■ 8月11日Linux

仕事場所で、私の使っている PC で共有フォルダを作って、ファイル置き場になっている。 私がいないときは使えないので、別の PC に共有フォルダを作ろうと考えていた。

[toyota@takodana ~]$ cat /etc/redhat-release CentOS release 6.8 (Final)

な環境があったので、ここに samba を入れてファイルサーバ兼用にしてしまおうかと。 まず、samba が入っているかの確認。

[root@takodana toyota]# yum install samba ~snip~ Package samba-3.6.23-36.el6_8.i686 already installed and latest version Nothing to do

ということなので、設定だけで良いみたい。 フォルダーを作ったり、誰でも読み書きができるように設定をする。

[root@takodana ~]# mkdir /var/samba [root@takodana ~]# mkdir /var/samba/share [root@takodana ~]# chmod a+rwx /var/samba/share [root@takodana ~]# cd /etc/samba/ [root@takodana samba]# cp smb.conf smb.conf.org [root@takodana samba]# vi smb.conf [root@takodana samba]# diff smb.conf.org smb.conf 74c74 < workgroup = MYGROUP --- > workgroup = SW 77c77 < ; netbios name = MYSERVER --- > netbios name = FILESV 102a103 > map to guest = Bad User 221,222c222,223 < load printers = yes < cups options = raw --- > load printers = no > ; cups options = raw 248,251c249,252 < [homes] < comment = Home Directories < browseable = no < writable = yes --- > ;[homes] > ; comment = Home Directories > ; browseable = no > ; writable = yes 255,261c256,262 < [printers] < comment = All Printers < path = /var/spool/samba < browseable = no < guest ok = no < writable = no < printable = yes --- > ;[printers] > ; comment = All Printers > ; path = /var/spool/samba > ; browseable = no > ; guest ok = no > ; writable = no > ; printable = yes 288a290,301 > > # A publicly accessible directory, but read only, except for people in > # the "staff" group > [share] > comment = share folder > path = /var/samba/share > public = yes > writable = yes > create mode = 0666 > directory mode = 0777 > guest ok = yes > guest only = yes

これで起動してみる。

[root@takodana samba]# /etc/init.d/nmbd start [root@takodana samba]# /etc/init.d/smbd start

うまくいかない。 アクセスできないし、そもそもサーバが見えない。 ということは、iptables が原因なんでしょう。 samba 周りを許可するようにする。

[root@takodana samba]# cd /etc/sysconfig/ [root@takodana sysconfig]# cp iptables iptables_20160811 [root@takodana sysconfig]# vi iptables [root@takodana sysconfig]# diff iptables_20160811 iptables 12a13,16 > -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT > -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT > -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT > -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT [root@takodana sysconfig]# /etc/init.d/iptables restart iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ]

これでフォルダまでは見られるようになった。 しかし、ファイルを作ろうとすると、「対象のフォルダーへのアクセスは拒否されました」が出た。

対象のフォルダーへのアクセスは拒否されました

原因はもう一つの壁、SELinux かな。 続きは明日にすることに。

■ 8月12日Linux

昨日の続き。 誰でも読み書きできる共有フォルダを Samba で実現したい。 Samba の設定はできたようなのだけど、ファイルが作れない問題を解決する。

selinux を調べて、samba での書き込みを可能なように変更する。

[root@takodana samba]# setsebool -P allow_smbd_anon_write=on [root@takodana samba]# chcon -R -t public_content_rw_t /var/samba/share

これでファイルが作成できるかやってみた。 あっさり、ファイルができた。 Samba を自動起動するようにしておく。

[root@takodana samba]# chkconfig smb on [root@takodana samba]# chkconfig nmb on

これで他の人がいつでもアクセスできるようになった。

■ 8月13日Other

ふと、新聞の片隅を見ると補聴器の広告があった。 そこに空気電池と書いてある。 そういえば、空気電池って聞いたことあるような感じだけど、どんなものなのか調べたことがないなと。 と言うことで、少し調べてみた。

調べてわかったのが、エネルギーの密度が重量あたりでも体積あたりでもリチウムイオン電池より大きいこと。 じゃ、何で広がってないかと言うと、それなりのデメリットもあるからで。 特に二次電池にするには実用化に達してないので、足踏みしているみたい。

この空気電池と、電気二重層コンデンサと、技術が進んで値段も安くなっていくと、世の中が変わっていきそうな感じ。 未来は近いのか、遠いのか。

■ 8月14日Windows

C# でプログラムを書いていて、実行したらエラーが出た。 問題の場所はこんな感じ。

DateTime today = DateTime.Today; int thisYear = Convert.ToInt32(today.ToString("yyyy")); int thisMonth = Convert.ToInt32(today.ToString("M"));

Convert.ToInt32(today.ToString("M"))
でエラーが出てしまう。 試しに int に変換せずに string で受けて中を見てみると、"8月14日" が入っている。 月を取得するのは M で良い筈なのだけど、と Microsoft のページで確認してみた。 そこには気になる一文が。

"M" 書式指定子が単独で使用され、その他のカスタム書式指定子がない場合、"M" は標準の日時書式指定子として解釈されます。 単一の書式指定子を使用する方法の詳細については、このトピックで後述する「単一のカスタム書式指定子の使用」を参照してください。

ということで、today.ToString("%M") とすることで解決した。 Microsoft も変な罠を仕掛けるもんだ。

■ 8月15日WWW

Amazon が読み放題のサービスを始めた。 サービス対象の書籍が減ってきているとか、色々あるみたいだけど。 やっぱり気になると言うか入ろうか悩んでしまう。

コンテンツは魅力的だけど、それを読む端末がなければ魅力が半減で、e-ink の良い端末次第かなと。 白黒で良いので10インチぐらいあって、ブラウザなんていらないから軽いものがあれば、購入を考える。 本を読むのは電車に乗る時間で、最近はその機会がめっきり減ったので今は様子見かな。

■ 8月16日WindowsNetwork

某所にて。 ボタン1つでデータベースからデータを取ってきて、綺麗に整形して印刷できないかとの話。 Windows 環境なので C# で System.Drawing.Printing を使って実現はできた。

それに追加して、同じように FAX を自動で送れないかとの話。 簡単に言うと日毎売上を自動で支店に送信したいと。 メールなら簡単にできるのだけど、FAX となるとね。 やるだけやってみる。

幸いなことに、RICOH MP C1803 という複合機があって、プリンタから出力するように FAX も送信できる。 しかし、その場合に相手の FAX 番号を入力するダイアログが出るので、完全に自動とはいかない。 これさえ解決できればなんとかなりそう。

プリンターデバイスとしての「Microsoft XPS Document Writer」の場合は、ファイル出力のダイアログが出る。 このときコードでファイル名を指定してあげると。

pDocument.PrinterSettings.PrinterName = "Microsoft XPS Document Writer"; pDocument.PrinterSettings.PrintToFile = true; pDocument.PrinterSettings.PrintFileName = "C:\\tmp\\test.oxps";

のようにすればダイアログは表示されずに、指定したファイル名で保存されるのを確認した。 こんな感じでできないか、明日ちょっとやってみる予定。

■ 8月17日WindowsNetwork

昨日の続き。 試しに、プリンターデバイスとしての FAX を指定して、送信できないかやってみた。

pDocument.PrinterSettings.PrinterName = "RICOH PC FAX Generic"; pDocument.PrinterSettings.PrintToFile = true; pDocument.PrinterSettings.PrintFileName = "045*******";

やっぱり宛先の番号を入力するダイアログが出てきてしまう。 PrintFileName は PrintToFile を true にしないと有効にならないらしいので、そうしているだけ。 それ以外に PrinterSettings で指定できそうなものを探してみたが見つからないし、行き詰ってしまう。 RICOH に聞いたら教えてくれるかな。

■ 8月18日WindowsNetwork

昨日の続き。 調べてみたら FAXCOMLIB なるものがあるようで、これを使って FAX を送信できるようである。 なんか、モデムを使った FAX のような気がするけど、やるだけやってみる。

FAXCOMLib.FaxServer faxServer = new FAXCOMLib.FaxServer(); faxServer.Connect("\\172.16.0.5");

172.16.0.5 は RICOH の複合機の IP アドレスなのだけど、Connect でエラーが出てしまう。 Connect の中に Environment.MachineName を入れてやってみたらエラーは出なかったが、どこにも送信されない感じで。

やっぱり FAXCOMLIB は使えないみたい。 FAX ドライバーが行ってる通信を解析すれば何とかなるだろうけど、大変そうだし。 一旦、これはすぐにできないということで、ペンディングにしておいた。

FUJI XEROX の複合機で、高いソフトを使えばできそう。
https://www.fujixerox.co.jp/solution/system/fax_auto.html

■ 8月19日OtherNetwork

別件でネットワークなんかの設定をしているときに、iPhone に Line を入れて欲しいと話があって。 iPhone なんて普段使わないので、色々やってみた。

やってみると、
Apple の ID
が必要とか。 Apple の ID を使ってようやく Line の ID 作成ができたと思ったら、友達追加に
Docomo の Dアカウント
も必要と言われて。

Line を使うごときでアカウントが2つが必要で、さらに Line の ID が追加されるという便利な世界とはかけ離れていて。 なんとかならないもんなのかね。

■ 8月20日Other

親の自転車の前輪が調子悪いとかで。 ブレーキ部分の調整をして大丈夫そうだったが、どうも回り方が重いかもしれないということで、ハブダイナモも分解することに。

ハブダイナモ

自転車は古い SANYO 製で、ハブダイナモも SANYO のものだった。 今となっては、貴重な SANYO なのかもしれない。 えらい苦労して分解して、グリスアップだけしておいた。 前輪の回り方も少し軽くなった。

■ 8月21日Network

Yahoo BB の ADSL の速度がまた著しく低下。 仕方なくいつもの回線調整をお願いしようと電話するも、今回のサポートの対応が酷い。 別のサービス含めて Softbank のものをすべて解約してやろうかと思ったぐらい。

何で間違っていることを言ったのに、謝ろうとしないのだろうかね。 と言っても、前は特に悪い感じの人じゃなかったので、今回は運が悪かったのだろうけど。

■ 8月22日Windows

C# でプログラムを書いていて。 それぞれ変数だったのだけど、
n = 7000 * 300 * 2200 / 1000 / 1000
といった計算があった。 しかし、計算結果が合わない。 何が原因だろうと、少し考えてしまった。

よくよく考えれば、単純に int の値をオーバーフローしていて。 n を int にしたのが原因だし、その他の値も全て int だったのが響いた。 さらに 7000 * 300 * 2200 は uint での値もはみ出ているので、マイナスにならずに正の値で返ってくる。 それで、オーバーフローについて気が付くのが遅くなってしまった。 32bit の int は意外とあっさりオーバーフローの値を超えてしまうんだなと感じた出来事。

■ 8月23日Network

一昨日の続き。 回線調整をお願いして速度が戻った ADSL なのだけど、今日の夜には遅くなってしまう。 夏になると発生することが多いので、ADSL モデムが原因のような気がするが、もう3回ぐらいモデムは交換してるし。 仕方ないけど、明日ソフトバンクに電話することに。

■ 8月24日Network

昨日の続きで。 昼に Softbank へ電話した。 21日の酷い対応と違って、今日はまともな対応の人で助かった。 いつものように回線調整をお願いするのと、回線が切れるので収容ポート変更もお願いした。 来週どこかのタイミングで1時間か2時間使えなくなるらしく。 収容ポート変更が終わったかどうかは、0120-981-488 の電話で確認できるとのこと。 まともになれば良いのだけど。

■ 8月25日Windows

EXCEL を使っていて、セルの計算で IF を入力する必要があって。 IF の中に IF とか入れていくと、改行がないので見づらいこと。 いつものプログラム感覚で追いたいので、一度メモ帳にコピーして改行入れたりして。 元々の仕組みから考えると仕方がないけど、どうにかして見やすくするものはないものなのかな。

■ 8月26日Network

NETGEAR GS305 がやってきた。 と言っても私のものじゃないけど。 なんとなくだけど、隣に無線 LAN の機械とかあるとハブは金属製にしたいなということで、ちょっと高いこれを選んだのだけど。

NETGEAR GS305

触れたときの金属の冷たい感じ、この時期に良いのだけど冬だと触りたくないだろうな。

NETGEAR GS305

ということで、何も問題なく稼働して。 今度時間があったら、プラスチック筐体のハブを無線 LAN 機器の横に置いて、どのぐらいエラーが出るか実験してみるのも良いかもな。

■ 8月27日WWW

google で画像検索したら、保存ボタンができていた。

保存ボタン

どうも、Google にログインしているときに出るボタンで、ローカルに保存されるわけではなく Google の方に保存されるみたいである。 右クリックを禁止していたり、上に透明の画像を貼って保存できないようにしている人にとっては、ありがたくない機能だな。 そもそも Google 内に保持して、どのように使われることを想定しているのだろうか。

■ 8月28日Other

29インチのウルトラワイド液晶ディスプレイが安く売っていた。 果たして、これを買った場合、どのぐらい大きくなるのか計算してみた。 せっかくなので、それよりも安かった 31.5 インチのディスプレイも比較して。

液晶サイズ解像度A比高さ
21.5インチ1920×108016:9476 mm268 mm
29インチW2560×108064:27679 mm286 mm
31.5インチ1920×108016:9697 mm392 mm

21.5 インチは現在使っているディスプレイで、LCD-DTV223XBE を前提としている。 それを基本に考えると、高さは 18㎜ しか変わらない。 横幅も安い 31.5 インチよりも少ないし。 最初良さそうな感じがしたけど、値段の安い 31.5 インチの方が広いし、計算していくとメリットを感じなくなってきた。 見送りだな。

■ 8月29日Other

久しぶりに Raspberry Pi について調べてみると、バリエーションが8つぐらいに増えていて、B+ だ zero だとわかり辛くなっている。 個人的にはバリエーションを増やしてもらうより、値段を下げてもらった方がありがたいし、スペックよりも電力重視なので新しく発売されているものにあまり興味がない。 どれか買おうかと15分ほど調べたり悩んだりして、結局やめておいた。

それにしても、これだけ売れてしまうと Orange Pi とか Banana Pi とか似たようなものも安く出てきて、ありがたい限り。 CPU が 500MHz で良いので 1000Base の口がついて、メモリが 4G のものがあったら、買っちゃいそうだな。

■ 8月30日Network

某所にて。 Logitec のプリンタサーバというか Logitec LAN-PS/U2A という製品があって、中の設定をブラウザで見ようとしたら表示されない。 Chrome で駄目、Opera で駄目、IE で見てみたらようやく表示された。
さて、何が起きているのか確認してみる。 まずプリンタサーバの応答はこんな感じだった。

<HTML><HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML"> <TITLE></TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <SCRIPT LANGUAGE=JavaScript> document.location.href="SYSTEM.HTM"; </script> </BODY></HTML>

この先の SYSTEM.HTM も問題なさそうだったのだけど、Chrome でも Opera でも SYSTEM.HTM に進んでいない。 じゃ、HTML ヘッダを見てみることに。

HTTP/1.0 200 OK Date: Mon, 24 Sep 2001 18:00:00 GMT MIME-version: 1.0 Server: ZOT-PS-47/9.8.0017 Last-Modified: Sat, 03 Jan 1970 17:58:20 GMT Expires: Sat, 07 Feb 1998 01:50:00 GMT Pragma: no-cache Content-Type: text/html Content-Length: 4298

酷い日付のせいかと思ったけど、よく見たら Content-Length が大きい。 数えてみると、4096 バイト増えた値になっている。 つまり、IE 以外はある筈の続きが来ていないので、表示しなかったということみたい。

せっかくなので、色々な場所にあったプリントサーバをかき集めて、同じように実験してみた。 今回のエントリーはこれ。

会社製品
LogitecLAN-PS/U2A
LogitecLAN-PS/P1
BuffaloLPV4-TX1
I-O DATAETX-PS/U2
coregaCG-FPSV2

この5製品を試してみると、Logitec と I-O DATA の製品は同じ現象が起きることがわかった。 LAN-PS/U2A は上に書いたので、それ以外の HTML ヘッダでまず、LAN-PS/P1 はこうなっていた。

HTTP/1.0 200 OK Date: Mon, 24 Sep 2001 18:00:00 GMT MIME-version: 1.0 Server: ZOT-PS-35/6.2.0001 Last-Modified: Tue, 10 Mar 1970 10:47:14 GMT Expires: Sat, 07 Feb 1998 01:50:00 GMT Pragma: no-cache Content-Type: text/html Content-Length: 4453

続けて I-O DATA ETX-PS/U2 はこうなった。

HTTP/1.0 200 OK Date: Mon, 10 Sep 2001 12:00:00 GMT MIME-version: 1.0 Server: ZOT-PS-33/1.0.0003 Last-Modified: Thu, 01 Jan 1970 17:09:50 GMT Expires: Sat, 07 Feb 1998 01:50:00 GMT Pragma: no-cache Content-Type: text/html Content-Length: 5726

この3つの製品からわかったことは、まず OS が ZOT-PS というもので動いていること。 そして Content-Length が必ず 4096 バイト大きな値を返してくること。 ZOT-PS というのは台湾の ZO Tech が作ったものらしく、このことから製品は ZO Tech が作って各会社に OEM で出したものなのでしょう。

HTML ヘッダを見るために curl を使ったのだけど、curl でもちゃんと 4096 バイト足りないと教えてくれる。 Logitec LAN-PS/P1 だとこんな感じ。

[toyota@kashyyyk tmp]$ curl http://192.168.0.2/ <html> <head> <title>Index</title> </head> <frameset framespacing="0" border="false" frameborder="0" cols="170,*"> <frame name="contents" target="main" src="content.htm" noresize> <frame name="main" src="status.htm" scrolling="auto"> <noframes> <body> <h4></h4> </body> </noframes> </frameset> curl: (18) transfer closed with 4096 bytes remaining to read

せっかくなので、きちんと Chrome などでも表示された製品の HTML ヘッダも。 まず、Buffalo LPV4-TX1 はこんな感じ。

HTTP/1.1 200 OK MIME-Version: 1.0 Server: JC-HTTPD/1.16.25 Pragma: no-cache Cache-control: no-cache Connection: close Content-Type: text/html Content-Length: 844 Accept-Ranges: none

続けて、corega CG-FPSV2 だとこんな感じ。

HTTP/1.1 200 Document follows Server: PRINT_SERVER WEB 1.0 Content-type: text/html

その先の HTML での操作感は別にして、単純に応答だけ見ると Buffalo の製品が一番まともと言うか当たり前のことができている感じ。

■ 8月31日Other

ちょこっと作った PHP のプログラムが動いていないと話があった。 確認してみると、確かに来月の予定が出るところが、10月になっている。 確認してみたら、問題は。

$nextmonth= date('Ym', strtotime("+1 month"));

のところで、来月は31日がないので10月になってしまったらしい。 ここは、どうするのが美しいやり方なのだろう。 年と月を取ってきて、月に1を足して13になったら月を1にするのと年に1を足して、は美しくない感じだし。 月の初日にして動かすのが良さそうかな。


21st projects Tatsuyoshi Networks Prompt Works
by Tatsuyoshi since 2003