“Bad Apple!!” Screensaver

看了愛秀,你也可以用「Bad Apple!!」當螢幕保護程式這篇文章,而知道有人把 Bad Apple!! 影繪 PV 作成了螢幕保護程式,效果看起來實在很有趣,於是也想自己作作看。

原作的作法是確實地製作一個 Layered Window,然後迅速替換 PNG 圖片來達成動畫的效果,因此需求的資源相當高,在我的 MacBook 上播起來會卡卡的…… orz 此外,由於影片的每一幀影格都分別儲存為無損壓縮的 PNG 格式,所以檔案會異常地巨大。

我的作法是在螢幕保護程式執行時,先抓一張目前的桌面作為背景圖,然後在上面播放含有 Alpha Channel 的 Flash Video,優點是動作流暢,缺點則是桌面不會變化,但如果要用 Flash Video,這個問題就無法解決,或許未來可以試看看直接使用 DirectShow 播放其他支援 Alpha Channel 的影像編碼格式1

Download

Read More

Segoe WP Full Family Free Download

Microsoft 在剛釋出的 Design Templates for Windows Phone 71 當中包含了 Segoe WP 全字族。

根據它的授權條款描述,它允許使用者依照該字型的嵌入限制來進行內嵌,而我用 FontForge 查看過的結果是,Segoe WP 允許被內嵌於 Editable Document。唯一不允許的是自由散佈這些檔案,不過沒關係,大家到上面 Microsoft 提供的連結下載就好。

以下是授權條款原文:

c. Font Components. While the software is running, you may use its fonts to display and print content. You may only embed fonts in content as permitted by the embedding restrictions in the fonts; and temporarily download them to a printer or other output device to print content. You may not distribute the fonts.


  1. 我實在找不到 MSDN Download 的連結。 

中文簡繁參考對應表

更新了一下這張表

欄位由左至右依序是簡字編號、繁字編號、簡體字符、繁體字符、簡字字頻、繁字字頻,字頻的計算是根據 tsi.src,因此沒有簡體字的資料,事實上也不需要有。

有顏色的部份是指沒有必要轉換,或者為了避免發生混淆而不進行轉換。

Get geolocation via JavaScript (2)

延續上一篇,這篇是精度更高的 Geolocation,原理是透過 W3C Geolocation API 來取,如果瀏覽器不支援,就 fallback 到 Google Gears,兩者的精度似乎是相同的。此方法有兩個缺點,其一是瀏覽器支援率低,其二則是需要經過使用者同意。

原始碼如下:

Read More

Get geolocation via JavaScript

此 script 的運作流程如下:

  1. 先試著用 Google AJAX API 取得訪客的 Geolocation 資訊,因為這邊的資訊精度比較高,不過也比較有可能缺資料。
  2. 如果前面的步驟失敗了,就改用 MaxMind GeoIP Javascript Web Service
  3. 最後得到的結果將會放在 ClientLocation 物件中,這個物件的取用方法基本上跟 Google AJAX API 的 ClientLocation 一樣,差別只在多了一個 provider 屬性。

Example Usage

<script type="text/javascript" src="ClientLocation.js"></script>
<script type="text/javascript">
var interval = setInterval(
        function() {
            if (ClientLocation instanceof Object) {
                clearInterval(interval);
                alert("Client Geolocation via " + ClientLocation.provider + ": " + ClientLocation.latitude + ", " + ClientLocation.longitude);
            }
        },
        467 /* poll per 0.467 second*/
    );
</script>

以下附上 ClientLocation.js 的原始碼。

Read More

Windows Live SkyDrive Direct Download Link

Usage

http://ex.bcse.info/skyd.php?file={%url%}

舉例來說,要得到 FF「チョコボのテーマ」をオカメインコが歌ってみた.flv 的下載網址,就使用這個連結

另外,如果要配合 JWMediaPlayer 使用,需注意太長的網址會被截斷,可使用短網址服務解決,比方說這樣:

http://ex.bcse.info/skyd.php?file=http://bit.ly/asXC1A?.flv

※ 註:為了讓 JW Player 知道檔案是 FLV 格式,所以在短網址後面加上 ?.flv

Read/Write JSON in C#

將要轉成 JSON 的類別標上 [DataContract]、屬性標上 [DataMember],然後用 DataContractJsonSerializer 來操作,超簡單的。需要注意的是要記得加入 System.Runtime.Serialization 參考,如果不加的話就不能用 DataContractAttribute

Read More