20060318 藤寮坑古道 北勢溪古道 連走

最近時序進入春天,天氣都還不錯,於是又想出去走走。

 

原本是規劃去爬難度低的象山,但前一天晚上去游泳時,大夥兒似乎又覺得象山是爺爺奶奶山,這次同行的人大概體力都還不錯,所以臨時決定改走北勢溪古道。北勢溪古道位於北縣坪林與雙溪的交界,沿著北勢溪河谷,連接坪林的三水潭與雙溪的泰平村料角坑地區。上週去走灣潭古道時,有看到北勢溪古道的入口,但因時間關係也無緣一訪,沒想到隔一週就又再度造訪北勢溪。

 

晚上睡覺前,將一些簡單找路的資料跟地圖放進PDA中。隔天早上八點半金文跟他的同事友平很準時的來載我,之後出發往台北,與小偉跟東會合。這次預計從雙溪的料角坑走往坪林的三水潭。大約中午 12 點左右到了泰平村附近開始找路,照著 雙溪.北勢溪古道 提及的方式前進,但一路上叉路不少,也很難辨認到底是不是往料角坑 17 號民宅前進。

 

車子持續往山上開,路越來越小,路況也越來越差,直覺應該是走錯了路,因此我下車往前面探路看看。往前走了一小段,剛好碰上一群登山客回來,向前詢問,這條路是不是可以前往坪林的三水潭。登山客當中剛好有人小時候住這邊,她告知這條路的確可以前往坪林的張家莊。我又問,那你的老家是料角坑17號嗎? 她告知說,料角坑應該是山下那邊,這邊應該是藤寮坑才對,當時沒多想,想說地圖上沒看見有其他的路,那應該沒錯就是這條路了,因此告別登山客之後,大夥兒便停好車後往前出發(12:12)。

 





 

 

一路上山路起起伏伏,沿著『烏山幹23支』線電線桿前進。因為天氣好陽光普照氣溫適中,大夥兒說說笑笑,竟不知不覺中翻越了兩三個山頭,12:53 來到了一座古厝,此座古厝應該是那位登山客以前的老家,但是目前已經沒人居住了。此時已經下午一點左右,大夥兒決定在此休息用中餐。

 



 

 

在用餐時我突然心裡驚覺,似乎這條山路應該不是北勢溪古道,因為一路上都沒沿著北勢溪河谷前進,反而是翻山越嶺的前進,此時趕緊將背包中的 GPS 拿出來定位一看,才發現我們已經位在群山峻嶺中,距離北勢溪谷已經很遠了,從 GPS 的軌跡看來,的確一路會往灣潭溪的張家莊前進。而且一路上回想起來,完全沒見到任何登山條,我們真是太大意了。

 

跟大夥兒討論之後,從 GPS 地圖上看來大約距離張家莊還有一半的路程,我們如果可以在 3 點前從三水潭進入北勢溪古道,那麼應該可以在 5 點左右回到料角坑附近取車,算算時間上應該還來得及,因此決定繼續往前走。

 

休息約半小時後,1:24 繼續往前出發。從古厝後的山路,穿梭於竹林間,而且明顯地更少人行走,不少地方需低身鑽過傾倒的竹子。但一路上山徑仍然明顯,因此大夥兒仍然繼續往前進。過了古厝沒多久,路旁突然出現一隻小花狗,一路跟隨我們之後下山,研判應該是附近人家養的小花狗。1:47 山徑沿著溪谷河床而下,此處溪石濕滑,需特別小心通過。過了這段溪谷,1:51望見對方山頭農家拓墾的農地。1:57分抵達另一處民宅,門牌上寫『烏山24號』,此處視野開闊,已可望見上次灣潭古道之旅張家莊附近的民宅了,因此灣潭溪與張家莊應該就在山腳下了。此時拿出 GPS 再度定位,果然灣潭溪近在咫尺。休息10分鐘後再度出發,山徑一路下山但叉路多,不過大抵一路沿著烏山幹電線桿前進就沒錯。

 





 

 

