Fold All / Expand All

2010年8月26日 星期四

Partially Applying Functions (from Secrets of the JavaScript Ninja)

產生帶default參數的function
Function.prototype.partial = function(){
var fn = this, args = Array.prototype.slice.call(arguments);
return function(){
var arg = 0;
for ( var i = 0; i < args.length && arg < arguments.length; i++ ) if ( args[i] === undefined ) args[i] = arguments[arg++]; return fn.apply(this, args); }; };

bindClick會是一個function,將第1個參數,帶入addEventListener的第2個參數
var bindClick = document.body.addEventListener
.partial("click", undefined, false);

bindClick(function(){
assert( true, "Click event bound via curried function." );
});

console.log() in Opera Dragonfly

原來現在Opera Dragonfly可以用console.log()了!

早期不支援的時候,要自己寫支wrapper,在Opera用opera.postError(),現在就可以直接用console.log()啦。不過餵object進去,還是只能印[object Object],這點比較麻煩,Firebug和現在的Webkit都可以點一下進去看這個object的內容。

另外網路部分,現在還是只能看到XHR的header,沒辦法看到response content,這個本來Firebug就可以,Webkit inspector在不知道哪一版開始也可以了,只要enable resource tracking,XHR是可以看到response content的!

這兩項功能有了之後,才比較方便用於development啊……

話說雖然Webkit inspector該有的功能差不多都有了,用起來還是Firebug最順手…是習慣使然嗎?

2010年8月22日 星期日

upgrade to SyntaxHighlighter 3.0.83

SyntaxHighlighter 3.0.83

把SyntaxHighlighter升級,這次把原本code的style拿掉,在js加上如果className不是js或py,就加上「brush: plain」。

另外還有是在WebKit-based,會有vertical scrollbar出現,這在官方demo就會出現,現在的解法是先加.ext-webkit .syntaxhighlighter {
overflow-y: hidden !important;
}


沒有加white-space: pre;的話,IE會沒有indent。

因為Blogger現在換行又不同了,之前是把全部用br接起來一行,現在是br後會有LF,所以SyntaxHighlighter的fixInputString()要把多的CRLF吃掉,才不會多空白行

2010年8月21日 星期六

2010年7月Google Analytics

咦…這個騙文章數的東西又出現了

[訪客作業系統]
Windows: 94.88%
Macintosh: 2.53%
Linux: 2.02%
iPhone: 0.21%

[Windows Version]
XP: 62.68%
7: 24.24%
Vista: 12.27%

[訪客瀏覽器]
Internet Explorer: 58.26% (8.0: 64.82%, 6.0: 19.69%, 7.0: 15.46%)
Firefox: 24.04% (3.6.6: 51.19%, 3.6.8: 13.39%, 3.6.7: 8.13%, 3.5.10: 7.21%)
Chrome: 13.28% (5.0.375.99: 64.47%)
Safari: 2.06% (533.16: 56.33%)
Opera: 1.89% (10.60: 73.10%, 10.54: 8.28%)

[螢幕解析度]
1024x768: 27.65%
1280x1024: 13.99%
1280x800: 13.17%
1440x900: 8.08%
1680x1050: 7.31%

[如何到達此站]
Search Engines: 69.64% (google: 61.67%, yahoo: 36.60%, bing: 0.62%)
Direct Traffic: 21.09%
Referring Sites: 9.27% (blog.xuite.net: 18.42%, w-inds.hk: 12.24%)

[訪客語系(瀏覽器語系)]
zh-tw: 71.36%
ja: 10.98%
en-us: 7.14%
zh-cn: 4.94%

build transmission on FreeBSD

Transmission

