Fold All / Expand All

2012年12月31日 星期一

Samsung Smart TV Player Specification

http://www.samsungdforum.com/Guide/rel00010/index.html

除了基本盤的 mp4, avi,mkv, rmvb也有。

Audio Codec基本的MP3, AAC, HE-AAC,加上電影的AC3、DD+ (E-AC3)、DTS Core。

看了一下wikipedia,DTS Core是指DTS HD MA的Lossless和WavPack類似通過hybrid的方式,而Core指的是主要的部分,所以剩下的residual就不解的意思。

建議格式有4種:
o MP4 (H.264)
o ASF (VC1)
o ASF (H.264)
o AVI (H.264)

Protocol看起來很多啊,還包括了現在流行的HTTP Streaming protocol
o HTTP/HTTPS
o MMS
o RTSP
o MPEG-DASH/HLS/OIPF HAS/SmoothStreaming



ウクレレ ジブリ 烏克麗麗 吉卜力



























TAB譜付スコア ウクレレジブリ 模範演奏CD付

博客來有賣,不過不便宜啊…(定價 $1350)

烏克麗麗吉卜力歌輯附示範演奏CDhttp://www.books.com.tw/exep/prod/magazine/magfile.php?item=M020023608

網路上有人把全部34首,自己彈的版本放在YouTube上
http://blogs.yahoo.co.jp/hesperus2010/6396501.html
http://www.youtube.com/playlist?list=PLA41963CA49E2EC50

2012年12月27日 星期四

[歌詞] 坂本真綾 - 猫背


猫背

歌手:坂本真綾
作詞:岩里祐穂
作曲:菅野よう子
編曲:菅野よう子


背の高い君は
私の顔を見て話してくれる
背中まるめるその仕草が好き
もっともっともっと
近づいて

小さな私は
いつでも君だけを見上げているよ
青い空や雲が流れてく
ずっとずっとずっと
見つめていて

そこが好きだよ
そこが好きだよ
少し猫背の君は
誰よりも優しい人

等分のしあわせが与えられていると言う
でもそうは思えない出来事ばかりが続く
この手のひらは
何のためにあるのだろう

きらいなところを
ダメなところを可愛いと言ってくれる
君はこの世界でいちばんの
きっときっときっと
変わり者かも

そばにいたくて
そばにいたくて
少し猫背の君は
誰よりも愛しい人

そこが好きだよ
そこが好きだよ
少し猫背の君は
誰よりも優しい人

少し猫背の君は
誰よりも

そこが好きだよ
そこが好きだよ
少し猫背の君は
誰よりも愛しい人

==
http://ja.chordwiki.org/wiki/猫背
F#

2012年12月20日 星期四

坂本真綾 - シングルコレクション+ミツバチ

啊啊啊 原來在11月就發行啦

坂本真綾 - シングルコレクション+ミツバチ
2012.11.14 Release
特設網站:http://www.jvcmusic.co.jp/maaya/mitsubachi/index.html


1. ループ
2. マジックナンバー
3. DOWN TOWN
4. トライアングラー
5. さいごの果実
6. スピカ
7. action!
8. やさしさに包まれたなら
9. 雨が降る
10. Buddy
11. Private Sky
12. 風待ちジェット ~mitsubachi edition
13. モアザンワーズ
14. おかえりなさい
15. プラリネ
16. エイプリルフール feat.坂本真綾
17. 猫背

2012年12月17日 星期一

讓針對webkit最佳化的網站也能跑在IE 10

Adapting your WebKit-optimized site for Internet Explorer 10
http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10.aspx

奇怪的標題翻譯(逃)

第一步、偵測 IE 10 on Windows Phone 8

當然就是看 User-Agent 啦
Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; ARM; Touch; IEMobile/10.0; <Manufacturer>; <Device> [;<Operator>])
功能部分,是以 feature detection 來寫 cross-browser code,可參考 msdn 這篇
http://blogs.msdn.com/b/ie/archive/2010/04/14/same-markup-writing-cross-browser-code.aspx


第二步、確保標準模式

就是老生常談的 DOCTYPE 啦
<!DOCTYPE html>

如果是local network的話,則需要另外加header,因為IE預設會把intranet網站用相容模式跑…
<meta http-equiv="x-ua-compatible" content="IE=edge" />


第三步、CSS和DOM API更新

原本 -webkit- 開頭的CSS和DOM,在IE 10很多都有不用prefix的版本,清單請參考該blog。

有些仍需要prefix,包括:

  • -ms-text-size-adjust
  • -ms-user-select
  • -ms-flexbox
  • -ms-flex-align
  • -ms-flex-pack
文章中特別提到兩點:
1. 預設IE會讓用link包起來的image會有藍色外框,webkit不會,要拿掉的方式就是加CSS
a img {border: none;}

2. border-image在IE 10不支援,所以有用到的話,建議是要加border-style, border-color在-webkit-border-image之前,做為fallback

第四步、更新touch和pointer事件

webkit和IE 10處理touch event的方式完全不同,在IE 10有另外的MSPointer事件,是否支援可以檢查 window.navigator.msPointerEnabled 是否為true。

不過事情沒有這麼簡單…在webkit裡面有的event.targetTouches,在IE 10是沒有的,每次handler拿到就是單一的event。

另外關閉預設行為可以加CSS:-ms-touch-action: none;


第五步、處理非標準行為

