Fold All / Expand All

2014年9月28日 星期日

H.265 出現在 iPhone 6 技術規格!

標題總是要聳動一點

莫非是錄影開始支援 H.265!?

在官網的 Technical Specifications,H.265 字樣出現在 FaceTime 這欄
(謎:幹嘛不用中文的「技術規格」)

看來是 iPhone 6 / iPhone 6 Plus 之間互打 FaceTime 時,會用 H.265 作為 video codec

那錄影和播放呢?

規格上是只有列到和之前一樣,H.264 1080p 60 fps HP@L4.2


2014年9月27日 星期六

板橋秀泰6廳心得


先來張螢幕位置圖 (from 一訂OK)

如圖上所示,是只有5排的,共65席的小廳。

神劍闖江湖這次上映戲院,大多都是小廳,唯一有大廳的,是日新威秀的 IMAX 廳。

不過為了くまモン的L夾,得找一間非威秀的電影院,最後看看,就到還沒去過的板橋威秀試試。

這次是買到4排3、4號的位置,因為廳不大,感覺位置在哪應該都還好。秀泰的座椅還是一樣雙扶手,坐起來也蠻舒服的,腳也可以伸展,不會很容易踢到前面。

這次購票是用富邦信用卡,260元含小爆、小可 (全票280)。其他優惠可以參考秀泰網站,除了信用卡,憑誠品新板店、麗寶百貨的當日發票,有一張200元的優惠。

音響的話,一開始的預告片,特別是恐怖片那部…震很大,不過正片就還好。

最後附一下くまモンL夾


2014年9月26日 星期五

CVE-2014-6271 bash vulnerability

雖然已經有一版 patch for CVE-2014-6271,但是補不完整,又出來了一個 Vulnerability Summary for CVE-2014-7169
CVE-2014-6271 測試方法
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
如果是還未修正的版本,執行後會出現
vulnerable
hello
已修正的話,則是出現
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello
而 CVE-2014-7169 則是
env X='() { (a)=>\' bash -c "echo date"; cat echo
會出現
bash: X: line 1: syntax error near unexpected token `='
bash: X: line 1: `'
bash: error importing function definition for `X'
Thu 25 Sep 2014 08:50:18 BST
CVE-2014-7169 目前尚未有官方 patch
基本上就是 port scanner ,直接送 HTTP Request,在 header 帶 ping 到指定 IP,從該 IP 蒐集 ICMP packet,有 ping 回來的,就是有漏洞的…

2014年9月17日 星期三

FFmpeg 2.4

RELEASE NOTES for FFmpeg 2.4 "Fresnel"
http://git.videolan.org/?p=ffmpeg.git;a=blob;f=RELEASE_NOTES;hb=release/2.4

只有看到 Icecast protocol 比較有興趣,支援 Icecast write,所以應該是可以利用 libavformat 來寫 ICY DJ client

看了 Icecast 網站 (http://icecast.org/),沒想到還有在持續開發,在 Icecast 2.4.0 開始支援  Webm, Ogg Opus 格式


Changelog
http://git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=Changelog;hb=HEAD

2014年9月15日 星期一

SSD 價格 (2014.09.14)

SSD 價格 (2014.09.14)
Name PChome 原價屋 欣亞
Intel 520
120G 2099 1999 1999
Intel 530
120G 2699 2390 1990
180G NA 3499 3499
240G 4299 3999 3999
480G 10499 9999 9999
Plextor M5 Pro
128G 2688 2488 2488
256G 4688 4588 4588
Plextor M6S
128G 2399 2199 2199
256G 3988 3888 3888
512G 8990 8880 9890
Plextor M6 Pro
128G 3490 3390 3390
256G 6390 6290 6290
512G NA 12690 12690
Micro M500
120G 1999 1850 1850
Micro MX100
128G 2399 2330 2330
256G 3290 3299 3299
512G 6699 6666 6666
Micro M550
128G 2888 2800 2800
256G 4799 4700 4700
512G 8790 8700 8700
Toshiba Q-Pro
128G 2299 2288 2288
256G 3899 3888 3888

2014年9月7日 星期日

[Ext JS] Ext JS 5 不使用 Sencha Cmd

因為 Ext JS 5 的教學,都是提如何使用 Sencha Cmd 來打包,不過 JRE, Ruby 都要裝,不太想用啊…
官網的 FAQ 有列出和以往類似的 include script, css 方式,方法其實和之前類似,只是 5.0 的路徑不同
<head>
     <title>Hello World</title>
        <link rel="stylesheet" type="text/css" href="ext/build/packages/ext-theme-neptune/build/resources/ext-theme-neptune-all.css">
        <script type="text/javascript" src="ext/build/ext-all-debug.js"></script>
        <script type="text/javascript" src="ext/build/packages/ext-theme-neptune/build/ext-theme-neptune.js"></script>
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>

2014年9月6日 星期六

[MongoDB] 只顯示在陣列中符合條件的 subdocument

標題怪怪的

想要做的事是,在陣列裡是 document,用 find() 找到符合的 document,預設會把整個陣列都傳回來,不論條件是否符合

假設 collection students 有以下的 document
```
{ "_id" : 7, semester: 3, "grades" : [ { grade: 80, mean: 75, std: 8 },
                                       { grade: 85, mean: 90, std: 5 },
                                       { grade: 90, mean: 85, std: 3 } ] }

