2013 年 8 月曾經在 COSCUP 分享過以開源軟體與開放街圖規劃登山行程,那時介紹利用開放原碼軟體的 Viking, JOSM 等,可很方便規劃登山行程,特別是 OpenStreetMap 不限制圖資類型的特性,上面的資訊十分多元。像是許多景點、地形、告示排、高壓電杆等,都可以再匯出成 Garmin 圖資檔案時,加以保留。OpenStreetMap 的圖資豐富程度甚至不輸商業圖資。

不過從稍早的使用經驗發現,由於 OepnStreetMap 查找地名時,是利用 Nominatim 資料庫。而 Nominatim 資料庫是彙整資料庫Key:name 而來。早期並非所有的山嶽名稱都已經登錄於 OpenStreetMap, 以至於實務使用時,常常無法查找出山嶽名稱。而查找地名是電子地圖最基本的功能,無法搜尋就無法順利找到等高線圖、或是週遭路徑,絲毫沒有可用性。因此建立鄉、鎮、市、區、知名地名是提高 OSM 可用性,最重要的工作之一。

於是我決定大量匯入山嶽資料,目標是至少補齊百岳小百岳 (兩個版本) 的山嶽頂點的資料。參考資料是利用台灣登山補給站的山友小花 (莊錦豐)大鵬大哥 (7777)millerliu 等等山友合作,實際踏查所整理出來的基石資料庫。2013 年 10 月陸續整理將原本的 Microsoft Excel 轉成 CSV 檔案,台灣共有四千七百多座三角點,以及將近七千五百座的基石。由於基石中不少不是山頂,於是程式只將 “山”, “岳”, “尖”, “峰”, “嶺” 結尾的山名上傳。總共新增或調整了 3192 筆山名。

Oepn Street Map Batch edting via API” 是 2013 年 11 月 SotM Taiwan 2013 開放街圖研討會 時,臨時整理出來投閃電講的簡報。

目前已知問題

  • 只含括大部份百岳、小百岳。許多郊山仍未輸入。
  • 原程式有誤,造成山嶽的高度數字末位出現多餘空白。
  • 部份山區由於有多個三角點或森林點,導致某些山名出現數次。

優先待辦事項

  • 矯正缺失的山嶽名稱。
  • 補齊百岳路線。
  • 上傳三角點情報。(格式待議)

2013/12/23 的時候,開放街圖社群有一場線上討論會,與 kcwu 討論批次匯入資料的規則,為了留下紀錄供社群未來參考,特別再發一次佈告.

如果您發現任何開放街圖上的山嶽資訊錯誤或是疏漏,歡迎指教。

一切都是因為 h4 的會末分享,形式類似 Lightning talk,大約五分鐘的一周進展總結,聚會夥伴合資購買了一臺新的 Vivitek QUMI Q5。由於聚會的場地限制,為了接上投影機一直移動實在不太方便,所以大家開始設想無線投影的方法。

其實 QUMI Q5 內建無線投影功能,使用了奇揚網科MirrorOp 技術,很遺憾隨著投影機贈送的軟體只支援 Windows,而我們的朋友大部份使用 Linux 或 Mac. Windows 是少數。 至於行動版,iOS sender 需要 jailbreak, Android MirrorOp Sender 則需要 root,可用性極低。而且 Q5 的無線網路只支援 AP Mode,投影的人必須接上 Q5 的網路才能投影,有些需要網路才能展示的分享就無法連上網路了。

IMG_1309 IMG_1312

希望能夠有一個簡單的解決方案,可以把一些現成的 Android dongle 或 Chromecast dongle 轉成無線投影裝置。這樣就不需使用 PC 專門來做投影功能。

IMG_4017IMG_4026

研究了幾個現有的無線投影技術 –

  1. Apple AirPlay
  2. Miracast / WiDi
  3. Chromecast

分別討論每一種協定的實作方式,跟可行性。結論,目前 Chromecast 大概是跨平臺最方便的無線投影機制,但目前還沒有 WebRTC 的投影協定文件。

許多傑出的程式設計師都常常在日常的工作中進入神馳模式 (In The ZoneFlow aka 心流理論) ,在這種狀態下,程式設計師的大腦是完全沉溺於當下的題目中,甚至失去空間感與時間感,腦袋中只有這段程式碼。如果沒有外在干擾,忘記喝水、吃飯、睡覺是常有的事情,當清醒過來已經是好幾個小時後了。

在這種狀態,許多困難的題目突然變得異常清晰,輕易以直覺洞察問題。就像是駭客任務 (The Matrix) 中 Morpheus 對 Neo 開導時 “You’re faster than this. Don’t think you are, know you are. Come on. Stop trying to hit me and hit me.” 訓練自己時常進入神馳模式可以有效的提昇生產力。

這種心智出神狀態稱為變異意識狀態 (Altered State of Consciousness aka ASC),除了創意型的工作者外,禪坐超覺靜坐冥想瑜伽催眠清明夢腦波同步 (Wave Brain Synchronization)或精神藥物等,以及許多宗教儀式也會達到同樣效果。

