分類
程式技術

微軟線上虛擬實驗室

在使用新的開發工具時, 往往需要建一個 lab 來操作及學習. 為方便管理及安裝維護, 通常使用的方式是利用一個虛擬機器, 如 Virtual PC 或是 VMWare, 現在有更方便更好的方法.

剛來到這個微軟線上的虛擬實驗室, http://msdn.microsoft.com/zh-tw/aa570323.aspx 發現還真是有夠棒的, 只要安裝一個小的 activex control, 安裝好的實驗室環境就等著你去學習及操作, 而且你不用自己準備環境, 隨時要玩隨時可以玩. 而且完全免費.

不過他不支援 firefox, 只支援 ie6 以上的 ie, 不過也不損及操作這個虛擬實驗室的便利性. 畢竟不用準備環境, 不用準備自行安裝軟體, 直接開始操作, 是很方便又很省事的一件事. 以往技術人員及開發人員, 需要有一些準備環境的時間, 現在都省下來了, 直接在線上操作, 真的是方便又省事.

整體操作的感覺很棒, 雖然有一點點 lag 的感覺, 但操作起來還算順手哦, 下面是開了一個 ie8 相容性的 lab 畫面:

其實可以看到, 上面的 lab 內容其實就和一台虛擬機器一樣, 很方便地實作 lab 要做的步驟, 又不用去準備環境, 真是是很不錯的設計哦.

分類
懶得分類

專注能讓你做得更好

這篇文章研究指出, 正常人的的多工能力有限. http://www.zdnet.com.tw/news/software/0,2000085678,20140461,00.htm, 坦白說, 或許每個人的能力有差異, 但到底能不能這麼多工呢? 其實因人而異, 不過無論如何, 同事做多件事的效率, 一定沒有做一件事來的好, 即使是很強的CPU, 在多工作業系統下, 會有一個 context switch 的損耗 (overhead), 更不用說一般人的工作在多工下的交換時, 所造成的效率低落.

這邊有一些說明, 讓大家更了解 context switch:
蔡學鏞【言程序】部落格 – 無所不在的Context Switch
安多尼歐老闆的機密檔案櫃 – Context Switch

通常人要能專心, 才能把事情做好, 沒有人有三頭六臂, 而且要同時處理多件事情本來就難, 再加上處理事情除了要解決外, 並不太能用時間來量化, 其中有一個重要的地方, 在於品質, 也就是把事處理完成的結果, 會有一個品質的成績. 這個成績需要大量的專注力及集中精神, 才會有較佳的結果. 若是不能集中精神, 集中注意力, 讓自己專注來進行思考的話, 相信結果一定會差強人意的.

如何集中精神, 集中注意力, 就是要讓心無旁騖, 無雜念, 用心體認及專心思考, 這樣一來, 無論在效率上, 或是品質上, 都一定會有相對較佳的結果. 工作上, 休閒上, 都是一樣的, 若是工作不能用心, 玩不能盡興, 那還不如不要去做, 把時間節省下來休息.

回歸到這篇主題, 專注能讓你做得更好, 與大家共勉之.

分類
好用軟體

MSN強迫升級

8/26開始, 在我的工作主機的 Server 2003 上的 MSN Live Messenger 8.1 的版本在登入時, 發現有通知出現是否要更新, 稍早在朋友那裡得知 server 2003 上裝 Live Messeger 若在按下升級後, 不會有正常 for server 2003 的版本.

只好先放著, 不過在我的另一台工作上 Windows 7 RC 的版本上的 Live Messenger 同樣是 8.1 (後面的數字皆相同), 倒是沒有發生什麼問題.

到了 8/27 晚上再進來 Loing Live Messenger 時, 再續繼測試一下, 發現己經可正常 login 了, 這裡有篇 8/26 發生問題時的文章: http://blog.darkthread.net/blogs/darkthreadtw/archive/2009/08/26/messenger-2009-on-windows-2003.aspx , 不過目前是一切正常囉.

Google Maps提供街景地圖了

令人期待已久的 google maps 的 street view 已經上線了, 其實昨天在操作 google maps 就發現左上的那個小人已經蠢蠢欲動, 一下有顏色, 一下又變白, 原本以為可以用了, 後來又發現還不行, 不過今天證實可以用了.

