分類
懶得分類

專注能讓你做得更好

這篇文章研究指出, 正常人的的多工能力有限. 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 比例也供參考: