2007/08/28

[技術系]   メルコのDVDに不具合

at 16:10JST
パイオニア製DVDドライブのピックアップに不具合
〜バッファローは無償修理で対応
http://pc.watch.impress.co.jp/docs/2007/0828/buffalo.htm

DVDドライブ製品について大切なお知らせとお詫び
http://buffalo.jp/support_s/20070828.html
2006年11月末より販売しておりますパイオニア製ドライブを採用したDVDドライブ製品「DVSM-XL1218シリーズ」「DVM-RXG18シリーズ」「DVSM-X1218FBSシリーズ」の一部におきましてCDの読み取り、書き込みが出来なくなる製品が混入していたことが判明致しました


だー!
地雷を引き当てた!

ここ2,3ヶ月、音楽CDのリッピングはできなくなるは、CD-Rは焼けなくなるわでおかしいと思ってたんだ! かといって、こんな早くにダメになるとは思ってなかったので早々にハコを捨てちゃってて修理依頼もできないし。

…逆にリコールなら気楽に代替品もらえるからラッキーなのか?

でも、今まで何枚もムダにしたCD-Rと、代わりに昨日調達してきたPlextorのDVDドライブの立場はどうなるんだー!

[技術系]   Sunは腹を切って死ぬべきだ

at 08:01JST
QuickIRC2 取扱説明書
http://irc.juggler.jp/qi2/doc/qi2readme.html
前作のQuickIRC version 1を事実上のがらくたにしてしまったJavaアプレット関連事情の変化について、次の通りSunに謝辞を述べさせていただきます。 Sunは、Javaアプレットのエコシステムを保守しきれず多くのJavaアプレットの寿命を終わらせた者であるから、彼らの責任は当然、死に値する。従って、Sunは腹を切って死ぬべきである。また、Sunはただ死んで終わるものではない。彼らは無責任な悪人であり、唯一神又吉イエスが地獄の火の中に投げ込む者達である。 Sunを支持する有権者も彼らと同様に腹を切って死ぬべきは当然であり、また、唯一神又吉イエスがそういう有権者を当然、地獄の火の中に投げ込むものである。


やあ、まさにそのとおりだ…。
「Javaを使えばホームページでアニメーションできるよ!」
とか、あれだけ宣伝してたんだからなんとかしろよと。なんでJavaとまったく関係ないJavaScriptにいつの間にかお株をとられてますか。

というかサーバサイドもぐちゃぐちゃでわかりづらいうえに、フレームワーク乱立の元凶なので切腹してほしい…。

2007/08/27

[ネット]   脅迫神経症

at 20:46JST
GyaO、心に病を抱えた若者たちの恋愛模様を描いた映画「こぼれる月」
http://bb.watch.impress.co.jp/cda/news/19231.html
ひきこもりや脅迫神経症、パニック障害などといった心の病を抱えた若者たちの恋愛模様を描いたラブストーリー映画


あれか?
「一日に一回、他人を脅迫しないといてもたってもいられなくなる病気」
かなんかか? …ホントにそういう病気だと思っていそうだから困る。いい映画のテーマが編集部の誤字のせいで台無し。

もちろん、正しくは「強迫神経症」。ふつうに漢字変換してれば間違えないはずだが…。

[ネット]   映画もラインアップに加えてくれ

at 17:39JST
インターネット経由でDVDコンテンツをDVD-Rに書き込める「iDVDt.com」
http://bb.watch.impress.co.jp/cda/news/19227.html

DVDに購入コンテンツを落とせるっていうのは、他の「データだけ」のビデオオンデマンド的サービスに比べて
・PCを再インストールしても視聴できなくなる心配がない
・「所有している」感がある
という点で実はすごくいいアイデアなのかもしんない。

そう思って試してみようとアクセスしたら、グラビアアイドルものしかまだラインアップがなくて、
20070827mage1.png

川村ゆきえのDVDが1,000円とかしか買えるものがなくて、非常にケシカラン。むう。ケシカラン。買っちゃうぞ…買いません、許してください_o_(誰に言ってんだ?)

[技術系]   またディスクが死んだ

at 09:40JST
昨日もリブートしてたので少し予期はしてたのだが、自宅のWindows 2000 Serverのディスクが死んだ。

なんとかリブートさせてテンポラリ領域やページの設定をして、落ち着いたからようやく原因を調べることができた。

ページングファイル/テンポラリ/テレビの一時予約録画領域にしていたディスクが死んでいた。

えー…。またかよ。
http://memo.hirosiki.jp/article/32192075.html
ちょうど半年前に飛んだばかりなのに。

