2008年11月11日 星期二

200km

我果然是很念舊的人 一個人騎著車從台南到了嘉義
說真的有點冷 這是今年第一波寒流吧
沿途都在想什麼 我不記得了 就是喜歡這種自由的感覺
直到北回地標出現 來到這熟悉的城市

沿著興業東路 經國新城 是我之前居住的地方
不知變得如何了?
還來不及回憶那時的生活 車早已駛進學府路
蘭潭依舊那麼翠綠 當下就拿手機拍了起來
可惜我不是廣角鏡 畫質也蠻糟糕的 哈

雖然從母校畢業了 但還有幾個好朋友在這繼續唸
少了他們 我回來這邊也沒意思了
幾個人聚在一起總有聊不完的話題
他們真的太好客啦 真的有被當貴賓禮遇的感覺

我真佩服他們 繼上次在草地上比賽棒球後
現在換買了羽球網架在系館裡面 真夠專業的啦
廖廖笑著說著: 研究所 不就是大學在加兩年嗎
哈!
我喜歡這邊的步調 就 一整個輕鬆阿
暫時 把煩惱都忘了...

2008年10月10日 星期五

系內盃壘球

想不到都研究所了還有閒可以參加系內盃, 這次是噹噹lab學長找的, 認識的拉一拉就湊成"實驗室聯合軍". 很久沒碰了, 不過我只當過投手, 所以這個職務非我莫屬了, 暨大資盃的陰影, 對自己投球相當沒把握... 比賽前還揪團一起去大魯閣練打, 代幣漲到一枚35, 沒在網拍買真不划算, 我們除了揮棒外還把所有的遊戲機台玩過一次, 好久沒這麼過癮了.

比賽分3組, 每組3隊取2隊, 也就是不要最後一名就可以晉級, 結果真的最後一名了, 沒辦法隊到去年冠軍,被call game了XD 不過我對自己的期許是不要投保送啦, 兩場投出5個還可以接受, 有一局還三上三下真夠神的. ok啦~打happy的~畢竟有些人是第一次上場比賽, 失誤難免摟.

放張照片, 證明我還過得好好的. (裡面有老伯還有噹~)

2008年9月13日 星期六

隨筆

看到前學長能夠順利畢業, 自己也蠻欣慰的, 我想短期內會把過去的記憶都放空吧
跟他們也算建立不錯的情感, 過去的日子真是夢靨, 也多虧了他們, 我才能撐過來
得之於人者太多, 想好好感謝卻又不知如何表達, 新訓的時候再去探探他們吧.
而從前的四個人也各走各的方向, 這半殘的緣分 是該好好維繫下去

2008年8月21日 星期四

心情

總覺得生活很凌亂 自己像個行尸走肉

這暑假最失策就是去應徵圖書館打工 佔了我蠻多的時間

最近一個禮拜每天都睡不到6小時 suck~再這樣下去會發生什麼事都不知道了

究竟在忙什麼? 瞎忙嗎?

也不是阿 Linux這東西真的是有閒的人在玩的 動不動就卡關 也沒幾個對象可以問

不停的try try try 有時真的很沮喪...

只能尋求短暫的快樂 來調適我的心情

2008年7月11日 星期五

新環境

入境隨俗,在新的環境我得去適應,這不是容易的事情,我得擔心自己專業能力夠不夠,計畫中分派到的事務是否能銜接,可以和大家打成一片嗎?

幸好這邊的人都很照顧我,還有知人善任的學長,能把嵌入式系統跟計畫結合,讓我可以延續我之前的專業,我自己也很看好這一塊,能享受工作才是延續生命的正途.

跟大家連魔獸,3年前沒搭上這班車就不對了,現在進度跟不上人家,我得拜darkfox為師. 一天一兩場,人生更有意義了,手指腦袋也都靈活起來,我要早日脫離新手的身份~

暑假應該算比較閒吧,運動一下來發洩平日的苦悶,到操場慢跑,打棒球桌球,買了一隻新的球拍希望球技可以進步,有周屁屁跟廢成陪我打球不無聊,還有一些其他實驗室的同好.
跟老伯想規劃到遠一點的山上去,實驗室有了他的宅氣也不會那麼重,說走就走才夠爽快阿.

2008年7月8日 星期二

台南板十大推薦 - 小吃篇

這是批踢踢台南板票選的小吃, 前30名我只吃過6種, 真是不及格的台南人
決定趁暑假全部吃過一次, 不過也得有人陪我阿.

1. 周氏蝦捲 241 票
台南市安平區安平路408-1號

2. 安平陳記(氏/家)蝦捲、蚵捲 201 票
台南市安平路786號

3. 福記肉圓 196 票
台南市中西區府前路一段215號

4. 武廟肉圓 169 票
台南市永福路二段225號

5. 阿松割包 155 票
台南市中西區國華街三段181號

6. 雙品豬排 146 票
台南市金華路四段72號 (與民權路交叉)

7. 富盛號碗粿 140 票
台南市西門路二段333巷8號

8. 阿憨鹹粥 133 票
台南市北區公園南路169號

9. 老曾羊肉 130 票
台南市中西區民族路二段133號

10. 金得春捲 126 票
台南市民族路三段19號

11. 沙卡里巴棺材板 121 票 
台南市中正路康樂市場內180號

