コンピュータ

x64でAcrobat

Acrobatは動いていたがPDF Writer等が動いてなかった。
適当なPSのドライバ経由でファイル吐いてからDistillerを動かせばPDFは作れるが。
最新のAcrobat8でも同じ状況らしい。

いまさらXP

古い仕事PCから徐々に新しい仕事PCに移行して,大まかなセットアップがだいたい終わった。
旧: Pentium4 3.0GHz
新: Core2Duo 2.4GHz
クロック下がってるのにとんでもなく速い。もう戻れない。というか,家のPCが遅くて萎える。
で,OS が Windows XP x64 Edition なのだが,64bitなアプリがない。
Javaとかはx64用もあるのだが,それを入れても開発環境が32bitアプリで,32bitのJavaしか見つけてくれないとかいろいろ。
32bitアプリはそれはそれで,使いたいソフトは概ね動いている。ただ,Adobeのいくつかのソフトがどうも駄目。手持ちのもののバージョンが古いせいかもしれないが新しいのがないので不明。Photoshop 6以前とかはもうアップグレード対象外になるようなので(元をたどれば個人で買ったのがPhotoshop 4,職場のが5.5),そろそろ新しいのを買えということかもしれない。
まあ,このPCの用途はプログラム開発と原稿書きがメインなので,あまり問題なし。
いろいろ見ていたら中のバージョンは Windows NT 5.2 だそうで。XPというよりServer2003に近いのかも。
P.S.
Vista は NT 6.0 だそうです。

疲れてる

そんなこんなで他の業務の合間にHDD2台でRAID組んで,システムを再構築。
一通り終わってmessagesを見ると,swapがないとエラーが出ている。
…とるの忘れてた。
なくてもいいか,と思ったが念のため切りなおした。

新品HDD死亡

とあるサーバのHDD内蔵1台に2台増設して、RAID1+スペアの構成にした。
スペアが正常動作するか確認のために1台failさせたら、残った方のHDDがuncorrectable errorで復旧不可能に。
増設したHDDはHGST製(内蔵はWDCだった…容量はまったく同じ)。Drive Fitness Test (DFT) を動かしたら、テストが通るのは内臓のWDCだけで、HGST製のは途中でハングする。
原因が良くわからないが、DFTがnvidiaのSATAコントローラに対応してないのが原因と断定して、サーバ本体付属の診断ツールで検証。WDCの方が通るのは謎だが、HGSTのドライブ専用のテスト方法がうまくいってないとか多分そのへんのような気がしないでもない。
結局、無事(?)エラーを出してる方のHDDだけ異常と診断された。

IBM System x3105

職場で,x3105のOpteronモデルの一番安いのを私のオモチャとして購入。メモリは増設して計1GBと控えめ。
特に変なデバイスはなく,それほど新しくないOSもわりとすんなり稼動。

昔のゲームのフォント

昔のnamcoのゲームで使われていたフォント。
最初はnamcoのオリジナルかと思っていたが,他のメーカーのゲームでも使われている。
開発用機材のデフォルトのフォントとかそういうものだろうか。
ちょっと気になった。
ピクセル数が少ないので似たようなフォントはたくさんあると思うが,これは今見てもかなり秀逸だと思う。0とOの表現とか。
oldgamesfont.gif

WAMP初挑戦

Windows+Apache+MySQL+PHPで作られているという社内(?)のシステムのUNIX系OSへの移行作業とその後のメンテを押し付けられ命じられたので中を覗いてみる。
PHPは使ったことがないんだがなー。
DBを軽く見てみると

  • テーブル数個のうち半分くらいしか使ってない
  • 何もかもコード化されていなくて,ユーザやグループをはじめとする名称がそのままキーになっている。
  • 一人のユーザに対応するグループが10個分用意されている。正規化されてない。
  • コンテンツを保持するひとつの項目にplain textとhtmlが混在していて判別のための項目はない。
  • たまに情報がDB内ではなく公開ディレクトリに無造作に置かれたテキストファイルに入ってる。
  • フィールド名の綴りがいろいろ間違っている。

PHPの方を見てみると

  • オブジェクト指向ではなく,別ファイルになっている関数群をまとめたものを require する形式。
  • 関数群をまとめたファイルというのが,ディレクトリ毎に同じ名前の別ファイルとして存在していて,同じ関数が定義してあるが中身が少しずつ違う。
  • 同じような手続きがあちこちにある。
  • 組み込み関数の呼び出し方がいろいろ間違っている。
  • ほとんどのデータを登録・修正・削除するインタフェースがない。
  • 入力値に対するチェックがない。
  • 単純に文字列連結でSQL文を作っている。
  • HTMLのエスケープはほとんどやってない。SQLに追加される文字列のエスケープはまったくやってない。
  • 使ってない(作りかけ)のファイルが多数。

など。
さて,どうやって捨てさせるか…。

POSTされる文字列のencoding問題

掲示板などをはじめ,フォームから日本語を入力してsubmitしてサーバ側で処理をさせるような処理を行う場合,大昔のWebブラウザは日本語化が無理矢理だったりした関係で,ブラウザによってPOSTされる文字列のencodingがまちまちだった。このため,多くのブラウザに対応するとなると,受け取る側は自動判定をはじめ小技がいろいろ必要だった。
例えば任意の文字列のEUC-JP/Shift_JISの自動判別を完全に行うことは不可能である。ここでhiddenで適当な文字列を埋め込んで,その文字列を使ってencodingを調べるといった方法もあったが,hiddenと通常の入力フォームでそれぞれ違うencodingで送るブラウザもあったり。User-Agentを見て判定の優先順位を変えるとか涙ぐましい努力をしているものもあったが,新しいブラウザがまた違うパターンだったりしてぶち壊しだったり。
最近のWebブラウザだとだいたいフォームのHTMLのcharsetと同じものを用いるので,下手に自動判定等はしない方がいいようである。
ところで,最近のWebブラウザは英語や日本語以外の多言語を取り扱うことができる。EUC-JPで書かれたHTMLのフォームにEUC-JPにはない(ASCIIにもJISX0208にもない)文字を書くとどうなるか。

それPla

某大学情報系学部・卒業研究発表会想定ツッコミ
「~~という背景で~~を目的とした~~システムを構築しました」
「それPlaggerでできるよ」