東京アメッシュツール更新

Posted on 2007/07/11 (水) 13:06
Filed Under 技術 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

先日の「東京アメッシュ、リニューアル」エントリの中で作ったツールを少し更新した。

など。
ソースは前回のエントリ「東京アメッシュ、リニューアル」へどうぞ。

東京アメッシュ縮小画像

東京アメッシュ、リニューアル

Posted on 2007/07/04 (水) 0:02
Filed Under 技術 | 2 Comments | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

東京近辺の詳細な雨量レーダー情報を提供する、東京都下水道局提供の東京アメッシュが、より広域の情報、スクロールマップ対応などの機能追加とともにリニューアルされた。
リニューアルされて高機能になったのだが残念ながらW-ZERO3で見ていた小さいサイズのgif画像が廃止されてしまったり、AjaxがSafariで表示出来なかったりいろいろ不便な点も発生してしまった。
が、素直なつくりだったので勝手に小さい画像生成することにした。

東京アメッシュ縮小画像

Sサイズ(240x150):http://www.dcc-jpl.com/soft/tokyoamesh/S.jpg
Mサイズ(480x299):http://www.dcc-jpl.com/soft/tokyoamesh/M.jpg
Lサイズ(770x480):http://www.dcc-jpl.com/soft/tokyoamesh/L.jpg
XLサイズ(3080x1920):http://www.dcc-jpl.com/soft/tokyoamesh/XL.png

ケータイ向けLサイズ回転縦長版(480x770):http://www.dcc-jpl.com/soft/tokyoamesh/Lp.jpg

合成ベースになってる東京アメッシュのソースはこれら。
地形:http://tokyo-ame.jwa.or.jp/map/map100.jpg
行政区分と地名:http://tokyo-ame.jwa.or.jp/map/msk100.gif
行政区分と地名(小):http://tokyo-ame.jwa.or.jp/map/msk000.gif

気象レーダー:http://tokyo-ame.jwa.or.jp/mesh/100/[4桁西暦][2桁月][2桁日][2桁時刻][2桁分].gif 24時間前のものまで保存されている模様。分は10分刻み。

10分おきのcronで画像を作成してるコードはこちら。

PERL:
  1. #!/usr/bin/perl -w
  2.  
  3. use strict;
  4. use LWP::Simple;
  5.  
  6. #インストールディレクトリ
  7. my $workdir = "/path/to/exzmple/";
  8.  
  9. # 最新画像ゲット
  10. my $now = `date +%Y%m%d%H`;
  11. chomp $now;
  12. my $min = `date +%M`;
  13. chomp $min;
  14. my $filemin = $min( $min % 10) ;
  15. $filemin = sprintf("%02d",$filemin);
  16.  
  17. my $imgurl = "http://tokyo-ame.jwa.or.jp/mesh/100/" . "$now"."$filemin".".gif";
  18. my $status  ;
  19. do {
  20.     $status = mirror($imgurl, "$workdir/cullentradar.gif");
  21.     # 404なら23秒待って再トライ
  22.     if ($status  eq "404"){
  23.         sleep 23;
  24.     }
  25. } until ($status ne "404");
  26.  
  27. # 合成
  28. my $oserr;
  29.  
  30. $oserr = `composite -compose over $workdir/cullentradar.gif  $workdir/map100.jpg $workdir/before.png `;
  31. $oserr = `composite -compose over  $workdir/msk100.gif $workdir/before.png  $workdir/XL.png `;
  32.  
  33. $oserr = `convert -sample 771x480 $workdir/before.png $workdir/Lb.png`;
  34. $oserr = `composite -compose over  $workdir/msk000.gif $workdir/Lb.png  $workdir/L.jpg `;
  35. $oserr = `convert -resize 480x299 $workdir/L.jpg $workdir/M.jpg`;
  36. $oserr = `convert -resize 240x150 $workdir/L.jpg $workdir/S.jpg`;
  37.  
  38. #回転
  39. $oserr = `convert -rotate 90  $workdir/L.jpg $workdir/Lp.jpg`;

追記:いろいろ更新したんでこのエントリも修正した。「東京アメッシュツール更新

MacBook Pro 17 ハードディスク交換

