Computers and Internet


最近上網買東西前都會上 http://www.retailmenot.com 去檢查有沒有好康的 coupon codes。 RetailMeNot 是個 coupon sharing 網站,網路上大家如果有什麼新的 coupon 就會把 coupon code 放上 RetailMeNot.com 分享給大家。常常看到 10%,20%,free shipping 等 coupon,真的是很方便。 RetailMeNot 更提供 Firefox Extension 讓使用 Firefox 的人可以上網時自動看到該網站有沒有 coupon 可以用。舉例來說目前 American Eagle 就有 20% off 加上 free shipping 的 coupon。RetailMeNot 是個省錢的好網站~

說到分享,最近幾天我正式成為私人銀行,借錢給網路上其他的使用者。目前借出了250美金,平均利息為 14.60%,比定存還要賺。以後不僅是投資基金股票,P2P Lending 也能成為「用錢賺錢」的好方法。我算是正式成為迷你的資本家了!~

廣告

蘋果又出新電腦啦!~真是薄到不可思議!而且 1.6 Ghz, 2GB RAM, 80GB 硬碟,重量 3 磅,螢幕 13.3 英吋,LED (沒錯,不是LCD)螢幕,配備一點也不馬虎!

真想買!!!!!!我第一代的 Macbook 越來越不值錢啦….

最近幾年在網路上開始盛行所謂的 San Serif Fonts (無襯邊字型),成為 Web 2.0 的代表風格特色之一。這種字型散發出柔和的感覺,從著名的 Web 2.0 網站就能看出來。 http://www.skype.com , http://www.apple.com 都是例子。事實上,現在稍微有點規模的網站都使用 San Serif 的字型。

身為中文的電腦使用者,以往最討厭的地方就是中文字型真的是非常醜陋。以前我常常想是不是 San Serif 這種字型在中文是不可行的?或許中文字裡勾勾撇撇跟柔和的 San Serif 字型從根本就是相剋?話雖如此,在很多日本網站上常常看到日文字型,卻另我驚艷。那種柔和又清楚的日文字型,讓我不禁羨慕日本人。我又想,或許日文漢字比 較少,說不定那柔和的感覺是從平假名還有片假名中散發出來的?反正怎麼想,就是感嘆為什麼中文就是不能像英文或日文有那種讓人感到漂亮的電腦字型?沒錯, 楷書,行書,隸書,這種有文化的字型,從小學就常常用。但是在電腦上,用楷書行書當網站的字型實在是很難受,所剩的就是宋明體或新細明體這種難看的字型。

昨天晚上上網的時候,偶然看到一個叫華文黑體的字型,其柔和感讓我目瞪口呆。去 Wikipedia 研究一下華文黑體,發現他竟然是中文現在最流行的字型,是把西方 San Serif 的柔和感帶進中文。所謂的「黑體」就是無襯邊的意思。把中文網站的字型換成華文黑體後,那種美不是言語能夠形容的!~懷疑了多年,其實中文不是沒有漂亮的 電腦字型!主要是自己無知,因為華文黑體已經流行了一陣子了,蘋果電腦3、4年前就把華文黑體當成中文預設字型。

但是我仍然感到困惑,為什麼以前自己沒聽過華文黑體?記得以前在台灣常常用什麼標楷體,宋體,那些的,卻好像沒有用過黑體?上網查了一 下,竟發現華文黑體是大陸的一家公司做的?!此發現讓我完全對大陸中文字型改觀。我記得以前看大陸人用電腦的字型,無非是新細明體或比新細明體還要難看的 字型。那時候總是想說大陸真的是「沒文化」,台灣的字體起碼還能夠接受一點。沒想到竟然華文黑體這麼漂亮的字型是大陸公司做的?再度證明自己必須用更開放 的眼光看大陸。

在 Wikipedia 上繼續研究,發現其他同樣柔和而且好看的「黑體」字型,統統是大陸各個公司做的。我找了半天,竟然找不到台灣一家公司的名字…我不知道是否代表台灣真 的沒有公司在做黑體,但是這個結果仍然讓我失望。以前總覺得台灣至少電腦方面比大陸領先很多的,尤其是中文文化方面。畢竟,大陸10年文革把很多文化都丟 掉了,台灣仍然保持著傳統中國文化才對!結果搞了半天,現在網路上最好看的中文字型卻是大陸公司做的,而自己竟然到現在才發現?慚愧!慚愧!

建議大家把上網中文字型改成華文黑體,Windows Vista也有微軟正黑體(繁體)跟微軟雅黑(簡體)字型,我把某個網站上的字型截圖連接放上來,真的是很漂亮~!

好久沒寫東西了,但是最近也沒甚麼太特別的東西可寫…總覺得好像沒有甚麼衝動要寫東西了。有時候回想自己寫了這麼東西好像總是寫同樣的 theme,討厭美國孤單的生活,好像也就這樣。不知道是因為自己要去上海工作了,所以反而心理沒有那麼煩躁,還是長大了,反而一點都沒有想要寫東西。這次想到一個多月沒寫 blog 了,就寫寫自己生活中的新發現吧~

最近發現自己的娛樂模式逐漸改變中。以往,許多電視節目都在固定的時間播放,錯過了就只能等重播。因此常常生活時間環繞著電視節目表。幾點想看甚麼節目,就必須把時間都安排好。雖然可以上網下載,但是每次都要花時間找檔案,花心思去設定下載程式。看完之後還要記得殺掉檔案,相當的不方便。也因為這些不方便,我很少下載電視節目。

但是自從開使用 Miro 之後,電視幾乎就沒開過,甚麼節目幾點播放也不關心了。連以往 6:30 準時收看的新聞,現在也從來不去在意。Miro 會自動下載新聞,自動用BT下載電視節目。目前我把所有喜歡看的 Sit-com 節目,新聞,科幻影集等,全部設定好自動下載。只要網路上有人上載新的電視影片,Miro就會自動下載,而且在我看完影片後自動刪除。方便極了!