12. 赤崁棺材板 115 票
台南市中正路康樂市場內180號
(這兩個明明就同一家阿?)

12. 萬川號包子 115 票
台南市民權路一段205號(原青年路76號)

14. 阿國鵝肉 111 票
台南市南區育南街21-27號

15. 進福炒鱔魚意麵 103 票
台南市府前路一段46號

16. 卓家魚麵 99 票
台南市民生路一段158號(開山廟旁)(老店)
台南市中華東路3段50號(總店)

17. 國華街小卷米粉 95 票
台南市國華街三段菜市場一樓

18. 阿堂鹹粥/蝦仁飯 95 票
台南市西門路一段728號 (早上)

19. 阿明豬心 88 票
台南市保安路72號(晚上)

20. 圓環頂菜粽 86 票
台南市府前路一段40號

21. 開元路 虱目魚和肉燥飯 85 票
台南市北區富台新村8號(近開元路295號)

21. 友誠蝦仁肉圓 85 票
台南市開山路118號(位於轉角,黃色招牌,非常好找)

21. 阿鐵鱔魚意麵 85 票
台南市西門路二段352號

24. 五妃街慶中街口巷子豬血湯 82 票
台南市慶中街24號

25. 小杜意麵 75 票
台南市友愛街143號

26. 安平豆花對面的福記水煎包 73 票
台南市安北路400號

27. 祿記包子 71 票
台南市中西區開山路3巷27號

27. 保安宮 阿鳳浮水魚羹 71 票
台南市保安路(茂雄對面)

29. 榮盛米糕 67 票
台南市友愛街康樂市場106號

2008年6月25日 星期三

搬家

搬到成大附近了,以後上下學也方便許多.

這搬家的過程還真曲折,先是颱風要來臨時變更日期
再來,成哥原本要開車幫忙我們的,但卻腳扭傷,前一晚趕緊聯絡bbs上的網友幫忙,夢大bbs的andy5667人真的蠻nice,一整個就很老實樣,價格也非常平易,大推阿!
搬家當天周屁屁說要來幫忙,結果機車騎到一半還壞掉...
周屁屁不禁要說:慘了慘了~跟廢成一樣廢了XD
當然要非常感謝大家的幫忙,lab同學也大力贊助~

不過房間小了很多,只有原本一半不到,不能再像之前那樣5,6個人擠一間...
前兩個睡地板,第三個睡床底下,第四個睡廁所,第五個開始就要疊疊樂了
昨天還跑去探望成哥,成哥媽超好客的啦,一直請我們吃東西,希望他的腳趕快好摟!

2008年6月14日 星期六

推荐对岸的好网站

提供一個電子書下載的網站ebookee.com.cn
我是拿來搜原文書的,連2008新出的都有,電子書在外國網站價格也都是逼近實體書
不過在這邊免註冊就可以download,而且還是完整版的,整套歐萊禮載回去都不是問題
阿共仔對於智慧財產權似乎沒什麼概念,共產黨嘛~你的就是我的

就我自己做嵌入式的方面來說,對岸那邊的資源真的很豐富,很多時候有現成的料得可以撿
CSDN.NET-中国最大的IT技术社区,为IT专业技术人员提供最全面的信息传播和服务平台
盜版合法化?取這個名字是想跟MSDN打對台?
這裡面很多好東東,註冊一次有20點,下載是需要點數的.
www.pudn.com-最大的源码下载中文网站 源代码40多万个
另一個網站,主要以SourceCode為主. 註冊之後上傳5個file就可以擁有200多點吧.

2008年6月13日 星期五

跳脫

這一年沒有從前的快活,我面臨了人生的關卡,我無法適應我的生活...

記得川普說過一句話:「當你無法享受你的工作時,就是你該換工作了」
從國中開始我就確立要走這一行,沒動搖過 ~ I love my job!
我需要是不是一個新環境?

很高興這次能幫自己作主
從前遇到挫折總是忍氣吞聲,這次我選擇了我想要的
離開這裡,但也不完全是逃避

這個抉擇漫長且煎熬,我稱它為revolution
為了讓自己心情好一點,我得不斷找人訴說,儘管最後還是要自己去面對
無數次談判,爭辯,激進的手段...
目的是達成了,但 是我要的結果嗎?

過程使人成長
也因這次的際遇,我得到了"另類"的經驗,也發現自己的所欠缺的
這期間曾和幾位教授聊過,這當然也包括我的舊老闆
當雙方見解不同時,所需要的就是溝通
話講開了,也讓彼此更了解

回頭再看看,好像也沒那麼嚴重
沒錯,不同的時期見解也不一樣
只是當下陷在那泥沼中,有幾個人能跳脫,越想越悲觀
還說自己有多理性...

寫這些有的沒的,當然是抒發自己的情感摟
對於"研究"兩字也有新的看法
論文有時只為了論文而論文,重要的是這過程中你得到了什麼
事情沒有絕對的好與壞
從不同的時間角度切入,所散發出來的價值也不同,別只用當下的結果去斷定它

Alright!
既然已經做了決定,就好好的去經營,明天 又會衍生不同的問題
人生不是那麼容易地

2008年5月30日 星期五

GPS Intermediate Driver