いちおう、数日は騙し騙し使えそうだ。
しかし、マザーボードがそもそもイカれてきているので、余っているやつでリプレース用のマシンを組み立てないとヤバいだろう。

ハァ…。

2007/08/26

[技術系]   HTMLをプレインテキストに

at 17:23JST
HTML::FormatText。
モジュールの名前すら忘れるのでメモがてらサンプル。

#!/usr/bin/perl 

use strict;

use HTML::TreeBuilder;
use HTML::FormatText;
use Jcode;

my $html = jcode( <<'_EOF_' )->euc; # EUCやUTF-8じゃないと当然化ける
<h1>ほげ</h1>
<table>
<tr>
<td>
1
</td>
<td>
hoge
</td>
</tr>
</table>
<hr>
<ul>
<li>ああああああ
<li><a
href="http://www.yahoo.co.jp/"
>いいいいいい</a>
</ul>
<p>
あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
</p>
_EOF_

my $tree = HTML::TreeBuilder->new->parse( $html );
$tree->eof();
foreach my $table ($tree->find_by_tag_name('table')) {$table->tag('p');}
foreach my $tr ($tree->find_by_tag_name('tr')) {$tr->tag('p');}
foreach my $td ($tree->find_by_tag_name('td')) {$td->tag('span');}

my $format = HTML::FormatText->new(
leftmargin => 0
);
print jcode( $format->format( $tree ) )->sjis;

[技術系]   The GUI Loftが消えてる

at 11:31JST
ActivePerl用のWin32::GUI::Loftと、そのGUIビルダーセット。公開サイトがここ数日音信不通だ。消えちゃったのかな。ppmのアーカイブにも登録されてないから入手できない。

http://www.bahnhof.se/~johanl/perl/Loft/

OSSはこういうとこ不便だ…(とOSS信者に叩かれそうなことを言ってみる)。

2007/08/25

[ネット]   誰だっていつかは提灯持ちになるわけだが

at 02:31JST
元セガ/UGAの水口氏。

「Second Lifeがゲームを吸収する」、水口哲也氏
http://internet.watch.impress.co.jp/cda/news/2007/08/24/16685.html
水口氏は、「Second Lifeのコンテンツを開発していると、メディアが誕生する黎明期に立ち会っているようで面白い。3Dインターネットはこれから大きなストリームになっていくのではないか」と語る。「Second Lifeのようなメディアがゲームを吸収していく予感もする。今のオンラインゲームが前哨戦のようにも思える。ただ遊ぶだけでなく、広告も絡めた新しい表現をもっと作っていきたい」とした


フクザツだ…。

正直SecondLifeはぜんぜんダメだと思ういっぽうで懐疑派ブロガーが電通の陰謀論をささやいて言うSecondLife批判は的外れだと思いつつ、人間多少はなにかの提灯をかついで歩いているのが正常だし…と山のような留保があっての気持ちだけれど…。

水口氏でさえも、タイトルのような「ウケだけいい中身のない賞賛」をするのだと思うと、ちょっとがっかりだな。

かなり昔インタビューしたことがあって、あと彼の作品のいくつかが好きだから。ちょっと親近感があったんだけどなー。まあ、もともとメディアに“映える”人だから、こういうことを言うのに向いてるのかもしんない。

SecondLifeはコミュニケーション向けでもそのほかのエンターテインメント向けでもプラットホームとしては
・非力すぎる
・そのくせ軽快ではなく、使いやすくもない
という大きな弱点がある。

それに、ゲームというのは「あくまでゲーム」でなきゃダメだ。ゲームするまでに大量のプロトコルが必要なようでは、多くの支持を集めることはできない。彼のプロダクションのゲームは比較的そのあたりのことを了解した、体感に訴えるものが多かった気がするのに。なにをカンチガイしているのだろう。

…まあ、カンチガイというか別に深く考えてないのかな。人間、名前が売れてしまうとダメだね。


2007/08/23

[ネット]   Windows Live Writer でSeesaa BLOGに投稿してみる

at 19:03JST

MovableTypeでは使ったことがあったのだが、Seesaa BLOGではなかったので。

SeesaaのアカウントをLive Writerに追加するときの注意点:

  • XML-RPCエンドポイントは http://blog.seesaa.jp/rpc
  • デザイン認識のためにLive Writerに投稿させると、Live Writerはきちんとその記事を削除してくれるにもかかわらず(例によって)Seesaaの再構築エンジンがおかしいために、トップページに残骸が残ることがある。再構築しなおすべし

そんな感じでしょうか。

んでもって投稿してみるテスト。

うれしいところ:

image
  • このように「Webレイアウト」として投稿時のスタイルを見ながら書ける
  • 画像をコピー&ペーストで貼り付けられる!