這個功能相較於日本及美國, 台灣算比較晚推出, 不過相對於對兩者, 台灣也因為較晚推出, 所以拍出來的效果及細緻程度都高很多, 非常非常清晰, 流暢度也很好, 使用方式很簡單, 只要連上 google maps, 瀏覽時, 把左邊的小人(在變橘黃色的狀況下)拖出來, 就可以讓那個小人放在有變藍色的街道上看街景了.

來試看看吧: 台北市政府: link

這個街道地圖的功能很強大, 方便未來在許多應用場合, 可供結合, 而且因為精細程度夠高, 所以效果也很好, 無論是找地址, 找地點, 甚至是不熟的地方, 利用這樣的呈現方式, 相信能讓不熟路況及不知道路的人有很好的參考依據.

但相信這個的建製成本也很重, 再加上提供這樣的服務, google 一樣也是免費, 他們未來想要做的, 相信是非常非常多的, 光是在 gps 上的結合或是應用, 就可以衍生出一堆, 更不用說和其他異業的結合及應用.

雖然目前還沒有全部的地圖都 support , 不過應該會慢慢地上線, 到時候, 小人能到的地方也就愈來愈多囉. 目前有支援的地區還只有大台北地區部分, 可以參考下面當小人飛入時的區域(變藍的地方):

分類
程式技術

Silverlight 3支援h.264耶

Silverlight 3甫上線, 多很許多有用的功能, 今天來談有關於可以播放 h.264的功能. 的確, 經過測試的結果, 果然是可以播放 h.264 (一樣透過 MediaElement 這個媒體播放器來播放即可), 不過相對地, 也可以利用這個功能來播放 youtube 上的 h.264 壓縮的影片囉.