Windows Mobile 5.0引進了GPS Intermediate Driver (GPSID),開發基於GPS的應用程式變得簡單多了。原因是它在開發人員編寫的應用程序和 GPS 設備之間加入了一個中間層,使開發人員不需要通過串口直接存取GPS設備,而是透過GPSID提供的API由GPSID再去存取GPS,這樣一來,編寫出來的GPS應用程式具有設備無關性。另外,GPSID還有兩個好處:1.多個應用程式可以同時一個 GPS設備 2.不需要再去解析NMEA資訊 《以上出自Windows Mobile 6 SDK 中的 GPS 工具

能提供這麼好的API,寫起程式事半功倍阿,沒什麼好說的了,程式碼再簡單不過:
'自行加入參考:Microsoft.WindowsMobile.Samples.Location.dll (一樣在WM5 SDK內)
Imports Microsoft.WindowsMobile.Samples.Location

Dim gps1 As New Gps
Private Sub GPS_OPEN(...) Handles Button1.Click
If (Not gps1.Opened) Then
gps1.Open()
End If
End Sub

Private Sub GPS_CLOSE(...) Handles Button2.Click
If (gps1.Opened) Then
gps1.Close()
End If
End Sub

Private Sub GPS_GET(...) Handles Button3.Click
If (Not gps1.Opened) Then
Label1.Text = "GPS NOT OPEN"
Else
Dim position As GpsPosition = gps1.GetPosition
Label2.Text = "經度:" & position.Longitude.ToString
Label3.Text = "緯度:" & position.Latitude.ToString
End If
End Sub

另外發現一個好東東Fake GPS,它可以模擬出GPS接收訊號的動作,而數據也可以自行定義,這個tool被放在WM6 SDK之中(C:\Program Files\Windows Mobile 6 SDK\Tools\GPS),如此programer就不用跑到戶外去傻傻的等了. 記得要配合GPS Settings把COM Port設定好.

Ref:
在WM6 SDK Sample下有兩支關於GPS的程式
GPSID相關:
Example GPS Intermediate Driver Registry Settings
Topic: GPS sample and Windows Mobile 2005

2008年5月28日 星期三

CameraCaptureDialog

延續上一篇,Windows Mobile 5 SDK提供了CameraCaptureDialog物件讓programer能夠存取device上的camera,算是一大福音啦,不過"拍照"這個動作卻一定要使用者用"手"去觸發,真是個半殘的東東. 真慘,非得用low level的function去實現:
Imports System.Runtime.InteropServices

<DllImport("CoreDll")> _
Public Shared Function FindWindow(ByVal className As String, _
ByVal WindowsName As String) As IntPtr
End Function

<DllImport("CoreDll")> _
Public Shared Function SendMessage(ByVal hWnd As IntPtr, _
ByVal wMsg As Integer, ByVal wParam As Integer, _
ByVal lParam As Integer) As Integer
End Function
* 注意"角括號"
* FindWindow可以用GetForegroundWindow()來取代
* SendMessage跟PostMessage相似,差別在於同步

關於SendMessage()內的做什麼用的可以參考這裡. 不過按下快門...算是那一類的Event?又帶哪些參數? 本來這個訊息是可以透過Remote Spy來獲取的,不過我的Spy卻有個大問題,是每次與device連線後,只能截取到第一則message,所以我一直重複開開關關就為了按下的一瞬間.
最後終結果 - Message:WM_KEYDOWN(0x100), WPARAM:0x0D, LPARAM:0
當然這東西會因不同的PDA而不同啦(我使用的是ASUS P535),你也可以在KEYDOWN_Enent中,WPARAM從0一直試上去...

Implement:利用程式去控制PDA自動拍照
按下button開啟CameraCaptureDialo,再利用timer去送出拍照及關閉的動作.
Imports Microsoft.WindowsMobile.Forms '這個要先安裝WM5 SDK,並且自行加入參考

Public WM_KEYDOWN As Integer = Val("&H100")
Public WM_CLOSE As Integer = Val("&H010")

Private Sub Timer1_Tick(...) Handles Timer1.Tick
Dim hwnd As IntPtr = FindWindow(Nothing, "Asus Camera")
PostMessage(hwnd, WM_KEYDOWN, Val("&H0D"), 0)
Timer1.Enabled = False
End Sub

Private Sub Timer2_Tick(...) Handles Timer2.Tick
Dim hwnd As IntPtr = FindWindow(Nothing, "Asus Camera")
PostMessage(hwnd, WM_CLOSE, 0, 0) '這樣關閉Camera會有問題
Timer2.Enabled = False
End Sub

Private Sub Button1_Click(...) Handles Button1.Click
Timer1.Interval = 5000
Timer1.Enabled = True
Timer2.Interval = 8000
Timer2.Enabled = True

Dim CCD As New CameraCaptureDialog
CCD.Owner = Me
CCD.Title = "MyCamera"
CCD.Mode = CameraCaptureMode.Still
CCD.InitialDirectory = "\My Documents"
CCD.DefaultFileName = "picture.jpg"

Try
CCD.ShowDialog() '這個function會在整個拍照動作完成才結束
Catch ex As Exception
'MsgBox(ex.ToString)
End Try