要確認ポイントとしては、

  • Seesaaは画像のみ別サーバなのだが、きちんと動作するか?
  • 再構築が自動的に行われるか?

だねえ。

結果:

  • × 投稿はできるが、なぜか(けっこう高確率で)できないこともある。できないときはエラーもなにも出ない(Seesaa側の問題に見える)
  • × 再構築は、やはり行われることもあれば行われないこともある(Seesaa側の問題だね…)
  • ○ 画像もきちんと投稿できる
  • ○ 独自ドメインのブログでもきちんと投稿できる
  • × SeesaaのXML-RPCのgetRecentPostsが正常に動作していないらしい

常用するにはイマイチ…。


[技術系]   ErrorDocumentを絶対URLで書くのはやめようよ

at 13:08JST
紹介されているエラーページのデザインはおもしろい。でも、設定のしかたがよくないと思う。このやりかたは多くのサイトで採用されているようだけれど、はっきりいって迷惑。

404エラーをデザインする為のインスピレーション*ホームページを作る人のネタ帳
http://e0166.blog89.fc2.com/blog-entry-262.html
ErrorDocument 403 http://e0166.com/403error.html
ErrorDocument 404 http://e0166.com/404error.html
ErrorDocument 500 http://e0166.com/500error.html
赤い字で書かれた部分はもちろん皆様のドメイン名に変更してください


これじゃ
「リダイレクトされちゃうからダメ」
だよ。

こういうふうに設定されていた場合、たとえば、
 http://e0166.com/no_such_a_document.html
という、存在しないドキュメントにアクセスすると、

  1. ブラウザはhttp://e0166.com/404error.htmlを表示する
  2. ブラウザのアドレス欄はhttp://e0166.com/404error.htmlに変わる

というふうになる。1はいいのだが、2が迷惑。

「アドレスを打ち間違えた」ためにこのエラーが発生した場合のことを想定してみてほしい。こうした場合、ふつうブラウザの「戻る」で戻ってアドレスを打ち直そうとするのが人情だが、

  • 戻ると、またリダイレクトでエラーページにジャンプさせられる
  • 「じゃあ戻らないで打ち直そう」と思っても、アドレスがエラードキュメントのアドレスになってしまっているので打ち直しづらい

といった感じで、実は不親切このうえない。

おまけに
「HTTPのステータスコードが、404 Not Foundではなく302 Foundになってしまう」
ので、ほかにもいろいろ不都合の発生することが考えられる。つまり、サイト運営者の自己満足に終わり、害さえ及ぼす可能性があるわけだ。

こういうことになるのは、ErrorDocumentに対して
「ホスト名まで含む“絶対URL”を指定している」
からだ。そもそも他ホストにジャンプさせたいならともかく、同じホスト上のドキュメントを参照するのに絶対URLを指定する理由などない。

先に挙げたようなめんどうを起こしたくないなら、

  1. 設定時に、
    ErrorDocument 404 /404error.html
    というように、ホスト名を除いたドキュメントのパスを指定する
  2. 404error.html 内のリンク・画像指定のパスはすべて絶対パスで書く

ようにする。こうすると404エラーが起きたときもブラウザのアドレス欄は「間違ったアドレスのまま」保持され、なおかつブラウザには404error.htmlの内容が表示される。

2.は、ブラウザが「間違ったアドレス」のパスからHTMLを解析して表示しようとするから。相対パスで画像を参照したりしているとのきなみ表示されないので注意。

つーことなので気をつけましょう。

Apacheでの話でした。ぼくは1.3系列だけど2系列でも同じはず。どっちにしてもここらへんはマニュアルにぜんぶ書いてある。なにか設定する際は信用ならないblogのエントリ(=このめも含む)など鵜呑みにせず
「自分でマニュアルをよく読もう!」
ということで。

参考:
http://httpd.apache.org/docs/2.2/ja/mod/core.html#errordocument

[技術系]   Windows Live Writer用の「定型文」挿入プラグイン

at 12:36JST
ブログの編集操作が苦手な人でも簡単に記事作成!「Windows Live Writer Beta 2」を試す
http://bb.watch.impress.co.jp/cda/special/19110.html

Windows Live Writerは、かなりデキがいい。ヒトに勧めるならコレだな、と思っているのだけれど、

今のところ文字サイズの変更はできないようだ


と言われてビックリ。確かめてみると、ホントにそういう専用のボタンはない。フォント指定でポイント単位の変更はできるのだが、Wordみたいに大小に変えるボタンはないのだ。フォント指定だとfontタグを使ってしまうから、W3C原理主義者でないボクもちょっと…と思う。まあ、CSSとの整合性を考えると搭載のしようがなかったのだろう。

