忍者ブログ

Home

Born Neet

[PR]

  • 2025-02-28 (Fri)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

  • Comments (Close):
  • TrackBack (Close):

ブログのトップページにWassrの発言を表示するようにした(Wassrバッジ?)

っというわけで、TwitterからWassrに乗り換えてみました。

まぁTwitter自体全然使ってないですけどねー。
(そもそもSNSっていうかコミュニケーションが苦手っていう…)

で、せっかくAPIも公開されてることなので、今までTwitterの発言を表示してた部分にWassrの発言を表示するようにしました。

興味のある人はどうぞー。

[html, css]

今回は(面倒なので)html、cssに変更を加えないのがテーマ(?)だったため、

<div id="twitter_div"><dl><dt><a href="http://wassr.jp/user/tnantoka/" id="twitter-link"><img src="http://blog.cnobi.jp/v1/blog/user/09dc80a1f21051be5f72fa57333824ae/1215330082" alt="Wassr: Do you follow me?" /></a></dt><dd><ul id="twitter_update_list"></ul></dd></dl></div>

と、ほぼ前のままでOKです。
(画像とリンクをWassrにしただけ。cssは変更なし)

[js]

WassrはJSONPに対応してるので、

<script type="text/javascript" stc="http://api.wassr.jp/statuses/show.json?id=tnantoka&amp;callback=wassrCallback"></script>

とかやれば、

wassrCallback([{
	"link":"http://wassr.jp/user/tnantoka/statuses/e6wr6C1Ebz",
	"epoch":1215324666,
	"user_login_id":"tnantoka",
	"areacode":null,
	"rid":"e6wr6C1Ebz",
	"photo_url":null,
	"reply_message":null,
	"photo_thumbnail_url":null,
	"reply_user_nick":null,
	"html":"テスト",
	"reply_status_url":null,
	"text":"テスト",
	"user":{"screen_name":"t*"},
	"slurl":null,
	"areaname":null
}]);

ってな感じに、発言のオブジェクトをコールバック関数に渡して呼び出してくれます。

あとはTwitterのjs等を参考に、

function wassrCallback(wassrs) {
	document.getElementById('twitter_update_list').innerHTML = '<li><span>'+wassrs[0].text+'</span> <a style="font-size:85%" href="'+wassrs[0].link+'">'+parseEpoch(wassrs[0].epoch)+'</a></li>' + '<li style="text-align: right; margin-top: 5px; font-size: 85%;"><a href="http://twitter.com/tnantoka">Twitter\u306F\u3053\u3061\u3089</a></li>';
}

function parseEpoch(epoch) {
	var pass = new Date / 1000 - epoch;
	var s;
	if (pass < 60) {
		s = 'less than a minute ago';
	} else if (pass < (60 * 2)) {
		s = 'about a minute ago';
	} else if (pass < (60 * 60)) {
		s = 'about ' + parseInt(pass / 60) + ' minutes ago';
	} else if (pass < (120 * 60)) {
		s = 'about an hour ago';
	} else if (pass < (24 * 60 * 60)) {
		s = 'about ' + parseInt(pass / (60 * 60)) + ' hours ago';
	} else if (pass < (48 * 60 * 60)) {
		s = '1 day ago';
	} else {
		s = parseInt(pass / (24 * 60 * 60)) + ' days ago';
	}
	return s;
}

みたいな関数を用意しておけばいいだけです。
(画像、js、htmlをTwitterのバッジからそのまま流用しちゃってるので、一応Twitterへのリンクを入れておきました^^)

[まとめ]

以上でーす。
テストとか全然してないので不具合とかあったらごめんなさい(>_<)

PR

-(ハイフン)で始まるファイルを消す方法(Linux)

tar cvf archive.tar files...

gzip archive.tar

とか

tar cvfz archive.tar.gz files...

とか面倒!
どうせtgzとかあるんだろ?と思って、

tgz -help

とやったら、-help.tgzなんてのができちゃった…。

こりゃやばいってことで、

rm -help.tgz

で削除を図るも、-help.tgzなんてオプションはありません!とか言われて消せない…。
(ハイフンで始まるからオプションと判断されちゃうらしい)

かなりテンパった。
こういう時ネットに繋がってない環境はきつい!

しかたなくマニュアルで調べる…

man rm