PictureBox1.Image = New Bitmap(CCD.InitialDirectory & "\" & CCD.DefaultFileName)
End Sub

關於這個問題找到四篇討論串:
1. SendKeys - MSDN Forums
2. How to press ok button to take picture automatically with CameraCaptureDialog?
3. CameraCaptureDialog in VS2005/CF2 - xda-developers
4. How to close Camera app after opening it using CameraCaptureDialog

* 意外發現一個好用的library-OpenNETCF,其針對Windows Mobile or Windows CE所設計,算是用來補足.Net Compact Framework 2.0. 至於有哪些好東東請參閱Table of Content
這個library是要錢的,若想試用可以考慮到對岸的網站找找

Windows Mobile開發相關:
Code Samples for Windows Mobile
Microsoft .NET Compact Framework 開發常見問題解答
AppleSeeker's Tech Blog - 博客园

2008年5月27日 星期二

Program in Windows Mobile 5.0

這學期唯一修的一門課-多媒體嵌入式系統,蠻有趣的,主要是以實做為主.
期末專題要在Mobile Device上開發,跟同學一起想了一個屌屌主題-『全民來抓姦』
『太太,您手中有這利器,還需要怕第三者嗎?』這是設計的動機

認真的畫了兩張架構圖:

這個功能是用來隨時監控另一半的動向,配合Google Map位置無所遁形阿!(前提是PDA要乖乖帶在身上)


這個則是有點像偷拍的功能,從遠端可以控制PDA拍照並傳回.

最大的難題就是如何去控制PDA上的GPS,Camera.而最大的挑戰則是解決無線網路下傳輸可能遇到的問題,如資料重複傳送,傳到一半斷訊.
還好挑到這台ASUS P535 with Windows Mobile 5.0,其有針對GPS與Camera提供API. 找了一些相關資料還未整理...
而Server方面使用ASP.Net+Database,算是老本行了.

ref:
GPS相關
GPS Tracking with Windows Mobile 5.0+
基于Windows Mobile 5.0的GPS应用程序开发

Camera相關
Windows Mobile Developer Center - SHCameraCapture
使用 Windows Mobile 5.0 中的圖片、視頻和照相機
cameracapture PDA等使用wince平台上 频捕获程序,vs2005 Windows CE

2008年5月15日 星期四

Big Trouble

今天解了一個大trouble,是什麼trouble?
近幾個月老是碰到網頁打不開,但bbs,MSN都正常的狀況。
但有時候就還蠻順的...

這種要壞不壞的問題最難解決了
剛開始以為Firefox外掛害的,移除之以後果真變正常,但一陣子又壞了
重裝Firefox,還用了免安裝版->失敗
用IE開有時可以有時不行,用對岸奇怪的軟體看看是不是IE被綁架->沒結果
改IP、關閉防火牆、檢查防毒軟體、重開機...甚至還懷疑網卡壞了QQ
這麼多變因交叉測試之下搞得我都快吐血,網路比別人慢學習也比別人慢阿
長期飽受這種困擾,幾乎是想要重灌電腦了-_-

ping 140.130.175.3 <- 對嘉大系上主機念念不忘
ping ptt.cc <- ok
ping yahoo.com.tw <- 失敗
突如其來的靈感,懷疑是DNS出了問題...
我使用學校用的DNS 163.28.112.1 與 163.28.113.1
把其中一個換成中華電信的 168.95.1.1 就...這樣解決了...
怪哉,莫非DNS壞了?而且還壞的不完全,edu.tw網域的還可以連(為何這麼說,因為ptt.cc是在ntu.edu.tw底下)
結論就是學校跟Hinet的混用啦~

後續:
這個鳥問題還是沒解決,不過今天似乎發現癥結所在...
在cmd下打netstat指令,發現一堆connection的狀態是TIME_WAIT,這些是開了firefox以後才產生的. 關閉firefox, connection的狀態變成CLOSE_WAIT久久不會中斷,這是中毒了嗎?到底要怎麼解決阿?


終於解決了,Avira Antivirus搞得鬼,從註冊版改成free版的就ok了,莫非...

2008年5月12日 星期一

禮拜日晚上做了一個夢。
夢見我跟阿銘一起游泳到綠島去,但第二次出發的時候只剩下我一個人,旅途上浪很大,我感到恐懼孤單,還沒到達目的我就醒了。
為什麼會做這樣夢?我思考了很久...

後來找到一位解夢大師,請他替我開導。他說:
『應該是你對目前的生活感到不滿不順利,希望逃離去另一個環境,所以你想到了畢旅去的綠島,它代表的是一個可以放鬆的地方,至於有我的出現,應該是你希望可以跟朋友出去玩,到一個無拘無束的地方。至於第二次只剩自己一個人,是因為你害怕自己一個人離開,你對前方有什麼東西抱有不確定性,所以雖然你同樣游向綠島,希望到一個可以放鬆自己的環境,你朝這個方向前進,卻對自己沒信心,雖然知道前方的美好,可是卻無法跨越過去。
結論是,你該找個時間放鬆一下了,下次可以考慮在夢裡造一艘船,叫幾個人,當然還要有我,一起搭船過去。』

看出來了嗎?其實解夢大師就是阿銘啦~我覺得說得蠻切合我的處境,有安定人心的效果,很高興他找到第二專長了。

近幾個月一直徘徊在低潮期,在煩惱課業上的ooxx,這些寫出來就是一連串的抱怨啦,我像是喜歡抱怨的人嗎~科科。就往好處想摟,處在逆境中人生才有新的體悟。

撇開這個不說,最近找到新房子了,六月底就可以搬過去,終於不用再睡頂樓了。
離學校很近,生活機能好,週邊設備俱全,房東女兒很正...
後來跟學長聊到這邊的環境,越說跟他住的地方越像,原來我們房間就在斜對面QQ

Google Map

弄了一個地圖專區(在左邊⇐),來記錄在台南的生活點滴,吃過的餐廳,想去踏青的地方...
在Google Map裡除了標示地點,還可以寫一些心得,放幾張代表性的照片,不用打一長篇的敘述,很適合我這種懶人.
Google Map有提供API可以使用,可以拿來動態的標示地點,畫路線,結合自己的資料庫創造出不同的世界. 像是在GMap->我的地圖->推薦小工具,就有一些令人驚艷的好物,像是Panoramio 照片集-把全世界的景點照片都連結到同個地圖裡.之前有人把無名相簿跟地圖結合,讓你認識全台各地的美女.其他還有"全台國道即時影像","微笑台灣319鄉"都讓我感到特別. 有朝一日我去環島,就可以開個地圖把沿途景點通通擺上來啦^^. 主要還是跟大家分享一個寫網誌的方式啦.

Map Channels是一個把GMap包裝起來的網站,提供一個更完整的介面來顯示使用者的圖資.這東西的使用方式很簡單:
1. 到Map Channels加入會員
2. 顯選右上角Create New Map Channel
3. 填寫Data Source(就是GMap的連結),按下Creat就可以得到內嵌的html語法


在這邊提供兩個可以把GMap嵌在blog的方法:
1. 在"版面配置"中新增一個"html widget",然後把上面的語法直接貼進去
2. 利用圖層的觀念+一些javascript,一樣是把語法貼在"html widget",不過顯示的位置可以自己調整
<div id="GMap" style="visibility:hidden; position:absolute; top:10px; left:90px; z-index: 9;">想顯示的東東</div>
<script type="text/javascript">
function click(){
document.getElementById("GMap").style.width = 800;
document.getElementById("GMap").style.height = 500;
document.getElementById("GMap").style.visibility ="visible";}
</script>

不過讀取大量的圖資會造成使用者的負擔,所以就在想javascript有沒有動態讀取的方案-
改變iframe的src屬性:
<iframe id="Iframe_GMap" iframe_gmap="" src="" scrolling="no" ...>
<script type="text/javascript">document.getElementById("Iframe_GMap").setAttribute("src", "http://www.xxx...");</script>

其實我也不太懂javascript的執行先後,為何改變src後就會重新loading?
反正這樣就可以在使用者點選以後再去讀取摟,使用多個map也ok.

ref:
syshen's blog:Google Maps API 簡易使用文件: 寫得蠻清楚的,不過目前用不到
如何在Blogger使用UrMap/Google Maps API之HTML: 提醒一些要注意的地方,像是blogspot會自動換行的問題.

2008年5月3日 星期六

Porting MySQL

同樣的事情對岸也有人做過了,照本宣科.
下載: mysql-5.0.51b.tar.gz

./configure --prefix=/home/showtime/mysql --build=i386-linux --host=arm-linux --with-charset=utf8 --without-debug --without-docs --without-man --without-bench --with-named-curses-libs=/home/showtime/mysql/ncurses-5.6/lib/libncurses.a遇到下列錯誤:
1) checking "return type of sprintf"... configure: error: cannot run test program while cross compiling
2) checking for atomic operations... configure: error: cannot run test program while cross compiling
3) checking for int8... configure: error: cannot run test program while cross compiling
4) checking for restartable system calls... configure: error: cannot run test program while cross compiling
5) checking if conversion of longlong to float works... configure: error: cannot run test program while cross compiling
6) error: Your compiler cannot convert a longlong value to a float!
在網路上搜尋發現這幾個似乎是常碰到的問題,表示此版本的mysql尚未支援corss-compile
看別人的解法是直接略過configure裡面的測試(不知道使用的時候會不crash?)
configure script裡在checking若遇到錯誤就會中斷
於是移除上方這些測試的離開語句{ (exit 1); exit 1; }; (請注意大括號的配對)