這次是試著build Transmission 2.04,遇到幾個問題,本來是在Linux box上build,沒有libcurl...,後來換到FreeBSD box,上面有libcurl,所以curl不用自己build,libevent就要自己來了,到libevent網站上抓source,這次是用1.4.14b,下載好之後,解開就是./configure; make啦。如果可以make install的話,就不用另外加CFLAGS, LDFLAGS,沒有make install的話,在build transmission就要加CFLAGS和LDFLAGS
env CFLAGS="-I../libevent-1.4.14b-stable" LDFLAGS="-L../libevent-1.4.14b-stable/.libs" ./configure --disable-gtk --disable-mac --disable-nls
LDFLAGS的部分,記得要加上.libs,因為library build出來是在這個資料夾;configure後面的參數,因為我只要daemon,所以不build gtk, mac的client,另外因為沒有intltool,所以disable native language support,才不會build不過。

build完之後,就可以執行transmission-2.04/daemon/transmission-daemon囉,跑daemon如果要測試的話,可以加個「-f」,讓daemon在前景跑,就可以看到一些log。

又,我想要用別的rpc client,去控制transmission,先來修改「~/.config/transmission-daemon/settings.json」,預設是rpc-whitelist是「127.0.0.1」,因為要從別的地方連,所以把"rpc-whitelist-enabled"關掉,或者是有固定ip的話,也可以在rpc-whitelist加上ip,用「,」分開。"rpc-whitelist-enabled"關掉似乎有點危險,所以要開"rpc-authentication-required",輸入"rpc-username"和"rpc-password","rpc-username"直接plain text就好,"rpc-password"的話,可以輸入已經hash過的值,或者是輸入plain text,當daemon讀過之後,會改寫成hash過的值。

2010年8月19日 星期四

jQuery Mobile

jQuery Mobile: Touch-Optimized Web Framework for Smartphones & Tablets

日前John Resig宣佈了jQuery mobile project,和Sencha Touch以iPhone/iPad與Android為主要平台的策略不同,jQuery mobile目標在於盡可能地支援所有mobile browser,當然要支援所有是不可能的,現階段的目標是以Mobile Graded Browser Support表格中,支援A與B等級的瀏覽器。

如同Yahoo!當初提出的Graded Browser Support,將現有瀏覽器列出等級,以訂出網頁開發相容性要做到什麼程度。

目前Mobile Graded Browser Support中列為A等級的有:iOS v3/v4 native, Symbian S60 v5 native, Android native, webOS (Palm) v1.4.1 native, bada 1.0 native, Opera Mobile 10.0,其實除了Opera Mobile之外,其他都是WebKit-based啊……,另外就是Gecko-based的Fennec (Firefox for mobile),MeeGo 1.1 native也會是Gecko-based。

現在jQuery mobile還沒有正式release,就讓我們拭目以待,看jQuery能端出什麼菜,讓mobile app development的web方更加有利

2010年8月18日 星期三

Mobile Browser Simulator

iBBDemo2 - Cross Platform iPad and iPhone Simulator
可模擬iPad和iPhone,可以改變旋轉方向,需要安裝Adobe Air。

MobiOne Studio - the iPhone app and web app designer and iPhone test center with iPhone emulator
測試請開啟Test Center,可以模擬多點觸控(按著alt),模擬按著滑動請按ctrl再移動滑鼠。還可以開webkit inspector出來,加上有designer功能,所以下載檔案也是傷當大…(1.0M9要123MB)。

Opera Mobile emulator - Test and debug on Opera Mobile using a Mac or PC
Opera自家出品模擬器

至於Android,應該裝Android模擬器,再開browser出來就可以。

附錄:
iBBDemo 2 熱鍵
o 切換至iPad模擬:Ctrl + 1
o 切換至iPhone模擬:Ctrl + 2
o 變換orientation:Ctrl + right/left arrows
o Zoom in:Ctrl +
o Zoom out:Ctrl -
o 捲動內容:用滑鼠滾輪,或是按著ctrl加方向鍵
o iPhone顯示/關閉網址列:Ctrl + D

2010年8月16日 星期一

Key to Efficient CSS Selectors (from Even Faster Web Sites)

[Rightmost First]
#toc > LI { font-weight: bold; }
了解CSS parse的順序,瀏覽器是從右而左,所以有class selector或是id selector的話,寫在最右邊的效率會比較好。