そこで、
「<span style="font-size: 120%;">大きい</span>」
的なHTMLをあらかじめ定型文として入れておいて、好きなときに呼び出せる─というふうにすれば、代用にできるんじゃないかと思うわけだが。Live Writerにそんな定型文登録・挿入の機能はない。

MSのプラグインコーナーで、海外のものを探してみたらあった。

Text Template
http://gallery.live.com/liveItemDetail.aspx?li=9c8097b3-05f5-4e50-a968-dec6da6aea72&bt=9&pl=8

ちょっとこなれていないが、それなりに使えそうだ。

自分でも使ってみようかな。Live Writer。

[雑記]   しみとトラネキサム酸

at 10:51JST
慢性的な扁桃腺炎なので、市販のよく効く(効きそう)なくすりを常備して飲んでいる。口内やのどの炎症にはトラネキサム酸が効く。これを配合した市販薬に「ペラックT錠」がある(処方薬だと「トランサミン」とか)。



ニュースを見ていたら、中年以降の女性のしみ「肝斑」に効くくすりとして「トランシーノ」というのが三共から新たに発売された。

第一三共ヘルスケア、しみ改善薬を9月発売・「肝斑」に効果
http://health.nikkei.co.jp/news/top/index.cfm?i=2007082209044h1

これの有効成分がなにかと思ったら、ペラックTとおなじトラネキサム酸だという。まあ、作用機序からすると納得いかないこともないなあ。たしかに。

で、成分表を見てみたら、

ペラックT錠|第一三共ヘルスケア
http://www.daiichisankyo-hc.co.jp/products/details/pelack_t_tab/index.jsp

トランシーノの効能・効果,用法・用量など:製品情報|トランシーノ[第一三共ヘルスケア]
http://www.daiichisankyo-hc.co.jp/site_transino/product/effect.html

どっちもトラネキサム酸の配合量は750mgだ。おなじじゃん! よくある話だけどね。

納得行かないのは、

ペラックT:¥2,310@36錠
トランシーノ:¥5,880@180錠

でトランシーノのほうが安いってことだ! おなじなのに! ほかの成分はちょっと違うけど、ペラックに入ってる甘草エキスとトランシーノのシステインと比べたら、甘草のほうが安そうじゃないか? なのにペラックのほうが高い。

まあね…睡眠改善薬のドリエル(=中身はただのかゆみどめなのにむちゃくちゃ高い)同様、効用・効果を書き換えるだけで値段が変わるのもおくすりではよくある話だけどさ…。重宝してるのでペラックのほうを安くしてほしいなあ。美容系のくすりのほうが高くなるもんだとばっかり思ってた。

[雑記]   電撃殺虫器

at 10:19JST
テレビでこんなものを売っているのを見かけた。



屋内でしか使えないが、ちょっと心惹かれる…。

2007/08/22

[雑記]   シュヴァンクマイエルの企画展

at 08:50JST
チェコの奇才、ヤン・シュヴァンクマイエル夫妻の大規模展 - シブヤ経済新聞
http://www.shibukei.com/headline/4573/index.html

@ラフォーレ原宿、25日〜9月12日。8/25はシュヴァンクマイエル爺さんのサイン会あり。

展示の一部はこんな感じ。
http://www.fujitv.co.jp/events/art-net/go/491.html

公式サイト。
http://www.lapnet.jp/eventinfo/img/cm/lm/070825_svankmajer/content.html

アニメーション作家なのに映像はないのか。

さて、観にいくべきかどうか。個人的にはキライじゃないし興味はあるのだが、彼の映画を観ていて絶賛爆睡した経験があるのでちょっとなあ…。タルコフスキーの映画よりはマシだけど。




2007/08/21

[技術系]   Amazonインスタントストアの登録商品データをダンプするスクリプト

at 17:17JST
指摘されるまで「できないできない…」と思っていたのだが、Amazonインスタントストアは、いつのまにか
「並べる商品ひとつひとつにコメントを書き込める」
ようになっていたらしい。

これだとAmazonのお好み商品をチョイス・分類して、自分で宣伝文句を考えて記録した簡易データベースになる。で、それをほかのネットサービスから呼び出して使う、と。

とりあえずインスタントストアをスクレイピングしてダンプする(汚い)スクリプト。そんで出力をJSONPにしておけば、静的コンテンツで参照できる、と。

あと、インスタントストアって、カテゴリーを複数階層もてるのね。見た目とか使い勝手とかはどうかと思うところもあるけれど、これだと類似サービスつくっても無意味だな。

#!/usr/bin/perl 

package bar::amazon::instant;

use strict;
use Jcode;
use LWP::UserAgent;