2:25抵達灣潭溪畔,小花也一路跟隨我們下山,此處有沙洲碧潭,是極佳的休憩地,時間上也尚早,故決定在此休息泡茶煮咖啡。溪水清涼,碧潭青山倒影,友平還脫光衣服下水游泳,人生愜意也不過如此。3:10繼續往前出發,此時小花已經不知去向,3:15抵達張家莊露營地,繼續沿著上週灣潭古道的路線走往三水潭,大約15分鐘後抵達三水潭的雙溪口福德宮。過了灣潭溪上的多孔橋後,走往北勢溪古道。上次跟金文來這邊探路時,
這邊還是泥土的產業道路,此時已是鋪上全新水泥的產業道路。

 

3:40抵達多孔橋越過北勢溪,此時有團體在此打漆彈遊戲,看到我們出現,有人急呼『有人經過!!』,全體暫停激戰,不然也許我們就變成肉靶了。3:43抵達料角坑38號民宅,剛好看到民宅主人站在庭園,因此跟他詢問北勢溪古道的方向,他指往民宅後的方向,
並告知沿著北勢溪河谷走,切勿越過溪即可抵達料角坑。告別後沿著山徑走,果然一路上都有明顯的登山條,因此還不至於會迷路。

 





 

 

由於時間越來越晚,大夥兒持續趕路,一路上山徑起起伏伏,一下子向上爬往半山腰,一下子又切回溪谷,也許前兩天寒流經過時有下雨,山徑有點濕滑,走來並不如灣潭古道來得好走。4:03 抵達一獨木橋,獨木橋年久失修,走來搖搖晃晃,大夥兒小心通過後繼續向前。4:13抵達小瀑布,在此休息5分鐘,補充水分及餅乾糧食後繼續出發。

 

4:33分抵達土地公潭,北勢溪在此河面開闊,形成大面積碧潭,青山倒影於潭面,風景非常美麗。拿出 GPS 定位後,距離料角坑已不遠,因此大夥兒在此處再度休息泡茶煮咖啡,享受悠閒。4:50繼續往料角坑出發,約10分鐘(5:03)抵達中正橋遺址,中正橋建於民國55年,此處還有一石碑紀錄當時建立此橋贊助者的姓名。不過中正橋已被溪水沖毀,因此我們只能踩著石頭越溪而過,溪石濕滑,我還差點跌入水中。

 








 

 

越溪之後路況明顯變好,也許料角坑已沒多遠了。5:14分離開山徑,接回產業道路,前面的民宅便是料角坑17號。大夥兒很高興的將一路相陪的登山竹仗擺放於路旁,也許後來的登山客也可拿來利用。

 

雖然離開了山路,但我們還有一個最大的問題是如何取車?以及車子的位置在哪兒?詢問了當地居民,得知往烏山方向需往民宅前的道路下山,約20分鐘看到叉路後往右轉可以往藤寮坑。因此我們便拖著疲累身軀,繼續往前走。

 

到了藤寮坑叉路後,產業道路又持續上山,此時小偉、東與我已無力再往上走,金文跟友平便決定他們單獨上去取車後,再下山來載我們。因此我們便在原地停留,待金文與友平凱旋歸來。約40分鐘後,終於看到我的愛車下來了,大夥兒便上車結束了今天充實的古道之旅。

 

今天整天下來的感想:
1.下次一定得將資料收集充足,最好是有人先探過路比較好。
2.一早就注定要迷路,因為東早上騎車到南港碰面前就已經先迷路了。
3.一路上小花帶領我們下山,因此也許是藤寮坑的福德正神所化身的,帶我們到張家莊後就消失不見了,哈哈!!
4.回家查資料,藤寮坑那條山路還是沒查到有人走過,因為一路上跟隨著『烏山幹23支』線電線桿前進,而且大家心裡都走的很OOXX,所以大家都有志一同的決定叫這條山路為『烏山 幹 古道』(也許全名叫藤寮坑古道也說不定?)。

2018/03/18 更新
後來看到有人也紀錄這條路線了雙溪鄉泰平「溪尾寮古道→北勢溪古道」O型走

 

此次行程應該有超過10Km,大致路線圖請點 烏山幹古道 北勢溪古道 連走路線圖 ,也可參考 蕭郎 獨步山林間 網站相關的 GPS 軌跡圖。

