明日も仕事ですぜいぇーいい。

明日で終わらせなければ…。

ところでPNGとかの画像が65536pxを超えられない問題の核がどこにあるのか、誰か教えてほしいのですがー。

今回経験則的に

  • 画像の生成・出力はJavaのBufferedImage + ImageIO。ファイルサイズは65535x100pixel位でも100Kbyte以下な感じ。
  • PNG形式もJPEGも縦横片方が65536pxを超えると表示できない。65535pxは一応OK。
  • 英語のPNG仕様を読むのがつらい…というかじっくり読んでいる余裕が無くてWikipedia資料だけで見ると、4byte管理っぽいので2byte限界があるというのは納得がいきませぬ。
  • ここで65536=2byteだよね?という不安が出てきて計算機で「16の2乗」を求め始めるあたり、今日はもうだめかもしれない。
  • OSはWindows XP 32bit。表示はWindows previewとかペイントブラシとかGimpとかIE7とか。メモリは4GB載っているけどOSが32bitだし、そもそも「セキュリティ」として色々余計な素晴らしいものが動いているので使える領域はもっと少ないはず。

ちなみに、ここで「では最大値を65535にしませぅ」と決定した後、IE7ではOKだがFirefoxとChromeとSaffariがNGであることが発覚してさらに縮小するなど。

どこかが2byte管理なんだろうけど、それはいったいどこなのかなー、という疑問。ていうか本来は4byteなのか否かという疑問も。

| | コメント (0) | トラックバック (0)

こぁ i7 PCの電源を交換。

我が家最強を誇る小悪魔、 こぁ i7 920マシン。半年ほど前に電源を抜いたまま放置していたところをパワー重視系の開発機として使うべく、1TBのHDDも追加してDebianにて復活させたのですが…。

マザーボードのリチウム電池が切れていたので交換した後、どーも調子が悪かったのです。

具体的には、

  • エラー音連続発振で起動しない
  • 起動するけどOSが一通り立ち上がった直後フリーズ
  • ふと気付くとフリーズ
  • 画面上にsyslog書き込みに失敗した旨のメッセージを出しつつ操作不能(操作のたびにsyslogに書こうとするのでシャットダウンもできず)

等々。状況的にBIOS周りを疑い、実際CMOSクリアをするとしばらくは調子が良いのでBIOSが飛びかかっているかな…と思っていたのです。

で、そろそろメモリなど適合部品も手に入りにくくなってきたし、いっそCPUとM/Bとメモリを売り払ってしまおうと思っていたのですが…。最後に改めてGoogle様に聞いてみたところ、電源の劣化ではないかと言うことに気付きましたさ。

実際、HDDを取り払った状態での12V電圧が11.795Vといった具合にすこーし低いのです。他のは一応定格超過しているのですが。

という事で、売り払う前にまずは電源交換を。別の こぁ i5機も電源を強化したかったところなので、電源ユニットが無駄になることはないであろうと。

購入したのは Huntkey パソコン用ATX電源500W BK-5000

お値段そこそこ、12Vが4ライン化されているのが少し安心?(よくわからない)

80Plusへの適合はしていませんが、まぁ24時間連続フル稼働させるもんではない予定なので、当面あまり関係は無いかと。連続稼働させる気になったら再交換しても良いかも。

M/B側への供給ケーブルは、電源ユニット直付けなので、不要なラインがあっても外せません。まぁまとまりが良いので、それほど邪魔とは思いませんけどね。ケーブル帯も数本付いてきます。

従来搭載しているのも500Wなので、ここは変更なし。実は こぁ i7機に最近安いメモリを増設してしまい、12GBメモリ機などと言う意味不明な化物化も考えてはいるのですが…(12GBメモリだとたぶん500Wぢゃ足りない)。

ま、その場合はこの500Wを こぁ i5機に積むので良し、と。

本日交換して電源チェックしたところ、HDD繋いでも12Vは定格超過。代わりに5Vがすこーし下回っているけど…だ、大丈夫かな?(汗)