Posted on 2007/07/01 (日) 4:39
Filed Under Mac | 3 Comments | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

MacBook Pro 17(CoreDuoモデル)のハードディスクを標準の120GBから250GBに交換したのでそのやり方も含めてメモ。
買ったドライブはWestern Digital WD2500BEVS

WESTERN DIGITAL 2.5インチ内蔵HDD 250GB Serial-ATA/150 5400rpm 12.0ms 8MB WD2500BEVS


 まず最初に250GBハードディスクをUSBハードディスクケースに入れてフォーマットしてから内蔵ドライブのコピーを作る。コピー作業にはCarbon Copy Cloner3.0をつかった。Carbon Copy Cloner(CCC)はAppleのアップルソフトウェアレストアコマンドasrのラッパープログラムのようである。100GBのコピーに5時間弱。

 コピーが完了したら外付けのドライブから起動出来るか動作確認して、起動出来たならシステム終了して電源を落す。

 必要な工具は00番のプラスドライバとT6のトルクスドライバ。

 裏返してメモリを交換する手順でメモリを取り外す。

MacBook Pro 底面写真 00番プラスドライバで4+3で7本のネジとT6トルクスで2本のネジを外す。

MacBook Pro サイドネジ穴指示写真 再びひっくり返し、底部を底にする通常使用状態に置き、横から10本のネジを外す。

MacBook Pro トップカバー取り外し ネジを外すとトップカバーを外せるようになるのでケーブルを傷つけないように静かに手前から持ち上げる。

MacBook Proハードディスク写真 左下にハードディスクが搭載されている。まず2本のネジを外しステーをはずす。

 オレンジ色のカプトンテープを注意深く外しながら、ハードディスクにつながっている基盤を取り外す。こっち側のテープはコの字状に裏面にも張り付いているので注意。

 ハードディスクが取り出せたらドライブ横についているダンパーゴム用ネジを新しいハードディスクに付け替える。

 あとは逆の手順で組み立てて完了。

MacBookだと、バッテリ取り外して、元ハードディスク抜いて、新しいハードディスク挿入するだけなんでちょー手軽ですね。

Fan Control 1.1

Posted on 2007/06/26 (火) 18:04
Filed Under Mac | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

page thumbnailFan Control 1.1
Cool Down Your MacBook(Pro)



MacBook用の内蔵ファンコントロールソフトのFan Control 1.1を使ってみた。
Fan Controll Screen shot
単機能なソフトだが効果絶大。
いままでのAppleデフォルト設定は回転音の静かさとひきかえにファンクションキーの上側や底部など触ったら火傷するぐらいの高温になっていたんだけど、設定ひとつでだいぶ冷えるようになった。
これはおすすめ。

Apple iPhoneガイドツアームービー

Posted on 2007/06/24 (日) 21:24
Filed Under モバイル | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

page thumbnail
AppleでiPhoneのわりと長めのガイドツアームービーが公開されていた。
Apple - iPhone - A Guided Tour
ストリーミング視聴とお持ち帰り用が用意されている。
いうまでもなくiPhone超すごかった。
日本市場では無線機の都合で相当先まで出荷出来ないなら、せめてiPhoneベースのiPod出してくれないものかと強力に思った。
ていうか、iPhone、端末にそこそこの価格つけてもSIMフリーにしてくれれば便利だと思ったが、契約キャリアからも通信料に応じたライセンス料受け取ってるようだから難しそうだよなー。Appleにはなんとかがんばってもらいたい。

Advanced/W-ZERO3 [es]プレビューレポート

Posted on 2007/06/18 (月) 15:56
Filed Under モバイル | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

WILLCOM Advanced/W-ZERO3[es]内覧会WILLCOMの新機種、Advanced/W-ZERO3 [es]【愛称:どエス】の内覧会に行ってきたので提灯記事を書きますよぉー。

まず気になる機能メモから。

測位
 位置情報の取得は現行W-ZERO3と同様回線を切らないとできない。nineや他のWILLCOM端末のように特殊URLを踏むことで位置情報を通知することはできない。不便である。

充電機能
 USB給電機能はデフォルトでオフだが存在している。500mAをリクエストするためホスト側にドライバが必要。また完全にバッテリが空っぽのときには充電することができない。(大容量バッテリの場合はどうなるのか?)