所以現在,我的生活模式逐漸有了改變。我就電腦開著,平時自由的安排我的時間,完全不考慮電視節目的 schedule,電視上新節目一出來不到一天就會出現在網路上,有時候甚至 3 個小時內就有,簡直就是個免費的 high definition 電視錄影機~不僅這樣,到了上海,網路全世界都通,我在上海也能照常收看平時在美國才看的到的節目,能夠繼續維持自己的娛樂習慣~

從受歡迎的 Skype,到現在的 Miro,還有以後的 Joost (免費的 high definition 網路電視), 網路將加速取代電話還有電視。以後,網路將是唯一連接家庭的通訊方式。從網路,人們可以打電話,看電視,上網,All in one。網路所帶來的便利跟新的生活方式,將是以後未來的主流。我比許多人先嘗試到這樣的生活模式,我可以跟大家說,真的是很棒!

最近裝了一個新的軟體,專門下載各式各樣的 Video。他支援 BitTorrent,還有 RSS。最近已經流行一陣子的 Video RSS 就是結合 RSS 跟 BitTorrent。甚麼電視上新的節目在網路上分享後,透過 RSS 便可自動將 BitTorrent 傳到自己的電腦,軟體收到 BitTorrent file 後會自動開始下載檔案。

由於剛開使用,我還不知道有甚麼 Video RSS Channels 可以用,但是裡面預設的頻道有美國 NBC 晚間新聞,是美國晚上 6:30 電視上看到的新聞。由 NBC 在網站上提供,所以品質跟電視上沒有任何差別。我現在每天設定新聞一撥出就自動下載。工作完一整天後回到家就能直接看美國晚間新聞。加上叔叔家裡有個 37 吋的 HDTV,我把電腦接上電視,新聞用全螢幕播放,坐在沙發上用電視遙控器控制音量大小,簡直跟看電視沒兩樣!

這幾天看新聞看下來,有時候自己都會忘記我現在是在上海。一直等到轉頭看窗外的景色,那一棟又一棟的高樓大廈,才會警覺到自己其實不在美國了,在世界的另一端,在中國人的地方。在這裡我可以吃我習慣的食物,跟我覺得親切的人一起上班,一起聊天,一起玩。但是回到家的時候,我又可以觀賞在美國看了8年的電視節目,看高品質的新聞跟 Drama 或是美國僅有的 SitCom(Friends, Frasier, Everybody Loves Raymond 之類的節目)。這是 The Best of Both Worlds!

上次在上班的時候聽到同事聊起美國 Lost 最近劇情怎樣怎樣,我很驚訝為甚麼他們會知道 Lost。我隨口問問這裡有播放 Lost?他們說當然是沒有囉,網路上下載就有了嘛!連中文字幕都有咧!我的天啊~有了網路,真的是甚麼資訊都可以取得…連電視節目都能輕鬆的取得。聽他們興奮的談台灣的綜藝節目,美國CSI, Lost, Desperate Housewives, 等節目,比我住美國住台灣的都還要熟。這個世界真的是變平了!

It has just occurred to me that Python’s functional programming support may mean that polymorphism is unbelievably easier and powerful under Python.

Consider the following code:

func = getattr(class_name, ‘method_name’)
func(arguments)

You can dynamically obtain a “function object" and invoke it with arguments.

Not only do you not need to care what function you just got, you don’t even need the method names to be identical as long as you follow a convention!  You can say:

func = getattr(class_name, ‘get_%s_pie’, %fruit)
func(num_of_pies)

As long as you define the “fruit string", now my code won’t need to care what fruit your object is.  You can have get_apple_pie, get_banana_pie, get_strawberry_pie, and my code won’t care!  This is polymorphism at the function level, which for me is unheard of until now.  C/C++/C#/Java all require object level polymorphism, but do NOT support function/method level polymorphism.  With functional programming, this is now possible.

In Python, even Classes (object definitions) are “objects".  At first this was the weirdest thing I’ve heard in programming languages in a long while.  But now with the functional programming methodology, this makes factory methods stupidly simple.  Consider the following code:

object_class = getattr(module_name, ‘class_name’)
object = object_class(arguments)

Again, use getattr to dynamically get the “class object", and then invoke it and create a specific object instance.  This is object level polymorphism and this is unbelievably simple and elegant.  Compared to the C#/Java way of:

case ‘a’:
    return new a();
case ‘b’:
    return new b();

etc….

With python I only have to say:

object_class = getattr(module_name, ‘a’)
object = object_class()

AMAZING!!  At first I was skeptical at Python’s “elegance", with the no-semicolon and indented code blocks, I thought it was just “pretty" rather than practical.  Now I have discovered Python’s functional programming features, I am very impressed and beginning to believe the hype.

今天需要裝Ubuntu Linux,在學校跑去下載。 Ubuntu Linux 700MB左右,我從 Purdue University 的網站下載,下載之後看看要多久。平時在家裡最快是每秒200-300kb的速度,全部下載要差不多一個半小時到兩個小時左右。

我把下載的視窗打開後,檢查速度。

「每秒 1205 kb」。

乍看之下我還以為我眼睛花了。仔細一看竟然是真的!我驚呼老天!怎麼會這麼快?旁邊同學問我從那裡下載的,我說Purdue University。他跟我說,Purdue 跟 Ohio State 都有 Internet2 的連接,所以這種速度很正常。

不到10分鐘後,我整張CD下載完成。速度一度飆到每秒1300kb以上!天啊!~真是太快了…..我家甚麼時候才能裝Internet2呀?!

後一頁 »