以下使用測試的方法, 主要是用來驗證 silverlight 3 player 可以播放 youtube 上的 h.264 的影片, 目前的做法如下:

  1. 找一個 silverlight 的 player (使用現成的 JW WMVPlayer – http://www.longtailvideo.com/players/jw-wmv-player/ )
  2. 利用 Bookmarklet 將 youtube 上的影片來源找出來, 參考資料: http://googlesystem.blogspot.com/2008/04/download-youtube-videos-as-mp4-files.html
  3. 根據上面 2. 的內容, 將其餵給 silverlight 3 player (JW WMVPlayer), 就可以直接播放了, 效果還不錯

不過實務上, 自己下載影片下來, 在自己本機 play 還很單純, 不過若是要直接播放, 就得利用上面的 Bookmarklet 來調整, 如此一來, 便能利用 silverlight 3 的播放器來播 youtube 的內容, 不過請特別注意, 本範例測試網站是為了測試 youtube 的 h.264 影片是否能被 silverlight 3 播放器播放, 所以實作了這個案例. 讓大家參考一下實際的播放效果, 不過會和 youtube 的官方規範有一些衝突(http://www.youtube.com/t/terms), 這個要請大家留意一下.

範例測試網站: http://sample.diary.tw/silverlight/

分類
程式技術

免費的圖表工具-FusionCharts Free

之前介紹過 XML/SWF Charts , 可以參考這篇: XML/SWF Charts好用繪製圖表組件 https://diary.tw/archives/316 , 這裡要介紹另一個好用的組件, FusionCharts Free (http://www.fusioncharts.com/free/), 為什麼說是 Free 呢, 因為, 他也有付費的版本, 而這個 Free 的版本是要免費給大家使用, 並且進一步使用那家公司其他的工具(再來付費), 真是不錯的好方法.

這個組件是用 flash 實作的, 提供了以下種類的圖表,

  1. 3D/2D Column & Bar Charts
  2. Line Charts
  3. 2D/3D Pie & Doughnut Charts
  4. Area Charts
  5. Stacked Charts
  6. Candlestick Charts
  7. Funnel Chart
  8. Gantt Chart

比較特別的是這個 Gantt Chart, 一般的繪圖組件, 比較少見這個類型的圖表, 十分特別, 其他的圖表也都很美觀, 而接下來我們就來進行實作吧.

該元件有支援中文, 不過輸出中文的資料檔要有 BOM, 也就是 UTF-8檔頭, 否則不能輸出正確的中文, 我們以簡單的一個 Line Chart 來看.

基本上, 要畫一個 Line Chart 使用的元件是 FCF_Line.swf 這個 flash 組件, 而餵給他的參數共有 &dataURL=data1.php&chartWidth=640&chartHeight=480, 其中的 dataURL 為另外的一支餵資料的程式, 可以是任何型態的 server 程式碼或是靜態的網頁, 而 chartWidth 及 chartHeight 則是圖表的寬高. 若是要給中文, 一定要用 UTF-8 with BOM 的方式, 才能正常顯示中文.

再來就是這個 data1.php 的內容, 基本上有幾個重點, 先看圖形根節點:

<graph
baseFont="system"
caption="年度銷售"
subcaption="台北地區"
xAxisName="月份"
showNames="1"
showValues="0"
formatNumberScale="0"
decimalPrecision="0" >

其中 baseFont 是指定字型, 若是中文, 儘量用 “system” 這個字型, 而 caption 就是圖表標題, 而 subcaption 是副標, 會在標題下方, xAxisName 是 x 軸說明, showNames 是 x 軸資料的名稱是否要顯示(本例為 1, 2, 3, .. 12), showValues 是指每個資料點上的值是否要秀出, formatNumberScale 是用來表現大數字時, 是否要用 k, m 等來表示, 如 30,000 會顯示為 30K, 而 decimalPrecision 則是指要小數點幾位.

再來是資料內容, 被包在 <graph ></graph> 這組內, 現在要 demo 是簡單版的, 就是只有一個數值要繪製, 可以直接將 name value 放成資料在上面的 graph 裡, 以此例來看, 就是這樣:

<set name="n1" value="12000" hoverText="name1" />
<set name="n2" value="19000" hoverText="name2" />
....

其中 set 是一個一個的資料, 而 name 是在 x 軸上的名稱, hoverText 是當 mouseOver 時, 會在數值點上的名稱, 整個秀出來的結果如下:

可以參考這個 sample: http://sample.diary.tw/19/chart1.php , 資料在此: http://sample.diary.tw/19/data1.php , 其中的 flash 語法如下:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="640" height="480" id="Line" >
  <param name="movie" value="./FCFCharts/FCF_Line.swf?dataURL=data1.php&chartWidth=640&chartHeight=480" />
  <param name="quality" value="high" />
  <embed src="./FCFCharts/FCF_Line.swf?dataURL=data1.php&chartWidth=640&chartHeight=480"  quality="high" width="640" height="480" name="Line" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

這樣就能順利繪出所需要的 Line Chart 折線圖了.

至於多數列的部分, 這裡再整裡一下, 多數列會面臨不能用一個 <set > 將資料標籤和資料值組包在一起, 所以需要分開作, 而且, 重點在於多數列使用的 swf 組件為 FCF_MSLine.swf, 原來的 FCF_Line.swf 只能畫單數列.

graph 的部分不變, 用法相同.

再定義 x 軸, 如下:

<categories>
<category Name="Jan" />
<category Name="Feb" />
...
</categories>

再定義數列, 此例為兩列數列:

<dataset seriesName="PC" color="aabb00" anchorBorderColor="aabb00" anchorRadius="4">
<set value="12000" />
<set value="19000" />
...
</dataset>
<dataset seriesName="NB" color="00aabb" anchorBorderColor="00aabb" anchorRadius="4">
<?php
<set value="17000" />
<set value="22000" />
...
</dataset>

最後一樣用 </graph> 包起來即可, 範例在此: http://sample.diary.tw/19/chart2.php , 其資料在此: http://sample.diary.tw/19/data2.php

PS 注意以上範例的 value 都利用 php 亂數產生的, 所以每次值會不同, 而這組 swf 圖表的好處是若只要用 Line Chart 則使用 FCF_Line.swf , 而多組數列, 則用 FCF_MSLine.swf 都是獨立 swf 組件, 而且, 餵給他的參數中 dataURL=[filename] 的部分, 不需要再自組亂數在後面(避免 cache 問題, 因為他會自己加, 如下:)

那個 curr=80 就是他 flash swf 自行呼叫的加上的亂數, 比較自動一點.

結論是這組繪畫組件也十分輕量好用, 一個 swf 檔 20k 左右, 用哪一種就 embed 哪一種, 個個獨立操作, 而若不想用 dataURL 給 script 的方式, 也可以用 dataXML 將字串直接用 querystring 的方式餵給他, 就不需要再寫 script, 看實際應用方便來調整囉.

而單組和多組數列的圖表繪製使用的 swf 組件也不同, 主要由檔名就看得出來了, 就是多了 MS 的都是多組數列的哦.

有什麼問題, 大家可以一起討論看看.

分類
程式技術

IE6還這麼多人用耶

剛在看這篇文章: IE 6在臺市占率仍超過5成 (http://www.ithome.com.tw/itadm/article.php?c=56054), 發現其實我的想法比較偏向所謂的用戶原始的瀏覽器用什麼, 就會持續用下去的這個狀況, 也就是說, 用戶應該在 XP 就會用 IE6, 在 Vista 就會用 IE7, 在 Windows 7自然用 IE8, 而其中的許多數據也都相當耐人尋味.

用戶自己會選擇使用什麼瀏覽器的, 自然是比較了解電腦, 或是會自己安裝軟體的用家, 而且通常應該要原來固定使用的瀏覽器發生什麼大問題, 或效能不好, 或速度慢等原因, 才會面臨升級或是換瀏覽器的狀況.

不過這也讓我想看一下這個網站的比例狀況(2009/07), 我列出來給大家參考:
狀況如下:

IE6 29.1%
IE7 17.9%
IE8 9.6%
FX3.5 6.8%
FX3.0 10%
SAFARI 3.5%
OTHER 23.1%

其中果然 IE6 佔了大多數, 到 29.1% (相對於上文的報導是沒有那麼高), 而整個 IE 也有 56.6%, 另外 Firefox 則是有 16.8%, Safari 則是 3.5%, 其他的部分包含較小量版本的 IE, FX, 及一些有的沒的, 共有 23.1% (這個也還蠻多的, 真有趣), 整理或圖形如下:

基本上, 網站其實就是要照顧到所有用戶使用的環境來設計功能及呈現, 才不會影響用戶的來訪, 不過, 最重要的是大家都要依照標準來做就對了, 才不會顧此失彼, 這樣也就沒什麼太大的相容性問題!

順便附上 OS 比例也供參考:

經緯度轉換(換算)(papago)

這個是一個簡單的事啦. 只是 papago 只接受度分秒的方式輸入座標, 有點鳥, 因為有時要用十進位方式輸入或查詢, 所以需要做個小轉換.

其實公式不過就是這樣, 將度分秒(60進位)換成十進位, 公式很單純, 小學生也都會:

x度 y分 z秒 = x + y/60 + z/3600 度

也就是這一回事而已. 為了讓自己方便, 也讓大家方便, 乾脆做個小工具來操作好了, 注意, 是 WGS84 的格式, 若有其他格式, 請參考中研院線上轉換程式(也是線上直接算: http://webgis.sinica.edu.tw/cgi-tran/webtrans.htm)

另外也說明一下 google maps 可以接受的格式, 例如台北101的座標為: 25.033493, 121.564101, 用文字說明是

北緯 25.033493度, 東經 121.564101度,

用60進位則為

北緯 25度 2分 0.574799999999982秒, 東經 121度 33分 50.76359999997749秒

利用 google maps 的連結, 參數為 q 給定的方式, 根據這兩種格式都可以連到, 如下:
http://maps.google.com/?q=25.033493,121.564101
http://maps.google.com/?q=25 2 0.5748, 121 33 50.7636

這兩種方式, 連向的位置是完全一樣的, 當然前題是 google maps 也是用 WGS84 的格式.

sample 放到這裡: http://sample.diary.tw/18/maps.htm

另外是 google maps 無法由瀏覽地圖直接查經緯度, 可以利用這個方便一點: http://www.mygeoposition.com/

google maps 名人地圖

才寫完”時空的魅力” https://diary.tw/archives/868 這篇, google maps 又有新服務了, 與其說是新服務, 不如說是新應用.

google maps 上面, 若是多加了”名人”來加持一下, 相信會很有趣, 就是因為這樣的應用情境, 所以 google maps 把名人地圖搬上來的確很吸引人, 利用名人的推薦, google maps 的地圖空間概念, 整合起來, 可閱性的確高很多, 來看看如何操作:

首先連到: http://maps.google.com.tw/

再來連結下面有個”探索全球”:

再來就會出現”台灣台北”的這個預設地點(當然可以選其他國家的城市看看囉), 並且出現許多名人的介紹, 可以點擊看看有什麼好吃, 好玩的資訊, 右側的地圖就會出現囉, 例如隋棠, 用一個很有趣的名模標籤, 標示了一些隋棠的地圖, 這樣一來, 大家就可以按圖索驥去試看看囉.

這樣的一個應用, 真的好玩又有趣.

相關閱讀,
google news 相關新聞: http://news.google.com.tw/news/story?um=1&ned=tw&cf=all&ncl=dmqtVPOHEZmlIuMjzXBODh-Ye8XHM
Google名人地圖標記 從虛擬搬上現實 http://www.bnext.com.tw/FocusDay_2099

時空的魅力

乍看這個標題, 可能大家會覺得怪怪的. 不過其實是看這個有感而發: http://www.flickr.com/map?place_id=kfD.4gubAZwCvKcDlA , 是的, 正是 flickr on maps.

這個連結是在台灣地區的 flickr 相片, 而且選取的邏輯應該是有較多留言(comments)的, 所以相片可看性較高. 品質也較為理想. 不過這樣並不是這篇文章要說的主題, 但無論如何, 大家有空可以去看看這個 flickr 的功能, 在指定地區上來看相片.

話說, 內容的產出, 無論是相片, 文章, 影音, 若是能有更多的附加分類及檢視方式, 相信會有更多的可讀性, 再加上更多人, 更多內容的串連, 傳統利用分類(category), 標籤(tag), 關鍵字(keyword)來將內容做分類, 並加以檢視, 以提升可閱讀性, 但再回頭看一下本篇文章的標題, 我想諸位聰明的讀者就明白我想寫些什麼了.

其實, 利用地圖這樣的功能來呈現內容這件事, 現在已經是顯學了, 許多內容產出的網站, 無不多加一個地圖來增加這個功能, 讓所謂的內容描述在地圖上的資訊更能量化, 而對於圖資提供商而言, 也是很不錯的一個內容補強工具的應用行為, 所以工具和內容互補很有意思的共生狀況.

之前寫過一篇 geotagging 的文章, 在這裡: Flickr geotagging功能上線囉 https://diary.tw/archives/323 應該是剛開始上線的時候, 其實這種呈現方式真的很方便, 把圖放在地圖上, 或稱在地圖上放圖這件事.

前面所言為”空”這件事, 也就是地理資訊, 接下來要談的是”時”這件事, 因為所有的 blog 系統, 相簿, 相片檔案, 影音檔案等, 都會有時間資訊, 而細緻一點的說法, 時間資訊也有所謂的上傳時間及該內容的發生時間(這裡並不想討論這麼細), 有了時間資訊, 就可以將時間軸也納入所謂的 metadata 中了, 這個時間參數很單純, 但是呈現的方式卻很可能很複雜, 像是 google earth 有個歷史功能, 可以看以前的圖資, 只要拉動時間軸就行了, 不過時間軸比較好的呈現方式, 目前看起來是 plurk.com 的時間河流的方式, 一方面, 時間像河流一樣前進著, 一方面, 可以將多重內容的相對時間整理起來, 利用相對位置的呈現方式, 將時間這個很抽象的參數表現出來.

而接下來, 就是如何同時表現這兩項功能於單一介面上了, 其實之所以定題目為”時空的魅力”這件事, 就是要將”時”和”空”的這種參數呈現出來, “時”可以用時間軸, 而”空”可以用地圖(未來不知會不會有真的”空”, 也就是再多加上高度這樣的參數), 這樣的內容呈現方式, 相信對於了解地理, 歷史, 人文, 政治, 各式各樣的學問(或是說資訊), 都應該會有很大的幫助, 利用這樣的呈現強化方法, 把原來單調, 而各內容間沒有相關的部分, 串連起來, 對於這些內容將會有更全盤的認識及了解.