從《打坐與腦》、《禪與腦》兩書中,可以知道透過腦電圖 (EEG / topographic EEG mapping) 測量,發現有別於清醒的 Beta wave (β),坐禪後期中在額葉和頂葉所量測出來的腦波模式大多為 Alpha (α 7.5-14Hz)Theta 波 (θ 4–6 Hz),而且大腦各部位腦波會產生一致性。

但是要進入這樣的深層階段的靜坐,必須經過長期的練習才能達到。除了嗑藥,比較不傷身的作法就是知覺剝離。作法是移除光線與聲音,甚至重力的感覺。最早的研究是 John C. Lilly 在 1953 年的研究,他發明了個隔離艙

基本上就是裝了溫鹽水的密閉空間,讓你漂浮在溫度接近體溫的鹽水上,大約只要十五到三十分鐘左右,你就會習慣浮在鹽水中,逐漸的感覺不到搔癢感,忘記水與身體的邊界,運氣好的話,頭一次就可以體驗到出神狀態,甚至是感受到幻覺。也跟禪坐一樣,經過越多次練習,越可以快速入定。

知名的諾貝爾獎得主,物理學家 Richard Feynman (理察·費曼) 在《別鬧了,費曼先生!》(Surely You’re Joking, Mr. Feynman!) 的書中也有一章 “感官喪失實驗 (Altered States)”,討論他嘗試在隔離艙中取得幻覺的經驗,十分有趣。不過他作弊!他偶爾會吸過大麻後才進入隔離艙。

1980 左右,由於衛生與 AIDS 的蔓延這項服務逐漸消失於市場。最近才又重新開始流行甚至還有專門的年度研討會。在臺灣也有這樣的服務,我總共找到三家

除了漂浮舒緩館是自製箱子外,其他兩家都是採購國外設備,隔音與舒適度相對較好。根據我個人的體驗,在艙中由於沒有外界影響,加上平浮於鹽水上,相對於打坐時腿部產生的痠痛感,排除了肉體的干擾更容易進入出神狀態。

555007_10151859837797915_1219008428_n

除了末期似乎是體溫上升或水溫下降造成不適外,精神上的確感到時間感被壓縮了,一個小時感覺只有十幾分鐘,期間也進入了出神狀態。不過因為我熟悉呼吸的技巧跟有過一些經驗,所以會比較容易進入狀態,也可以控制自己不要進入沉睡狀態。

如果你之前沒有靜坐的習慣或經驗,可以先練習一陣子。我個人建議參考聖嚴法師教禪坐,理解佛教的七支坐法,練習呼吸以及放鬆意識。

如果你很難靜下心來,可以試試兩個 iPhone App,一個是雲堂,另外一個是 Headspace。這兩套分別有一些入門的指引,可以從短時間開始每天練習。

雲堂是日本虚空山彼岸寺網站的 App 軟體,它只是一個簡單的計時軟體,設計的十分美觀,而且有個簡易的介紹的影片指引你進入靜坐的模式。

Headspace 則是 Andy Puddicombe 每天的語音英文導引,他將小時候成為僧侶整理成課程,讓你固定每天專注十分鐘清除腦袋,單純的感覺和感受當下,循序漸進的指導你進入靜坐的世界。靜坐冥想的好處之一是取回洞察力。暫時脫離當下主觀視野,從不同的高度、距離觀望。這常能協助你識破盲點,並提醒你繁忙中的焦慮、困惑從何而來,放棄那些執念,進而憶起初衷。

延伸資訊 – MIT Media Lab 還研究了如何整合在隔離艙中打電話以提高專注力的 ISO-Phone 裝置。另外與腦神經相關,但是效用相反的是 focus 利用 tDCS ,從頭腦外部給予輕微電極,以加強人腦對於圖像的運動反應速度,提高電玩的反應。

今年 COSCUP 2013 時候,總於又開始辦 Key Signing Party。其實過去幾年在 Debian Birthday Party 時,常常也會非正式的交換簽章。這是第一次比較正式的用 The ‘Sassaman-Efficient’ Method 進行。總共二十人參與,成效還不錯!

IMG_3787 gpg-20130808

過程中收到幾個朋友來信詢問問題,特地整理幾個 FAQ

金鑰過期時間 (Expire day) 是否要設定,要設定多久?
你應該養成設定過期時間的習慣。你不用擔心過期要重新建立新的金鑰,你可以延長過期時間後,重新送到 key server 上。這樣別人就會取得你新的金鑰。若你金鑰遺失或忘記密碼也弄丟 revocation certificate 的時候,過期時間可以告訴你的朋友這把金鑰已經不能夠相信了。請找你聯絡換把新的。至於過期時間,則看你有多頻繁使用 PGP,我個人設定六個月,純屬偏好。

