にっぽつ!なコンテンツ、WCG、Folding@home、BOINCは自宅にある1つの鯖で運営されています。
そして自宅の一般的に言われるネット環境はそれほど悪くはないのですが、アクセスが集中するとルータが落ちます。鯖もたまに落ちることがあります。これらの情報は各サイトにて掲載していたのですが、うっかり忘れたり、漏れたりしてしまうわけです。ということで、にっぽつ!にて、一括で管理することにしました。ソースはXMLにあります。このファイルをWCG、Folding@home、BOINCのサイトから呼び出して表示するように調整しました。これで、にっぽつ!のデータを更新するだけで、3つのサイトに行き渡ることになります。
投稿者「admin」のアーカイブ
ActionScript3のScrollPaneでハマる
ActionScript3つまりFLASHでのお話です。
HTMLの場合はdivタグのスタイルwidthやheightを設定してoverflow:autoとすれば簡単なスクロール領域を用意できます。
ActionScript3の場合はScrollPaneを使えばいいらしいのです(それがわかるまで自分で大きさやScrollRectを計算してスクロールバーまで自作してこんな機能はflashにないのかと愚痴ってました)が、その内容をあてがうところで躓きました。単純にaddChildすると手前に表示されてScrollPaneが奥になってしまいます。てっきり子供にさえすればコンポーネントが勝手にやってくれるのかと思いましたが違いました。sourceというメソッドがあって、それにオブジェクトを放り込む必要があったのです。
さらに、このScrollPaneのsourceに放り込んだオブジェクトは使い回しができません。ほかの子供になると対象から外れてしまうようです。別のScrollPaneのsourceにあてがってやると一番最後のもののみが表示されます。オブジェクトの単純コピーでは参照になるためかやはりだめで、別の入れ物を用意してやらないとだめのようです。異なる窓で大きさの異なるMovieClipを表示させたかったのに、できませんでした。
Flashにおけるフォーカスの扱い方にハマる
Flashのお話です。
イベント処理を確認していたところ、イベントが発生しない事があったので動作を確認していました。
どうやらコンポーネントにフォーカスが移動すると、stageがイベントを拾わなくなるようです。
stageをクリックするだけではだめで、stageに置いたオブジェクトを選択してもだめでした。
結局、この問題の原因となったListを選択したらフォーカスをstageに移動させるという、いまいちな方法で対処しました。
ざっと検索しても出てこなかったので、この挙動は不具合なのか仕様なのかよくわかりませんでした。
ImageMagickが壊れた?
WindowsVistaにインストールしてあるImageMagick6.3.2 Q8をPerlから呼び出すときのお話です。
少しの間、開発を停止していた部分を手直しすることになって画像を生成する部分が正常に動かなくなっていました。
ログをみると次のようなエラーが表示されていました。
Can't load 'C:/Perl/site/lib/auto/Image/Magick/Magick.dll' for module Image::Magick: load_file:再帰が深すぎます。スタックがオー バーフローしました。 at C:/Perl/lib/DynaLoader.pm line 230, line 855.
呼び出し元も、呼び出し先も階層がそんなに深いわけでもなく、動いていたときのままです。
何かのパッチでおかしくなったのかもしれないです。
そういえば、最近CPANの一括updateをしたような・・・
いろいろ調べてみましたが、これだという原因は見つかりませんでした。
結局、ImageMagickを一度アンインストールしてから入れなおしたところ、正常に動作しました。
ちなみに、上書きで更新した場合は同じメッセージが表示されて動きませんでした。
お仕事用のシステムなので、ヒヤヒヤしました。ほっと一安心です。
PerlのNet::Twitterモジュールがインストールできない
Perlでtwitterに何かをやらかすにはNet::Twitterというモジュールを利用するといいようです。
早速Net::Twitterを入れてみることにしました。
ちなみに、WindowsVistaはActivePerl 5.8.8です。
ppmでは用意されていないので、CPANからインストールします。
しかし、実際に実行してみると、いろいろ足らないからインストールしますよといわれて、言うとおりにインストールしたのですが、あちこちでNOT OKとなってしまいます。
C:\Users\admin>cpan install Net::Twitter CPAN: Storable loaded ok Going to read C:\Perl\cpan\Metadata Database was generated on Thu, 22 Apr 2010 21:26:57 GMT install is up to date. Running install for module Net::Twitter Running make for M/MM/MMIMS/Net-Twitter-3.12000.tar.gz CPAN: Digest::MD5 loaded ok CPAN: Compress::Zlib loaded ok Checksum for C:\Perl\cpan\sources\authors\id\M\MM\MMIMS\Net-Twitter-3.12000.tar.gz ok Scanning cache C:\Perl/cpan/build for sizes Deleting from cache: C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56 (17.6>10.0 MB) Can't remove directory C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56/t/Big-Dummy (Permission denied) at C:/Perl/lib/CPAN.pm line 9 6 Can't remove directory C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56/t (Directory not empty) at C:/Perl/lib/CPAN.pm line 966 Can't remove directory C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56 (Directory not empty) at C:/Perl/lib/CPAN.pm line 966 Deleting from cache: C:\Perl\cpan\build\Net-Twitter-3.12000 (17.6>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Sub-Name-0.04 (17.0>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Sub-Identify-0.04 (16.9>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Variable-Magic-0.41 (16.7>10.0 MB) Deleting from cache: C:\Perl\cpan\build\B-Hooks-EndOfScope-0.08 (16.5>10.0 MB) Deleting from cache: C:\Perl\cpan\build\namespace-clean-0.14 (16.4>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Scalar-List-Utils-1.23 (16.3>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Devel-GlobalDestruction-0.02 (16.2>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Class-MOP-1.00 (16.0>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Moose-1.01 (15.0>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Data-Visitor-0.27 (12.5>10.0 MB) Deleting from cache: C:\Perl\cpan\build\DateTime-0.55 (12.4>10.0 MB) Deleting from cache: C:\Perl\cpan\build\DateTime-Format-Strptime-1.2000 (11.6>10.0 MB) Deleting from cache: C:\Perl\cpan\build\MooseX-MultiInitArg-0.01 (11.4>10.0 MB) Deleting from cache: C:\Perl\cpan\build\namespace-autoclean-0.09 (11.4>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Digest-SHA1-2.12 (11.3>10.0 MB) Deleting from cache: C:\Perl\cpan\build\Encode-2.39 (11.2>10.0 MB) CPAN: Archive::Tar loaded ok Net-Twitter-3.12000/ Net-Twitter-3.12000/lib/ Net-Twitter-3.12000/lib/Net/ Net-Twitter-3.12000/lib/Net/Identica.pm Net-Twitter-3.12000/lib/Net/Twitter.pm Net-Twitter-3.12000/lib/Net/Twitter/ Net-Twitter-3.12000/lib/Net/Twitter/Role/ Net-Twitter-3.12000/lib/Net/Twitter/Role/WrapError.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/Legacy.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/API/ Net-Twitter-3.12000/lib/Net/Twitter/Role/API/Search.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/API/TwitterVision.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/API/REST.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/API/Lists.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/OAuth.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/RetryOnError.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/RateLimit.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/SimulateCursors.pm Net-Twitter-3.12000/lib/Net/Twitter/Role/InflateObjects.pm Net-Twitter-3.12000/lib/Net/Twitter/OAuth/ Net-Twitter-3.12000/lib/Net/Twitter/OAuth/XAuthRequest.pm Net-Twitter-3.12000/lib/Net/Twitter/API.pm Net-Twitter-3.12000/lib/Net/Twitter/Search.pm Net-Twitter-3.12000/lib/Net/Twitter/Core.pm Net-Twitter-3.12000/lib/Net/Twitter/OAuth.pm Net-Twitter-3.12000/lib/Net/Twitter/Error.pm Net-Twitter-3.12000/lib/Net/Twitter.pod Net-Twitter-3.12000/Changes Net-Twitter-3.12000/MANIFEST Net-Twitter-3.12000/examples/ Net-Twitter-3.12000/examples/oauth_webapp.pl Net-Twitter-3.12000/examples/oauth_desktop.pl Net-Twitter-3.12000/README Net-Twitter-3.12000/src/ Net-Twitter-3.12000/src/net-twitter-pod.tt2 Net-Twitter-3.12000/src/build.pl Net-Twitter-3.12000/t/ Net-Twitter-3.12000/t/22_twitter_insanity.t Net-Twitter-3.12000/t/20_exceptions.t Net-Twitter-3.12000/t/unicode.t Net-Twitter-3.12000/t/lib/ Net-Twitter-3.12000/t/lib/TestUA.pm Net-Twitter-3.12000/t/13_search.t Net-Twitter-3.12000/t/99-pod_syntax.t Net-Twitter-3.12000/t/02_fails.t Net-Twitter-3.12000/t/51_rate_limit.t Net-Twitter-3.12000/t/40_nt_subclasses.t Net-Twitter-3.12000/t/11_useragent.t Net-Twitter-3.12000/t/50_inflate_objects.t Net-Twitter-3.12000/t/99-pod_coverage.t Net-Twitter-3.12000/t/21_wraperror.t Net-Twitter-3.12000/t/10_net-twitter-regression.t Net-Twitter-3.12000/t/12_identica.t Net-Twitter-3.12000/t/01_basic.t Net-Twitter-3.12000/t/60-api_lists.t Net-Twitter-3.12000/t/retry.t Net-Twitter-3.12000/t/geo.t Net-Twitter-3.12000/t/51_since.t Net-Twitter-3.12000/t/00_load.t Net-Twitter-3.12000/t/14_authenticate.t Net-Twitter-3.12000/t/30_legacy.t Net-Twitter-3.12000/t/20_generated.t Net-Twitter-3.12000/t/15_subclass.t Net-Twitter-3.12000/t/99-pod_spelling.t Net-Twitter-3.12000/t/lookup_users.t Net-Twitter-3.12000/META.yml Net-Twitter-3.12000/Makefile.PL Net-Twitter-3.12000/inc/ Net-Twitter-3.12000/inc/Module/ Net-Twitter-3.12000/inc/Module/Install.pm Net-Twitter-3.12000/inc/Module/Install/ Net-Twitter-3.12000/inc/Module/Install/WriteAll.pm Net-Twitter-3.12000/inc/Module/Install/Fetch.pm Net-Twitter-3.12000/inc/Module/Install/Win32.pm Net-Twitter-3.12000/inc/Module/Install/Include.pm Net-Twitter-3.12000/inc/Module/Install/Repository.pm Net-Twitter-3.12000/inc/Module/Install/AutoInstall.pm Net-Twitter-3.12000/inc/Module/Install/Base.pm Net-Twitter-3.12000/inc/Module/Install/Metadata.pm Net-Twitter-3.12000/inc/Module/Install/Can.pm Net-Twitter-3.12000/inc/Module/Install/Makefile.pm Net-Twitter-3.12000/inc/Module/Install/AutoManifest.pm Net-Twitter-3.12000/inc/Module/AutoInstall.pm CPAN.pm: Going to build M/MM/MMIMS/Net-Twitter-3.12000.tar.gz *** Module::AutoInstall version 1.03 *** Checking for Perl dependencies... [Core Features] - Test::More ...loaded. (0.94 >= 0.88) - Carp ...loaded. (1.04) - Digest::SHA ...loaded. (5.47) - List::Util ...loaded. (1.18) - Net::Netrc ...loaded. (2.12) - Scalar::Util ...loaded. (1.18) - Data::Visitor::Callback ...missing. - DateTime ...missing. (would need 0.51) - DateTime::Format::Strptime ...missing. (would need 1.09) - Encode ...loaded. (2.12) - HTML::Entities ...loaded. (1.35) - HTTP::Request::Common ...loaded. (1.26) - JSON::Any ...loaded. (1.22 >= 1.21) - LWP::UserAgent ...loaded. (2.033 >= 2.032) - Moose ...missing. (would need 0.9) - Moose::Exporter ...missing. - Moose::Role ...missing. - MooseX::MultiInitArg ...missing. - namespace::autoclean ...missing. (would need 0.09) - Net::OAuth ...missing. (would need 0.2) - URI ...loaded. (1.52 >= 1.4) - URI::Escape ...loaded. (3.29) - Try::Tiny ...loaded. (0.04) - JSON ...loaded. (2.17 >= 2.02) ==> Auto-install the 9 mandatory module(s) from CPAN? [y]
とりあえずそのままYを押して足らないものを入れさせてみましたが、ぜんぜんだめでした。
ちなみに、CentOS5のPerl5.8.8でも同じような現象に。CPAN自体をアップデートしてやり直してもだめ。yumから1つ1つ入れてみようと思って、まず
yum install perl-Moose
を終えても、CPANからはまた入れなおそうとしてしまいます。
Mooseという新しい技術を利用するのもいいのですが、入れること自体がハードルが高いとあまり意味がないですね。別のOSで試すとか、あきらめるしかないのかなぁ。がっかり。
BOINCにっぽつ!
BOINCの各プロジェクト別に「Team 2ch」に所属しているメンバーのみのstatsを表示しています。いまはこれだけ、でもいろいろ考えてもいます。
それは追々。
http://boinc.nippotsu.org/index.html
Perlでgzファイルを解凍する
Perlでzipファイルを扱うには「Archive::Zip」というモジュールが便利なのですが、gzファイルも同じ感覚で扱おうとしたら以下のようなエラーが出ました。
format error: can't find EOCD signature
エラー処理をしないとさらに5行ぐらい表示されます。
どうもgzファイルには対応していないらしいです。
調べてみると「Compress::Zlib」というモジュールが使えるらしいので弄ってみました。
そもそもgzという圧縮形式はファイルをアーカイブする機能がないので、圧縮ファイルと解凍ファイルは1対1の関係です。サンプルではバッファの展開しか載っていないので、とりあえずその方法で使いました。
$dest = Compress::Zlib::memGunzip($buffer);
でめたしでめたし。
インクスケープでトンボを作成する方法
少々前の話なのですが、運営中のサイトでプリントライがあるのですが、データ入稿用のトンボの作成方法のページをがんばって作ってみました。
Inkscape(インクスケープ)でトンボを作成する
Inkscape(インクスケープ)のデータでもEPSにすれば入稿できますので、ぜひご利用ください。
ActionScript3でdrawRectのバグ
ACtionScript3で矩形を描くのにdrawRectがあるけど、よくよく見るとどうもおかしい。
どうも基点にごみが混ざっているようだ。
内部的にはlinetoでやっているのか、基点つまりlinetoだt基点と終点が重なる場所、つまり線でいうところのcapsがsquareになっている。表示を拡縮すると消えるけれど、小さく表示すると露骨にはみ出る。
drawRectは使えないってことなのかなぁ・・・あぁ、めんどくさい。
OpenOffice.orgの妙日本語訳
OpenOfice.orgのCalcで妙な違和感を覚えたのでよくよく見てみると漢字が間違っていました。
書式設定のセルのフォーマット、分類にソレはありました。
通過→通貨です。
まぁ、意味はわかりますが。
だったらお前が翻訳しろなんて言わないでください。
高校3年間英語赤点なんですから。
ちゃんちゃん♪