2010年8月30日 星期一

(轉) YouTube打算在年底開通好萊塢電影按次收費服務

ref: here

根據Financial Times網站所 提,Google旗下YouTube視訊網站目前正與好萊塢(Hollywood)電影協商,將於2010年底推展全球按次計費電影點播服務。若所言屬實 的話,那麼很可能創造新的形態。畢竟目前我們絕大多數人觀看新的電影,是以上電影院或是買 / 租 DVD片的方式(當然也有人是以「下載」的形態啦)。此外,也形成了在數位影視內容的發行市場上與蘋果硬碰硬情形,後續發展,值得繼續觀察。

在知道這樣的消息後,除了想到可能創造一個新的看電影形態外,也想到iVideo這個網站服務(說起來,YouTube這樣的方式,才更適合稱得上 iVideo吧)。目前當然沒有更進一步的消息,但若台灣也能有YouTube這樣的電影計次收費服務,iVideo可能會很辛苦吧。

2010年8月24日 星期二

C語言的label

對於C的label 以前都只知道是與goto一起搭配使用, 使用方法如下

{
    int a = 1;
    int i = 0;
    for (i=1; i<10; i++)
    {
        if ((a % 5) == 0 )
            goto exit1;
        ++a;
    }
    goto exit2;
exit1:
    printf("a = %d\n", a);
    return a;
exit2:
    printf("a = %d\n", a);
    return a;
}
Label就是在程式中的某一段你想要goto到的點插入 "lable:", 然後就可以利用goto label; 來直接跳到那個地方. 不過後來發現還有另外一種宣告label的方式, 可以用來記錄label 的address, 然後可以在任何地方都直接跳到你要的點(需要同一個有效空間)
例子如下

int main(void)
{
       __label__ something; // something_1
       int foo;
       foo=0;
       char *ptr1 = &&something;  // *ptr 記錄了 something_1的位址, 此時goto *ptr1 == goto something;
       printf("%X\n", *ptr1);
       goto something;
       {
               __label__ something; // something_2
               char *ptr2 = &&something;
               printf("%X\n", *ptr2);
               goto something;
               something: // something_2
                       foo++;
       }
       something:    // something_1
               return foo;
}
上面例子可以發現,  label可以命名相同名字但必須在不同的scope裡面, 如果在內部scope想跳到外部scope的label則可以利用__label__的宣告來事先記錄下該label的address,  如 *ptr1


end.

Build openssl for ARM

雖然網路上可以搜尋到很多人提供的方法跟經驗分享,在此我還是紀錄一下我自己的使用經驗
步驟:
1. ./Configure linux-generic32 no-shared --prefix=/path/to/your/prefer/openssl/path
2. 修改Makefile as below
  modify CC = /path/to/your/gcc/for/arm
               AR = /path/to/your/ar/for/arm
               RANLIB = /path/to/your/ranlib/for/arm
3. make
4. (Optional) make install
ps. 如果想要build成static版本, 可以修改Makefile裡面的CFLAGS,加入 -static

After step 3, the openssl executable file will be generated in apps/ folder
之後就可以把openssl copy到 target machine上去執行