2009年12月30日 星期三

時區

小東西,不起眼,影響卻深遠
定義在POSIX 1003.1 section 8.3的TZ環境變數格式
格式有兩種
 1. :數個字元
  第一個字元為冒號時,之後的字串是看系統定義的
 2. std offset dst offset, rule
  當第一個字元不是冒號的情況,另一個規則表示方法為
  stdoffset[dst[offset][,start[/time],end[/time]]]
  上方表示法的中括號表示可省略。
  std:
    標準時間的時區縮寫,標準時間+偏移時間差是最基本的格式。
  dst:
    日光節約時間(Daylight Saving Time)的時區縮寫,若省略
    不寫表示不設定日光節約時間。如果有但是沒有接偏移時間
    差,則會以標準時間提早一小時的時間去設定。
  std和dst為一個3個字元以上,{TZNAME_MAX}個字元以下的
    字串。TZNAME_MAX應該是個環境變數。
  offset:
    和UTC(Coordinated Universal Time)的時間差,代表這個
    時區要加offset個小時才是UTC時間。
    格式:小時[:分鐘[:秒]]
       分和秒的欄位可省略,小時的欄位則是介於0-24之內的
       十進位數字(沒有限制位元數),分和秒為介於0-59的
       十進位數字,例如:8:30:12。offset前可以有+/-號,
       +號(可省略)表示是格林威治經線(本初子午線)的西邊
       ,-號則正好相反。
    註:這個offset和目前用的GMT+8這種格式所代表的意義正好
      相反。以台灣時區為例,台灣時區的時間為GMT的時間+8
      ,但是TZ的表示方法為CST-8,即目前的時區縮寫為CST
      ,而這個時區的本地時間減8個小時就是格林威治時間
      (GMT+0和UTC0是一樣的)。
  rule:
    用來表示哪一天開始使用日光節約時間,哪一天停用並回復標
    準時間。
    字串格式:
      date[/time],date[/time]
      date:
        表示方法有三種
        n:
         僅數字,大小介於0~365,可以用來表示有366天
         的閏年(2月29應該是第60天)
        Jn:
         第一個字元為J,之後接一個1~365的數字,無法表
         示閏年的情況,即02/28為J59,03/01一定為J60
        Mm.n.d:
         第一個字元為M,之後接的字串為m(1~12)月的
         第n(1~5)個星期d(0:星期天~6),第5個星期
         代表最後一個星期d出現的那個星期(有可能是第
         五個或是第四個), 第一個星期就代表星期d第一
         個出現的那個星期。
      time:
        time的格式和offset一樣,除了沒有+/-之外。預設的
        情況,當沒有time的欄位時,是指02:00:00

 註:目前我所知道的,真正會影響本地時間的變數為offset,std或dst
   只是提供一個時區的縮寫,網路上搜尋有人將TZ環境變數設定成
   GMT-8也是可以的,反而GMT+8怎麼樣都得不到正確的本地時間
   ,正確的說法應該是POSIX定義的TZ的格式和常用的GMT+offset
   是不同的,設定成GMT-8雖然可以取得正確的台灣時區時間,但
   是,當在linux上執行date時就可以發現出來的結果顯示時區是
   GMT,設定成CST-8則為CST。若執行date -u,就會顯示減去8
   個小時的UTC時間,而時區顯示GMT(或UTC),故推測時區縮
   寫並不會真的影響系統的本地端時間。

 註:TZ是個環境變數,在linux上用來設定時區的方式我所知道的歸納
   起來有兩種,一種是透過設定TZ環境變數
   (export TZ=......),一種是使用/etc/localtime建立連結到
   zoneinfo的目錄,在嵌入式系統的話,似乎使用前者比較容易作
   到,相關的機制仍不熟悉,暫時擱著,至於各個時區的縮寫,
   網路上可查,不多敘述

 註:時區設定的影響,在我目前使用的C language影響就是gmtime()
   和localtime()最明顯,開發中的嵌入式系統想使用TZ環境變數來
   作,但一些背景服務在TZ環境變數修改後並不會跟著更新,
   apache和MySQL是目前碰到比較棘手的問題,得重新寫設定檔,
   並且重新啟動服務,好死不死,MySQL重run會搞出更多問題。
