追記

やすみたい


2011.02.22 (Tue) [長年日記]

§ [tool] Chromeの自動アップデートがうまくいかないとき

 Chromeはバックグラウンドでアップデートしてくれるというステキ仕様になっているのですが、まれにうまくいっていないことがありました。以前は、どうすればよく分からないので泣く泣くアンインストールして再インストール、をしていたのですが、対策がわかったのでメモしておく。

 うまくいかない、というのは、
設定→Google Chromeについて→最新版が利用可能です→Chrome再起動→設定→Google Chromeについて→最新版が利用可能です→……で、いつまでもアップデートが完了しない、という症状。

対策
1.Chromeを閉じる。
2.C:\Documents and Settings\USER\Local Settings\Application Data\Google\Chrome\Application を開く。
3.chrome.exeを適当にリネーム。例:chrome.exe.old
4.new_chrome.exeをchrome.exeにリネーム
以上。Chromeを起動して、「最新版の~です」になったら、3.でリネームしたファイルは消してよい。


2010.05.05 (Wed) [長年日記]

§ [tool] twitterにメールで投稿する何か OAuth対応版

 約1年ぶりの更新。日記的なものはtwitterにはき出すだけになってるので。ということで、休みの間にtwitterにメールで投稿する何かをOAuth対応にしてみた。主な変更点は:
  • OAuth対応
  • Net::TwitterモジュールからNet::Twitter::Liteに変更
  • 短縮URLをtinyurlからbit.lyにした
#!/usr/local/bin/perl
# Twitter Email gateway with Uploading Images to Flickr
# tmgfl.pl by yasumitai
# ver 2010.5.5

use strict; use warnings; use Net::Twitter::Lite; use MIME::Words qw(:all); use MIME::Parser; use Encode; use LWP::Simple; use File::Basename; use URI::Escape; use WebService::Simple::Flickr; use Data::Dumper; #for debug
# Config use constant TMPDIR => ''; #一時ファイル保管ディレクトリ my $debugmode ='log'; # '' for debug OFF my $truncate = 1; #文字数制限チェック ## Twitter OAuth keys ## Reference: http://d.hatena.ne.jp/layerzero/20090930/p1 my $c_key = ''; #Twitter API consumer key my $c_secret = ''; #Tiwtter API consumer secret my $a_token = ''; #Tiwtter API authrized token my $a_secret = ''; #Tiwtter API authrized token secret
## Flickr API keys, ## See http://flickr.com/services/api/auth.howto.desktop.html my $flickr_key = ''; my $flickr_secret = ''; my $flickr_token = ''; ## How to get Flickr AUTH token using WebService::Simple::Flickr, SEE ## http://blog.riywo.com/2009/01/21/001939 my $flickr_home = 'http://flickr.com/photos/USERNAME/';
# MIME parse my $mail; while (<>) { $mail .= $_; }
if ($debugmode) { $debugmode = TMPDIR. $debugmode; open(FH, " > $debugmode"); print FH "----- import message:: \n"; print FH $mail; print FH "----- End of Message \n"; close(FH); }

my $parser = new MIME::Parser; $parser->output_dir(TMPDIR); my $entity = $parser->parse_data( $mail ); my ( $charset, $message, $enclosure ) = &parse_mail( $entity );
&logging($debugmode, "FileName:: $enclosure") if ($debugmode) ; ###
# ファイルアップロード $enclosure = &tiny_url( $flickr_home . &uploadfile( $enclosure, $flickr_key, $flickr_secret, $flickr_token )) if ($enclosure); &logging($debugmode, "TinyURL:: $enclosure") if ($debugmode) ;

# メッセージを処理 $message = &encode_message( $message, $charset, $enclosure, $truncate); #$message = Encode::encode('utf8', $message);
&logging($debugmode, "EncodedMSG:: $message") if ($debugmode) ; ###
#Twitter POST my $nt = Net::Twitter::Lite->new( consumer_key => $c_key, consumer_secret => $c_secret, );
$nt->access_token($a_token); $nt->access_token_secret($a_secret);
my $status = $nt->update( $message );
&logging($debugmode, Dumper($status)) if ($debugmode) ; ###

sub parse_mail { my $ent = shift; my $body =''; my $charset =''; my $outputfile = ''; unless ( $ent->is_multipart) { $body = $ent->bodyhandle->as_string; $charset = $ent->head->mime_attr( 'Content-Type.charset' ) } else { $body = $ent->parts(0)->bodyhandle->as_string; $charset = $ent->parts(0)->head->mime_attr( 'Content-Type.charset' ); my $image = $ent->parts(1)->bodyhandle->as_string; #添付ファイルを書き出し $outputfile = TMPDIR . (fileparse( $ent->parts(1)->bodyhandle->path ))[0] ; open(FILE, "> $outputfile"); print FILE $image; close(FILE);
} return ( $charset, $body, $outputfile ); }

