2013年4月30日 星期二

動物園復興?

這個周末到新竹市孔廟前廣場看紙風車劇團表演,個人看過紙風車的三次表演,對於紙風車劇團的付出與用心深感敬佩。但這次表演對新竹以至於台灣的歷史描述,個人實在不敢領教。

基本上,就是你我都被教育過的國民黨史觀。

講到日本人就是只有欺壓台灣人,拿日本人蓋的新竹火車站照片跟劉銘傳做連結,事實上劉銘傳蓋的鐵路根本短得很,根本沒有到新竹。再加以路線品質差 ,日治時期早就拆掉重蓋了。

講到新竹動物園的建立年代是民國二十五年,其實還不是日本明治年間蓋的,跟國民黨年號竟也能這樣搭上線。

講到國民黨就是歌功頌德的,又是科學園區,又是經濟奇蹟,絕口不提兩蔣的高壓統治,更別說台灣人辛苦才掙來的解嚴與民主。

我失望了,這是為台灣孩子好,還是在欺騙天真的兒童?很明顯是充滿人工色素香料的汽水。不知道民進黨的林市議員到底知不知道自己贊助了什麼東西?與其老是打高空談動物園復興,倒不如先把自己的歷史學好再說吧。


2013年4月24日 星期三

Arduino Due

Arduino是著名的open source hardware project,在社群與眾多業餘人士的支持之下,衍生了眾多周邊硬體與軟體程式庫,成為有意研究嵌入式系統的同好的寶貴知識庫。

Arduino所採用的程式語言是C++,它有相當完整的程式庫,IO相關的函式相當齊全。而硬體線路方面則是採模組化設計,一個符合腳位規格的硬體模組叫做shield,只要照著圖例接線或是直接把shield對接上,即使是軟體工程師也可以輕鬆完成線路。

原本就有Arduino UNO R3的我,因為好奇而再度購入Arduino Due。Arduino Due採用Atmel的SAM3X8E,是採用32-bit ARM Cortex M3系列的核心,工作頻率是84MHz,SRAM有96k bytes,Flash有512k bytes,遠比原本8-bit AVR系列來得強大,經過測試後也的確是如此。

但是轉換到32-bit平台並不是完全無痛。首先就是被許多原本玩家抱怨的3.3V IO與原本5V IO無法相容的問題,雖然有部分shield有考慮到電壓準位的問題,但是大部分還是沒有辦法沿用。另一個問題是它的IDE,目前1.5.2版還是beta,穩定性欠佳,另外32-bit程式也變大了,燒錄速度慢了許多。

但是以先前Arduino的成功,個人還是滿懷希望。畢竟更高階多為Linux系統,對於業餘輕度玩家太過複雜。基於.Net Micro Framework的Netduino雖然性價比高,但是個人對.Net用於embedded system有疑慮。目前看來業餘玩家這一塊還是Arduino比較有看頭。

2013年1月27日 星期日

Inkscape SVG小小相容性問題

從三年前開始,我就開始以Inkscape繪製SVG圖檔,會採用SVG的主要原因是因為我需要畫的圖大多是簡單的方塊或流程圖,在不想動用肥大的office軟體的情況下,SVG變成我的最佳選擇。另一個優點是它的檔案相當小,當然是因為我的圖案多是方塊與文字。

然而,當我把這些SVG上傳到Mediawiki的時候,問題發生了,有的圖檔會rsvg被render出一些黑色的區域,有些圖檔呈現的是方塊,有些則是不規則的黑色區塊。經過一番的研究,終於解決了這個問題。

其實實際的問題原因與現象有二:

一是黑色方塊的問題,其實是肇因於Inkscape支援的一個非標準語法。更精確的來說,就是它支援了所謂的flowed text,一個曾經進到draft,但後來卻在正式標準1.2版中被改掉的一項功能。關於Flowed text的說明,在Inkscape的FAQ網頁有提到。

Flowed text的產生是因為在Inkscape中輸入文字之前,先用游標畫一個框。如果想要單純的text,正確的做法應該是直接以游標點擊一個點,就可以開始輸入文字 。解決的方法使以Inkscape打開檔案,選擇flowed text物件,在Text選單下選"Convert to Text"即可將它改成text,當然也可以直接刪除它再重新輸入。另一個解決的方法可以在找不到flowed text的時候採用(例如flowed text方框內沒有文字,或是夾雜在許多物件之間找不到),很簡單,以vim將flowRoot的部分改掉或刪除即可。

第二個問題的肇因並沒有完全確認,但應該不是Inkscape的問題,問題是出在rsvg。通常出現在圖形較複雜,背景有大片透明的時候。這樣的檔案在IE/Firefox/Chrome上面都是正常的,所以現在傾向懷疑rsvg。但是也有解決方式,就是畫一個大塊矩形當背景即可。