後記:安裝作業系統時,時區的選擇擺哪麼前面不是沒有原因的

2009年11月13日 星期五

兩年前的注解

對智慧型手機的接觸發生在兩年前
當時apple的iPhone和htc的touch剛問世
Android phone的消息也正發布
規格...我當時都不甚滿意
早期使用手機自己滿意度最高的就是Nokia
也因此有了現在在使用的這支E65
但是我實在不得不抱怨
Nokia對智慧型手機的發展...在設計概念上完全是落伍的
當時在市場上找遍Nokia的智慧性手機
居然沒有任何一隻是擁有觸控螢幕的
只有找到一個有關Nokia第一隻觸控螢幕手機將要出現的廣告
要不是對於symbian的興趣...
實在覺得當時做那個決定很蠢
心中明知道這類型的手機,觸控的操作方式是必要的...
symbian的強大功能...完全不敵我老婆手上moto的觸控筆

嗯,人都會犯錯,不管怎樣,兩年來手機市場的消長
心理總是對自己當年的想法有些許的得意
apple和htc成了這波智慧型手機市場成長的最大受益者
android的後勢也仍舊受人注意
兩年前的想法有部分獲得證實
未來還有很多值得期待

以下說的...僅是可能...
pc的角色轉移到行動裝置上
pc, personal computer的定位轉成personal server
大概就像MS的media center想傳達的觀念
以往的個人電腦成了小型的伺服器
提供數位資訊的整合以及個人或家庭服務,還有對外的分享
使用者將會漸漸的不在電腦前使用電腦
以行動裝置為中心的數位生活
透過Web service,雲端技術,xhtml,java等來完成
或許以後我們只需要手機這個萬能遙控器.....
Windows7...觸控desktop pc.....
我不會算命也不想妄下斷言...但我真的不甚了解它的未來在哪

我是真的認為...這件事已經在發生中
而且按目前的IT技術已經有可能實現了
當然...只是我個人認為...作不得準的

2009年10月24日 星期六

Time to go

該是掃掃哪個看似茂盛卻荒廢許久的區域
翻閱起留下的回憶在那巔峰的時刻
證明了在那之後我人在那個世界卻已不屬於它
清空吧
也該是心滿意足才對
再要求更多的都是多餘的慾望
下一步
該從這廢墟當中升起

...

2009年7月13日 星期一

手裡握著的最實在

幸福
只是一種內心的感受
而非多項真實的存在
真要賦予形體
所見所聞
不論喜怒哀樂
皆是人生的體驗
如同縫縫補補的破衣裳
這頭補了
那頭破了
當好與壞之間獲得平衡
便會得到和別人截然不同的結果
一件唯一的破衣服
但永遠不會撞衫
現在你所擁有的
耐心耕耘
是回憶的糧食
供你未來仔細咀嚼

沒有磨過的玉
終究是塊石頭
完美的人生
全然的甜會帶來苦澀
摻點瑕疵
盡可能包含著人生每一種味道
才有耐人尋味的故事
隨著時間
如蜂蜜般的黏稠緩慢
粹練

這種步調
活在大都市的我們
即使了解也得不到

2009年6月14日 星期日

關於這

1和0是整個數位世界的基本元素
1010 是我大學時代最後一間宿舍的號碼
至於這和我的人生是否有關聯
我比較喜歡我一廂情願的認為這是對我未來的暗示
但實際上...那不過是巧合
宿舍並不是我自己一個人住
但這幾年的過程,我想我跟我室友應該有著十分明顯的不同
如果...
未來我有足夠的時間...
我會考慮"耕耘"一下這個空間