書上建議大家先去看Writing Efficient CSS for use in the Mozilla UI裡提到的原則。其實這篇已經年代久遠了(2000),不過在當年用到大量CSS的網站應該不多吧

2010年8月14日 星期六

Torrent Sites (2010-08)

整理很精美的兩個站:Coda.fmTake.fm,分別是音樂和電影

Coda.fm
Full album BitTorrent downloads
Download and discover new music in Coda.fm

Take.fm
BitTorrent movie downloads
Download and discover new movies

Torrents.to
蒐集torrents tracker及torrents search engine,按分類列出目前的torrent大站,包括public and private。

Looping with a function callback (from Secrets of the JavaScript Ninja)

function loop(array, fn){
for ( var i = 0; i < array.length; i++ ) if ( fn.call( array, array[i], i ) === false ) break; } var num = 0; loop([0, 1, 2], function(value, i){ assert(value == num++, "Make sure the contents are as we expect it."); });

Ext JS的Ext.each就是類似作法
each : function(array, fn, scope){
if(Ext.isEmpty(array, true)){
return;
}
if(!Ext.isIterable(array) || Ext.isPrimitive(array)){
array = [array];
}
for(var i = 0, len = array.length; i < len; i++){ if(fn.call(scope || array[i], array[i], i, array) === false){ return i; }; } }

Named anonymous function (from Secrets of the JavaScript Ninja)

有名字的匿名函式
var ninja = function myNinja(){
assert( ninja == myNinja,
"This function is named two things - at once!" );
};
ninja();
assert( typeof myNinja == "undefined",
"But myNinja isn't defined outside of the function." );

看起來實在是太神奇了。其實和用arguments.callee是一樣的。
var ninja = {
yell: function(n){
return n > 0 ? arguments.callee(n-1) + "a" : "hiy";
}
};
assert( ninja.yell(4) == "hiyaaaa",
"arguments.callee is the function itself." );

2010年8月13日 星期五

JavaScript log function (from Secrets of the JavaScript Ninja)

function log() {
try {
console.log.apply(console, arguments);
} catch(e) {
try {
opera.postError.apply(opera, arguments);
} catch(e) {
alert(Array.prototype.join.call(arguments, " "));
}
}
}

2010年8月11日 星期三

台北到羅東 by 客運

首都之星 (首都客運)
葛瑪蘭客運

目前看到客運是坐這兩家。

首都之星
台北在市府轉運站上車,搭羅東直達車1570。全票120元,可現場購票或用悠遊卡 。

葛瑪蘭客運
在台北轉運站(台北車站北邊)或是科技大樓站,搭羅東直達1917線。全票135元,現場劃位或網路購票。

看時刻表兩家都是10~20分鐘一班。網路上說,沒塞車的話,車程都大約一小時,葛瑪蘭在科技大樓站上車會比較快,從台北轉運站上車的話,要在市區繞,要一個小時半才會到羅東。

兩間的羅東站都是在羅東後火車站方向的光榮路上。

羅東站週邊景點可參考葛瑪蘭客運 - 宜蘭週邊

到羅東之後,有首都的宜蘭縣公車(全票22元)和葛瑪蘭接駁車(免費)到冬山河親水公園、國立傳統藝術中心。首都是兩小時一班,葛瑪蘭是平日(一到五)一小時一班、六日30分鐘一班。

相關連結:
國立傳統藝術中心
宜蘭福泰冬山厝

256色vim

哇咧…看到256色的vim,但是colorscheme似乎還要再調整,先看看這個站。

Vim Color Scheme Test
這裡目前放了C, HTML, Java, Perl, LaTeX套上不同vim colorscheme的結果(snapshot)

基本上要啟用vim 256 colors,在vimrc裡加上set t_Co=256
syntax enable

自己調全部的color scheme太累了,先找基本調性ok的,再做微調。看到有人是推薦xoria256,安裝方法就是先下載xoria256.vim,丟到colors資料夾(Linux上是~/.vim/colors,Windows是_vimrc所在的vimfiles/colors下),然後在vimrc裡加上「colorscheme xoria256」這行。