現状4時間ほど連続運転させていますが、特に障害は出ていない様子。まぁこれで様子見ですかねー。


しかし古い電源ユニットはどうしたものか…。それほどシビアな用途で使わなければ、まだまだ使える…かな?

参考までに、搭載した Core i7 920機の構成:

  • Core i7 920
  • メモリDDR3 10600 2GB×3 (6GB)
  • HDD 50GB ×1 (OS用)
  • HDD 1TB×1 (大量データ用)
  • Matrox Milleunium II 8MB (当初はGeForce積んでいたのですが、調子が悪い時に省電力狙いで交換、そのまま)
  • 光学ドライブなし

いたって普通というか、たぶんCPUの割にしょぼい構成だと思うので、あんまり参考にはならないかも。特にグラフィックボードのチョイスが(笑)

でも、このグラフィックボードでもDebian lenny + LXDE だとちゃんと使えるンよ?

元々SSHログインで使う予定だったので、ビデオは「とりあえずコンソールが映れば良い」程度という判断。

ちなみに、当面の主用途はお仕事で関係する技術の予備研究/検証用にJava開発に使いまする。Javaはメモリを喰うので、安いVPSだと足りんのです。

| | コメント (0) | トラックバック (0)

自宅Linux (Debian 5.0.6; lenny)にmaven2を入れる。

別に大したことはしてないけど、備忘的に。

Java VM自体はOpenJDK x64のbuild 1.6.0_0-b11を使用。

maven2は当初apt-getインストールしようとしたのだけど、時間がかかるのと依存パッケージにGNU Javaっぽいのが居たのが気になったので中止。最新版を直に導入することにします。

最新版はApache maven2の公式サイトからダウンロード。当初sourceコンパイルしようとしたのですが、コンパイルにはmaven2自身、もしくはantが必要となっており、今回素っぴんの状態からJava開発環境を導入している都合上両方共インストールされていなかったので、これも断念。バイナリを使用します。

とは言え、バイナリはtar.gzなりzipなりを解凍するだけでOK。個人用なので自分の環境に置いていてもいいのだけど、ここはきちんと配置することに決定。

置き場所は、javaコマンドの場所に近いところとして/usr/lib/に。バージョン番号付きで配置後、update-alternativeで/usr/binに導入。

# cd /usr/lib
# tar xfz apache-maven-3.0.2-bin.tar.gz
# update-alternatives --install /usr/bin/mvn mvn /usr/lib/apache-maven-3.0.2/bin/mvn 1 --slave /usr/bin/mvnDebug mvnDebug /usr/lib/apache-maven-3.0.2/bin/mvnDebug --slave /usr/bin/mvnyjp mvnyjp /usr/lib/apache-maven-3.0.2/bin/mvnyjp

確認。

$ ls /usr/bin/mvn*
/usr/bin/mvn  /usr/bin/mvnDebug  /usr/bin/mvnyjp
$ /usr/sbin/update-alternatives --display mvn
mvn -状態は auto。
 リンクは現在 /usr/lib/apache-maven-3.0.2/bin/mvn を指しています
/usr/lib/apache-maven-3.0.2/bin/mvn - 優先度 1
 スレーブ mvnyjp: /usr/lib/apache-maven-3.0.2/bin/mvnyjp
 スレーブ mvnDebug: /usr/lib/apache-maven-3.0.2/bin/mvnDebug
現在の `最適' バージョンは /usr/lib/apache-maven-3.0.2/bin/mvn です。

JAVA_HOMEを.bashrcにセットした後、適当なディレクトリで

$ mvn archetype:create -DgroupId=test -DartifactId=TestBuild

で色々とダウンロードなぞ開始。mvnの気が済んだところでおもむろにTestBuildに入り、mvn compile。

無事終了したので、試しに実行。

$ java -cp target/classes/ test.App
Hello World!

ということで動作確認終了っと。

| | コメント (0) | トラックバック (0)