關閉超連結點擊提示:
在Safari on iOS和IE on Windows Phone,tap on hyperlink都會有視覺的feedback,有些網站會希望可以關掉,webkit和IE 10的處理方式就不同。
a {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
<meta name="msapplication-tap-highlight" content="no" />

關閉drop down list原生樣式:
預設<select>會另外提供原生的樣式,在webkit可以用-webkit-appearance: none;來關閉,在IE 10則是select::-ms-expand {display: none;}



話說,那個MSPointer事件,必須是以IE 10標準模式跑才會有,也就是如果設成IE 9模式,是不會有MSPointer event的…

2012年12月15日 星期六

Touch Events related sites


Basic touch events
  • touchstart: 手指放在DOM元件上
  • touchmove: 手指在DOM元件上拖曳
  • touchend: 手指從DOM元件離開
每個 touch event 都包含下列3種清單
  • touches: 目前在螢幕上所有的手指
  • targetTouches: 在目前DOM元件上的手指
  • changedTouches: 和這個事件相關的手指,例如touchend事件,會是離開的手指

2012年12月4日 星期二

涼煙樂團「流行搖滾」新專輯發表會 宣傳影片





日期:2012年12月8日(六)
時間:14:00 (13:30入場)
地點:西門河岸留言
票價:$300,含新專輯一張

RSVP: http://www.facebook.com/events/176672922470438/

新專輯收錄曲目:
流行搖滾(2012)
水某(2007)
摩托車(2005)
桐花雨(2007)
好茶村的夏天(2007)
你現在可以吻新娘了(2011)
女孩走吧(2003)

涼煙樂團 on iNDIEVOX
摩托車水某的demo

2012年11月24日 星期六

攻殼機動隊 S.A.C SOLID STATE SOCIETY 3D 台灣上映

【攻殼機動隊S.A.C. Solid State Society 3D】


攻殼機動隊 S.A.C SOLID STATE SOCIETY 3D(保護級)
 全台威秀影城獨家上映11/23-29上映場次

 信義威秀影城
 11月 23 星期五 15:25
 11月 24 星期六 15:25
 11月 25 星期日 15:25
 11月 26 星期一 19:25
 11月 27 星期二 19:25
 11月 28 星期三 19:25
 11月 29 星期四 19:25

 新竹大遠百威秀影城
 11月 23 星期五 18:35
 11月 24 星期六 18:35
 11月 25 星期日 18:35
 11月 26 星期一 19:25
 11月 27 星期二 19:25
 11月 28 星期三 19:25
 11月 29 星期四 19:25

 台中新時代威秀影城
 11月 23 星期五 17:10
 11月 24 星期六 17:10
 11月 25 星期日 17:10
 11月 26 星期一 20:15
 11月 27 星期二 20:15
 11月 28 星期三 20:15
 11月 29 星期四 20:15

 台南大遠百威秀影城
 11月 23 星期五 11:20
 11月 24 星期六 11:20
 11月 25 星期日 11:20
 11月 26 星期一 20:40
 11月 27 星期二 20:40
 11月 28 星期三 20:40
 11月 29 星期四 20:40


 高雄大遠百威秀影城
 11月 23 星期五 16:00
 11月 24 星期六 16:00
 11月 25 星期日 16:00
 11月 26 星期一 20:30
 11月 27 星期二 20:30
 11月 28 星期三 20:30
 11月 29 星期四 20:30

==
啊啊啊…竟然只有信義威秀有上,而且一天只有一個時段…

2012年11月23日 星期五

涼煙樂團「流行搖滾」專輯發表會 2012年12月8日

Facebook event: http://www.facebook.com/events/176672922470438/

日期:2012年12月8日
時間:13:30入場、14:00開始
地點:西門河岸留言
票價:$300 (含新專輯)


以下是宣傳影片

2012年11月20日 星期二

UglifyJS - JavaScript compressor/minifier

http://lisperator.net/uglifyjs/
written in JavaScript

根據網站上給的比較,壓縮率和Google Closure相差不多,而耗時則是狂勝,大多測試壓縮,Google Closure需要5秒,而UglifyJS只要1秒。

UglifyJS第1版,目前是jQuery和YUI官方版用的壓縮工具,jQuery原本在1.4版開始使用Google Closure,不過現在換用UglifyJS。

UglifyJS2則是作者目前幾乎重寫的版本,作者自己說是比第1版慢一點點,但是壓縮率大多情形會好一些,尤其是在過GZip之後。

搭配 node.js 使用。

是不是該考慮來換一下呢…

HLS Support on Safari

正確的說,Mac OS X上的Safari透過QuickTime X,支援了HLS,所以Windows上的Safari with QuickTime 7是沒有辦法播HLS的。

話說Apple有一個HLS examples page
https://developer.apple.com/resources/http-streaming/examples/

上面有兩個範例,basic和advanced
但是advanced只能在iOS 5.0以上的Safari可以播,在Mac OS上的Safari就不能播啊…

WebVTT來支援字幕功能似乎是個有趣的作法。

HTTP-based Adaptive Bitrate Streaming

Adaptive bitrate streaming @wikipedia

以往 streaming 採用 UDP-based 的解決方案,在 CDN 普及,以及 HTTP 可避免 firewall 問題,Streaming over-HTTP 成為目前趨勢。

MPEG-DASH
由MPEG制定的標準,container採用MPEG-4或MPEG-2 TS,對於Codec沒有規定

Adobe Dynamic Streaming for Flash
Adobe提出的HTTP Streaming,HDS,container用fragmented mp4,Codec支援H264/AAC, VP6/MP3。
flowplayer目前有plugin
http://flash.flowplayer.org/plugins/streaming/httpstreaming.html

Microsoft Smooth Streaming
微軟提出的HTTP Streaming
先前文章:
Smooth Streaming Encoding using FFmpeg

Apple HTTP Live Streaming
由Apple提出,HLS,以m3u8為metadata,檔案則切成一個個M2TS
在iDevice都支援,許多software player,以及Android上也支援
JW Player 6是目前宣稱支援HLS的Flash-based player

2012年11月19日 星期一

「Secrets of the JavaScript Ninja」真的要出版嗎

「Secrets of the JavaScript Ninja」究竟何時會出版呢?
↑話說這篇的時候,說是2012年3月28日會出版,結果沒有出來。

後來John Resig在blog上發表Secret Omens: Book Update,在加入了共同作者Bear Bibeault後,終於定在2012年10月28日要出版了!

現在是2012年11月18日了,在 amazon 上面還是"This item has not been released yet and is not eligible to be reviewed.",Manning 自己的網頁也還在 MEAP。

究竟~~~這本書能在2012年出版嗎

2012年11月15日 星期四

Compat Inspector

Compat Inspector User Guide

用來幫助檢查IE新版本相容性

只要在網頁所有script前插入「<script src="http://ie.microsoft.com/testdrive/HTML5/CompatInspector/inspector.js"></script>」

Internet Explorer 10 Guide for Developers

IE10 for Windows 7 可以下載了

http://windows.microsoft.com/en-US/internet-explorer/downloads/ie-10/worldwide-languages

目前放出來的是 Internet Explorer 10 Release Preview

安裝後,會把 IE9 取代掉,不過可以從「已安裝的更新」解除安裝

checkbox, radio 直接和 Win7 就長不一樣啊…

MSPointer events in IE 10

Touch Input for IE10 and Metro style Apps

IE10 不支援 webkit 上目前使用的 Touch Event,而是自己提供了另一套Event: MSPointerDown, MSPointerMove, MSPointerUp, MSPointerOver, MSPointerOut

CSS也有touch-action也有-ms版本
-ms-touch-action: none;
-ms-content-zooming: none;

Feature detect 可以用
if (window.navigator.msPointerEnabled) {
// system will fire pointer events
}


YUI Core Event 對 IE10 MSPointer event 也有作些介紹
http://yuilibrary.com/yui/docs/event/gestures.html

pointer.js 這套 library 有支援 MSPointer event
https://github.com/borismus/pointer.js

2012年11月8日 星期四

KOTOKO Animax Musix 2012 Taiwan 相關blog文章

『ANIMAX MUSIX 2012 台湾』レポ・その1
http://ameblo.jp/kotoko-kirakira/entry-11399226640.html
KOTOKO第4度來台!
2012年5月12日才剛在Neo Studio舉辦過個人演唱會,地點和這次的ATT for fun很近,都在信義威秀附近。

『ANIMAX MUSIX 2012 台湾』レポ・その2
http://ameblo.jp/kotoko-kirakira/entry-11399447620.html
長榮Kitty機
到剝皮寮取材!?是之後Animax要播放KOTOKO介紹台灣影片嗎XD
烏魚子~~據說是KOTOKO來台灣都會吃的一道
離開台灣當天還是要吃個鼎泰豐

南里侑香 Animax Musix 2012 Taiwan 相關blog文章

台湾到着!
http://ameblo.jp/nanri-yuuka/entry-11395612523.html
是搭長榮的Kitty機來的!

台湾:食編 ♪
http://ameblo.jp/nanri-yuuka/entry-11395978830.html
11月3日的晚餐,當然是小籠包,不過看起來不是鼎泰豐,似乎是京鼎樓

ANIMAX MUSIX 2012 TAIWAN !!!
http://ameblo.jp/nanri-yuuka/entry-11396768440.html
參加演出歌手合照

ANIMAX MUSIX 振り返り ピースづくし編…笑
http://ameblo.jp/nanri-yuuka/entry-11396850715.html
有YUUKA下午場、晚上場、安可T恤、休息室裝的照片!

打ち上げ!! のんべえ編☆
http://ameblo.jp/nanri-yuuka/entry-11397215908.html
慶功宴照片,好奇這是哪一家餐廳啊。
底下留言菜單只看得懂「杏仁豆腐」XD

サイン会 in TAIWAN ☆
http://ameblo.jp/nanri-yuuka/entry-11397637530.html
在Animate光華店的簽名會,Animate請YUUKA喝星巴克的茶…這也算是台灣獨有?
晚餐的餐廳依舊認不出來@@

ただいま☆
http://ameblo.jp/nanri-yuuka/entry-11398204429.html
回日本也是Kitty機

[Live] Animax Musix 2012 Taiwan 歌單


Animax Musix 2012 台灣音樂祭

14:00 準時開始

首先介紹本日演出陣容

按以下順序出場

Sea☆A
南里侑香
KOTOKO
May’n

緊接著就由 KOTOKO 開場
1. Light My Fire (灼眼のシャナIII(final) OP)
2. agony (神無月の巫女 ED)
MC
3. Shooting Star (おねがい☆ティーチャー OP)
MC
4. ハヤテのごとく! (ハヤテのごとく! OP)
5. →unfinished→ (アクセル・ワールド ED)

接下來是 Sea☆A
6. DREAM SHOOTER (カードファイト!! ヴァンガード ED)
MC
7. WAY TO VICTORY
MC
8. エントリー! (カードファイト!! ヴァンガード アジアサーキット編 ED)

Fan Selection
歌迷票選

[下午場]
9. May'n - 涙の種、笑顔の花 (天元突破グレンラガン 螺巌篇)
10.Sea☆A - Butter-Fly (デジモンアドベンチャー) 英語版
11.南里侑香 - 愛・おぼえていますか (超時空要塞マクロス 愛・おぼえていますか)
12.南里侑香 x KOTOKO - COLORS (コードギアス 反逆のルルーシュ)
13.KOTOKO - Grip! (犬夜叉)

[晚上場]
9. May'n - Don't say "lazy" (けいおん!)
10.Sea☆A - God knows... (涼宮ハルヒの憂鬱)
11.南里侑香 - 世界が終るまでは… (SLAM DUNK)
12.南里侑香 x KOTOKO - ゆずれない願い (魔法騎士レイアース)
13.KOTOKO - リライト (鋼の錬金術師)

然後是 YUUKA 登場啦~~
14.輝跡-kiseki- (セイクリッドセブン ED)
MC
15.月導-Tsukishirube- (おおかみかくし ED)
16.STELLAR (流れ星レンズ)
MC
17.暁の車 (機動戦士ガンダムSEED)

May'n 壓軸
18.ユニバーサル・バニー (マクロスF 虚空歌姫~イツワリノウタヒメ~)
19.Giant Step (仮面ライダーフォーゼ)
MC
20.ダイアモンド クレバス (マクロスF ED)
MC
21.Brain Diver (ファイ・ブレイン 神のパズル OP)
22.Chase the world (アクセル・ワールド OP)

全員上台
大家合唱
23. ウィーアー! (ONE PIECE)

Opera 12.10

http://www.opera.com/docs/changelogs/unified/1210/

Opera 12.10更新
支援下列新的web standards

  • SPDY
  • CSS3 Gradients, Transitions, Animations, and Transforms
  • CSS Site Compatibility
    這個有點冏啊…因為很多日本mobile網站用-webkit prefix,所以Opera從這版開始也會看-webkit prefix...
  • Fullscreen API
    被很多人嫌,也很多人希望有的功能
  • Page Visibility API
  • WebSockets
    now enable by default
  • ICC Profiles

High-resolution Display Support

Extensions, improved

Operating system compatibility: Windows 8 and Mac OSX

MSN將於2013年第1季停止服務

Skype官方blog 上的文章:Talk to your Messenger Contacts on Skype 提到新版 Skype 6.0 將會可以使用 Microsoft 帳號登入,原本 MSN 的聯絡人就可以在 Skype 上看到。

而 MSN 在全球,除了中國大陸以外,於2013年第1季將會全面停止服務。

試裝了PChome版,沒辦法登!?

換成裝官網版就可以了
http://www.skype.com/get-skype/

2012年11月3日 星期六

The Tangled Web: A Guide to Securing Modern Web Applications

The Tangled Web: A Guide to Securing Modern Web Applications

在amazon上,21個評論,有18個五顆星。

說實話,這是一本主題、內容都很棒的書,但是如果要推薦給Web Developer的話,只有三顆星。

在amazon上目前唯一三顆星評價 (Decent book...for readers with previous knowledge),和我的想法蠻接近的。

首先,書的內容以及深度,一般的Web Developer其實讀起來是很辛苦的,必須本身對於Web Security有相當程度的知識,才比較能了解作者要講的東西。如果是一位Web Developer,想要學習security相關議題,絕對是不推薦這本書做為入門,會讀到腦袋爆炸。

在對Web Security有一定認知再來看這本書的話,會對於作者討論到的廣度以及深度感到佩服,這也是amazon上這麼多五顆星的原因。

不過只是這樣的話,也不需要評成三顆星啊。

Security相關書籍、文章,很容易有個通病就是話都不講清楚,和三顆星評價提到的
Often I was left wondering how the issue he raises is actually an issue, or how someone would exploit it.
(謎:看過Stealing the Network這個系列會比較有幫助?)

這本書不例外,諸多的瀏覽器漏洞,看到最後會覺得這…究竟可以做到什麼事情,真的是個漏洞嗎?

看了非常多瀏覽器漏洞之後,反過來會想,這和我開發Web有關係嗎?因為裡面提到非常多的漏洞都是塞了奇奇怪怪的字串,或者是特殊的使用情境,開發的時候,沒有人會寫成這樣啊。

加上作者對於瀏覽器要增加新功能抱持著反對的態度,例如15章裡提到瀏覽器可以控制camera, microphone、得到使用者的地理位置、安裝extension和theme、跳出桌面通知。其實這本書根本不是給Web Developer看的吧。

有種no feature, no security hole的感覺。

最後,其實這樣說有點不公平,畢竟這書不是教科書類型的東西,但是作者的寫作上,過多的慣用語,以及不甚流暢的句子,對於非英語系國家來說,會有閱讀的困難。

只能說是可惜,明明是主題和內容都很好的書,卻因為寫作的方式,讓想傳達的知識,沒辦法給於讀者。

2012年10月30日 星期二

鐵三角 藍牙立體聲耳機麥克風組 ATH-BT05

藍牙立體聲耳機麥克風組 ATH-BT05

這組是由 藍牙立體聲接收器 AT-PHA05BT,和耳機 ATH-CKM500S,話說官網竟然沒寫耳機型號,都是購物網站或其他介紹頁面才有寫,規格看起來和官網上的ATH-CKM500是相同的。

試了搭配其他耳機:ATH-A900, UE600, AKG K518 DJ,嗯…聽這三支,UE600這支不知道因為是耳道式,還是抗阻比較低,接上藍牙接收器,會有明顯的底噪…,另外用iPad藍牙和iPad直接插耳機,A900似乎直接插iPad還比較好!?錯覺?

另外,藍牙A2DP似乎只能到16-bit, 44.1 kHz?

Bluetooth A2DP maximum available bandwidth if 768kbit/s, so compression is necessary to deliver two channel digital stereo sound. The mandatory codec is SBC.

http://en.wikipedia.org/wiki/SBC_(codec)

看來直接插的音質比較好不是錯覺,是真的,AT-PHA05BT這支官網支援編碼只有列SBC

2012年10月27日 星期六

Django的發音

官方就有說明了

What does “Django” mean, and how do you pronounce it?
https://docs.djangoproject.com/en/dev/faq/general/#what-does-django-mean-and-how-do-you-pronounce-it

Django名字的由來是爵士吉他手Django Reinhardt。

官方發音 mp3 in audio tag

2012年10月24日 星期三

字幕格式 sub

副檔名是 .sub ,其實有好幾種…

圖檔格式:
VobSub (.idx+.sub)

文字格式:
MicroDVD (.sub)
SubViewer (.sub)

不過實際上比較常看到的應該是 .ass 和 .srt 吧
SubStation Alpha (.ssa+.ass)
SubRip (.srt), application/x-subrip

2012年10月21日 星期日

Xperia 2011年系列確定不會有Jelly Bean

Continuing Android software upgrades – Jelly Bean for 2012 Xperia™ smartphones

之前Sony先否定了2011 Xperia不會升到Jelly Bean的說法,但是現在官方宣佈確定不會升了…

可升到Jelly Bean的機種,會先由T以及TX開始,接著會是V,之後是S, acro S, ion, P, go, J。

2011機種只會到ICS,仍會有firmware upgrade,不過就是小部分的維護嘛。

話說Xperia U不也是2012機種嗎…怎麼沒在文章中出現。

看來我的Neo只好去刷CM了

關聯文章:
Android Device Jelly Bean Update List (可是沒有回去更新XD)

羅技 G400 入手

如同網路上所說,和MX 518手感幾乎一樣。

差在MX 518的按鍵處是光滑面,G400則是做霧面。

官網定價是$1290,跑去光華的本店吳銘拿$880。

不知道G400用久了,外表會不會像MX 518那樣開始脫皮…

2012年10月19日 星期五

Handle Touch Events - doubletap

在jQuery Mobile沒看到有doubletap處理。

在Sencha Touch,收到touchstart後,先將當時e.time存進this.startTime,而之前的tap timer要清掉,有收到touchmove也要清掉handler;在onEnd的function (沒追到是什麼會trigger,touchend?),把時間記為this.lastTapTime,而上一次的lastTapTime和這次的時間間隔如果小於等於maxDuration(預設為300ms),則視為doubletap。

即有上一次的lastTapTime,代表有tap完成過一次,在300ms內,又有一次tap,就代表doubletap。

如果沒有上一次的tap或者上次tap時間超過maxDuration,檢查this.startTime和這次event時間間隔是否大於maxDuration,超過則視為singletap。

每次進onEnd都要把this.lastTapTime設為此次事件時間,當要發出doubletap事件時,要把this.lastTapTime清為0。

Handle Touch Events - longpress

在Sencha Touch裡,longpress和taphold是相同的event。

實作方法是,收到touchstart事件,訂一個timeout handler,timeout duration預設為1秒(1000ms),在1秒內收到touchmove, touchend事件,則取消handler,即clearTimeout();1秒到了後,會送出longpress事件。送出longpress事件後,設一個flag代表已完成longpress,這時候收到touchend的時候,不用做事。

在jQuery Mobile裡,只有taphold。

tapholdThreshold預設為750ms,收到虛擬事件vmousedown時,做clearTimeout();收到vmousecancel,則clearTimeout()之外,還要unbind各個handler;收到vclick,則要確認target是否相同,一樣才送tap事件出去。

和Sencha Touch相同,timeout到了,就送事件出去。


Reference Code version:
sencha-touch-2.0.1.1
jquery.mobile-1.2.0

2012年10月14日 星期日

Documentation Usability (from API design for C++)

Documentation Usability

學習一套API最大的阻礙就是文件與資源不足。

  • Lack of code examples
    每個class, method都寫得很清楚,但是沒有code example,是沒有辦法讓開發者快速了解如何使用API
  • Incomplete content
    文件不足或者是呈現方式不佳
  • Lack of task focus
    沒有提供如何達成特定任務的作法
  • No design rationale
    沒有提供設計、架構整體的概念 
  • Inaccessible data formats
    文件沒有提供適當的格式
另外研究指出,開發人員通常不會仔細地把API documentation讀完,所以文件太多反而是有害的,當然不是說不要寫完整,而是要有high-level tutorial以及example code先讓人有個概念。另外,在文件提供相互連結,會讓人可以容易發現更多的功能。

新的Lossy Audio Codec - Opus

Opus Interactive Audio Codec

結合Skype的SILK codec和Xiph.Org的CELT codec,在2012年7月獲得IETF認可,在2012年9月正式成為RFC 6716,Opus這個Audio Codec有著許多吸引人的地方。

Royalty-Free
Opus在一開始設計的目標,就是可以成為大家使用的標準,所以和其他Codec不同(如MP3, AAC),使用Opus是不需要付license fee。另外,decoder/encoder的implementation libopus,是BSD license,商業使用不需要釋出原始碼。
Opus licensing

Wide Range Bitrate and High Quality
Opus的bitrate支援從6 kb/s到510 kb/s,在官方網頁上,根據數個Listening Test,做出了quality-bitrate比較圖,在各bitrate,都與現有Codec相等甚至勝出,是可以從語音通訊到音樂播放皆適用的Codec。
(謎:原來AAC也贏Vorbis啊,倒是沒有列出據說很強的Musepack,不過沒啥人在用就是了…)

Floating point and fixed-point implementation
令人期待的地方!之後找時間來試試,如果fixed-point encoder的速度理想的話,可以考慮來用,不過前提當然就是有哪些decoder implementation。

是的!Codec再優秀,沒有software, device可以播放的話,一樣沒啥路用。

在2012年下半年才出現的Opus,目前可支援的軟體有Firefox 15、foobar2000 v1.1.14。

等到iOS和Android可以原生支援時,這個Codec才算有機會?

chromium: Issue 104241: Support OPUS for the audio tag and Audio object
Chromium Audio/Video

2012年10月13日 星期六

Smooth Streaming Encoding using FFmpeg

相關連結:
How to output fragmented mp4 with ffmpeg? @ Stack Overflow
How to Smooth Stream from Apache without any plugin
Experience IIS Smoooth Streaming @ Microsoft IIS site

Smooth Streaming是由微軟提出的Adaptive bitrate streaming技術,類似的方案如蘋果提出的HTTP Live Streaming,都是為了解決多媒體串流問題,以往通常採用UDP-based的RTP/RTSP,改用over HTTP的好處在於可過proxy,還可善用HTTP CDN。

架設Smooth Streaming,在微軟提供的指南,是將多媒體內容用Microsoft Expression Encoder轉成Smooth Streaming格式,再透過安裝了IIS Media Services extension的IIS server提供服務。

那在非Windows的機器上,有辦法提供Smooth Streaming嗎?

現在透過FFmpeg,可以轉出Smooth Streaming格式,透過一般的HTTP伺服器,例如Apache就可以達成。

Smooth Streaming和HLS的m3u8及一堆ts檔的做法類似,多媒體檔案先壓成多個fragmented mp4,在Manifest檔內(XML格式)描述檔案名稱以及bitrate,可以壓制成多種bitrate,讓client端依據當時的網路狀況選擇不同的bitrate下載。

FFmpeg在0.10時,已經提供了ISMV (Smooth Streaming) muxer (git commit),壓出ismv檔案後,可以再用另一支FFmpeg提供的tool ismindex (git commit)產生相關檔案。

在FFmpeg 1.0則又加入了Smooth Streaming live segmenter muxer (git commit),直接format選smoothstreaming,就可以把整套檔案壓出來。

例如下「ffmpeg -i  test.mov -f smoothstreaming -b:v 800k FolderName」,就會在"FolderName"資料夾下產生出Manifest和切好的FragmentInfo, Fragments。

目前可以作為Smooth Streaming client的有Windows Phone 7以及SilverLight。

FFmpeg Windows Builds的2012-10-10版測試,壓出檔案後,拿下面兩個檔丟到自己的web server
http://mp4parser.googlecode.com/svn/smooth/gcode.html
http://mp4parser.googlecode.com/svn/smooth/player/SMF_Adoption.xap
然後把html裡InitParams的value改掉。

不過用上述方法測試,目前會是影片播了一小段後,畫面停住,但是聲音持續在播,如果隨意seek到別的位置後,畫面又會正常出現,可能是FFmpeg還要再加其他參數?

Smooth Streaming muxer的參數,在「ffmpeg -h full」裡面有,目前用2012-10-10版看到的有
-window_size <int>
-extra_window_size <int>
-lookahead_count <int>
-min_frag_duration <int64>
-remove_at_exit <int>

[烏克麗麗] Taylor Swift - Long Live


↑是吉他的,不過有提到刷法,一開始就每小節刷8下,副歌可以改。

和弦用G, Cadd9, Em7, D/F#
http://tabs.ultimate-guitar.com/t/taylor_swift/long_live_crd.htm

http://www.ukulele-tabs.com/uke-songs/taylor-swift/long-live-uke-tab-19849.html
ukulele-tabs上用的和弦是G, C, Em, D

基於Em7比較好按XD,用G (0232), Cadd9 (0203), Em7 (0202), D (2220)

以下用"."表示重複上一個和弦

Intro:
G . Cadd9 . Em7 D Cadd9 .

G . Cadd9 . Em7 D Cadd9 .
G . Cadd9 . Em7 D Cadd9 .
Em7 . Cadd9 . Em7 D Cadd9 .

Chorus:
G Cadd9 Em7 D
G Cadd9 Em7 Cadd9 G

Verse 2:
G . Cadd9 . Em7 D Cadd9 .
G . Cadd9 . Em7 D Cadd9 .
Em7 . Cadd9 . Em7 D Cadd9 .

Chrous:
G Cadd9 Em7 D
G Cadd9 Em7 D
G Cadd9 Em7 D
G Cadd9 Em7 Cadd9 G

Bridge:
Cadd9 Em7 Cadd9 Em7
Cadd9 . .

Verse 3:
G . Cadd9 . Em7 D Cadd9 .
G . Cadd9 . Em7 D Cadd9 .
Cadd9 . D

Chrous:
G Cadd9 Em7 D
G Cadd9 Em7 D
G Cadd9 Em7 D
G Cadd9 Em7 D
G Cadd9 Em7 Cadd9 . G

FFmpeg 1.0

FFmpeg於2012年9月28日release 1.0

目前各libav*系列major number
libavutil: 51
libavcodec: 54
libavformat: 54
libavdevice: 54
libavfilter: 3
libswscale: 2
libswresample: 0
libpostproc: 52

在1.0 Changlog看到比較有趣的是
給Windows Phone用的「Smooth Streaming live segmenter muxer 」
字幕相關的:

- SAMI, RealText and SubViewer demuxers and decoders
- 3GPP Timed Text encoder/decoder

- SubRip encoder and decoder without embedded timing
- Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP
  instead of AV_CODEC_ID_TEXT
- WebVTT demuxer and decoder (simple tags supported)


喔喔…這個莫非是搬atom那個?
- faststart option in the MOV/MP4 muxer

嗯…看來要菸酒一下這版本的價值

2012年秋季日劇期待度排行 (oricon)

2012年10月期ドラマ期待度ランキング
《2012秋季日劇期待度》這樣的卡司會不會太豪華♥

  1. Going My Home
    主演:阿部寬   共演:山口智子.宮崎葵.阿部貞夫.西田敏行 等
    TVBT, 人人
  2. PRICELESS
    主演:木村拓哉 共演:中井貴一.香里奈.藤木直人 等
  3. 不結婚 (結婚しない)
    主演:菅野美穗.天海祐希 共演:玉木宏 等
    TVBT, 人人
  4. 遲開的向日葵 (遅咲きのヒマワリ)
    主演:生田斗真 共演:真木陽子.桐谷健太.香椎由宇.柄本佑.木村文乃.國仲涼子 等
  5. TOKYO AIRPORT~東京機場管制保安部
    主演:深田恭子 共演:佐佐木希.要潤.瀨戶康史.瀨戶朝香.時任三郎 等
  6. MONSTERS
    主演:香取慎吾.山下智久 共演:柳原可奈子.大竹誠.遠藤憲一 等
  7. 大奥~誕生~
    主演:堺雅人   共演:多部未華子.田中聖.段田安則.內藤剛志.麻生祐未 等
  8. Resident~5人の研修医(實習醫生)
    主演:仲里依紗 共演:林遣都.增田貴久.大政絢.石橋杏奈.光浦靖子.古田新太 等
  9. 惡夢小姐 (悪夢ちゃん)
    主演:北川景子 共演:GACKT.優香.小日向文世 等
  10. 完美的藍 (パーフェクト・ブルー)
    主演:瀧本美織 共演:平山綾.水上劍星.中川大志.寺脇康文.財前直見 等
  11. Doctor-X~外科醫‧大門未知子
    主演:米倉涼子 共演:田中圭.內田有紀.室井滋.岸部一德.伊東四朗.龍雷太 等
深夜檔和相棒略過。「勇者ヨシヒコと悪霊の鍵」ヨシヒコ續作來啦~~
TVBT

2012年10月10日 星期三

LinuxThreads and NPTL

Native POSIX Thread Library@wikipedia
The LinuxThreads library
Linux 线程模型的比较:LinuxThreads 和 NPTL

先筆記。

看起來是glibc要2.3以上的才是用NPTL

Search lyric from lrc123

Actually this is just a web search and parse

use curl to send
「curl -v "http://www.lrc123.com/?keyword=perfume+baby+cruising+love&field=all"」

then parse the html. i use the pattern「/field=singer&keyword=([^"]+)"/」. title is similar. download the LRC is 「/<a href="([^"]+)">LRC<img src/」

don't forget request for LRC with a defined USER_AGENT. Without USER_AGENT, the lrc download page will response with error.

LYRDB Web Services

http://www.lyrdb.com/services/lws-tech.php

不過實際搜一下,連Taylor Swift - Love Story也搜不到啊…

response format也非常地…獨特,所以…還是不花時間implement好了…

補個範例
「http://webservices.lyrdb.com/lookup.php?q=linkin%2520park%2520-%2520numb&for=fullt」

s00346437\Linkin Park Vs Slipknot - Faint/Left Behind\Linkin Park
s00346441\Linkin Park-Pushing Me Away (Hybrid Theory)\Linkin Park
s00346440\Linkin Park Vs Slipknot-ForgottenMy Plague\Linkin Park
s00346438\Linkin Park Vs Slipknot - Forgotten/My Plague\Linkin Park
s00436583\Linkin\Park Linkin
s00346439\Linkin Park Vs Slipknot-FaintLeft Behind\Linkin Park
t00482796\Numb/Encore (feat. Linkin Park)\Linkin Park feat. Jay-z
s00346411\In The End (Not Made By Linkin Park)\Linkin Park
t00482814\Collision Course (linkin Park/jay-z)\Linkin Park
t00482898\Something I Can Never Have\Linkin Park

「curl -v http://webservices.lyrdb.com/getlyr.php?q=t00482796」

2012年10月9日 星期二

LyricWiki API

http://api.wikia.com/wiki/LyricWiki_API
是的,很久以前就有API可以用了,以前也有提到過
先前文章:LyricWiki.org

還頗久之前了…當時還是用LyricWiki.org,現在搬到wikia了。

簡單的API用法,直接發curl
curl -v "http://lyrics.wikia.com/api.php?fmt=realjson&song=back+to+december&artist=tayl
or+swift&func=getSong"

回傳會有artist, song, lyrics, url, page_namespace, page_id, isOnTakedownList,其實後面幾個都不知道要做什麼用,lyrics只會有開頭的歌詞,因為歌詞有license啊
URGENT: LyricWiki API changes

話說fmt要用realjson是很神奇地,如果用json的話,前面會多"song = ",然後才接JSON object,為了維持相容性,所以後來真的要吐JSON時,要指定realjson。

嗯…但是一定要完全正確的artist, song才能拿到歌詞,沒有模糊搜尋的功能嗎…不然就要靠Google加"site:"嗎?

2012年10月8日 星期一

台灣精工(SEIKO)維修經驗

三年前買的SEIKO Premier,前幾天開始會慢分,秒針走兩下停一下,到前天,已經完全不會動了。在網路上搜尋一下,看起來應該是電池沒電了,因為台灣精工的維修部離公司不遠,所以早上打了通電話,詢問營業時間,平日的8:30~17:30,中午可以過去。

於是午休就騎車過去,搭電梯到大樓的7樓,進門後左轉就有櫃台小姐。

錶給師傅看了一下,確認是電池沒電,換電池就可以了。稍等一下之後,師傅就把電池換好,時間調整好,收費是$200。



台灣精工售後服務中心
地址:台北市建國北路一段90號七樓
電話:(02)2504-0707

「NOBODY ROCKs」2012/10/28 @ 西門河岸留言

https://www.facebook.com/events/112157828942176/

日期:2012年10月28日
入場:14:30
開唱:15:00

票價:預購 $200/現場 $250

涼煙樂團:https://www.facebook.com/TheSlimCigarettes
ZOO the band:https://www.facebook.com/zootheband
格子毛衣:http://tinyurl.com/9kenksj

這格子毛衣的圖來亂的啊…
欲知"格子毛衣"詳情,請搜關鍵字「格子毛衣 高雄 八重洲」

雖然我有做網頁,但是其實當年一場都沒有聽過啊(逃)

2012年10月7日 星期日

libcurl does not support RTSP with digest authentication yet (7.27.0)

最近的project會用到RTSP加上digest authentication,之前的daemon是自己刻socket programming,這次只是要確認密碼是否正確,不需要implement full stack,所以想說用curl來問就好了,反正也不需要做到asynchronous,只要記得加timeout就好了。

結果先用curl binary試一下,奇怪…參數餵了--digest和--user,怎麼header都沒有digest authentication的東西呢?換成用HTTP的話,就沒有問題,RTSP就會沒有authentication header。

原本以為是哪個參數下錯了,結果搜尋之後的結果是…curl目前還沒有支援RTSP with digest authentication,在curl的source code裡面列為TODO...

https://github.com/bagder/curl/blob/master/lib/rtsp.c
/*
* TODO (general)
* -incoming server requests
* -server CSeq counter
* -digest authentication
* -connect thru proxy
* -pipelining?
*/

在curl實作好之前,看來還是只能自己算digest了啊

2012年9月29日 星期六

2012年8月Facebook遊戲排行

The Top 25 Facebook games of August 2012
by AppData

Top 25 by DAU (daily active users)
1. Texas HoldEm Poker (Zynga)
2. The Ville (Zynga)
3. Words With Friends (Zynga)
4. Bubble Safari (Zynga)
5. Bubble Witch Saga (King.com)
6. Candy Crush Saga (King.com)
7. Diamond Dash (wooga)
8. FarmVille (Zynga)
T9. CityVille (Zynga)
T9. CastleVille (Zynga)
11. SongPop (FreshPlanet)
12. The Slims Social (EA Playfish)
T13. Bejeweled Blitz (EA PopCap)
T13. Tetris Battle (Tetris Online Inc.)
T13. Zynga Slingo (Zynga)
16. Hidden Chronicles (Zynga)
T17. Dragon City (Social Point)
T17. ? (Halfquest)
19. Pool Live Tour (Geewa)
T20. Monster World (wooga)
T20. Slotomania Slot Machines (Playtika)
22. Angry Birds Friends (Rovio)
T23. Lost Bubble (Peak Games)
T23. SimCity Social (EA)
25. Top Eleven Be a Football Manager (Nordeus LLC)

by MAU這裡只列前10,完整Top 25請看原文

  1. The Ville (Zynga)
  2. Texas HoldEm Poker (Zynga)
  3. Bubble Safari (Zynga)
  4. CityVille (Zynga)
  5. Bubble Witch Saga (King.com)
  6. Diamond Dash (wooga)
  7. FarmVille (Zynga)
  8. The Slims Social (EA Playfish)
  9. CastleVille (Zynga)
  10. Words With Friends (Zynga)
想當年是農村(FarmVille)獨走領先,沒玩很久了,現在掉到7、8名,而Zynga在2012年9月5日發表了FarmVille 2,不知道9月結果出來表現會如何呢?

2012年9月28日 星期五

OPEN小將遊澎湖紀念章 (2012年9月)

這次的澎湖行,其中一個主要的目標,就是要蓋到10個OPEN將紀念章

出發前是參考這篇
[澎湖] 跟著OPEN小將集章遊澎湖

在2011年花火節的時候,有6顆紀念章,後來變成10顆,分佈在不同的7-11門市。

回來後又搜尋一些相關文章
今夏!OPEN小將揪團 帶你遊澎湖海上花火節
OPEN小將家族遊澎湖紀念章
2011 OPEN小將家族澎湖限定紀念章
澎湖花火節-OPEN將
花火、戰地、 流浪去─澎湖花火節

這趟去(2012年9月26~27日),除了OPEN小將家族會換地方,連印章在的門市也不一樣啦


第1個蓋到的是「雙心石滬」,在東衛門市,離我們住的民宿很近。
門口有一隻脫光光的OPEN將 (東衛門市),在從市區左轉往白沙的路口

雙心石滬的海報,這在天人菊門市,隔壁就是知名的仁愛路肉圓
原來OPEN將是拿仙人掌冰給小桃


第2個蓋到的是「奎壁山踏浪」,在湖西門市。
門市外面有奎壁山踏浪的海報

沿途有經過永興順門市,不過是前面2個之1(忘了是哪個XD),原本要去隘門沙灘,也不小心騎過去了,因為林投沙灘有停,就先往下一個景點前進。


第3個是「山水沙灘」,在鎖港門市,離知名民宿人魚之丘還蠻近的。
印章是山水沙灘,不過門口是花火節的海報,只看得到OPEN將的頭,小桃被轉蛋機擋住了XD

有海報的好像是最初的6個景點,山水沙灘是後來增加的4個,就沒看到海報。
改附條碼喵和山水沙灘合照。


第4個是漁翁島燈塔,在井垵門市。
原本沒有規劃要去風櫃,不會路過井垵門市,但是在鎖港門市的山水沙灘沒蓋好,想說在井垵門市也會是山水沙灘,結果是漁翁島燈塔。

一樣沒有海報,附上條碼喵合照


之後在澎南門市補蓋一次山水沙灘,澎南門市的門口有小肉粽喔


第5個是夜釣小管,沒記錯的話,是在石泉門市,旁邊是中正國中。
夜釣小管印章的設計,要印台水夠多才蓋得好,第一次沒蓋好,所以在下一間又蓋一次。

中華路上的揚光門市有2顆章耶,夜釣小管和漁翁島燈塔,
旁邊有一間全家,話說當初在馬公時,只有7-11,沒有全家,現在有好多間耶。

揚光門市的停車場,有穿著海灘褲的OPEN將,鼻子好像有點磨損了orz


第6個是花火節,在中正路上,郵局對面的新台澎門市蓋到,
也在收攤前買了蔥油餅來吃,加蛋一個$30。
花火節海報再出來一次 (海報是在鎖港門市)


在天人菊門市門口的LOCK將


本來想說天人菊門市會是媽祖廟的章,結果不是,
店員很好心地告訴我們在麥當勞路口彎過去的7-11,有城隍廟的章 (應該是想說媽祖廟),
我們先沿著仁愛路到了山水門市,是已經蓋過的章(忘了是哪個),
再往上沿著民權路,走到玉山銀行的路口。

第7個章,在新澎湖門市蓋到媽祖廟,
位置就在玉山銀行的路口,新澎湖門市的門口還有小桃,是比基尼裝耶

店員告訴我們的澎隍門市的確也是媽祖廟


第一天的湖西、南環、市區蓋到10個裡的7個章,遇到6個裡面4個OPEN小將家族。

第二天的北環

第8個是跨海大橋,在白沙門市,
門口還有條碼喵

過了跨海大橋後的跨海門市還有更大張的海報

話說在外垵的漁翁門市,本來以為會是漁翁島燈塔,結果不是,印象中是夜釣小管@@

沒想到本島跑了一圈後,竟然還有2個章沒蓋到!

於是從北環行程跑完後,再回到市區掃門市!

第9個是玄武岩,在澎技門市,也就是澎湖科技大學前的三多路上,
玄武岩的海報則是在西衛門市,西衛門市店裡面也有一隻脫光光的OPEN將,

同樣在西衛門市,洗手間旁邊XD,有望安花宅的海報,

但是西衛門市沒有望安花宅的章啊…

沿著光復路,到了馬公門市,結果是媽祖廟。

先吃晚餐,最後的市區希望剩下北辰加油站旁的澎灣門市,結果也不是望安花宅。

集章只差最後1個實在是很討厭,看看手表離班機起飛還有點時間,於是前往剩下的門市。

第10個是望安花宅,在百麗門市終於蓋到啦,
門口有小竹輪。

因為文澳門市很近,也繞過去看一下,印章也是望安花宅。

7-11的門市查詢系統對照一下,發現這趟除了文光門市之外,都跑過了XD

2012年9月24日 星期一

[烏克麗麗] Taylor Swift - Fifteen




在YouTube上找到兩部,用到的和弦有些不同。

第一位在野外的是用G C Em D,而第二位是G Cadd9 Em7 D。

在和弦網站上面的大多是第二種
Fifteen Uke tab by Taylor Swift
Fifteen Chords by Taylor Swift @ Ultimate-Guitar.Com

G C D Em Em7都沒什麼問題,Cadd9在烏克麗麗的書、和弦總表都找不到啊@@

這裡借用一下Ukulele Tabs的圖,圖上顯示的Cadd9是按0433,不過Cadd9在網路上搜尋一下,應該是C和弦加9,也就是D,所以按法會是0203或是0005才有D

http://www.ukulele-blog.com/2010/01/tablature-wonderwall/ 借一下圖


http://tabs.ultimate-guitar.com/t/taylor_swift/fifteen_crd.htm
Taylor Swift - Fifteen

前奏
G Cadd9 Em7 Cadd9

G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9 Cadd9

G Em7 D Cadd9
G D Em7 Cadd9
Em7 D G D Cadd9 D

G Cadd9 Em7 Cadd9

G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9 Cadd9

G Em7 D Cadd9
G D Em7 Cadd9
Em7 D G D Cadd9 D

G Cadd9 Em7 Cadd9 D

Cadd9 Em7 D G D Cadd9 D

G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9 Cadd9

G Em7 D Cadd9
G D Em7 Cadd9
Em7 D G D
Cadd9 Em7 D Cadd9 D

G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9
G Cadd9 Em7 Cadd9

==
另外用G C Em C的可參考
http://tabs.ultimate-guitar.com/t/taylor_swift/fifteen_ver3_crd.htm

2012年9月23日 星期日

API design for C++, Chapter 5 Styles

又是一本買到現在還沒看完的書XD

在第五章Styles,作者介紹了4種不同風格的API:

  1. Flat C APIs
  2. Object-Oriented C++ APIs
  3. Template-Based APIs
  4. Data-Driven APIs
範例是實作stack的Push, Pop, IsEmpty,用不同風格的API,實作相同的功能。文中也對不同風格的優缺點作了說明,是值得推薦的一章。

不過裡面有個地方看了覺得很怪,就是page 154的故事
「Stronger Type Checking Saves Brain Cells」
作者的用意是說,C++ compiler會比C compiler更嚴格,建議在寫Flat C API後,也要用C++ compiler build過來確定,但是故事裡的例子,不知是我誤會了還是要非常舊的C compiler才會沒彈error,故事中的人把malloc()換成calloc()時,仍只有給1個參數(calloc()要吃2個參數),導致runtime會crash,文中說如果用C++ compiler就會error,而提早發現bug,然而C compiler會build過!?

應該都會彈error「too few arguments to function」吧…

另外一個是page 168,講到variant argument list時,C++本身沒有支援,需要透過第三方library,或者是用union, inheritance, void*之一的方法來做,而"weakly typed" language例如Python本身就支援這功能。まぁ…Python支援沒錯啦,不過嚴格地說,Python不是weak type language,是strong type, dynamic type,和Ruby相同。

基本上可以看wikipedia Strong  typing的範例就可以很清楚區分strong/weak type
a = 2
b = "2"

concatenate(a, b)
concatenate(str(a), b)

當concatenate(a, b)執行時,會成功的,例如PHP, JavaScript,是屬於weak type,而Python, C之類的語言,則會失敗,需要明確地將變數轉型別後,才能成功。

參考資料:
Typing: Strong vs. Weak, Static vs. Dynamic
Strong typing@wikipedia
Book Errata of API design for C++

板橋大遠百威秀 座位圖 (from EZ訂)

相關文章:
in89 豪華數位影城 座位圖 (from EZ訂)

共9個廳,有數位IMAX廳

剩405位,IMAX廳
剩294位
剩267位
剩234位
剩215位
剩182位
剩177位
剩173位
剩112位
剩405位,IMAX廳
剩294位
剩267位
剩234位
剩215位
剩182位
剩177位

剩173位
剩112位

線上烏克麗麗譜編輯器

GoChords
http://www.gochords.com/
sample: http://www.gochords.com/demos/print.php
demo: http://www.gochords.com/demos/free.php

可以用拖拉的方式編輯和弦,再和歌詞結合在一起


Uke Geeks' Scriptasaurus
http://ukegeeks.com/
Free, Open-Source JavaScript & PHP Chord Libraries & Music Tools
sample: http://ukegeeks.com/songbook/swinging-on-a-star.htm
demo: http://ukegeeks.com/demo.htm

這個好強大!
寫好markup後,JavaScript library會轉成對應的結果,旁邊的和弦按法是用canvas畫出來的。

所以要改排版的話,CSS調一下就可以啦!

in89 豪華數位影城 座位圖 (from EZ訂)

EZ訂的座位圖和訂票時顯示的剩餘張數做個記錄

先從比較常去的in89開始


剩118位,1廳,數位廳;往後坐,坐過Q、R排都ok
剩99位,2廳,豪華廳:G排前方是走道,理論上坐G排比較不會被擋到
剩44位

剩118位,1廳,數位廳
剩99位,2廳,豪華廳

剩44位


2012年9月22日 星期六

Android Device Jelly Bean Update List

Jelly Bean Compatible Android Device Updated List
Android 4.1 upgrade list: Is your device getting Jelly Bean?

更新日期:2012年9月22日

參考上面2個網頁,目前官方宣佈會提供Android 4.1 Jelly Bean更新的機種如下,有*在前方的是已經可升級Jelly Bean:

Samsung


  • *Samsung Galaxy Nexus
  • *Samsung Galaxy Nexus S
  • Samsung Galaxy S3
  • Samsung Galaxy S2
  • Samsung Galaxy Note
  • Samsung Galaxy Note 2
  • Samsung Galaxy Note 10.1
HTC
  • HTC One X
  • HTC One XL
  • HTC One S
Sony
  • Sony Xperia T/TX
  • Sony Xperia V
  • Sony Xperia Tablet S


Motorola

  • *Motorola Xoom
  • Motorola Droid Razr HD
  • Motorola Droid Razr HD Maxx
  • Motorola Droid Razr M

Asus

  • *Asus Transformer Pad TF300
  • Asus Transformer Prime TF201
  • Asus Transformer Pad Infinity TF700

LG

  • LG Optimus G

Factory Images for Nexus Devices

Asus的Nexus 7因為出廠就是Jelly Bean了,所以沒有出現在上面的清單

2012年9月20日 星期四

Define web page charset in HTML5

以往我們都會在網頁的head標籤後寫一行
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
告訴瀏覽器這個頁面是用 utf-8 編碼

而在 HTML5 ,doctype都變成簡短的
<!DOCTYPE html>
當然encoding一樣有比較短的版本
<meta charset="utf-8">

相關連結:
meta tag@MDN

Torrent related Google Chrome extensions

蒐集中,先丟幾個

Remote Transmission

Remote Transmission Plus

Remote Torrent Adder

uTorrent for Google Chrome

uTorrent tiny client
source code: https://github.com/Feverqwe/uTiny

目前看起來是uTorrent tiny client最強大啊…

jQuery Mobile layout for tablet

一開始查的時候,找到的是 jQuery Mobile SplitView ,因為這頁在Opera是爛的,一開始還在想,這哪裡有SplitView了…改用Firefox開才正常。

另外一個是 iPad style layout jQuery Mobile with Google maps ,寬度縮小到手機尺寸後,最上方的menu字樣和下方選單是分開的,似乎不甚理想啊。

原本心想,可以在phone, tablet不同解析度之間變換,應該是一個mobile web framework非常基本的功能,怎麼可能會沒有呢。

回頭去查jQuery Mobile的文件,才發現文件本身就是最好的範本啦

http://jquerymobile.com/demos/1.1.1/docs/pages/page-anatomy.html
1.1.1版的這頁,當寬度小於650px時,layout就會不同
Phone layout

Tablet layout
而產生不同layout的方法,不需要另外寫js,只要利用CSS3 Media Queries就可以做到。

詳情可參考jQuery Mobile文件頁的jqm-docs.css,搜尋「@media」就可以看到。

另外,也有人做了YouTube影片講解

附上支援瀏覽器列表,IE從9開始支援CSS3 Media Queries

2012年9月18日 星期二

[歌詞] Perfume - Perfume




Perfume

歌手:Perfume
作詞:木の子
作曲:中田ヤスタカ


S極とN極の様にね 今 引き合うの
Pa・Pa・Pa・Pa・Pa・Pa・Perfume
Pa・Pa・Pa・Pa・Pa・Pa・Perfume

トップノート照れ臭いけど ミドルノートいつもありがと
ラストノート涙止まらず 歌える 今日を 抱きしめる
香り 効能 ほら 心に 聞いて 感じて みてね
バリア 解いたら ねえ?! 
アコードは どんな香りをしてる?

トップノート出会えた奇跡 ミドルノート忘れないでね
ラストノート消えない想い 私の ここが 居場所なの
強い 運命 さあ 複雑に 甘く 組み合わ せるの
温度 上がると 君 新しい 香り 始まり 知ってる?

他人同士だからね いろんな世界 磁力を持ったの

S極とN極の様にね 今 引き合うの
Pa・Pa・Pa・Pa・Pa・Pa・Perfume
Pa・Pa・Pa・Pa・Pa・Pa・Perfume
Pa・Pa・Pa・Pa・Pa・Pa・Perfume
Pa・Pa・Pa・Pa・Pa・Pa・Perfume

トップノート照れ臭いけど ミドルノートいつもありがと
ラストノート涙止まらず 歌える 今日を 抱きしめる
香り 効能 ほら 心に 聞いて 感じて みてね
バリア 解いたら ねえ?! 
アコードは どんな香りをしてる?

他人同士だからね いろんな世界 磁力を持ったの

S極とN極の様にね 今 引き合うの
Pa・Pa・Pa・Pa・Pa・Pa・Perfume

==
因為天空變64kbps後,音質也沒多好,不過YouTube的在某些地方會有奇特的效果@@

Test-Driven JavaScript Development, Chapter 6. Applied Functions and Closures

書買了很久,一直放著(汗),最近才開始認真翻。

在開始看之前,有翻到一篇書評 Book Review: Test Driven JavaScript Development ,裡面對這本書的評價極高,寫著``所有JavaScript開發人員都應該讀這本書'',喔…

但是開始看之後…似乎…沒有感受到什麼特別的地方。內容部分沒什麼問題,只是不像當年在看「Pro JavaScript Techniques」這本時,很多衝擊以往認知的東西。

題外話,John Resig的「Secrets of the JavaScript Ninja」根據他blog這篇Secret Omens: Book Update,應該在今年真的要出版了XD (amazon上的日期是2012年10月28日)
it's the best-selling MEAP book of all time. (應該沒有一本MEAP後,隔了這麼久還沒出正式版的吧…)

今天看到第6章Applied Functions and Closures,雖然大部分的東西在 JavaScript Patterns 這本看過了 (謎:所以才沒什麼特別感覺?),不過裡面Closure應用的舉例,蠻多在各家JavaScript library都有實作,記錄一下。

Source Code下載請至
http://tddjs.com/code

bind()
ECMAScript 5th Edition

curry
Partial Application in JavaScript by John Resig
bind()同時可以把this和argument綁進去,curry則是只綁argument
(這篇最後提到Secrets of the JavaScript Ninja預計在2008 Fall出XD)

namespace
JavaScript本身沒有namespace語法,透過object裡可以包object, function,就能達成namespace的效果

uid

iterator

memoize

偷懶…之後再把上面補起來

ECMAScript 5 compatibility table

ECMAScript 5 compatibility table

IE 9, Firefox 4-, Opera 12才有較完整支援,IE 8一片紅啊…,Firefox 3.6, Opera 11在Object相關的function都沒有實作。

不過以相容性的觀點來看,Object.create()這些要等到IE 8完全不支援才能使用,在XP不死的情況下,IE 8看起來還可以活很久啊…

依照Google瀏覽器支援計畫,只會支援最新兩個版本,而IE 10預定在2012年10月26日(也就是Windows 8正式發行日期),所以Google相關網頁應用在2012年11月15日之後,對IE 8就會彈出建議升級瀏覽器訊息!

彈訊息是一回事啦,真的弄到不能用可能也不會。

Supporting modern browsers: Internet Explorer 8 support discontinued

回來ECMAScript 5,詳細介紹可以參考MDN
其中一部分:New in JavaScript 1.8.5

為了能相容舊瀏覽器,但是又能讓JavaScript過去容易寫出的錯誤,避免再犯而提出的 strict mode
Strict mode

strict mode只要加上一行「"use strict";」就會啟用,寫在function裡面就只會限制該function。以往可能是默默地沒被發現的錯誤,在啟用strict mode時,會直接彈error。例如,宣告object時有重複的property、implicit globals (漏了個var不小心宣告成全域變數)。

有一個比較特別的是禁止octal literal,也就是不能用8進位寫法,像是「var a = 0644;」在strict mode會彈syntax error。

話說到了IE 9也沒有strict mode啊…

2012年9月17日 星期一

有存款機的郵局

郵政ATM具存款功能據點查詢

從地址來看,離目前住處比較近的是

台北北門郵局
台北市中正區忠孝西路1段114號

台北大同郵局
台北市大同區承德路3段83號

台北光華郵局
台北市大安區新生北路1段7之2號

剛好三個方向XD

高雄看起來最近的還是鳳山三民路郵局的樣子

2012年9月16日 星期日

潮品集 吃到飽 承德京站店

吃到飽菜單,今天是選綠區

清炒芥蘭

滷鵝血豆腐

滷水什錦拼

什錦瓜粒湯
來的是上面一大碗,這碗裝起來比較看得出有什麼料

筍尖鮮蝦餃

鮮蝦腐皮捲

香麻石斑卷

鮮蝦蒸腸粉

上湯莧菜

香脆綠豆酥

蟹香蒸燒賣

芋香西米露 (熱)

椰果紫糯米 (熱)

椰汁紅豆糕