Home > Mac Archive
[ << < 1 2 3 4 5 6 7 8 9 10 11 > >> ]
Mac Archive
撮影はおまけでも閲覧はおまけじゃないです
iPhone でニコ動見ようとすると、やっぱ間になんかいるのか。となると、どれだけ iPhone/iPod Touch 的な UI になるか、で人気に差が出るのかな
- Comments: 0
- TrackBacks: 0
wassr-post.pl
Wassrに、terminal からワサワサする
wassr2growl.pl は WebService::Simple 使ったので、今日はNet::Wassr使ってみた
- 初めて実行した時に ID と PW を入力し ~/.wassr-post.yaml を生成
- #higemaru で始まる時はチャンネル higemaru に投稿
- @higemaru で始まる時は最近の友達の発言を取得して
- 最近の higemaru の発言を取得できたらその発言にレス
- 取得できなかったら普通に発言
- それ以外は全部普通に発言
Terminal が UTF-8 の時しか考慮してません。あしからず
#!/usr/bin/perl
use strict;
use warnings;
use Net::Wassr;
use YAML;
use File::HomeDir qw(home);
use File::Spec;
use IO::Prompt;
use Encode;
my $VERSION = '0.1';
my $conf_file = File::Spec->catfile(home, '.wassr-post.yaml');
my $conf = {};
unless ( -e $conf_file ) {
$conf->{user} = prompt('user: ').'';
$conf->{passwd} = prompt('passwd: ',-echo => '*').'';
YAML::DumpFile($conf_file, $conf);
chmod 0600, $conf_file;
}
$conf = YAML::LoadFile($conf_file);
my $wassr = Net::Wassr->new(
user => $conf->{user},
passwd => $conf->{passwd}
);
my $status = prompt('mes: ').'';
if ( $status ) {
if ( utf8::is_utf8($status) ) {
$status = encode('utf8', $status);
}
$status =~ s/[\x00-\x1f]//g;
if ( index($status,'#') == 0 ) {
my @tmps = split /\s+/, $status, 2;
if ( scalar(@tmps) == 2 ) {
my $mes = {
body => $tmps[1],
name_en => $tmps[0],
};
$mes->{name_en} =~ s/^#//;
my $s = $wassr->channel_update($mes);
warn Dump $s;
}
}
else {
my $mes = {
source => 'Net::Wassr',
status => $status,
};
if ( index($status,'@') == 0 ) {
my @tmps = split /\s+/, $status, 2;
if ( scalar(@tmps) == 2 ) {
$mes->{status} = $tmps[1];
$tmps[0] =~ s/^@//;
my $f_timeline = $wassr->friends_timeline();
for (@$f_timeline) {
if ( $_->{user_login_id} eq $tmps[0] ) {
$mes->{reply_status_rid} = $_->{rid};
last;
}
}
}
}
my $s = $wassr->update($mes);
warn Dump $s;
}
}
- Comments: 0
- TrackBacks: 0
wassr2growl.pl
Wassrの、自分が購読中の人のヒトコト (friends_timeline) をGrowlに通知する
初めて実行した時に ~/.wassr2growl.yaml が生成されるので、そこに wassr の ID と PW を記入して、後は cron でよしなにまわすとよろし
2008-08-01 Net::Wassr で書き直し & friends_timeline だけでなく channel_timeline も取得するようにしました
2008-07-31 初回実行時に、id と pw の入力をうながすようにしました
#!/usr/bin/perl
use strict;
use warnings;
use Net::Wassr;
use YAML;
use File::HomeDir qw(home);
use File::Spec;
use IO::Prompt;
use Encode;
use HTTP::Date;
use Mac::Growl;
my $VERSION = '0.4';
my $app = (File::Spec->splitpath($0))[2];
my $conf_file = File::Spec->catfile(home, '.wassr2growl.yaml');
my $conf = { lastupdate => 0 };
unless ( -e $conf_file ) {
$conf->{user} = prompt('user: ').'';
$conf->{passwd} = prompt('passwd: ', -echo => '*').'';
YAML::DumpFile($conf_file, $conf);
chmod 0600, $conf_file;
Mac::Growl::RegisterNotifications(
$app,
['all-timeline'],
['all-timeline']
);
}
$conf = YAML::LoadFile($conf_file);
my $wassr = Net::Wassr->new(
user => $conf->{user},
passwd => $conf->{passwd}
);
# Friend TimeLine
my $messages = $wassr->friends_timeline();
# Channel TimeLine
my $clist = $wassr->channel_user();
for my $c ( @{$clist->{channels}} ) {
my $r = $wassr->channel_timeline($c);
for ( @$r ) {
push @$messages, {
name_en => $c->{name_en},
epoch => HTTP::Date::str2time( $_->{created_on} ),
user => {
screen_name => $_->{user}->{nick}
},
text => $_->{body},
};
}
}
# sort by epoch
my @mes = sort { $b->{epoch} <=> $a->{epoch} } @$messages;
my @allmes = ();
for my $re ( @mes ) {
last if $re->{epoch} <= $conf->{lastupdate};
my $str .= sprintf('(%02d:%02d:%02d) ',reverse((gmtime($re->{epoch}+9*3600))[0..2]));
if ( $re->{reply_message} ) {
$str .= '> '.$re->{reply_message};
$str .= ' by '. $re->{reply_user_nick} if $re->{reply_user_nick};
$str .= "\n";
}
elsif ( $re->{name_en} ) {
$str .= '[#'.$re->{name_en}.'] ';
}
$str .= $re->{text} . ' by ' . $re->{user}->{screen_name};
if ( utf8::is_utf8($str) ) {
$str = encode('utf8', $str);
}
$str =~ s/[\x00-\x1f]//g;
push @allmes, $str;
}
if ( scalar(@allmes) ) {
$conf->{lastupdate} = $mes[0]->{epoch};
YAML::DumpFile($conf_file, $conf);
chmod 0600, $conf_file;
Mac::Growl::PostNotification(
$app,
'all-timeline',
$conf->{user}.'@Wassr',
join("\n----\n",@allmes),
1
);
}
exit;
- Comments: 0
- TrackBacks: 0
iPhone 対策の WebClip アイコンで悩み中
なんかかっこいいので用意しとくか、と思ったが
今の favicon の元絵がこんなので、Widget でも使ってるんだが、iPhone ぽくしづらい & 80x80 なのでドット拾い直し。。。