sub encode_message { my ( $mes, $char, $url, $t ) = @_; $mes =~ s/\s/ /g; my $umes = Encode::decode($char ,$mes); if ( $t ) { if ( length( $umes ) > 140 ) { $umes = substr( $umes, 0, 139 ); } } if ( $url ) { $umes = substr ($umes, 0, 110 ) . " ".$url; } return $umes; }
sub tiny_url { my ($url,) = @_; # my $tinyurl = get( "http://tinyurl.com/api-create.php?url=".$url ); my $tinyurl = get( "http://bit.ly/api?url=".$url );
return $tinyurl; }
sub uploadfile { my ($file, $api_key, $secret_key, $auth_token) = @_; my $flickr = WebService::Simple::Flickr->new( 'api_key' => $api_key, 'api_secret' => $secret_key, 'auth_token' => $auth_token );
my $ref = $flickr->upload_post({'photo' => $file }); return ( $ref->parse_response->{photoid} ); }
sub logging { my ($file, $log) = @_; open(FH, " >> $file"); print FH $log ."\n"; close(FH); }
OAuthの各種token取得は Net::TwitterでOAuthしてみるテスト - 日々積みゲー を 参考に。 今なら、メールで投稿機能は公式サイトにもあるし、写真についてもFlickrが公式に対応しているので今さらスクリプトをわざわざ自分のサーバに置く必要があるのかっていう。好きなクライアント名付けられるくらいか、メリットは。

2009.05.02 (Sat) [長年日記]

§ [モノ][メモ] MP3プレイヤーとFMトランスミッタを買った

 GWを前にMP3プレイヤ(Transcend 8GB T.sonic 320 TS8GMP320)とFMトランスミッタ(サン電子 USB充電ポート搭載FMトランスミッター FMTS-203/G)を購入したので取り付け。

 しかし、トランスミッタの電源が入らない……シガーライターソケットをテスタであたってみると電圧きてない。ヒューズ切れでもない、となると断線か!? ということで、センターコンソールを取り外しソケットの後ろ側を見てみると……コネクタ抜けてる……というか、昔オーディオ付けたときにソケット使わないから、と外したんだっけ? コネクタを接続してAC ONするとあっさりトランスミッタは動作。

 アンテナが遠い(後方)けど、気になるようなノイズも無くしっかり入る。音質はシャリっとした感じがするけど、まあこだわらないからよい。

 MP3プレイヤ使うのはこれが初めてなので、プレイヤ自身の音質は比較のしようがないところですが、自分的には十分。使い勝手については、amazonのレビューにもさんざん書かれてるけど、起動が遅い、スイッチやや固め、再生まで時間がかかる、電源切るとボリュームがリセットされる、USB接続中(充電中)は再生不可(せっかくUSB充電可能なトランスミッタ買ったのに)というところがやや使いづらい。ボリュームだけでも保持できるようになればいいんだけど。あと、ファイル転送の速度が劇遅……USB2.0のはずなのにUSB1.1ですか? みたいな。

 それでも8GBの容量に、FMラジオ、録音機能付きで5000円以下というのはかなりコストパフォーマンス高いと思う。

§ [メモ][乗り物] センターコンソール取り外し手順

 自分への備忘録も兼ねて。GF8Fでの手順だけど、GC/GFならだいたい同じじゃないでしょうか。→ PDF

 ていうか、バラすんだったらトランスミッタなんか使わずケーブルでつなげばよかったかも。

本日のツッコミ(全1件) [ツッコミを入れる]

Gfmygrxp [この間も俊太郎の詩をお http://www.stlouisbusin..]


2009.04.02 (Thu)

§ [ネタ] @nifty:デイリーポータルZ:あぶり出しを家庭用プリンタで印刷する

はてブに「これ、うまくやれば本当にできるんじゃないの?」コメントしたついでにちょっと調べてみた。

「あぶり出し」では無いけど、参考になりそうなのが:

Make: Online : HOW TO - Tuesday! Make an "Invisible ink printer"

Invisible Printer Ink

エイプリルフールのネタだと思っていたら、実はできていた(AA略

……あの記事は大人の事情で「ネタです」って書いてあるのだったりして。

本日のツッコミ(全1件) [ツッコミを入れる]

Zdhiyyoj [この間も俊太郎の詩をお http://www.stlouisbusin..]


2009.03.04 (Wed)

§ [web] Flickr動画uploadに対応

 FlickrもHD対応! にしても職員の作品がカッコ良すぎ : ライフハッカー[日本版], 仕事も生活も上手くこなすライフハック情報満載のブログ・メディア
 Flickr、プロアカウントじゃない人でも動画がアップロードできるようになったそうな。月2本だけだけど。これで先日作ったスクリプトのテストができる。