參數--with-named-curses-libs是因為錯誤訊息: checking for termcap functions library... configure: error: No curses/termcap library found
請自行下載ncurses,並cross-compile
./configure --host=arm-linux && make

mysql configure通過後, make && make install
將install的東西copy起來準備到target上測試

將lib放到正確的路徑,或使用link達成
開始安裝: ./mysql_install_db --user=root
出現錯誤:
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option

執行hostname看看名字是什麼
新增/etc/hosts
127.0.0.1 localhost
127.0.0.1 你的hostname
再安裝一次,成功了.

啟動server: ./mysqld_safe --user=root & (有時後會失敗,但重開機後又正常?)
建立密碼: ./mysqladmin -u root password 'your password' (這一步應該可以省略了)
連接server: ./mysql -u root
成功連接上以後就會出現歡迎訊息
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51b Source distribution

稍微測試一下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
mysql> use mysql;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL ser
ver version for the right syntax to use near 'user mysql' at line 1
(不知道為什麼)
mysql> use test;
Database changed
跑一下mysql tutorial的sample
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
-> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
mysql> SELECT * FROM pet;
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+-------+---------+------+------------+-------+
1 row in set (0.00 sec)

大致上都還蠻正常的;)

ref:
MySQL Typical configure Options
mysql數據庫在arm+linux平台上的移植