ソフトキー
 物理的なソフトキーはなくなったが、設定でスタートキーとOKキーをソフトキーに変更することができる。その場合長押しするともとのスタートキーとOKキーになる。

機種変代金
 発売日に赤耳を買った人の機種変代金はWILLCOM STOREプライスで45,000円程度の予定。

キラーアプリ
どエスでおとボク おとボク起動した。(参考:おとボク on W-ZERO3を動画対応に)
上の黒い余白が[es]から拡張した160ピクセル分。結構広くなった。
空いてるフタはmicroSDスロット。

大きさ比較
どエス、ワン様、iPhone大きさ比較 もうすぐ発売になるiPhoneペーパークラフトと。

いろんなメモ

とりあえず、W-ZERO3[es]から退化したところはなく、順当に機能拡張されているんでまちがいなく買い。

Mac OS X Leopardにも搭載されるZFS超すげぇ

Posted on 2007/06/12 (火) 0:43
Filed Under 技術 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

page thumbnail次のバージョンのMac OS X Leopardに新しいファイルシステムZFSが搭載される。
これがあまりにも驚異的にすごいのでちょっとだけご紹介。

など。
Mac OS X Leopardの目玉機能のひとつ、Time Machineは内部でZFSのスナップショット機能を用いて実装されているのではないかと予想している。
いままでやや力不足だったHFS+から大きな飛躍を遂げたZFSの拡張性によって、Leopardは最強の個人向けファイルサーバとなりそうである。

いろんな資料
Solaris ZFS 管理ガイド」(開発元のSun Microsystems)
Zettabyte File System」(Wikipedia)
Sun Solaris 10ファイルシステムZFS誕生エピソード『心を解き放て!』」(Sun Microsystems)

ラクチンで高機能な監視ツールmunin

Posted on 2007/06/06 (水) 13:09
Filed Under 技術 | 6 Comments | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

page thumbnail設定が ラクチンで高機能だという評判の監視ツール「munin」を入れてみた。
読んだ記事:「MRTGよりお手軽に負荷やトラフィックをグラフ化できる「Munin」 - GIGAZINE
手もとのCentOSやFedoraCoreのLinux環境はyum一発で入っていきなりデフォルトの監視項目で動き出した、というぐらいラクチン設定だった。標準添付のps_プラグインを使ってffmpegのプロセス数を数えると走ってるfoltiaのトラコン数も数えられる。
 こりゃーいい、とおもって1日使ってみたところ温度を取得する項目が物足りない気がしたのでlm_sensorsの取得内容を元にグラフを描くプラグインを作ってみた。ただlm_sensorsの取得内容だけを描いてもまだ物足りなかったので、アメダスの実況気温をlivedoor 天気情報あたりから得て描くようにもした。
 自宅サーバなど年中エアコン入れると電気代がもったいないよなーという向きにも外気温がわかるとなんかの参考になりそう。

表示例はこんな感じ。
サンプルは宗子時空の動いてるサーバ。
まず一日の日中の動き。
munin 温度 merleawe day
一週間だとこんな。
munin 温度 merleawe day

ためしにfoltiaを動かしてる機械だとこんな感じ。
munin 温度 sync day
録画がおわってトラコンが走ると猛烈に熱くなるというのがとてもよくわかる。

 インストールは他のプラグインとおんなじで、lm_sensorsが入ってれば、ほぼ自動で動くはず。アメダスの地域を変えるには108行目のRSS URLを変える。

ダウンロードはこちら
munin lm_sensors温度プラグイン temperature.pl.txt

ソースはこんな。