嗯…似乎不少colorscheme的comment都是用灰字,個人習慣是黑底搭綠字,搭灰字都看不清楚啊…

2010年8月5日 星期四

[歌詞] 奥華子 - 初恋


『初恋』

歌手:奥華子
作詞:奥華子
作曲:奥華子
編曲:佐藤友亮


あなたのことは何でも知ってると思ってた
不器用なことも 猫舌なことも 電話が苦手なことも

だけど私の知らないことが一つだけあったの
あなたがもう私のことを好きじゃないということ

いつからすれ違ってしまったのかな
どうして気付けなかったのかな
二人で過ごしたたくさんの思い出
これからもずっと一緒にいると思ってた

あなたは友達 今日から友達
もう二度と好きなんて言わないから
これ以上遠くに行かないで もう見るだけでもかまわない
名前で呼んだりしないから 隣り歩いたりしないから
用事もないのに電話したりしないから
だからもう逢えないなんて言わないで お願い

綺麗なものを見つけるとあなたにも見せたくて
すぐに写真撮る癖が まだ今も消えないまま

歩き方やしゃべり方を真似して バス停まで歩いた帰り道
小さなことですねたり怒ったりごめんね
もっと素直になれたら良かった

あなたの横顔 あなたの口癖
悔しいほど好きなままだから
これ以上遠くに行かないで もう見るだけでもかまわない
友達でいいから 特別じゃなくていいから
あなたの前では泣いたりしないから
だからもう逢えないなんて言わないで お願い

あなたは友達 今日から友達
そう自分に言い聞かせてみるよ
あなたが笑顔になる場所は
もう二人では行けない場所

桜並木を歩いて 海辺で花火見上げて
枯葉散る時も 真っ白な雪の日も
いつもあなたがいてくれた それだけは忘れたくないよ
名前で呼んだりしないから 隣り歩いたりしないから
用事もないのに電話したりしないから
だからもうサヨナラなんて言わないで  お願い

2010年8月4日 星期三

硬體升級

配備是這樣,但不是在這家買,所以價錢也不一樣XD。

網路報價比較便宜耶

2010年8月3日 星期二

MySpace File Hosting

MySpaceFileHosting.com

可以放ogg的地方不多,前陣子都放在toofiles,不過今天一連似乎掛了@@

找了一下,發現有MySpaceFileHosting這個,FAQ裡面是寫說檔案最大5MB,剛剛試的約5.1MB...超過一點是ok的?

[歌詞] 下川みくに - 君がいるから



『君がいるから』

歌手:下川みくに
作詞:下川みくに
作曲:下川みくに
編曲:Sin


夢見る瞳に世界は 美しく見えたけど
疑うことを覚えて 人は臆病になっていくの?

似たもの同士だよねと笑いあったあの頃
ささいな嘘さえ優しく見逃してくれたよね

もし二人に帰る場所がなくてもかまわない
私がその笑顔を守るから

星の数ほどの出会いや別れや
失いたくないものも全部
なんにもいらないと思えるよ今
ただ君のそばで見つめてたい
喜びも悲しみも 何もかも

大人になるたび少しずつ 忘れてしまった
いつでも自分の心に 素直でいること

君からもらった勇気のカケラ
君だけにあげる 私の心に咲く花を

溢れだす涙が教えてくれた
なくしちゃいけないものは全部
あの頃のまま心の中にある
太陽のような君の笑顔が
こんなにも私のこと強くする

星の数ほどの出会いや別れや
失いたくないものも全部
なんにもいらないと思えるよ今
ただ君のそばで見つめてたい
喜びも悲しみも すべて

今からここから始めようよ
二人の明日を始めようよ
生まれたままの気持ちでいようよ
夏風に揺れた 花のように
今この一瞬を咲き誇ろう

2010年8月1日 星期日

免費虛擬光碟軟體

Virtual CloneDrive和DAEMON Tools Lite在軟體王有國內學網鏡像。Alcohol 52%要注意有分共享和免費版,軟體王的是共享版。