2008年4月30日 星期三

Porting Qtopia 4.3.3

這次編譯還算順利,參考人家編譯過的經驗.
Hardware: III PXA270 Platform
Software: QT-X11, Qtopia 4.3.3, Cross-Compile 3.3.6

Install QT-X11 in Ubuntu
sudo apt-get install qt-x11-free-dbg
使用到的執行檔都會安裝到/bin底下,編譯Qtopia的時候就會自行取用

Install Qtopia
下載 qtopia-core-opensource-src-4.3.3.tar.gz
解壓縮到/opt底下
改個名字 mv /opt/qtopia-core-opensource-src-4.3.3 /opt/qtopia
把Toolchain路徑加到$PATH
export QTDIR=/opt/qtopia
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
開始編譯
./configure -embedded arm -xplatform qws/linux-arm-g++ -qt3support -depths 16 -qt-libjpeg -qt-mouse-linuxtp -no-stl
make
-xplatform參數對應到所使用的toolchain,若使用不同的請到./qtopia/mkspecs/qws/linux-arm-g++/qmake.conf去修改
我使用P4 HT 3.2G 大概要40分鐘

完成後,所需要的library都在qtopia/lib底下包括font檔
libQt3Support.so.4.3.3
libQtCore.so.4.3.3
libQtGui.so.4.3.3
libQtNetwork.so.4.3.3
libQtScript.so.4.3.3
libQtSql.so.4.3.3
libQtSvg.so.4.3.3
libQtXml.so.4.3.3
包含link也一併copy起來.我是用隨身碟來存放,格式化成ext3格式就可以存link了
接著再拿./qtopia/example下的範例程式測試

記得在target上執行時要先link一下路徑,因為執行程式的時候會去target上的/opt/qtopia/lib找library
另外我還出了一個錯誤:
QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtopiaCore-4.3.3-arm/lib/fonts - is Qt installe?
"/usr/local/Trolltech/QtopiaCore-4.3.3-arm"算是他預設的安裝路徑,不知道為什麼沒改變? 可能是configure的時候要加prefix參數吧? 沒關係一樣用個link就可以解決

執行起來沒什麼問題,畫面明顯比QT3好看(是錯覺嗎?)
另外我使用背景執行一次開兩個視窗是可以顯示,不過畫面卻不是很理想.

ref:
QT、QPE、Qtopia、Qt/Embedded、Qtopia Core 究竟是什麼?
小弟在Xscale PXA255上移植qtopia 4的經驗
qtopia-opensource-4.2.0交叉編譯記錄
configure參數中文解說

QT4 with IDE

之後要在Linux上寫視窗程式,先來熟悉一下開發介面.
QT與GTK+我會選擇QT,他有專屬的QT-Disigner-一套可以用拖曳來編輯介面的開發軟體,還可以設定屬性,事件...由於介面與程式碼要分開寫,所以還需另外一套利器QDevelop,這也是專門用來開發QT4程式的,他可以直接compile, test, debug, 免去key指令的步驟.

同樣是API,GTK+的我真不太會用,gtkmm算是把GTK再包裝一層,是不是比較人性化? 而GTK也有graphical user interface builder - Glade,有機會再來用用看.

在Ubutnu下使用APT安裝QT4sudo apt-get install libqt4-core libqt4-debug libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql qt4-designer qt4-doc qt4-qtconfig
剛裝好我還真的不知道qt-designer怎麼叫出來,原來是直接打指令 designer
qt4-qtconfig 是用來設定視窗介面的style
qtdemo 可以看到展示
assistant 可以叫出QT的教學電子書

QDevelop請到官網下載,他有for Ubuntu的package
安裝好以後在選單上就可以看到了,開啟以後介面是中文的,不過他的文字相當模糊而且像是對岸翻譯出來的,建議使用英文介面,下達指令 qdevelop -l en 即可. 第一次使用可以參考Quick Start

透過這些工具很輕易就可以建立起一隻視窗程式. 再來就試著移植到arm的平台上.

ref:
What's New in Qt 4 譯: A Taste of Qt 4─Qt 4 初體驗
永遠的UNIX-介紹X Programming, GUI Library, GUI Toolkit

2008年4月29日 星期二

Porting GTK+ on DirectFB

移植GTK的過程真的很繁雜,要先編幾十個library.
過程請直接參考強者同學的網誌: GTK+ on DirectFB on Creator PXA270
遇到error時通常把message原封不動的拿到google搜尋都可以找到解決的辦法, 以下提供新手參考.

編譯glib-2.9.6時
Error: cannot run test program while cross compiling See 'config.log' for more details
Solution:
echo ac_cv_type_long_long=yes>arm-linux.cache
echo glib_cv_stack_grows=no>>arm-linux.cache
echo glib_cv_uscore=no>>arm-linux.cache
echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache
configure參數多加 --cache-file=arm-linux.cache

編譯atk-1.10.3時
Error: glib-genmarshal: error while loading shared libraries: /opt/DYNAMIC/lib/libglib-2.0.so.0: ELF file OS ABI invalid
Solution: 先將環境變數LD_LIBRARY改為空白, make後再復原