my $BASEURL = 'http://astore.amazon.co.jp';

sub GetCatsAndProds {
my $ID = shift @_;

my @cats = GetListOfCategories( $ID );
return # エラー
if ( $#cats < 0 );
my @result;
foreach my $cat ( @cats ) {
my $node = $cat->{node};
my $refProds = GetRefProdsOfCategory( $ID, $node )
or return # エラー
;
$cat->{prods} = $refProds;
if ( $#$refProds > -1 ) {
push( @result, $cat );
}
}
return # エラー
if ( $#result < 0 );
return @result;
}

sub GetListOfCategories {
my $ID = shift @_;

# トップページを取得する
my $cntToppage = GetEucURL( "$BASEURL/$ID" )
or return # エラー
;

# 全「カテゴリー」のnode ID、タイトルを取得する
my @cats;
my %cats;
while (
$cntToppage =~ m|href="/$ID/.*?node=([0-9]+)"[^>]{0,}>(.*?)</a>|g
# <a href="/$ID/503-6975305-3150324?%5Fencoding=UTF8&node=$node">$title</a>
) {
next if ( exists $cats{ $1 } );
$cats{ $1 } = $2;
push(
@cats,
{
node => $1,
title => $2,
}
);
}
# $cntToppage =~ m|href="/$ID/.*?node=([0-9]+)"|g
# http://astore.amazon.co.jp/$ID?node=$node
# として参照できる

#die if ( $#cats < 0 );
return @cats;
}

sub GetRefProdsOfCategory {
my $ID = shift @_;
my $node = shift @_;

my $urlBaseOfThisCategory = "$BASEURL/$ID?node=$node&page=";
my $pageNum = 1;
my $cntStackedPages;
while ( 1 ) {
my $cnt = GetEucURL( "$urlBaseOfThisCategory$pageNum" )
or return # エラー
;
$cntStackedPages .= $cnt;
$pageNum++;
last if ( $cnt !~ m|href="/$ID/.*?node=$node.{0,}?page=$pageNum">.*?&gt;.*?</a>| );
# 次ページ
# <a href="/$ID/503-6975305-3150324?node=$node&amp;page=$pageNum">次 &gt; &gt;</a>
}

my @prods;
my %prods;
#<td><a href="/hirosiki-22/detail/B000JG2DA0/503-6975305-3150324">アイドルマスター(通常版)</a>
#<br>
#<span class="price">¥ 6,069</span>
#<br>ああああアイドルスマター</td>
while (
$cntStackedPages =~
m|(<td><a href="/$ID/detail/[^"]+">[^<]+</a>.*?<span class="price">.*?</td>)|msg
) {
my ( $asin, $title, $price, $comment ) =
(
$1 =~ m|<a href="/$ID/detail/([^/]+)/[^"]+">([^<]+)</a>.*?<span class="price">([^<]{0,}?)</span>(.{0,}?)</td>|ms
)
;
$comment =~ s|<span [^>]+>.{0,}</span>||g;
$comment =~ s|<[^>]+>||g;
$comment =~ tr/\x0D\x0A//d;

next if ( exists $prods{ $asin } );
$prods{ $asin } = $title;
push(
@prods,
{
asin => $asin,
title => $title,
price => $price,
comment => $comment,
}
);
}

return \@prods;
}

sub GetEucURL {
my $url = shift @_;
return # エラー
if ( URLisnotSane( $url ) );

my $refConf = shift @_;
my $timeout = 6;
my $max_size = 128;
if ( $refConf ) {
if ( $$refConf{timeout} ) {
$timeout = $$refConf{timeout};
}
if ( $$refConf{max_size} ) {
$max_size = $$refConf{max_size};
}
}

my $ua = LWP::UserAgent->new(
agent => 'Mozilla/4.0 (compatible; MSIE 6.0)',
timeout => $timeout,
max_size => $max_size * 1024,
);
my $response;
$response = $ua->get( $url )
or return; # エラー
return # エラー
if ( !$response->is_success );
my $eucContent;
$eucContent = jcode( $response->content )->h2z->euc;
$eucContent =~ s/\x0D\x0A|\x0D|\x0A/\n/g;
return( $eucContent );
}

sub URLisnotSane {
my $url = shift @_;
return 1
if (
( $url !~ m#^http://[^\./]+\.[^\./]# ) #要セカンドレベルドメイン
|| ( length( $url ) > 2048 )
);

my $host =
( $url =~ m#http://([^/]+)/?# )[0];
if ( $host =~ /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/ ) {
my @c =
( $host =~ /^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/ );
my $dec = $c[0]*(256**3)+$c[1]*(256**2)+$c[2]*(256)+$c[3];
return 1
if (
( ( 167772160 <= $dec ) && ( $dec <= 184549375 ) )
|| ( ( 2886729728 <= $dec ) && ( $dec <= 2887778303 ) )
|| ( ( 3232235520 <= $dec ) && ( $dec <= 3232301055 ) )
);
}
#Class A 10.0.0.0〜10.255.255.255 167772160〜184549375
#Class B 172.16.0.0〜172.31.255.255 2886729728〜2887778303
#Class C 192.168.0.0〜192.168.255.255 3232235520〜3232301055

return; # エラー
}

sub HTMLEscape {
my $i = shift @_;
$i =~ s/&/&amp;/g;
$i =~ s/</&lt;/g;
$i =~ s/>/&gt;/g;
$i =~ s/"/&quot;/g;
return $i;
}

sub UnHTMLEscape {
my $i = shift @_;
$i =~ s/\&lt;/</g;
$i =~ s/\&gt;/>/g;
$i =~ s/\&quot;/"/g;
$i =~ s/\&amp;/\&/g;
return $i;
}

1;

package main;
use strict;

use Data::Dumper;

$| = 1;

my $ID =
shift @ARGV
|| 'hirosiki-22'
;

my @result = bar::amazon::instant::GetCatsAndProds( $ID );
print Dumper( @result );


[技術系]   複数枚のプリント写真をいちどにスキャンする

at 11:46JST
現像しちゃった古い写真をパソコンに取り込みたい、ってニーズがあるわけですよ。でも、こういうのはだいたい枚数が多いのでスキャナで一枚一枚取り込むのはめんどう。

たとえば、
200708210100016.png
こんなふうに(勝手に某人の写真を使ってます。ごめん)、3,4枚の写真をまとめてスキャンして、パソコンが赤枠のように一枚一枚の写真を自動認識、
・分割
・微妙な傾きの補正
をして画像ファイルにしてくれたら便利。

こういうのは最近のスキャナでは附属ソフトの機能として搭載されていて、
エプソン→マルチフォトスキャン
キヤノン→ワンパスマルチスキャン
などと言っている。しかし、それぞれのメーカーの対応スキャナを買わなければ、もちろん使えない。

単独のソフトでこういう機能を実現してくれるものもあるはずだろ…と探したら、無料のソフトでは存在しないようだ。ふーむ。

代わりに、Adobe様のPhotoshop(CS2) / Photoshop Elementsにはこの機能があることがわかった。常識? だって、ぼくのPhotoshopはバージョン4だもんで知らなかったのよ。

Elementsで分割したいスキャン画像を読み込んだら、
2007082102mage2.png

メニューの
「イメージ」→「スキャンした画像を分割」
とすると、プリント領域を自動認識して
・切り抜き
・回転
をしてくれる。

結果は以下のように…。
2007082103mage4.png

なんか精度があまり高くなくて(悪く言えばバカ)、二枚づつに切られてしまった。
・写真同士がきちんと離れていないと認識に失敗する
・四角いくっきりした領域がある構図だと、写真の中を切り取られてしまう
といった感じか。

さらに、勝手に回転してくれてしまうし、適当なところで切って矩形にしてくれてしまうため、
・どことなく縦横比率が狂うような気がする
・上下左右が寸詰まりになる
といった問題も。あまり実用的じゃない。

ちなみにPhotoshopでは以下のようにメニューを呼び出すが、認識エンジンが同じもののようで結果はまったく同じになった。
2007082104mage1.png


とりあえず「矩形に切り出す」だけの手軽なツールがあればよいのだが、なぜか見あたらない。領域認識って、画像処理ではわりと歴史の長い分野だと思うのに底辺まで落ちてきてないのだなあ。

Intelの画像処理ライブラリ「OpenCV」を使ってうまくできないかと思ったが、Perl用のバインディングがないのであきらめた。Windows上でライブラリ使うのもめんどくさそうだし。Rubyのほうでは環境がきちんとそろってるのかな?

2007/08/20

[HowTo]   「Amazonインスタントストア」の最初のいっぽ

at 00:41JST
メモ。

Amazonアソシエイトインスタントストア
https://astore.amazon.co.jp/
は、
・Amazonにある商品から好きなものを選んで並べたお店をつくれる
・売れると手数料収入を得られる
というもの。

利用にはAmazonのアフィリエイトサービスである「Amazonアソシエイトプログラム」への利用者登録が必要。
・メールアドレス
・本名
・住所
・銀行口座
のみで、すぐに登録が可能。

アソシエイトプログラムへの登録は
https://affiliate.amazon.co.jp/
から。ログインには、登録に使用したメールアドレスとパスワードを使う。

STEP 1:
登録が終わったら、アソシエイトプログラムの管理画面にログイン(サインイン)する。
https://affiliate.amazon.co.jp/
で、
20070820mage1.png

に、メールアドレスとパスワードを入力してサインイン。

STEP 2:
左側にある「インスタントストア」をクリックすると、インスタントストアの管理画面に移動する。
20070820mage2.png


このあと、まったくインスタントストアを使ったことがなければSTEP 4に行くかもしれない。使ったことがあればSTEP 3へ。

STEP 3:
すでに作成されているインスタントストアの一覧が出る(インスタントストアは複数開ける)。一覧には、それぞれのストアのアドレス(URL)が出ている。店の内容をいじりたいストアを選び、そのストアの左端の
「編集」
ボタンを押す。
20070820mage3.png

インスタントストアが一軒もない場合は「インスタントストアを追加」を押す。

STEP 4:
店の中には、商品を分類する「カテゴリーページ」をいくつも作れる。たとえば
・CD
・本
といったように(作らないこともできるが)。とりあえず、ここでは「まんが」というカテゴリーをつくることにする。「カテゴリーページを追加」をクリック。
20070820mage4.png


STEP 5:
「新しいカテゴリー」としてカテゴリーができる。このままだとタイトルがヘンなままなので、
・カテゴリーのタイトル
・カテゴリーの説明文
を適当に入れる。なんでもいい。入れたら
「変更を保存」
をクリック
20070820mage6.png


STEP 6:
「まんが」カテゴリーができた。このカテゴリーに商品を追加するときは「まんが」をクリック。
20070820mage7.png


STEP 7:
「商品を追加」をクリック。
20070820mage8.png


STEP 8:
カテゴリーに追加したい商品をこの画面内から検索し、見つけたら次々と追加ボタンを押していくだけ。ここでは「ピューと吹くジャガー」というタイトルのまんがを追加したいので、タイトルを入れて「Go」をクリック。
20070820mage10.png


STEP 9:
右側に見つかった商品がずらりと並ぶので、お目当ての商品の「追加」を押す。追加すると左側の「追加された商品」に一時的に並ぶので確認できる。
20070820mage12.png


STEP 10:
終わったら「カテゴリーページに戻る」をクリック。STEP 7〜9を好きなだけ繰り返す。
20070820mage13.png


STEP 11:
ストア管理画面の下のほうに「ストアをプレビューする」というリンクがある。これをクリックすると、
20070820mage14.png


STEP 12:
ストアを確認できる。
20070820mage15.png

実際には、STEP 3のストア一覧に出ていたアドレス(URL)に直接アクセスすれば、自分のストアを閲覧できる。他人にストアを紹介するとき、リンクしてもらうときもこのアドレスを使うこと。

2007/08/14

[ネット]   手軽にカラーA3のカレンダーをつくる4億6千万の方法

at 05:53JST
悶々としてなにも手につかないので、現実逃避がてらやれることをやってみた。

カレンダーがない。そもそも今はもう8月。店頭でもふつうには買えない。Amazonでは2008年のカレンダーを売っているしまつだ。そこで自分でカレンダーを作ってみる。ココでポイントは、

・できるだけ手軽に
・カラーで
・大きいほうがいいのでA3サイズ

のものを作るということだ。ちなみにウチのインクジェットプリンタは例によってしばらく使っていないため、どうせまともに印刷できっこない。そこでプリントアウトには、プリンタすら使わない方法を考える。コンビニの「ネットプリント」サービスだ。

さて。

STEP 1:素材を準備する
適当に解像度の高い絵を用意する。なるべく著作権を侵害していないオリジナルなものがいい。

あと、各月の日付を画像にした「玉」が必要。これを自前で作るのはめんどうだし、祝祭日を間違えると情けない。カレンダーを作るうえでもっとも重要なポイントなのに意味がない。そこで、インクジェットプリンター向けカレンダー用紙を販売しているメーカーのサイトから、無料で提供されているこの玉画像をかっぱらってくる。ごめんなさい。でも、いつか紙も買ってあげるから許してね。

カレンダーファクトリー:ダウンロード
http://www.too.com/ijm/calendar/dl.html
2007081401mage1.png

ココのものはBMP形式だが、A4見開きタイプカレンダー用の玉が用意されているのでピッタリ。


STEP 2:カレンダーをつくる
専用のカレンダー制作ソフトとかは自由度が低い。かといって、めんどうなのでIllustratorとかPhotoshopとかも使わない。ここではDTP環境として絶賛フニンキのMicrosoft Wordを使う。Wordならネットプリントにも対応しているという利点がある。

ポイントは、
「ファイル」→「ページ設定」

・「用紙」を「A3」にしておく
・「余白」を上下左右とも10mmくらいにしておく
という点か。ネットプリントサービスは情報がないのでわからないがフチなし印刷には対応していないだろうから、必要ならあとで周囲を裁ち切るようにする。

そんで適当に素材と玉画像を配置する。
2007081402mage1.png

モザイクがかかっているのはワザとです。

STEP 3:PDFで出力
Wordでカレンダーを作成したらとりあえず保存。たぶん、ファイルサイズは1MBを超えていると思う。ネットプリントは1MBを超えるサイズのファイルを印刷できないので、どうにかしないといけない。

そこで、いったんこの書類をPDF形式に変換してやる。だいたい圧縮されて1MB以下になる。ぼくのは1.5MBくらいだったのが260KBに圧縮された。

PDFへの変換にはPrimoPDFなどを使うといいだろう。
http://www.xlsoft.com/jp/products/primopdf/
出力の際、
・用紙はA3
・解像度は「Paper」(印刷用)
になっていることの確認を忘れずに。
2007081403mage1.png


STEP 4:「ネットプリント」にアップロード
ネットプリントはセブン・イレブン店頭にある富士ゼロックスのコピー機で、パソコンのファイルを手軽に印刷できるサービス。コピー機なのでA3のカラー印刷も可能だ。

http://www.printing.ne.jp/
2007081404mage1.png


・自宅で、印刷したいパソコンのファイルを「ネットプリント」のサイトにアップロード
  ↓
・受付番号をメモ
  ↓
・手近なセブン・イレブンでコピー機を操作して印刷

という手順を踏む。

ネットプリントの利用には簡単な会員登録が必要だ(要メールアドレス)。とはいえアップロード自体は簡単。
2007081405mage1.png

こんなふうに画面で確認できる。アップロードが終わったらここにある「プリント予約番号」をメモして、セブン・イレブンに向かおう。

STEP 5:セブン・イレブンでプリントアウト
コピー機の「ネットプリント」メニューを呼び出し、プリント予約番号を入れるだけ。A3+カラーの場合は、一枚の印刷料金は100円になる。プリントアウトはあっという間に終わる。


…つーことで、適当にカレンダーをつくってみた。ふむ。まあ、急場しのぎ用にはいいんじゃないでしょうか。

メリット:
・大判でもA4の紙を切り貼りする必要がない
・カラーだ
・インクジェットの機嫌伺いをする必要もない

デメリット:
・100円…は、高いか安いか。個人的には安いと思うが。
 ちなみにA4は60円
・カラーコピー機なので、少し色味がのっぺりする気がする。
 とはいえポスターの販売にも使われている機械なので、
 そんなにひどいものではない

これで12ヶ月分を作って、のりしろで綴じて、ミシン目をつけてやったらけっこう本格的なカレンダーを作れると思うけど。…まあ、ぜんぜんコストメリットがないか。ひまつぶしにどうぞ。

2007/08/13

[雑記]   ペル群の代償

at 23:42JST
ペルセウス座流星群の極大日。

流星は飛んでこなかった。
かわりに蚊がとんできてしこたま刺された。
おわり。

都心はむだに明るいよ…。

2007/08/12

[雑記]   R-TYPEのシミュレーションゲーム版

at 09:55JST
R-TYPEといえば、知らぬ者はいない往年の名作シューティングゲームだが。

R-TYPE TACTICS
http://www.irem.co.jp/official/rtypetactics/

9月にシミュレーションゲーム版が出るらしい。

いったいどういうゲームなのか見当も付かない。ここらへんでドブゲラドプスにヘックスマップがオーバーレイされているのを見て、もー、
「ばっかじゃねーの」
と大笑いしてしまった。
http://www.irem.co.jp/official/rtypetactics/screenshot/ss_03.jpg
いや、けなしてるんじゃなくてほめ言葉。まったく予想がつかないんだもん。企画立てたやつのイマジネーションは異常だと思う。ゲームなんざ、今までにないもの作ったもん勝ち。

アイレムって…。

さらに過去の記事
2009/04 (1)   2008/12 (3)   2008/11 (9)   2008/10 (10)   2008/09 (20)   2008/08 (2)   2008/07 (23)   2008/06 (16)   2008/05 (22)   2008/04 (11)   2008/03 (21)   2008/02 (20)   2008/01 (21)   2007/12 (32)   2007/11 (37)   2007/10 (46)   2007/09 (63)   2007/08 (33)   2007/07 (41)   2007/06 (81)   2007/05 (173)   2007/04 (168)   2007/03 (113)   2007/02 (123)   2007/01 (92)   2006/12 (111)   2006/11 (185)   2006/10 (20)  

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。