PERL:
  1. #!/usr/bin/perl -w
  2. #
  3. # Anime recording system foltia
  4. # http://www.dcc-jpl.com/soft/foltia/
  5. #
  6. # munin用温度監視モジュール/Linux / lm_sensors
  7. #
  8. # DCC-JPL Japan/foltia project
  9. #
  10. #
  11. # How to install to munin.
  12. # munin : http://munin.projects.linpro.no/
  13. #
  14. # su -
  15. # cp temperature.pl /usr/share/munin/plugins/temperature
  16. # ln -s /usr/share/munin/plugins/temperature /etc/munin/plugins/
  17. # restart munin-node Ex. service munin-node reload
  18. #
  19. #
  20. use strict;
  21. use warnings;
  22.  
  23. if ($#ARGV> -1 ){
  24.  
  25. if ( $ARGV[0] eq "autoconf" ){
  26.     my $lmsensorspath = `which sensors`;
  27.         if ($lmsensorspath eq ""){
  28.         print "no\n";
  29.         }else{
  30.         print "yes\n";
  31.         }
  32.     exit 0;
  33. }elsif($ARGV[0] eq "config"){
  34. print "graph_title Universal temperatures. \n";
  35. print "graph_args --base 1000 -l 0\n";
  36. print "graph_vlabel Celsius\n";
  37. print "graph_scale no\n";
  38. print "graph_category sensors\n";
  39. print "graph_info This graph shows the temperature in degrees Celsius of lm_sensors in the machine and AMEDAS.\n";
  40. &extracttempratures("config");
  41. print "amedas.label amedas\n";
  42. #print "amedas.type DERIVE\n";
  43. print "amedas.info temperature from amedas\n";
  44.  
  45. }else{
  46. &extracttempratures();
  47. my $amedasvalue = &getamedastemp();
  48. print "amedas.value $amedasvalue\n";
  49. }
  50.  
  51. }else{
  52. &extracttempratures();
  53. my $amedasvalue = &getamedastemp();
  54. print "amedas.value $amedasvalue\n";
  55. }
  56.  
  57. sub extracttempratures(){
  58. #print "$#_\n\n";
  59. my $flag = "";
  60. if ($#_ == 0){
  61.     if ($_[0] eq "config"){
  62.         $flag = "config";
  63.     }
  64. }else{
  65.     $flag = "value";
  66. }#endif value
  67.  
  68. #my $sensors=`cat ./mer-sensors.txt`;
  69. my $sensors = `which sensors`;
  70. $sensors = `$sensors`;
  71. my @sensor = split(/\n/, $sensors);
  72. my $data = "";
  73. my $counter = "0";
  74. my @tmp1 = "";
  75. my $temperature = "";
  76.  
  77. foreach $data (@sensor){
  78.     if ($data =~ /[0-9].*C/){
  79.         @tmp1 =split(/\(/, $data);
  80.         @tmp1 =split(/:/, $tmp1[0]);
  81.         $temperature = $tmp1[1];
  82.         $temperature =~ s/[^0-9.-]//gi;
  83.         if ($flag eq "config"){
  84.             print "$tmp1[0]_$counter.label $tmp1[0]_$counter\n";
  85.             #print "$tmp1[0]_$counter.type DERIVE\n";
  86.             print "$tmp1[0]_$counter.info temperature on $tmp1[0]_$counter\n";
  87.             #print "$tmp1[0]_$counter.max 200\n";
  88.             #print "$tmp1[0]_$counter.min -20\n";
  89.         }else{
  90.             print "$tmp1[0]_$counter.value $temperature\n";
  91.         }
  92.     $counter++;
  93.     }#if
  94. }#foreach
  95. }#endsub
  96.  
  97. sub getamedastemp(){
  98. use LWP::Simple;
  99. my $rssurl = "";
  100. if ($#_> -1 ){
  101.     $rssurl = $_[0] ;
  102. }else{
  103. #Config section
  104. #デフォルトで八王子
  105.     $rssurl = "http://weather.livedoor.com/forecast/rss/amedas/point/44112.xml";
  106. }
  107.  
  108. my ($content) = get("$rssurl");
  109. my (@line) = split(/\n/, $content);
  110.  
  111. foreach(@line){
  112.     if( /の気温/){
  113.     my (@linetmp) = "";
  114.     @linetmp = split(/]/, $_);
  115.     @linetmp = split(/</, $linetmp[1]);
  116.     my $temperature = "$linetmp[0]";
  117.     $temperature =~ s/[^0-9\.]//gi;
  118.     return ("$temperature");
  119.     last;
  120.     }
  121. }#foreach
  122. }#endsub

Recently


Categories


Archives


Wish list

宗子さんのほしい物リスト2015/5-
Pages (152): « First ... « 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 ... Last »