執行GTK程式時
Error: (!) Direct/Modules: Could not open module directory `/usr/myproj/usr/myproj/lib/directfb-1.0-0/systems'! --> No such file or directory
Solution: 可以看到路徑重複兩次, 不知道是為什麼. 自行建立link即可

Error: (!) Direct/Modules: Could not open module directory `/usr/myproj/usr/myproj/lib/directfb-1.0-0/gfxdrivers'! --> No such file or directory
Solution: 在編譯directfb的時候gfxdrivers已經選擇none, 應該是不需要額外的driver才對, make一個空的資料夾可以過

Error: GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/myproj/etc/gtk-2.0/gdk-pixbuf.loaders': No such file or directory
Solution:
在target執行/usr/myproj/bin/gdk-pixbuf-query-loaders > /usr/myproj/etc/gtk-2.0/gdk-pixbuf.loaders
參考: problem with realplayer

Error: (!) DirectFB/FBDev: Panning display failed! --> Invalid argument
Solution: (目前未解)

Error: No fonts found; this probably means that the fontconfig library is not correctly configured. You may need to edit the fonts.conf configuration file.
Solution: 修改etc/fonts/fonts.conf, 加入字型檔的路徑
然後把字型複製到預定的路徑裡面, 可以是windows的ttf

Error:
Gdk-DirectFB-WARNING **: gdk_window_set_keep_above() not implemented.
Gdk-DirectFB-WARNING **: gdk_window_set_keep_below() not implemented.
視窗畫面上的toolbar都顯示不出來, 不支是否跟這有關係
Solution: Warning而已不用理他, 強者同學說沒有window manager的觀念所以視窗不會有toolbar

Ref:
GTK+ on DirectFB on Creator PXA270
Porting GTK+ on DirectFB
與afreez一起學習DirectFB之:編譯最小的DirectFB

2008年3月15日 星期六

鹿鳴山

這是上個月老伯載我們去爬山的照片。

鳥瞰南化水庫、陰森森的神秘階梯

登頂合照。其實只走了幾百公尺QQ

好心人的背影。叔叔阿姨請我們吃中餐

老伯開車英姿。Play Boy太陽眼鏡

其實這次計畫還要去關山村,那是全台最大的村莊擁有最少的人,位居里山脈支脈的延伸,昔稱「西阿里關」。特殊的景點『大地谷』只有在2~4月枯水期的時候會露出來,問了一下當地居民要步行40分鐘才會到就放棄了QQ。其他還有千層瀑布、瑞峰國小、出火奇景算是蠻原始的風貌,希望四月份能夠再探訪一次。
壹蘋果旅遊王-台南 南化關山林 山林溪壑別有洞天

2008年2月24日 星期日

自製電腦遙控器

基於在被窩裡想操控電腦又懶得下床,於是就想搞一個來玩玩。其實最初的目的只是想操控聲音的大小,同學說可以用機械式的馬達外接在後面再配合紅外線模組...這對我來說太難了。後來在網路上搜尋一下,用遙控器控制電腦這議題已經有很多人做過,在市面上也找的到商品,如:ATI Remote Wonder。功能上不僅限在調整音量,替代滑鼠鍵盤都沒問題,透過script撰寫更複雜的動作都能完成,端看個人需求摟。

原理不外乎利用遙控器發射命令,紅外線模組接收/解碼,訊號透過com port或usb傳送到電腦內部,常駐程式針對不同的命令去做對應的事情。軟體方面相當純熟,WinLiRC、IRCtrl、Girder...不過不同的軟體所接收訊號的方式也不同,所以硬體製作也不同。

我是按照mobile01的Jetter大的文章製作,他的電路算是最簡單的,使用的接收器也找台灣比較容易買到的。過程中最難的莫過於採購了吧,我也是第一次進電子材料行,琳瑯滿目的,還是請老闆幫我找比較保險。而其困難之處就是往往買不到一模一樣的材料,像我的接收器腳位就跟文中不同。最好問清楚型號方便上網查規格,沒型號的話至少要問各腳位是接什麼的,建議新手還是多找幾間比較保險,記得要買適合一般電視要控器頻率的(38kHz)。電路如果有異動,最好是重畫一張,不然一直對照真的超累。材料費大概50~100,前提是要有"工具"。遙控器的話...先拿家裏面現成的來用用看(冷氣機、電視盒)。


『完成品』。 在Mobile01看到的都是裝在美美的盒子裡,這樣的手工算粗糙了~"~


這是我用的接收器款式,中間有一長條突出那面朝自己,接腳朝下 - 左:GND 中:Vcc 右:Signal(Vout)

以下是我整理的相關資料,有興趣可以玩玩。
1. [很好DIY] WinLIRC電腦萬用紅外線遙控器 - Mobile01 - 使用軟體WinLirc,配合WinLIRC Helper功能才齊全。WinLIRC Helper可模擬鍵盤滑鼠動作,內建系統命令(聲音大小、視窗最小化、視窗切換...),也可執行指定程式。建議把討論串看一看!

2. 自制遥控电脑完全手册-应用技术-自制遥控电脑-天极网, 《自制遥控电脑完全手册》补遗- 對岸寫的,使用IRCtrl軟體,版本到2.1有繁體中文化,功能很齊全。

3. 自制PC遥控器 - 放飞技术网

4. Implementation USB into microcontroller - 採USB介面

5. Remote control of computer

6. 電子元件及基本電學儀器的認識 - 電阻色碼、電容正負、二極體正負