…書いてある気がしない(※)…
(※ 今見たら普通に書いてありました;どんだけ焦ってんだよ。っていうか英語わからん)

お次はhelp…

rm --help

…あった!これだ、これだ!!

ということで、結局

rm -- -help.tgz

rm ./-help.tgz

と書けばいいらしい。

--なんてオプションは知らなかった。
(mvやcp等いろいろなコマンドで使えるっぽい)

./は納得しつつも、これぐらい自分で思いつけよ、と凹んだ。

以上。

遭遇したのは、Redhat Enterprise上でしたが、
一応Ubuntuでも確認しました。
(そのためにUbuntuにtgz入れたり^^)

誤字等を修正。(2009/02/11 15:12)

UbuntuからVistaの領域は普通に見れる

なーんだ。

じゃあわざわざFAT領域作らなくてもよかったんじゃん!
っていうかあまりにも自然にできるからリアクション取るの遅れたよ。

というわけでこのエントリは、Ubuntuで下書きしてWindowsから投稿しました。

それだけです。

FONってなんだっけ!?

マイコミフレッシャーズから

photo
La Fonera

by G-Tools , 2008/06/27


とかいうフランス語みたい(?)なのが届いた。

っていうか1ヶ月以上前に実家に届いてたらしい。

…あぁ!そうかそうか。
個人情報と引き換え(笑)に先着1000人に無線ルータくれるって言ってたやつか。
どうせ個人情報はもう握られているから(毎ナビ登録してたし、そもそもプレゼント情報が載ってた雑誌を送ってこれてるわけだしね^^)と思って応募したんだった。

ダメもとだったけど、へー、ちゃんと送ってきたんだ。

ん!?でもなんだこれ?
(「HTC製のスマートフォンで使える無線ルータをプレゼント」とか言ってなかったっけ?)

FON…?

なんかhotentryで見たことある気がするぞ。

ってことで調べたみた。
(相変わらず前フリ長い!)

結果。
FON - Wikipedia(2008年6月27日 20:33:05)
だそうだ。

だいたいわかっ(思い出し)た。
livedoorとの提携の話で聞いたことがあったんだなー。

けど、やっぱヤバイ使われ方されたりとか怖いよなぁ。
ここは東京だし(?) プロバイダが許してるかどうかもよくわかんないしね。
でもlivedoor wirelessに繋げるのは魅力かも。
とりあえず、ちゃんとした無線ルータ買うまでの間、Adesでネットやるように使ってみようかな…。


…っていうか1980円て!安っ!!
得した感が一気に失せたよ…。

以上。

かなり今さらな情報でしょうが。
知ら(覚えて)なかったもんはしょうがない。

最高のローディングアイコン!?Fastladderの棒人間だけを抜き出してみた

Fastladder(or livedoor Reader)を使ってる人にはおなじみの棒人間ローダ。
かわいいですよねー。

で、せっかくオープンソースなんだから、ということでやってみました。

これです↓



[やったこと]

ダウンロード

まずは、Fastladderのソースを取ってきます。

Subversion(svn)が必要です。(※)
Trac Lightningなら、pythonまでついて来ていいですよ。
(これでハッカーの仲間入り!?)

svnさえ入れちゃえばあとは簡単です。

コマンドプロンプトを起動して、保存したいディレクトリに移動。

cd ディレクトリパス

ですね。(知ってるって?いや、一応ね…)

そして、fastladder - Google Codeにしたがって、

svn checkout http://fastladder.googlecode.com/svn/trunk/ fastladder-read-only 

と入力&Enterすれば、自動的にダウンロード(チェックアウト)されます。
-read-onlyは書かなくてもいいっぽいですね

※ と思ってたらFastladder Open Source / Free DownloadからUnix版をダウンロードすればいいだけでした^^;
  まぁ最新のソースはsvnがないとダメってことで(笑)

ソースを見る

ソースは無事手に入れましたが、どうやって棒人間を操ってるのかイマイチわかりません…ということにします。
ここで役に立つのがWeb Developer。
「枠表示」→「マウスカーソルの個所を枠で囲う」とやれば、棒人間の情報を教えてくれます。

こんな風に。


