Walking Papers 是 OpenStreetMap 的衍生服務,它讓地圖資訊的更新有了新途徑,藉此希望大幅降低 OSM 資訊更新的門檻。應用的工具包括了 Scale Invariant Feature Transform 和 QR Code 等。
服務網站的程式碼是 paperwalking,附的文件說明了 Ubuntu 9 環境的安裝方式,下列是對應的 CentOS rpm 資訊:
curl vim-enhanced screen tcsh sudo git
python-imaging numpy java-openjdk
php-gd php-mysql mysql-server php-pear gdal-python gdal
一時沒找到 python-pyproj 的 rpm,必要時要改用 pip 去裝,另外也遇到抱怨 libgeos.so.2 相依問題的訊息。看來要在 CentOS 5.8 成功安裝是要花一番工夫。
我實際上是在 Ubuntu 11.04 安裝成功,要留意的地方是 Smarty 下載網址改變了,原本寫死在 site/lib/Makefile 裡的程式碼要對應修改。啟動系統前,要編輯 site/lib/init.php 檔案內容,至少要修改的有 TZ=Asia/Taipei, DB_DSN, API_PASSWORD, DEFAULT_LATITUDE, DEFAULT_LONGITUDE, DEFAULT_ZOOM 等設定值,想要新增地圖服務,要修改 TILE_PROVIDERS 設定值,格式是 URL, tab, ServiceName。
其中離線編輯圖檔的工作,由 decoder/poll.py 執行,在 decoder/compose.py 檔案裡有 geotiff, print_url, preview_url 的處理函式,網頁顯示的主檔案在 site/templates/index.html.tpl,顯示 PDF 檔案的網頁模版在 site/templates/en/print-info.htmlf.tpl,處理 PDF 位置 (pdf_url) 的網頁在 site/lib/data.php,產生 PDF 檔案的程式碼在 site/lib/composition.php 裡,包括標頭文字:
$pdf = new FPDF( \
get_page_orientation($print['paper']), \
'pt', get_page_size($print['paper']));
$pdf->addPage();
...
$pdf->text(62.61, 68.49, 'Waling Papers');
...
$print['pdf_url'] = \
post_file("prints/{$print['id']}/walking-paper-{$print['id']}.pdf", \
$pdf_content, 'application/pdf');
If the sun should tumble from the sky
If the sea should suddenly run dry
If you love Python, really love Python
Let it happen, I do care.
If it seems that everything is lost
I will smile and never count the cost
If you love PyCon, really love PyCon
Let it happen, darling I do care
Shall I catch a shooting star
Shall I bring it where you are
If you want me to, I will.
You can set me any task
I'll do anything you ask
If you'll only love Python still.
When at last, our life on earth is through
I will share eternity with you
If you love Python, really love Python
Then whatever happens, I won't care
When at last, our life on earth is through
I will share eternity with you
If you love PyCon, really love PyCon
Then whatever happens, I won't care
許多 Plone Collective 程式碼都從 subversion 搬到 git 了,今天拿 Products.AutocompleteWidget 當例子,記錄操作過程:
$ cd src
$ git clone https://github.com/collective/Products.AutocompleteWidget.git
Cloning into Products.AutocompleteWidget...
remote: Counting objects: 217, done.
remote: Compressing objects: 100% (107/107), done.
remote: Total 217 (delta 88), reused 215 (delta 86)
Receiving objects: 100% (217/217), 50.84 KiB, done.
Resolving deltas: 100% (88/88), done.
$ cd Products.AutocompleteWidget
$ git status
# On branch master
nothing to commit (working directory clean)
不過,比對程式碼之後,發現最新版本的內容,還是源自於 subversion,目前 1.4.0 是以 http://svn.plone.org/svn/archetypes/MoreFieldsAndWidgets/Products.AutocompleteWidget/branches/improved_multivalued_fields_management 為基礎。
如果作業系統是航空公司,聽過這個笑話的話,也找得到程式語言的版本。提到程式語言,我最感興趣的是 Scripting 之間的差異,或是人們對 Forth、Haskell 這類非主流語言的評論。程式語言比較像江湖門派,有些武功是隱世不露的。前兩天,Forth 推廣年會在中研院人文館舉辦,讓我也想記錄這個程式語言世界裡的傳奇。
"C 讓你認為 C 是世界上最好的語言,Forth 則讓你認為自己是世界上最好的程式員。"
"在某些狂熱者的眼中,FORTH 不只是一種電腦語言,有時它更像是一種宗教,受到支持者的崇拜與信仰。在眾多的宗教中,FORTH 與禪的境界最接近。"
在黃清琦老師的演講裡,他提到「地圖應該可以包含藝術美感的元素,而不只是客觀數據的呈現,有時候必須加入製圖人的主觀美學意見」。舉的例子是,從 GIS 精準的角度,標示的點可能出現在不符規範的位置,例如某個城市被標在河湖裡,此時適度地移標是必要的。臺灣輿圖暨解說圖研究的完成,是以台灣地形圖為基礎來整合舊的史地資料,必須假設長期以來地形未變,如果有局部的資料顯示地形隨時間曾改變,則需要修正。
感謝 pofeng 的安排,有機會到 CloudTW 聚會分享 oDesk 的使用經驗。
簡報檔: http://www.slideshare.net/marr/workteam-with-odesk
討論過程中,有人回應「這是個讓 developer 找 developer 的服務」,沒錯,所以適合在技術人員聚會裡介紹 oDesk 服務,用它來累積專案管理的經驗,oDesk 試著促成一個良性循環,讓雇主和工程師都願意重視評價結果,彼此長期建立良好名聲。
自己的使用經驗,只以 employer 身份發包 Plone web development,值得找機會以 developer 角色登入,了解專業技能認證的流程。
CloudTW 有段 SmartOS 的討論,於是查了相關資訊。Joyent 成立於 2004 年,業務內容與日俱進,目前已發展為 cloud computing software stack 提供者,據說公司接收了 OpenSolaris 和 Illumos 的開發人員,併購 LayerBoom 的案例,也能跟台灣教改挫敗扯上關係,總之,這些都算是藉由 cloud computing 時代造英雄的例子。
網路上找到的既有資料,都顯示 Joyent 是家強調技術本位的公司,看了 Community Manager 也就是技術公關,心想,台灣何時會有這種角色?
"The best way to keep learning after you leave school is surround yourself with the smartest people you can find."
"If you want to build a ship, don't drum up men to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea."
"Understanding how to write well and effectively communicate the nuances of your thoughts is the most important thing you will learn in school."
"I would have written a shorter letter if I'd had the time." -- Mark Twain
"Great leaders are great teachers. And great teachers are great storytellers."
"If you want to be a leader, you will teach. The two are inseparable."
"As leaders, you learn more by listening than by talking. Listening makes you mor humble, more intuitive, and smarter. Talking does none of these things."
"When you listen, you learn how things work as opposed to when you talk and state how you thing things work."
"If you must talk, ask questions."
"If we have data, let's look at the data. If all we have are opinions, let's go with mine." -- Jim Barksdale
"You shouldn't be able to figure out the pecking order or org chart by looking at a product."
"There is no such thing as a minor lapse of integrity." -- Tom Peters
"I have no special talent. I am only passionately curious." -- Albert Einstein
"Nothing great was ever achieved without enthusiasm."
"Team are not juries locked in a room until they reach a unanimous verdict. Don't spend hours in endless meetings striving for unanimity. Consensus is not unanimity. Guide the team to declare when 'good enough' is better."
"The perfect is the enemy of the good, from which there is no progress."
"If everyone is thinking alike, then somebody isn't thinking." -- George Patton
"Where there is harmony, there is no innovation."
"Innovation comes from creativity. Creativity cannot be managed. It can be allocated, it can be budgeted, it can be measured, it can be tracked and encouraged, but it can't be dictated."
"If you're the innovator, you're like a virus. The antibodies want to kill you.
Leaders protect people from antibodies."
"A leader's job is not to prevent risk, but to build the capability to recover when failures occur. There is no such thing as a good failure and a bad failure. Or there is such a thing as a good failure and a bad failure. A good one happens quickly, and it provides plenty of lessons. Sometimes you have to look at these lessons in the data. A bad failure takes a long time and you don't learn anything. Leaders don't prevent failures. They prevent bad failures."
"Learn something new so that you can remember how hard it is to learn."
"Teach something so you can learn."
"Humility is correlated with age. Arrogance is inversely correlated with age."
"As smart leader, you surround yourself with great people. You people understand what they're doing better than you do."
"Good judgment comes from experience, and a lot of that come from bad judgment." -- Will Rogers
"Show me a team that never makes a mistake, and I'll show you a team that has never done anything innovative."
"Smart people can smell hypocrisy, so think before you act or speak. You have to commit to your team's goal and vision? They can tell when you don't really mean it."
"Setting an example is not the main means of influencing another, it is the only means." -- Albert Einstein
"If you would not work for yourself, why do your people?"
All are from Rules to Success by Jonathan Rosenberg.
本文取自友人 AB 轉寄來的內容,略作極小的排版修改。我支持大眾交通系統應慎重考量低耗能高效率的方案選項,盲目地 MRT 並非民眾之福。另外,據說嘉義也有 BRT (Bus Rapid Transit),但跟巴西 Curitiba 的實例相比,仍有不小差距。
之前,我一直覺得捷運是很棒的東西,但是我這幾年再也不這麼認為。
先講公視獨立特派員上週的報導:1800億的夢(高雄捷運)
線上觀看:http://www.peopo.org/innews/post/49974
非常值得花時間看完的報導。
不過我已經看到有人評論:「搞捷運 眼光要看遠」
這些論點看似有理,但是其所謂的捷運,都只侷限在台灣目前獨立於路面外的軌道捷運(高架或隧道)。
請看看上述影片中另一種不一樣的捷運:BRT
其實對於捷運的反省,我也是從這幾年才開始。
首先是四年前我從《你,還在開車嗎?》這本書中,看到夏鑄九教授為這本書所寫的序提到:
今天,一般市民或許不瞭解,台北市的財力已經無法承擔繼續興建目前這個光鮮亮麗卻不符永續城市原則、已經過了時的七Ο年代的昂貴捷運系統了。而高雄,卻因為政治原因,比照台北,亦步亦趨。這就是交通部為何不得不在城市運輸政策上終結高、中運量的捷運系統,改推輕軌的原因。我們若不另外選擇電車(或者說,有軌電車)、公車與腳踏車等運輸工具,台灣的城市交通就還是一條不歸路。
—《你,還在開車嗎?》序,夏鑄九
而《你,還在開車嗎?》這本書也提到一種捷運的替代方案:BRT (Bus Rapid Transit) 系統:
借用巴西的 Curitiba 的經驗,告訴我們一個公共交通系統,若是擁有專用的巴士道、底盤低矮的巴士、路邊收費站,及高於路面的登車月台,功能將不輸於任何有軌的公共運輸設施,而成本卻祇有軌道捷運的一小部份。
—《你,還在開車嗎?》,Alan Thein Durning,p.113
那時候光憑文字很難想像什麼是BRT,直到後來看到公視的報導。
之後,某次和蠻野心足生態協會理事長文魯彬經過台北某個捷運工地,他就指著工地說捷運不好,我就問他為什麼?捷運不是很環保嗎?他說:
捷運也是高耗能的交通系統,只是不像汽車,污染立即可見,捷運的污染產生在林口發電場。
之後,我從潘翰聲的文章也讀到類似的評論:
而捷運耗電量極大,將汽車污染物從都市轉移到鄉村區的燃煤電廠,是環境不正義的課題,二氧化碳的減量效果應有詳實的量化分析。
不過該文章另一個論點更點出另一個問題:
更嚴重的是,捷運的經濟效益被誇大,本案(台北捷運南北線)所評估的效益高達六成是土地增值效益,簡直是花公家的錢幫財團炒地皮。
這是經濟問題,民代和民選地方首長、官員似乎都不願意告訴民眾:
台北捷運系統每公里平均造價60多億元,以目前搭乘率的票務收入,也僅能維持台北捷運公司的操作營運,無法回收建設成本,更遑論未來還需更大一筆維修老舊車體的費用。大概估算,搭台北捷運的乘客約得到政府交叉補貼2/3的票價,即一段20元的票價,政府已補貼使用者40元,原應向乘客收60元。其他縣市想有樣學樣,要求中央政府補助興建捷運,但大眾運輸網絡都不如台北,其便利性及效益就大打折扣,真怕最終淪為載蚊子的捷運。 BRT 每公里造價約莫數千萬元,真的低廉又環保。
http://zh.wildatheart.org.tw/archives/mrtaeaeiebrtcaeece.html
果然不幸言中:「高雄捷運通車不到兩年,已經虧掉60億」
台灣最大的問題是不敢跟私人運具(汽車)搶道,所以目前還沒有任何一條捷運是利用現有路面。而公車專用道的興建,都還要接受民代質疑:是否會因為車道數量縮減而影響到汽車的行車速度?
真是奇怪,要顧全到汽車不會塞車,早就是都市交通中被實證為不可行的交通策略,看看美國城市的道路面積擴張的程度,還是無法解決都市交通問題的事實即可得知。
而且,讓私人運具不方便(塞車、停車問題),才會讓大家轉用大眾運輸系統,這不是很簡單的道理嗎!
看著台北捷運局的捷運願景圖密密麻麻的捷運線路,只希望它不會成真。
Aceh 亞齊是印尼北部地區,之前海嘯災難,台灣曾參與救援,部份單位選擇長期駐點,新竹的社區大學就是一例。台灣和亞齊建立的合作之一,是安排兩位學生到中研院實習,既然由我照料,學習 Python Plone 就成為學生的功課之一。這星期完成學習心得簡報,我也鼓勵他們回國後建立 Python Plone 社群。
華人的飲食文化有融入印尼當地,例如 mi 就是麵 daofu 就是豆腐,我還學會 mi golian 是炒麵 beibei 是鴨子。另外,當地多數人只有名沒有姓,通常貴族才有家族姓氏,也是相當特別。
剛好,客家電視「客家新聞雜誌」日前在亞齊採訪,專題報導在八月15日晚上九點播出,首播和重播時間如下:
客家電視--17頻道
(六) 21:00(首播)
(日) 16:00
(二) 15:00 / 01:00
公共電視--13頻道
(六) 09:00
(日) 04:00
另外,【重返亞齊DAILY系列報導】於八月24日至八月27日晚間七點在暗夜新聞播出,當天最夜新聞22:00、隔天過晝新聞12:30也會重播。
一邊是海嘯,一邊是風災,除了努力重建外,也期盼我們都能夠有更大的智慧來和大自然相處。
NGC 介紹了 Frank Gehry 著名的建築計畫,不規則曲線的建築結構是 Gehry 的特性,他並大量引用電腦系統來設計並交換資料。西班牙 Bilbao Guggenheim Museum 是他較早期的作品,九年後他在 Paul Allen 的委託下,在西雅圖完成了 Experience Music Project。因為 Paul Allen 和 Jimi Hendrix 都出身於西雅圖,促使這項搖滾樂體驗館的誕生,當然,還要靠 Frank Gehry 才能讓這項酷斃的建築物,充份包含並展現搖滾文化的多樣性。
可能,最好的,已經在你的身邊,只是,你還沒有學會珍惜。人們總是盯著得不到的東西,而忽視了那些已經得到的東西。
社會上一夜暴富的新聞很多,這些消息,總會在我們的心裏面掀起很多漣漪,漣漪多了就變成驚濤駭浪,心裏的驚濤駭浪除了打翻承載你目標的小船,並不會使得你也一夜暴富。“只見賊吃肉,不見賊挨揍。”我們這些普通人既沒有當賊的勇氣,又缺乏當賊的狠辣絕決,雖然羡慕吃肉,卻更害怕挨揍,偶爾看到幾個沒挨揍的賊就按奈不住,或者心思活動,或者大感不公,真要叫去做賊,卻也不敢。
好吧,世道不夠好,可是,你有推翻世道的勇氣麼?如果沒有,你有更好的解決辦法麼?有很多時候,人需要一點耐心,一點信心。每個人總會輪到幾次不公平的事情,而通常,安心等待是最好的辦法。
人總是會遇到挫折的,人總是會有低潮的,人總是會有不被人理解的時候的,人總是有要低聲下氣的時候,這些時候恰恰是人生最關鍵的時候,因為大家都會碰到挫折,而大多數人過不了這個門檻,你能過,你就成功了。
逆境,是上帝幫你淘汰競爭者的地方。要知道,你不好受,別人也不好受,你堅持不下去了,別人也一樣,千萬不要告訴別人你堅持不住了,那只能讓別人獲得堅持的信心,讓競爭者看著你微笑的面孔,失去信心,退出比賽。勝利屬於那些有耐心的人。
其實選什麼行業真的不重要,關鍵是怎麼做。事情都是人做出來的,關鍵是人。
每天,每一刻我們都在做這樣那樣的決定,我們可以漫不經心,也可以多花些心思,成千上萬的小選擇累計起來,就決定了最終我們是個什麼樣的人。
你可以選擇把這輩子最大的困難放在最有體力最有精力的時候,也可以走一步看一步,等到了40歲再說,只是到了40多歲,那正是一輩子最脆弱的時候,上有老下有小,如果在那個時候碰上了職業危機,實在是一件很苦惱的事情。
人生最需要的不是規劃,而是在適當的時機掌握機會,採取行動。
與改變世界相比,改變自己更困難。
人生有三個階段,一個階段是為現實找一份工作,一個階段是為現實,但可以選擇一份自己願意投入的工作,一個階段是為理想去做一些事情。
Quote from "Moblin netbook Linux preview"
"[Moblin] is a Linux desktop that's built on top of a Fedora Linux framework; uses GNOME for its desktop and applications, and will rely on Novell/SUSE to get customized versions of the desktop pre-installed on the Taiwanese OEM (original equipment manufacturers) netbooks."
在一九九○年的中學日子裡,翻著水晶的新音樂百科全書,到唱片行查側標,就像是課後作業一樣。Joy Division 是課後作業裡,生澀晦暗的一篇,Ian Curtis 總是把人拉進一個不安的世界。水晶把團名譯成「喜悅分割」,搭著「莫名快感 (Unknown Pleasure)」,喜歡幻想的人剛好就有了想像空間。
在 Mandriva 上使用 VIM 遇過輸入中文,會產生亂碼的現象,例如輸入「中文」這兩個字,「中」是正常,但「文」就變成亂碼,原本都從修改 LC_* 或 TERM 環境變數下手處理,成效不彰。最近發現,出問題的主機都只裝 vim-minimal 而沒有 vim-enhanced 檔案,把 vim-enhanced 補上,就好了,特此一格。
摘自 Hackers & Painters
* 電腦程式只是文字。選用的語言則決定了你的語彙能力。程式語言是程式設計者思考的方式。
* 程式設計師傾向歸屬於所用語言的派別,甚至比他們所用的語言區隔更大。因此,談到某種語言優於其他,會被認為是壞習慣。但是連程式設計師自己都不相信這種虛偽的禮節。我對於程式語言的看法或許會惹怒很多人,不過我認為這是了解駭客最好的方法。
* 程式語言是用來思考程式,而不是用來展現你已經想出來的程式。它應該像是一支鉛筆,而不是一支鋼筆。如果大家寫程式的方法跟我大學所學相同,靜態型別應該會是一個優秀概念,不過,我所認識的每一位駭客,都不用這種方式來撰寫程式。我需要一個可以隨意擦寫塗抹的程式語言,而不是讓語言要求我正襟危坐地捧著型別,非常禮貌地與嚴謹過時的編譯器對話。
