記得生成 revocation certificate
revocation certificate 是當你的金鑰遺失或被竊走得時候,你可以宣告這個金鑰失效。所以請生一份出來藏好,然後千萬不要被別人偷走。
gpg --output revoke.asc --gen-revoke <keyid>
如何簽署金鑰?
若你使用 Debian 或 Ubuntu, 請安裝 signing-party, 其中有一個工具叫做 caff(1). 他會以提問方式將你所選擇的金鑰簽署之後,以郵件加密寄給該金鑰收件人。這麼做的目的是,我們當場於會場認證對方的姓名,但是無法驗證他的電子郵件。經由加密寄送的方式,可以確保他使用該郵件系統。

因此你不應該把簽署過金鑰直接送到 key server 上,而是加密寄給他。這樣就不會造成他可能冒用別人的郵件信箱。

如何接收簽名?
請將每個人寄給你的信件解密,取出新的金鑰簽章,匯入你自己的 GPG Keyring,然後把新的金鑰上傳到 keyserver. 如果你沒有上傳,其他人是無法知道你已取得簽章。

姓名識別
交換的過程,最常見就是大家都只使用音譯,但是一般的中文證件上不會顯示英譯。所以你必須攜帶護照,才能讓對方驗證你的名字。你也可以在產生新簽章的時候,在註解 (comment) 輸入中文姓名 (請使用 UTF-8),這樣會比較容易進行驗證。但是不要在 comment 寫一些亂七八糟,無益辨識的資訊

另外,臺灣的護照容許你使用 Alias Name, 不彷把常用的英文名字加入。例如我的護照上即有 “Rex” 為別名。

使用金鑰包裝套件的技巧
你若常常需要包裝套件,不妨新增一把 subkey。一般而言,你必須十分小心的藏好的你的金鑰,例如存在其他人無法存取的離線媒體上。但是身為一個 Debian / Ubuntu 開發者,你每天都需要簽署並上傳新的套件。金鑰藏在離線媒體其實非常不便利。

Subkey 容許你在沒有主金鑰 (Master key) 的狀況下簽名或加密,也可以隨時取消或更改 subkey. 因此你可以安全的把金鑰藏在某個無人知曉的地方,把新的 subkey 專門拿來簽署用。萬一出了狀況,只要註銷這把子金鑰即可,不用大費周章的重生一把新的金鑰。

敝人在 2013/08/04 於臺北國際會議中心舉辦的 COSCUP 2013 發表的一場演講,分享過去一年狂熱的從事登山運動中,使用的開放原碼軟體與公開資料等經驗。

開放街圖 (OpenStreetMap) 是一個由全球羣眾所共享、共治與共享的草根性地圖圖資,與傳統圖資的的差異性在於你可以主動輸入地圖資料庫,並在顯示時決定那些資料要顯示出來。例如開放接圖有志工輸入了高壓電塔,你可以在地圖上看到整條高壓電塔線路走向,提供了更多路線的參考資訊。又例如山友常常走過一些日據時代或原住民部落遺址,那些因為政治權力變遷而被取消或被統治者改名的地名,也可以在開放街圖重新被顯示出來,而不至於遭到遺忘。

開放街圖使用開放的授權,可以免費做各種運用。在這份簡報中,我介紹如何透過開放原碼軟體與工具,進行登山行程的規劃與分析,以及如何將開放街圖的資料匯出成 Garmin 可以使用的圖資檔,以便進行海外行程的時候,可以有基本的登山圖資作為參考。(目前使用 DEM 圖資精度只有 90m)

進一步瞭解 Open Street Map 請參考 2012 開放街圖研討會。

利用 COSCUP 2013 的會後時間,舉辦 Key signing party[1][2]!

由於開放原碼社羣十分分散,難得有機會面對面,為了方便合作以及增強遠距聯絡的可靠性,我們可以利用實體聚會的機會交換並簽署 PGP 金鑰,以建立 Web of Trust[3]。這組金鑰除了便利確認身份,也可於通訊中加密訊息,避免各國官方政府日漸加強的網絡監視。

參加活動

產生一組 RSA 4096 bits 以上的金鑰[4],並將該金鑰送到 pgp.mit.edu.
請在 8/2 日前於表單[5]中提供你的電子郵件 (UID)、Fingerprint. 請你於 8/3 準時到達現場,並攜帶可信賴的有照證件以及一枝筆。

報名網址: http://bit.ly/16r2qJc

活動時間

請於 2013/08/03 第一日最後一場演講 17:20 結束後,於一樓東大門大廳 (鳳凰雕塑) 會面。
請跟主持人索取金鑰列表,檢查你的個人資訊,並依照對照表的次序排成隊伍。

其他注意事項

請勿簽署你未曾謀面的人的金鑰,請仔細檢查對方的身份證件以及個人簽章後才正式簽署。
請勿攜帶電腦於現場進行簽署。

此活動非 COSCUP 團隊發起,請聯絡主辦人: Rex Tsai

[1] https://en.wikipedia.org/wiki/Key_signing_party
[2] http://linuxreviews.org/howtos/gnupg/signingparty/
[3] https://en.wikipedia.org/wiki/Web_of_trust
[4] http://wiki.debian.org/Keysigning
[5] http://bit.ly/16r2qJc