というわけで、棒人間はloadiconというid(#)を持つらしいことがわかりました。

ここまでくれば楽勝です。

Devas等で、*.jsファイル内の"loadicon"を検索すれば、わんさかヒットします。

とまぁ、なんだかんだで見つけ出して、ごにょごにょしたソースがこちら。

/**
 * original: http://fastladder.org/
 *
 * fastladder/public/js/reader_main.js
 * 3272~
 */

var LoadEffect = {
//	ICON_PATH : "/img/icon/",
	ICON_PATH : "http://file.blog.bornneet.com/",
	LOADICON_NUM : 1,
	RESTICON_NUM : 3,
	Start : function(){
		var L = LoadEffect;
		var path = L.ICON_PATH;
		if(L.LOADICON_NUM > 1){
//			var n = 1 + Math.floor(Math.rand(L.LOADICON_NUM));
			var n = 1 + Math.floor(Math.random() * L.LOADICON_NUM);
			path += "loading" + n + ".gif";
		} else {
			path += "loading.gif";
		}
//		$("loadicon").src = path;
		document.getElementById("loadicon").src = path;
//		setStyle("loading",{visibility:"visible"})
//		document.getElementById("loadicon").style.visibility = 'Visible';
	},
	Stop : function(){
		var L = LoadEffect;
		var path = L.ICON_PATH;
		if(L.RESTICON_NUM > 1){
//			var n = 1 + Math.floor(Math.rand(L.RESTICON_NUM));
			var n = 1 + Math.floor(Math.random() * L.RESTICON_NUM);
			path += "rest" + n + ".gif";
		} else {
			path += "rest.gif";
		}
//		$("loadicon").src = path;
		document.getElementById("loadicon").src = path;
	}
};

fastladder/public/js/reader_main.jsの3272行目~ほぼそのままです。
(fl_aio.jsにもありますが、そっちは全ソースをまとめてあるだけのファイルっぽいのでreader_main.jsから引用してます)

Fastladder内の関数に依存する部分は変更しました。
($、setStyle、Math.randの3つです。setStyle部分は特に(僕は)いらなかったので変更後のソースもコメントアウトしてます)

あと、pathは自分が画像ファイルを置くパスに変更する必要があります。

画像を探す

最後に、画像をどうにかすれば完了です。

Firefoxなら画像上で右クリックすると、「画像の表示」とか「URLのコピー」があるので、URLを知ることができます。
その方法でバテている棒人間(上の画面キャプチャで表示されています)を調べると、「rest1.gif」という画像名でした。

そして、fastladderフォルダ内を"rest1.gif"で検索すると、public/img/iconに格納されていることがわかりました。

さらに、ソースと見比べつつ画像を物色した結果、どうやら、



の4種類が使われているようです。

これらを、pathに設定したところに置けば無事動くはずです。

お疲れ様でした!

[ブログに使う]

…これだけで終わるとホントに「抜き出し」ただけなのでなんかやってみましょう。

ということで、このブログに張ってみました。
(右上のキーボードアイコンの左横です。わかりにくい説明…)

これまでの手順よりさらに簡単ですので、皆さんのブログにもどうですか?
やり方は以下のとおりです。

予め、上の4種類の画像をアップロードしておきます。

次に、

<img id="loadicon" src="http://blog.cnobi.jp/v1/blog/user/09dc80a1f21051be5f72fa57333824ae/1214387280" />

とかいうimgタグをiconを表示したいところに書きます。

そして、下のような手抜きスクリプト

var stopLoadIcon = function(id) {
	var path = 'http://file.blog.bornneet.com/';
	var RESTICON_NUM = 3
	var n = Math.ceil(Math.random() * RESTICON_NUM);
	var src = path + "rest" + n + ".gif";
	document.getElementById(id).src = src;
}

をどこかで読み込んで or 書いておきます。

さらに、ページで実行されるjsの最後っぽいところで、

stopLoadIcon('loadicon');

と呼び出せばOKです。

これでローディング中の読者のイライラが少しは軽減されるかもしれません。
いつも重くてすいませんm(_ _)m

[心配ごと]

いくらオープンソースとはいえ、画像のみ(ほぼそう言えるでしょう)を抽出して使っちゃっていいものか。
まぁ、OSSライセンスの中でも特に緩い部類に入る(と僕は理解している)MITだし、大丈夫!
…なはず(>_<)

[忘れたこと]

あっ!吹き出し系の処理も一緒に抜き出そうと思って忘れてた…。
えーと…いつかやるかもです。

Home

Search
Loading
Feeds
Links
スポンサードリンク

Page Top