完整照片請見 藤寮坑古道 北勢溪古道 一日連走 相簿

超迷你 EF600mm F4L + EOS 1Ds Mark II

日本 Canon 為了紀念 EF 鏡頭出貨突破 3000 萬個,特地以等比例製作 EF 600mm F4L 與 EOS 1Ds Mark II 的模型

看起來真是超級可愛,如果有這兩樣機絲頭的人應該會很想要收集吧..

來看看照片吧
(照片取材自http://dc.watch.impress.co.jp/static/present/)

EF600mm F4L + EOS 1Ds Mark II
原尺寸 1Ds 與迷你版 1Ds 對比
迷你版 1Ds 比 CF 卡還小
連 EF 接環都有哩,可惜塗裝差了些
腳架環與鏡頭上的各項開關
大大的 IS 標誌,不過字怎麼有點脫漆??
拿在手上還真是小巧可愛

可惜迷你版 EF600mm F4L 與 EOS 1Ds MKII 僅供抽獎,並沒有公開發售,所以想要收集的人可能也只能靠運氣了

何謂透視感與壓縮感?

最近在爬文時看到狗骨頭兄這篇文章解釋得極佳,茲節錄如下:

“何謂透視感(Perspective)?世界是一個三維空間,鏡頭將三維景象投射於二維平面(軟片或CCD/CMOS Sensor)上,使得與鏡頭距離不同的物體,在二維平面上的大小表現亦不同。這種相對性大小予人觀看而產生遠近的感受,稱為透視感。一般我們說透視感強烈,指的是看起來畫面中各個物體前後距離明顯,大小比例差異大;反之透視感弱,指的是各個物體前後距離短,大小比例差異小。”

“透視感在所有的平面藝術中,佔有極重要的角色,攝影更不例外。透視感強的作品予人廣闊的空間感,近距離主體佔有照片面積的大百分比,突顯其重要性。透視感弱的作品給人前後壓縮感,在有限的空間裡呈現主體的重覆性或一致性,別有一番風味。”

透視感強烈
透視感強烈

壓縮感強烈
壓縮感強烈

原文刊載於

請教何謂壓縮感何謂透視感

廣角鏡頭的透視感好?

M42 接環轉聽說可以接 EOS 相機

以前爬文時常看到有網友利用 M42 轉接環將便宜質素又不錯的 M42 接環鏡頭轉接於 EOS 機身上,聽說拍出來的效果極佳,但可惜的是無法自動對焦,只能手動對焦。而APS-sized 相機的觀景窗又特小不夠明亮,所以常常對焦對到眼睛脫窗,結果還是跑焦。

最近爬文看到有網友自行拆了 EOS Kit 鏡 EFS 18-55mm,量測其數位訊號,並且自行製作轉接環的電路板,使 M42 在手動對焦,當合焦時在對焦屏上也能發出合焦訊號指示。
非常的令人期待此接環電路板的量產上市。

原文刊載於 [敗家]Canon EOS to M42 合焦指示轉接環製作結果發表

小心勿觸 BEA WLS 8.1 sp3 OOM 地雷

經過一段時間的壓力測試以及實驗證明,前端 AP 透過 Bea WebLogic 8.1 sp3 的 Connection Pool 取得 JDBC Connection,這種方式來存取 DB 時,會有 Memory Leak 的現象。這種情形發生在 javax.sql.DataSource.getConnection 之後,取得之 Connection 結束連線後,卻無法將佔用之記憶體全部釋放,於是時間一久,JVM Heap Memory 被吃光,便產生了 java.lang.OutOfMemoryError。

為了證明是 Bea 的問題,我特地改寫程式,透過 Jakarta Commons DBCP 元件來取得 JDBC Connection,以便與原先程式透過 Bea ConnPool 取得連線的方式作為對照組。

下面是使用 Quest JProbe Memory Debugger 分別取得的 DBCP 與 WLS ConnPool 的 Heap Memory 曲線圖:

測試個案為持續發送 Online 簡訊,經過一個小時後觀察 Heap Memory 曲線。
OnlineService 使用 WLS Connection Pool
OnlineService with WLS Connection Pool

可以看得出來 Heap memory 耗用量逐漸的上升

再來看看 OnlineService 使用 Jakarta DBCP 的情形
OnlineService with Jakarta DBCP

看得出來 Heap Memory 經過 JVM GC 皆可以正確的釋放出來

再來看看 BatchService 的情形,測試個案是兩個批次 Job 各同時處理 10 萬筆簡訊
BatchService 使用 WLS Connection Pool
BatchService with WLS Connection Pool

Heap 耗用量一下子就飆到 80MB,之後持續上升,直到 12x MB 後,JVM 做了一次 Full GC,耗用量下降至 50MB,但馬上又飆到 12x MB 後,OOM 就發生了,兩個 Job 都無法完成。

BatchService 換成使用 Jakarta DBCP 的情形又如何呢?
BatchService with Jakarta DBCP

跟 OnlineService 一樣平穩,至此我就確定 WLS 8.1 sp3 內部應該有 Memory Leak 的問題存在,於是求助 BEA。BEA Consultant 才給了一帖大補丸,要求上 Patch 後再觀察看看。

上了 Patch 之後,果然曲線就變得大不相同
OnlineService 使用 WLS Connection Pool + WLS8.1 sp3 patch
OnlineService with WLS Connection Pool + WLS 8.1 sp3 patch

BatchService 使用 WLS Connection Pool + WLS8.1 sp3 patch
BatchService with WLS Connection Pool + WLS 8.1 sp3 patch

BatchService 換上 Patch 後,兩個批次 Job 各同時處理 10 萬筆簡訊已可正確處理完畢沒問題。

所以如果使用 WLS 8.1 sp3 的人,請小心勿觸 OOM 的地雷

Memory allocation and garbage collection in JVM

前陣子工作上我所負責的系統一直出現 OOM Error (java.lang.OutOfMemoryError),經過一陣子的壓力測試及 JVM 參數調整才漸趨穩定。於是最近針對 JVM 的記憶體管理稍微搜尋了一下,下面這兩篇文章對 JVM 如何配置 heap memory 以及如何對已經不再使用的記憶體進行 Garbage Collection 有非常詳盡的說明。

Tuning Garbage Collection with the 1.3.1 Java Virtual Machine

Tuning Java Virtual Machines (JVMs)

Wine – Windows executable running on Linux box.

從以前就想在 Linux 上來執行 Windows 的應用程式,那時候想到的辦法是利用 Linux + VMWare,透過 VMWare 在 Linux 上再啟動一個 Windows based OS,於是就可以在這個 windows OS 來執行 Windows AP。但這種方法的缺點是資源耗用的比較多,PC 等級不強大概跑起來效率很差,像現在 Broso Linux 只是一台 Pentium 3 650 等級的 PC,如果想在上面多跑一個 VMWare 就很吃力了。

最近找到了另一個解決的辦法。Wine 是一個利用 Linux 各式 libraries 來實做 Windows API 的一個套件。Wine 就有點類似一個轉譯器,將 Windows API 轉為 Linux API,使其可以在 Linux 上來執行。聽起來很神奇,但我實際安裝後,
還真的可以執行 Windows AP,效能也還不差。

下圖是利用 Wine 在 Linux 上執行 NeatImage Pro 處理照片的畫面。
NeatImage Pro

有些人還利用 Wine 在 Linux 上來玩 魔獸世界 這套遊戲,看起來 Wine Windows API 轉譯的相當的好,才會連 Game 都可以執行。
原文刊載於此

魔獸世界

想在 Linux 執行 Windows AP 的話,VMWare 是要付費的軟體,但 Wine 卻完全是 Open Source,無須付費,支援程度也夠,有興趣的人真的可以試試!!

台鐵自動訂票程式

一個將程式應用在生活上的好例子,利用標準 HTTP 協定來達成台鐵自動訂票的需求!!
記得以前也寫過類似的程式,去 CNN 網站狂投公投綁大選的反對票,呵呵!!
已經很久沒坐火車了,這個程式雖然沒有 GUI 介面,不過應該不難使用,推薦給大家使用!!

原文刊載處

—————————————————————-

研究了一下台鐵訂票的html, 裡面用到一個JavaScript檔

不過是用*.js的方式與html分開, 有興趣的人可以另存網頁

再打開來研究裡面的語法…

不過就我個人使用而言, 直接指定車次去訂票比較符合我的需求

所以我修改了Yoshi兄的code,並且做了一些精簡,

另外,把訂票需要的資訊(身分證字號,起站代碼,到站代碼…)與程式分開

寫在文字檔中, 當需要訂不同的票時只要修改此文字檔, 不需重新compile

第一次post程式 請指教

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import java.net.*;
import java.io.*;
 
public class OrderTicket {
  private static String url="http://railway.hinet.net/trw/ctno11.jsp?";
  public static void add(String attribute, String value) {
    if(url.endsWith("&") || url.endsWith("?")) {
      url+= attribute + "=" + value;
    }
    else {
      url+= "&" + attribute + "=" + value;
    }
  }
  public static void order() throws IOException {
    URL website = new URL(url);
    int count=1;
    while(true) {
      System.out.println("開始第" + count + "次嚐試訂票...");
      count++;
      URLConnection connection = website.openConnection();
      BufferedReader in = new BufferedReader(
                new InputStreamReader(connection.getInputStream()));
       String line=null;
       String content="";
       
       
       while( (line=in.readLine())!=null) {
         content+=line;
         System.out.print(".");
       }
       in.close();
       if(content.indexOf("您的車票已訂到")!=-1) {
         BufferedWriter bw = new BufferedWriter(new FileWriter("result.html"));
         bw.write(content);
         bw.close();
         System.out.println("票己成功訂到,請讀取result.html檔。");
         System.exit(0);
       }
 
       else {
         System.out.println("票尚未訂到,一分鐘之後將會再次嚐試...");
         try {
           Thread.sleep(6000); //sleep 1 minute, and try it again later.
           }catch(InterruptedException e) {
             e.printStackTrace();
           }
         }
 
      }//end while
    }
    public static void main(String[] args)  throws Exception{
 
            if (args.length != 1)
            {
                 // Print message, pause, then exit
                 System.err.println ("Invalid command parameters");
                 System.in.read();
                 System.exit(0);
            }
      BufferedReader filein = new BufferedReader(new FileReader(args[0] ));
      //BufferedReader filein = new BufferedReader(new FileReader("data.txt"));
      int i=0;
      String[] value = new String[10];
      String[] attribute = {"personId",//身分證字號
                  "fromStation",//_站代碼
                  "toStation",//到站代碼
                  "getinDate",//乘車日期
                  "orderQty",//訂票張數
                  "trainNo",//車次代碼
                  "returnTicket"//是否訂來回票
                  };
      while ((value[i] = filein.readLine()) != null) {
        add(attribute[i],value[i] );
        i++;
      }
      
      System.out.println(url);
      /*
      try {
        order();
      }
      catch(IOException e) {
        System.out.println("連線失敗,請檢查你的網路連線。");
      }
      */
      
    }
}
 

編譯完 需要另外新增一個文字檔案儲存訂票資訊

執行時的第一個參數為此文字檔案檔名

巴里島之行!! 倒數 3 天!!

只剩三天就要出國了。不過還沒刷團費,機票護照還沒拿到,SPA 還沒訂到,行程都還不確定,唯一確定的就是星期四是出發日,期待了很久的旅行,該不會突然被旅行社告知無法成行吧@@

今天把 Reyna 的 iRiver H300 拿來練習了一下,準備帶去巴里島當成儲存照片的隨身硬碟。這個 MP3 隨身聽好用歸好用,有 Copy/Paste 的功能,不過美中不足的發現沒辦法手動建立目錄。不過也別太奢求了!!哈..根本沒有鍵盤,即使能手動建立目錄,又如何給定目錄名稱呢?最後只好預先用電腦在 H300 裡面預先將每天的日期都建好目錄,以便每天拍完後相機照片可以直接摳進去。至少有大 LCD 可以直接瀏覽照片..呵 :D。

今天在 OA 系統請假以後,突然開始有點期待旅遊的心情了,也許是手邊的工作暫時告一段落,有些更大的東西如果現在開始做,恐怕事情做到一半就又得放下休假去,想想還是把一些更瑣碎的東西趁這出國前的空檔全部搞定,度假回來要加班再說吧。

倒數三天!! 時間快點過去吧!!

水中數位攝影

上次去帛琉玩的時候,看著其他的團員人手一台防水相機,浮潛的時候盡情的將帛琉美麗的海底拍回來留念,心裡真是嘔啊! 雖然我也帶了我的 Minolta DiMAGE7 去帛琉,無奈那時候的數位相機可脆弱得很,別說下水拍攝了,恐怕雨下大一點就得趕快把相機收進包包了,所以帶去也只能在陸地上拍拍照,而帛琉五日遊五天都在水裡玩(好像應該改為 “帛琉五日游” 才對哦),所以帛琉的海底美景就只能靜靜的留在我的回憶中而已 >_<

這次要去巴里島玩,雖然沒跟團,但我們自己也安排了一趟泛舟,所以這次我就早早就想到得帶個防水相機同行,才能將泛舟時的歡樂情景也留影下來。研究了一會兒,當然最簡單就是買個 KODAK 水精靈立可拍防水相機

Kodak 水精靈

這種立可拍防水相機大約兩百元左右,不過這個可是傳統底片相機,拍回來沖洗後還需拿底掃再掃一次,才能得到數位影像,而且這種相機大概也別想要求影像品質了,主要訴求就是能夠讓你在水裡拍攝而已。

不過科技日新月異,漸漸的數位相機也被設計成可以在水裡攝影。方式分成兩種:

1.潛水盒,顧名思義就是類似一個盒子套在數位相機外面,而潛水深度可達 30 米 ~ 40 米。由於潛水深度夠深,所以潛水盒的防水性絕佳,操作得宜的話,幾乎不可能進水。但是缺點就是,必須針對所使用的數位相機型號來購買,而且價位很貴,大約八九千元,幾乎都可以再買一台 DC 了。

Nicon CoolPix 7900 Canon 300D

不過由於 DSLR 可替換鏡頭的特性,DSLR 的潛水盒設計困難,所以相對的單價也貴的嚇人,像這個 300D 的潛水盒竟然要價台幣 58K,竟然比 300D 機身還貴了@@

2.防水數位相機,又分為生活防水與水中防水。生活防水以 Olympus μ 系列為代表,生活防水以符合日本 JIS4 防水標準(或稱為 IEC standard publication 529 IPX4),這種防水規格僅能防止從各角度濺來的水花,並不足以達到在水中攝影的要求。
而 Pentax 先前設計了 Optio 33WR/43WR 系列,符合 JIS7 的防水標準,可在水深一公尺處浸泡達 30 分鐘而不會進水。最近更新發表 Optio WP 系列數位相機,符合 JIS8 防水標準,不但可在水深一公尺處浸泡達 30 分鐘,更可同時在水中操作數位相機而不會進水。Pextax 原廠還為了 WP 系列相機設計了一個 H2OCamera 專屬網站,可以看得出 Pentax 在這個領域的企圖心。
在 Mobile01 有篇 Optio 43WR 的測試報告,看起來 43WR 不但水中浸泡不會進水,似乎在水中操作相機也不是問題。
對岸也有一篇 Optio 33WR 的測試報告,介紹也頗為詳盡,非常值得參考。

而日本人也很有趣,為了怕在浮潛或是泛舟時,Optio WP 不慎掉到深水處而損壞相機,還特別設計了浮球綁在相機本體上,如此一來即使不慎相機脫手而落,浮球也會自動浮起相機,真是個體貼的設計。原文刊載處

Optio WP 浮球

防 水 等 級 一 覽 表
0級
無防水功能
1級
能防垂直落下的水滴
2級
能防從15度角落下的水滴
3級
能防從60度角內濺來的水花
4級
能防各角度濺來的水花
5級
能防噴來的水柱
6級
能防強力水柱
7級
能短暫浸泡在水中
8級
能持續浸泡在水中
資料來源/IS國際標準