{ "_id" : 8, semester: 3, "grades" : [ { grade: 92, mean: 88, std: 8 },
                                       { grade: 78, mean: 90, std: 5 },
                                       { grade: 88, mean: 85, std: 3 } ] }
```

這時候下找出 mean 大於 85 的
```
db.students.find(
    {'grades.mean': { $gt: 85}},
    {'grades': 1}
)
```

grades 的內容都會出現,不論 mean 是否大於 85

MongoDB 有個 projection operator $,可以限制只顯示符合的第1個
http://docs.mongodb.org/manual/reference/operator/projection/positional/#project-array-documents

改成
```
db.students.find(
    {'grades.mean': { $gt: 85}},
    {'grades.$': 1}
)
```

grades 就只會出現符合的第1個

但是問題來啦,像是第2個 document 裡,符合大於85條件的有2個,用 $ 的話,只會列出1個,要列出所有符合的,要如何下呢?

用 aggregate() ,先 $unwind 拆掉 array,再 $group 回來
```
db.students.aggregate([{
    $unwind: '$grades'
}, {
    $match: {
        'grades.mean': {
            $gt: 85
        }
    }
}, {
    $group: {
        _id: '$_id',
        grades: {
            $push: '$grades'
        }
    }
}])
```

不過目前要用的 array 是在 nested document 裡面,似乎還不支援…

2014年9月4日 星期四

[Lyric Get] Add music.jp support

http://music-book.jp/music/
雖然站名填 music.jp 不過網址已經變成 music-book.jp

目前速度有點慢

拿到歌詞頁內容後,要找到參數,再對 /music/MusicDetail/GetLyric 發 request,拿回來的 JSON 裡面有歌詞、作曲、作詞,歌手、標題則是在一開始網址就有,要 decode % 回來就是

一開始遇到的麻煩是要撈 cookie 裡面的 session id,再來是 user-agent 要用一般瀏覽器才行,詳細是哪個關鍵字就沒試了

在 Python, local GAE 測都 ok,沒想到上了 GAE,卻一直失敗,原因是拿不到 cookie 裡的 session id。原本考慮是一開始不要 follow redirect,在第一個 302 拿到 cookie 就停,不過最後是改寫 get url content,多把 cookie jar 加進去,而不是自己 parse header,終於是 ok 了

現在的 Lyric Get 網址是
http://franklai-lyric-get.appspot.com/

2014年9月3日 星期三

[MongoDB] query to find documents with array has subdocument, query to find non-empty array

列出 awards 這個 array 裡,有 award 為 “Turing Award” 以及 year 大於 1980
db.bios.find(
   {
      awards: {
                $elemMatch: {
                     award: "Turing Award",
                     year: { $gt: 1980 }
                }
      }
   }
)
撈出 array 有內容(非空)的方法
db.bios.find(
  {
    'awards.0'; {$exists: true}
  }
)

2014年9月2日 星期二

SQL to MongoDB Mapping Chart

先研究 SELECT

string equal and sort

db.users.find( { status: "A" } ).sort( { user_id: 1 } )
SELECT *
FROM users
WHERE status = "A"
ORDER BY user_id ASC

string like

db.users.find( { user_id: /^bc/ } )
SELECT *
FROM users
WHERE user_id like "bc%"