それ以外で使えそうなのは、OneCV for Cocoa の時作ったやつなんだが、縮小したらわけわかんなくなったし、やはり iPhone ぽくない

そろそろ蛙カメラから脱却すべき?。。。ん? これか?

案外クール? 今日は BeFunky のせいで変なので、明日ゆっくり考えよう。いずれにせよ、Apple 推奨ルールちゃんと見とかなあかんな
- Comments: 0
- TrackBacks: 0
iPhone には PalmOSの責任を取ってもらおう
増井さんをつれていった Apple は iPhone に POBox をのっけるべきだった
PalmOS を採用しなかった Apple は、Graffiti だけでも採用すべきだった
つうわけで、元掌人なワシが欲しいものを列挙するので、実現可否はわかりませぬが、誰か軽快動作なやつを作ってください iPhone 持ってないけど心の底よりお願いしますいやマジで
もし出そろった暁には、多分安くなるであろう iPod Touch を買うです
- Graffiti + POBox
- 一時期 Palm で議事録とってましたよ。PDA 界隈最高の日本語入力環境だと思う
- PooK とか J-DOC Reader みたいな DOC/MeDoc Reader
- pdb で配布されていた過去の名作をもう一度読みたい
- JFile みたいな簡易 DB の類い
- 時刻表とか蔵書 DB とか、持ち歩けると便利なもの
- なんでもいいのでメトロノーム
- たまにしか使わないけど、使いたい時には常に手元に見当たらない。シンプルであればあるほどよい
以上、すべてネタなので「今持ってる Palm 使ってればいいじゃん」「そもそも権利的に云々」的、無粋な突っ込みはご遠慮願います
「それ全部 iPhone/iPod Touch でできるYO !」的、背中押しは歓迎
- Comments: 0
- TrackBacks: 0
ratproxy おもしろい
ratproxy は、proxy として動作して、Web アプリの脆弱性をチェックしてくれるっぽい
開発中に使いたいツールなので、開発環境である MacOS X 上で動かしてみた。。。というほどのことはないんだけどね
- ratproxy-1.51.tar.gz を GET して展開
- MacOS X 用の flareを GETして、flare-dist/flare をいれかえる
- make
以上
続いて利用
まず、システム環境設定 > ネットワークで、Web プロキシサーバに「127.0.0.1:8080」を設定
./ratproxy -v log -w rat.log -d example.jp
後は、-d で指定した domain 下の Web アプリに Safari でアクセス
Tiger だと log/rat.log にlog が保存されたのに、Leopard だと -v が効いてないような気がするなぁ。。。後でもうちょっと実験する
で、なんか log が残ったら
./ratproxy-report.sh rat.log > rat.log.html
おー、おもしれぇ!
役に立つかどうか、しばらく使ってみよう
- Comments: 0
- TrackBacks: 0
世の中ブラウザ関連で騒々しい
Opera とか Firefox とか楽しそうですねぇ。でも、プライベートで使うのは Safari
Mac ユーザの人は、だまされたと思って Safari に戻ってみてはどうだろう?
昔と全然違うよ。Win 版はどうかしらんけど
とりあえずいるもの
- SafariStand
- GreaseKit
- LDRize safari
- Mnibuffer safari
- oAutoPagerize
- SafariTabConfig
- SafariTabMemento
- SafariGestures (マウス使わないならなくてもいいかな)
キーバインドは元々 OSX は「システム環境設定」でわりかし自由にできるし、サービスメニューは意外と使える(Google で検索とか、URL を開くとか)し、ブックマークレットに Cmd+数字キーでアクセスできるのは便利だし
不満点もあるけど、ダルな Web サーヒンくらいなら、十分快適だよ
- Comments: 0
- TrackBacks: 0
[ << < 1 2 3 4 5 6 7 8 9 10 11 > >> ]
Home > Mac Archive