TwitterFoxアドインを入れてみた
簡単な書き込みのインタフェースが、リアルタイムだったり、友達の輪を広げてくれそうで、 ちょいと注目中。かといって、Twitterを使わない人にもそこでのネタが広まることを期待して、 サマリ記事などの実験をしている。
しかし問題なのは、Twitterの過負荷状態。ともかく妙なタイミングで重い時があり、 スタイルシートが読み損ねたり、過負荷でギブアップのクジラページがでたり。 ということで、少しでもWebとしての負荷を下げるために、Firefox アドオンの "TwitterFox"を入れてみた。んで….そんだけ…(^_^;
MacにはTwitter Board
同様にということで、Macには Twitter Board なるウィジェットを入れてみた。 どちらも、 TwitterFoxも含め「フォントがちいせぇなぁ…」と思うのはジサマの視力のせいである。
tohrusaitoh のつぶやき (07/28)
- 07/28 @tab2_takayoshi tab2さんも、猫好きでしたっけ?
- 07/28 電車移動の相談中、ママ曰く「京都で電車間隔1時間くらい?」、パパ「どこの京都やねん…」
- 07/28 週末のお出かけの計画中。
- 07/28 京都パークアンドライド / →http://www.city.kyoto.jp/tokei/trafficpolicy/kankochi/
- 07/28 ポケモンスタンプラリー / →http://bit.ly/Zxlo5
- 07/28 家電Watchの記事なのに… / →http://bit.ly/10wYM3
この記事は、
の tohrusaitohに掲載したものを、まとめたものです。
追記: Twitterで返信した場合、返信した相手へのリンクを埋め込む様に、 まとめ記事処理を追加した。
Twitterまとめ記事アップ処理
Twitterにまとめ記事を上げる処理は、以下のとおり。
#!/usr/bin/perl
require "mimew.pl" ;
use Jcode ;
use XML::TreePP ;
use XML::FeedPP ;
use POSIX qw( strftime ) ;
use HTML::Entities ;
# Twitterの設定
my $twitter_rss = "http://twitter.com/statuses/user_timeline/<フィードの番号>.rss" ;
my $twitter_url = "http://twitter.com/" ;
# サマリ記事の最終日付保存も兼ねた一時保存
my $twitter_summary = "/var/run/.twitter.html" ;
# 記事をMovableTypeに書き込むためのメールの設定
my $prog_sendmail = "/usr/sbin/qmail-inject" ;
my $mail2entry = 'MTに投稿するためのメールアドレス' ;
my $mail2entry_from = 'MT投稿のFROMアドレス' ;
my $tw_last = 0 ;
if ( -r "$twitter_summary" ) {
@tw_stat = stat( "$twitter_summary" ) ;
$tw_last = $tw_stat[ 9 ] ;
}
# twitterフィードを読み込む
my $twitter = XML::FeedPP->new( $twitter_rss ) ;
my $count = 0 ;
my $subject = "" ;
my $text = "- \n" ;
my $max_time = 0 ;
my $auther = "" ;
# 各記事をリストアップ
foreach $item ( $twitter->get_item() ) {
my $ptime = XML::FeedPP::Util::get_epoch(
$item->pubDate() ) ;
if ( $ptime > $tw_last ) {
$max_time = $ptime if ( $ptime > $max_time ) ;
my $pstime = strftime( "%m/%d" ,
localtime( $ptime ) ) ;
my $title = Jcode->new(
HTML::Entities::decode( $item->title() ) )->euc ;
my $link = $item->link() ;
my $url = "" ;
$title =~ s//>/g ;
$title =~ s/&/&/g ;
if ( $title =~ s/^(\w+):\s+// ) {
$auther = $1 ;
}
if ( $title =~ /^(.*)\s+((http|https):\/\/\S+)$/ ) {
($title,$url) = ($1,$2) ;
$title = "[メモ]" if ( $title eq "" ) ;
$url = " / → <a href=\"$url\">$url</a>" ;
}
$text .= "<li>$pstime <a href=\"$url\">$title</a&"
."\gt;$url</li>\n" ;
$count++ ;
}
}
$text .= "
$subject
\n" ; print FH $text ; } close( FH ) ; # メールで送る if ( $count > 0 ) { open( MAIL , "| $prog_sendmail" ) or die( "Can't open program $prog_sendmail\n" ) ; $subject = mimeencode( Jcode->new( $subject )->jis ) ; $text = Jcode->new( $text )->jis ; print MAIL "From: $mail2entry_from\n" ."To: $mail2entry\n" ."Subject: $subject\n" ."Content-Type: text/html; charset=ISO-2022-JP\n" ."Content-Transfer-Encoding: 7bit\n\n" ."$text" ; close( MAIL ) ; }
現実逃避のお裁縫
テスト問題づくりと採点の現実逃避で、Macの保護用の袋を作ってみた。 目的は、アタッシュケースにMacを入れると、ケースの内金具でアルミボディに傷を付けてしまったので、その予防。 材料は、古いズボンの太ももの部分。 
Twitterまとめ記事アップの頻度は
f-leccs.jp の方からも、面白そうな取り組みと言ってくれるひともいるし、 もう少しチューニング。 最初は、まとめ機能の追加で、Twitter にそれなりにつぶやきを掲載した。 その結果、全体の記事からすれば、数件に1つが「Twitterまとめ記事」で、 いいんだけど、自分自身の MovableType のページは、「Twitterまとめ」ばっかり になりつつある。
このままいくと、MT のページは、つぶやき記事のタイトルばかりになってしまいそう。 なんとなく中身が無いのがバレバレっぽい雰囲気になりそうなので、 Twitterまとめアップの頻度を、週3回に減らす。 ただし、まとめ記事になるまでに2日間程度となるため、Twitter のリアルタイムな 面白さがなくなるのも欠点。まあ、そんなに面白いネタ上げてるわけでもないので この辺が妥協点か…
ECOポイント7000点
子供部屋のエアコンを購入して、今日は工事日だった。 保証書も揃ったことで、エコポイントの必要書類が揃った。
http://eco-points.jp/にて、 住所氏名購入店舗、製品番号、製造番号を入力し、申請書類を作成する。 これに、購入時のレシート(原本)と、製品保証書(コピー)を糊づけして、 郵送する。ただ、書類にはレシートと保証書コピーを、 重ならないように糊づけと書いてあるけど、 A4用紙になぜかB5サイズ印刷されて、 どこをどうやったら重ならない様に糊付けしろってんだよぉ~♪
ポイントの利用
ポイントは、カタログギフトや地域産品などにできるんだけど、 ひとまずJCB商品券に交換。 Edyなどの電子マネーにもできるみたいだけど、肝心の店で使えないと困るので、 商品券が無難だろう。
tohrusaitoh のつぶやき (07/26)
Twitterに、メモ的にリンクをつぶやいた記事を、それなりに張り込む様に処理を追加。 このおかげで、Twitterをメモとして活用できる。
- 07/25 つぶやきのサマリをmtに上げる実験
追記: Twitterで沢山つぶやいた時のすべてのつぶやきが、 サマリに上がるとウザいので、記事をまとめてMovableTypeに上げる。
iCalendarをGoogle Calendarに転送
Net::Google::Calendarモジュールが便利そうだったので、 iCalendar(.ics)のファイルを Google Calendar にアップロードするプログラムを、 Perl で書いてみた。 今までは、Java で書かれたGCalDaemonを使っていたけど、カスタマイズもしづらかった。
繰り返しイベントについては、未対応のまま。 本当は同期させたいけど、Google側のEventのIDはURL形式で、iCal と互換性がない。 だから、アップロードの度に、一旦全イベントをチマチマ消しているのが、美しくない。 かといって、iCal と Google Calendar の ID の対応表をいちいち更新するのも面倒だし。
get_eventsとdelete_entryの使い方
# Google Calendar の登録情報
$url = 'http://www.google.com/'
.'calendar/feeds/XXXX%40gmail.com/'
.'private-XXXXXXXXXXX/basic' ;
$user = 'XXXX@gmail.com';
$pass = 'PPPPPPPP';
$calname = Jcode->new( 'NNNN' )->utf8 ;
my $cal = Net::Google::Calendar->new( url => $url );
# $cal->{_ua}->env_proxy; # (2)
$cal->login($user, $pass) or die $@; # (3)
# 指定されたカレンダーを選ぶ
my $dest_cal ;
foreach my $c ( $cal->get_calendars ) {
$dest_cal = $c if ( $c->title eq '<カレンダーの名前>' ) ;
}
if ( $dest_cal ) {
# 登録されていたイベントを全部消す
$cal->set_calendar( $dest_cal ) ;
my $start_index = 1 ;
my $max_results = 20 ;
my @ev ;
while( 1 ) {
# 指定件数しかイベントを返さないので少しづつ消す
@ev = $cal->get_events(
start-index => $start_index ,
max-results => $max_results ) ;
last if ( @ev == 0 ) ;
foreach my $e ( @ev ) {
$cal->delete_entry( $e ) ;
}
$start_index += @ev ;
}
}