2008年1月29日 星期二

尾牙

對於辛苦的研究生活,挑尾牙地點一定不會手軟-
王品台塑牛排』這種夢幻型的高級餐廳,能享用到的次數應該不多.


餐前麵包


法式杏鮑菇


松露鵝肝濃湯


台塑牛排


烤濃漿巧克力冰淇淋


法式烤布蕾


葡萄紅酒凍

上菜的順序是: 餐前酒→麵包→沙拉→湯→主餐,酸梅湯,配菜→水果→甜點→飲料

意猶未盡是那多汁的杏鮑菇,真的夠嫩,配上法式芥茉醬或義式香醋汁都很搭. 松露鵝肝濃湯聽起來就很補,太濃郁的關係我喝起來有點膩. 牛排真的很紮實,大概8公分厚吧,中式風格都是全熟,嫩度還可以,口感偏乾,大概是吃慣5分熟的.個人偏好沾上醬汁來吃,蠻獨特的有回甘的感覺,另外佐料還有海鹽跟大蒜,搭配上酸梅湯吃起來比較不會膩.不過到主餐時在座都覺得不是那麼餓,多少都會影響到口感,這可能跟上菜的速度有點關係. 點心的部份真的很精緻,每一樣都讓人想品嚐.

服務算是週到,剛就座時等了一段時間都沒有人來,針對這點他們還特地招待一人一杯雞尾酒. 過程中也不時會來清潔桌面,茶飲也會主動詢問是否續杯.
整體來說算很精緻,量足夠一般人吃到很飽,不過我認為東西要好吃還是要少量多樣.

期末心得

碩一上結束了,在專業領域上似乎才懂個皮毛,很難想像畢業的學長怎麼實力這麼堅強,莫非之後的日子更難過了?

這學期修了四門課,沒有太多時間做自己的研究,有點超過. 兩門是跟自己走的方向比較相關,另一是『個人軟體程序』,主要是在探討個人開發軟體的過程,事前的規劃,事後的自我評估,最終目標在提昇軟體品質.coding只是將邏輯轉換成電腦看得懂的程式碼,在開發階段只佔了一部份,漸漸要能了解這道理.

還有一門課是『保健科技特論』-主要在講中醫氣血循環的部份,光聽名字就知道是涼課,大概是電機系老師害怕學生被操出病來所開的.修課人數兩三百人,好大一間階梯教室.去上課的人大部分都是在補眠(冷氣有點強要穿外套),不然就是看paper,一些人會專心聽,不過我很少去也只是猜測,每次都是快下課的時候再跑過去點名,這現象也變成常態了.期末考大家排排坐互相照應,兩三個人用一本書邊抄還邊笑,還有不認識的來問答案QQ.老師人真好.

在這新環境裡認識不少人,Lab的同學都很講義氣,砲口一致對外,學長會主動幫忙我們,這點真的很感動. 不過也有遇到別的實驗室的學長就愛擺一副屌樣,說話頤指氣使,此風不得長阿. 研究生的環境也越趨近職場,自私的人不在話下,一些人就真的只會把自己的分內做好,不會想多問你一句,只能說他們善於保護自己吧,畢竟時間對於一個研究生再寶貴不過.我還是保持一貫的作風樂善好施,量力而為摟.

寫過一次國科會需求報告及計劃書(CMMI這東西很難搞),執行中的案子一件,時間到6月底.除了這個以外,希望下學期能夠多花點心思來念paper,了解目前發展的情況,還有哪邊可以做的...
『Master』就是要擁有獨立思考的能力,學習只是個過程,思考相對來的重要,適時的提出看法,讓別人注意你信任你.
在我們這個年紀,已經有能力去決定要平凡過一生還是出人頭地.
對於未來 會有憧憬,要如何去實現,靠一步一步的規劃摟.

2008年1月9日 星期三

aMSM 0.97

Install aMSM 0.97 (12/25/2007)
Download source file
tar -jxvf amsn-0.97.tar.bz2
./configure
make
make install


Error message: checking tcl build dir... configure: error: Unable to find Tcl directory or Tcl package is not tcl-dev
apt-get install tcl8.4-dev
Error message: ./configure: line 3482: /usr/local/lib/tkConfig.sh: No such file or directory
apt-get install tk8.4-dev

2008年1月1日 星期二

新市花海

從ptt台南版得知這個資訊, 趁著元旦跟內人跑去晃晃.
以往都是在照片上看到, 這次能親身體驗身在花叢裡的感覺.

一望無際向日葵


迷惘的小孩


遊客 高鐵

台南地形平坦, 想看座山都要跑一段距離, 傍晚去了神祕的地方-草山月世界, 這個地方有印象是在國小的地理課本吧? 不過是在台南左鎮鄉岡林跟真正的月世界好像還有點距離@@\
很久沒有騎車上山的感覺了, 隨行還有老伯跟她女朋友, 是他們帶路的. 山上蠻冷的待不久, 相機也沒電了, 下面這張勉強擠出來.

光禿禿山丘

二寮就在附近, 板上也推這邊看日出不錯. 老伯有提到附近的308高地, 查了一下位於內門鄉和台南縣左鎮鄉, 龍崎鄉交界的一處高地, 標高308公尺, 可遠眺草山月世界及嘉南平原, 視野清晰時可看見台南海岸. 看來找到了一處秘密基地.