顯示具有 學習區 標籤的文章。 顯示所有文章
顯示具有 學習區 標籤的文章。 顯示所有文章

2015年12月7日 星期一

[Research] 研究生的學習與訓練

研究生的學習與訓練 (文章出處:http://blog.bs2.to/post/sltsao/14216,本文已取得原作者同意轉載)
一,前言:
又到了碩士班、博士班入學,尋找指導教授的時間,我很喜歡和同學分享經驗,但似乎最有效率的作法,是把他寫下來,讓有興趣的同學參考。這篇文章是希望整理自己在研究道路上的一些體驗,絕不是什麼定律,也絕不適用於每一個人,只是分享一些經驗,給同學一些參考或是借鏡。
二,瞭解自己的需要和目的:
說到研究生的學習與訓練,應該打從有了繼續深造的念頭說起,為何要花兩年時間唸個碩士,花個3-5年唸個博士呢?是因為大家都唸,不唸很奇怪?還是想要有多點收入,以後升遷容易?還是真的想從研究生的訓練裡來提昇自己的能力。我覺得首先必須清楚自己要的是什麼,唸個學位帶給自己的又是什麼?如果期待碩士帶給你的是加薪,升遷,我想念碩士應該不是一個最有效率的投資。對我來說,研究生是一個訓練,訓練自己更有效率地使用知識與資料,更有效率,更有系統,更科學的發現與解決問題。這個訓練的結果或許會反應到未來工作的選擇,工作內容上,但我相信這只是這個訓練的結果而不應該是碩士班訓練的目的。這個訓練是辛苦的,絕不是把24個學分的課修完,論文一交就結束了。如果你踏入研究所抱持跟我一樣的態度,是來訓練自己使用知識,瞭解與解決問題的能力,我想做為研究生的第一步,應該是讓自己隨時隨刻知道自己在研究生的訓練過程中該努力什麼,時時地警惕有無做到這樣的訓練。
三,找尋適合自己的研究環境:
決定了繼續深造這條路,接下來就是找一個適合自己的研究環境,現在爭取學校入學資格的方式與途徑很多,很多人都可以擁有數個選擇的機會。我想許多人面對的問題就是學校和指導教授的選擇,有人考慮延續大學的專題,繼續留在系上,有些人則選擇出去闖一闖,開拓自己的視野。我的看法是,環境影響一個人,如果說大學的環境會影響大學生的風格與氣質,那實驗室將影響研究生的研究能力與態度。研究生與指導教授,實驗室伙伴的關係遠遠超過學校對研究生的影響,所以大部分的人都會同意我說,碩士班或博士班的訓練應該以指導教授和實驗室為選擇的主要考慮,所以找一個適合自己的指導教授和實驗室是很重要的。在這裡我說”適合或不適合”,應該是從自己學習的個性,指導教授訓練的方式與專業能力,實驗室專長與研究重點,實驗室其他成員的程度與軟硬體設施幾個方面來考慮,在說明尋找一個適合自己的環境之前,請容許我就個人的經驗來談談到底什麼才是選擇環境的主要考慮。我覺得指導教授是重要的,因為他影響實驗室的風格和你之後兩年的訓練,實驗室同儕是重要的,因為人多半近朱者赤,環境帶給人的影響通常遠比自己帶給自己的影響來的大很多。指導教授的重要,並不全然取決與指導教授的專業能力,而是在學生與老師互動的關係上,適合自己的老師遠比能力強的老師來的有影響,所以並不見得到其他的學校,找其他的老師會比留在系上跟自己熟悉的老師來的有幫助。但是值得注意的是,在選擇任何環境之前,必須思考這個環境帶給自己的優缺點是什麼,什麼是這個環境所缺乏而你又希望在碩士班的訓練中得到的。舉個自己的例子來說,我當年選擇繼續留在系上讀碩士班,博士班,是因為我對系上的環境和老師十分熟悉,幾乎不用花任何時間在適應環境上,可以把所有的時間投入做研究或訓練自己的其他能力,但我知道我缺乏國際觀的訓練,所以我時時刻刻注意自己的英文能力,爭取參加國際會議的機會,我知道我缺乏大環境的衝擊與刺激,所以我利用研究之餘的時間到中研院,工研院工作,學習不同的工作方式,工作態度與專業技術。尋找一個好的環境是極為重要的,在已經選定的環境中,因應客觀環境訂定適合自己的學習方法和方式更是重要。所以我必須要說,找一位和自己學習方式,態度能配合的老師是重要的,如果你很清楚自己獨立慣了,希望能走出一條自己的路,不妨找一個可以讓你大顯身手的老師,如果你需要嚴格的訓練,那不妨找一個要求嚴格,已有一條明確道路的老師。所以很清楚的要找一個跟你能配合的老師,我想很多人都會建議,不妨在選擇老師之前,和老師談談,和實驗室的同學,學長談談,我想更重要的事情是搞清楚自己的研究態度和學習方式,才能找到一個適合自己的老師。
四,改變吸收知識的方法:
決定了繼續深造也找好了學校老師,接下來就是進行一連串的訓練,研究生的訓練因指導教授而異,因人而異,也因研究領域而有不同,在這裡只是試著列舉些個人經驗和大家分享。在大學時代,我幾乎是跟著老師跟著課本,一步一腳印地學習所謂的基本知識,到了碩士班,我吸收知識的方式有了很大的改變,我幾乎沒有看完任何一本書或是論文(其實在大學時代我也沒有好好看完一本書),吸收知識的方式幾乎都是問題導向,遇到一個問題,思考一個問題,尋找跟這個問題有關的資料,閱讀和這個問題有關的章節,舉個例子來說,我不瞭解PC的開機程序,我想知道從我打開電腦電源直到Windows 2000提示我輸入帳號密碼之間發生了什麼事情,我找了有關於PC,Windows的所有資料開始閱讀,做些實驗,我慢慢瞭解開機之後大概會先做執行BIOS,POST檢查等等,完成之後會檢查硬碟分割表,在執行Windows開機,我發現我對BIOS那段還不是很確定,於是我繼續尋找PC BIOS的程序與資料,繼續展開問題,繼續研究。所以我不斷的展開問題與學習,我看了很多書的很少部分,可是讓我對一件事情,一個問題有完整的認識與瞭解。這樣以問題為導向的吸收知識的方法是我在研究生的訓練過程中常常使用的,比較有效率,但是必須建立在對專業知識有基本的認識之上。
五,蒐集與整理資料
研究生蒐集與整理資料是基本能力,現在蒐集與整理資料比起我那個年代(雖然沒有差幾年)是方便多了,我以前幾乎一個星期要跑圖書館數十次,西文期刊室,微片光碟閱覽室是我流連的地方,現在網際網路發達,上Google,IEEE Explorer隨便一個Key Word都可以找到一堆的論文,報告,資料的蒐集方便,來源非常多,相對起來資料的整理便顯的更加的重要,看完資料不加以吸收整理,時間一久,其實跟沒看沒什麼兩樣,花十分鐘的時間看資料,也花十分鐘的時間整理資料是有必要的。把資料讀完,用自己的文字記錄自己所得到,是一件一定要做的工作,以前我學長教我每讀完一篇資料,在筆記本上紀錄這篇資料的重點,和對於這篇資料的一些有系統或是隨意的想法,定期的閱讀這些想法和資料將有助於研究,事實證明這樣的方式幫我整理出了許多研究的問題與解決方法,更進一步,我現在我在電腦上做資料的整理,慢慢建立一套屬於自己的資訊庫系統,一個研究課題,一個技術,可以透過一個自己熟悉而且有效率,有系統的方式找到,一些隨意的想法,和一些片段的研究過程可以透過這種方式保存與重新咀嚼。此外國內外相同領域的實驗室,會議,論壇,研究人員的整理也是必要的,透過與國內外專家的討論,使遠比埋頭苦讀來的有效率的。在這裡有個重點希望和大家分享,身處與資訊爆炸的時代,資料的整理遠比資料的取得來的重要,不經整理的資料,永遠都只是資料,不是知識,透過同儕或是相同領域專家的激盪與討論,遠優於埋首苦讀。
五,學習思考:
剛剛提到閱讀資料和整理資料,一個很重要的關鍵在於閱讀資料和整理資料都需要思考,思考是需要學習的。我常常覺得國內教育最值得爭議的地方在於對思考的訓練不夠(最少在我那個年代是這樣),我在國中的時候幾乎可以看到題目的前幾個字就可以作答,很多時候我根本不知道問題,就已經有了答案。我常常以為知識的可貴在於知道問題,而不是知道答案。以答案為導向的訓練會讓人喪失發掘問題與思考的能力。希望大家沒有這樣的困擾,如果有,則需要開始學習思考。我前一陣子幫華碩R&D的工程師上課,課後他們希望我可以與他們分享一些學習上的經驗,我以一句話和他們共勉~”資料和知識最大的差別在於,資料是別人整理的,知識是自己整理的。打開書本閱讀和閡上書本思考是一樣的重要。”看完資料,閡上資料,先別管別人的方法是什麼,先問自己讀了什麼,問題是什麼,如果是你,如果解決,想不出方法了,再看看別人怎麼做。所以我看論文是三段式的,先試著瞭解問題,放下論文,思考問題,如果問題有意義,我需要,我開始思考如果是我,我怎麼做,經驗告訴我常常”我的解決方法”,和”別人的方法”相似,但是那是我的解法,是經由我大腦思考出來的解法,如果想不出方法,在去看論文的後半部,思考他的方式和技術,第三個階段則是瞭解完問題和答案後再回去思考問題本身,常常你會發現其實還有問題。我不是什麼聰明的人,如果我是這樣,我相信工科系的其他學生也會如此。我記得學弟曾經問我,在碩士博士期間,需要看多少論文,我看了多少論文,答案是我真正看完的論文少的可憐,絕大部分的論文只看Introduction就停下來。但是重點是我花了遠超過讀論文的時間在思考論文想要討論的問題。
六,發掘問題:
以前聽過一個故事是這麼說的,一個東方的小孩回家,父母會問他的小孩,今天在學校回答了幾個問題,一個西方的小孩回家,父母會迫不及待的問他,今天在學校問了幾個問題。我們受的訓練的確是這樣的,是一個回答問題的訓練,當然這無所謂對錯,只是訓練的方式不同,回答問題和提出問題都需要思考,但是沒有經過思考的答案和問題都是沒有意義的。在研究生的訓練過程中,學習發掘問題是重要的一環。如果你問我,我如何找問題,如何知道什麼才是有意義值得研究的問題?我的答案是這也需要訓練,我常常從別人的研究裡找問題,這也是許多過來人給的意見,但我也從自己的研究和自己的工作經驗裡找問題,我常常覺得問題通常是遇到了才知道,所以有些人建議讀碩士前應該有工作的經驗,因為從工作之中,你才會遇到問題,才會逼迫著你去找尋答案,在學校,你通常在看到問題的同時也得到了答案,所以對於發掘問題的訓練,我覺得一方面從別人的研究與經驗獲得,也可以透過動手的經驗(比方說碩士課程中對於Project的研究)找到靈感。Well define你的問題和問題的發掘一樣的重要,任何一個問題都必須瞭解前因後果才有意義,無病呻吟的題目雖然可以完成論文,但不會有意義。在國外技術人員在解決問題之前,一定作兩件事情,一是Problem Statement,清楚定義你的問題,二是Requirement Statement,說明你要Target的目標。任何問題都需要明確的描述,才能確定問題的Target和目的(Objective),不然往往你會花了很多時間作一個問題卻被一個很簡單的假設所擊倒。
七,建立模型,尋求解決方法並科學化地驗證:
清楚地瞭解問題,接下來就是替你的問題建立模型(Model)並找到解決方法,能否有效率,科學地找到一個方法或是給予問題適當的模型,或是開創自己的一套理論系統,常常需要仰賴基本知識的根基,把一個問題用科學化或數學化的方式描述和定義有助於思考問題,但建立模型需要基本知識的根基和訓練,並沒有一定的規則或方式可以遵循,在研究生的訓練過程中,科學化系統化的建立問題模型,並找到答案也是重要的訓練。有了模型,有了方法,接下來需要驗證,系統化的驗證在科學的過程中是非常重要的一環,如果一個方法比另一方法好,則必須需先訂出比較的方法,最好有科學的量測方式和參數(Index),有一般解或是Close Form當然最好,或者是實驗或是模擬證明都是一個完整研究所不能或缺的。研究的過程一個Iteration,所以在任何一個點,都需要重回前一步驟或是最先的步驟來重新思考,檢查,或者是從新來過,透過研究過程數個步驟的反覆進行,才能使研究趨於完備。
研究生的訓練當然不僅與如此,拉拉雜雜說的一大堆,希望對大家有些幫助,剩下的部分需要大家自己去思考,去發掘,我就在此打住,最後和大家分享一些自己的零碎經驗,希望對大家有幫助。
第一,人是習慣動物,要試著養成好習慣:讀書,作筆記,思考,生活作息等等,我記得曾經過了一年十分有規律的生活,早上6:00起床,跑步到8:00,9:00上班,5:00下班,7:00坐上書桌聽一個小時英文,8:00-12:00寫論文,在那一年裡面,我寫了20多篇論文,完成了博士班絕大部分的工作,我並不特別,而是持續而規律的習慣是很驚人的,別忘了如果我第一天給你一塊錢,之後每天給你前一天1倍的錢,如果你在連續第29天都拿而在第30天放棄,那你第30天損失的將超過你前29天的總和,學習也是這樣子的。
第二,時時警惕自己:辛苦工作不見得會成功,但是成功的背後一定是一段辛苦的過程,如果你覺得生活過得很愜意,你也許需要警惕自己是否鬆懈,當然並不是研究生都必須過得很辛苦,而是陶醉在研究的同時,通常在別人看事件很辛苦的事。訓練的過程中,別給自己太多的藉口,也別輕易放棄。
第三,從失敗中學習經驗,在逆境中成長:人要從成功的例子裡學到什麼我覺得很難,通常都是從失敗的例子裡學到東西(因為那會痛,會有深刻的印象),研究的過程中就好像人生,不可能一直順遂,你必須對時常發生的艱苦狀況有心理準備,並學著從逆境中爬起,我常常跟學弟妹說,如果你在學習的過程中覺得很難過,很痛苦,很沮喪那是必然的,因為每個人都是這樣,沒有人例外。放棄問題,你會不再痛苦,但你也享受不了挑戰問題之後的喜樂。我記得我碩一的時候到工研院報告我的一項研究成果,幾乎被評審委員批評的體無完膚,在之後的三天裡我幾乎食不下厭,一言不語,三天之後,我想出了解決方案,我不應該放棄,我應該正視我研究上的缺失,改進問題,直到現在為止我再也沒有遇到這樣的困境,我在博二暑假的時候,獨自到美國Bell Lab.工作,我在美國沒有親友,也是第一次到國外工作居住,剛去的前幾週,我必須自己處理工作,生活(或者我應該用”生存”更貼切些)的所有問題,工作的壓力和自我的要求讓我常常躲在房間,面對窗外,一面想家,一面痛恨自己沒事幹嘛來這裡受苦受難,但幾週之後,我開始感謝我當時的”錯誤決定”,在美國的那段時間可以說是煎熬,但是也學到很多。人深處逆境,在受苦受難的時候應該高興才對,因為你在之後的某一時刻會發現,這一切都是最好的安排。
第四,勇於接受挑戰:我說YES的次數,遠超過NO的次數,雖然有時候不知道如何說NO會把自己弄得很辛苦。但是勇敢接受挑戰是很重要的,有了較多的經驗與歷練,就會有更多成功的機會。在許多時候,不需要計較事情做多做少,也無須計較是誰的工作或是誰的成就,經驗與歷練是沒有人可以從你身上拿走的。勇於把自己丟在一個惡劣的環境,一個嚴格的環境和監督之下,把自己的研究丟出來讓大家批評,勇於接受挑戰,我常常覺得如果我25歲跌倒,可能爬的起來,但是我52歲跌到,可能就很辛苦了。勇於接受挑戰,勇於嘗試自己沒有的經驗和歷練,用樂觀積極的態度面對困難,這是我在研究生和在工作上抱持的態度,也希望和大家共勉。
Reference:

2015年7月27日 星期一

2015年3月26日 星期四

[SpeedTest] SpeedTest by using cli command

1. Download python script
wget https://github.com/sivel/speedtest-cli/archive/master.zip
unzip master.zip

2. Execute the file
cd speedtest-cli-master/
python speedtest_cli.py

Result :
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from HiNet (60.251.203.7)...
Selecting best server based on latency...
Hosted by NCIC Telecom (Hsinchu) [1.80 km]: 8.563 ms
Testing download speed........................................
Download: 90.28 Mbit/s
Testing upload speed..................................................
Upload: 4.04 Mbit/s

Reference:

2015年3月24日 星期二

2015年3月11日 星期三

[Thesis] 論文研討

研究動機 :
  • 為什麼  - 為什麼要做這樣的研究
  • 發現問題 - 發現什麼樣的問題才開始做這個研究
研究目的 :
  • 了解 - 透過這樣的研究可以了解到什麼
  • 改善 - 透過這樣的研究可以改善到什麼
  • 應用 - 透過這樣的研究可以應用到那裡
Reference :

2015年2月27日 星期五

[冷氣] 坪數 卡數 噸數 換算


一坪約需450Kcal/hr,頂樓和西曬則需要500 ~ 550Kcal/hr.

坪數 = 室內空間的長(公尺)X 寬(公尺)X 0.3025

家裡書房為例:
長 : 3.05 (公尺)
寬 : 2.95 (公尺)
坪數 = 3.05 * 2.95 * 0.3025 = 2.72 (坪)-四拾五入算 3 坪

住頂樓
一坪 = 500 Kcal/hr.
所以要 3 * 500 Kcal/hr = 1500 Kcal/hr .

市面上的冷氣,有分
2200 Kcal/hr,2500 Kcal/hr,3500 Kcal/hr

三菱的冷暖氣機:
2200 Kcal/hr的冷暖氣機 和 2500 Kcal/hr的冷暖氣機,價位差700 ~ 800元,所以當然要裝2500 Kcal/hr的冷暖氣機

三菱 :
1分2
壁掛式
MSZ-GE 25
室外機
MXZ-2B50NA

費用共:58000(機身) +6000(安裝費)+3600(超出10米的管路費)

國際 :
1對1
室內機
CS-LX36A2
室外機
CU-LX36HA2

三菱 :
1對1
室內機
MSZ-GE 71NA
室外機
MUZ-GE 71NA

Reference:
冷氣噸數換算

2015年1月16日 星期五

2014年6月2日 星期一

[Learning Skill] How to learning new thing by using 20 hours


[Learning Skill] How to learning new thing by using 20 hours



video

Article



3 招聰明學習法 + 20 小時 = 學會新技能



很多時候大家學習一項技能並不是要成為專業人士,而是為了獲得樂趣、夠用就好。在確定要邁向世界高手之路前,你也得先讓自己試試 20 小時來上手。但囫圇吞棗、盲目碰撞無法讓學習一蹴可幾,而是要透過專注聰明地學習,並運用 20 小時練習讓你的成效立竿見影。喬許提出的聰明練習法,能幫助你的投入達到最高效能:



1.拆解步驟和任務:將你的目標儘可能拆解成小片段,就能看見有哪些目標要達成,接著決定你要做到哪個程度,選擇出最重要的部分開始練習。



2.學習到你能自行修正的程度:尋找一些可用資源輔助學習,但別讓資源阻擋你開始練習。例如,你可以找 20 本相關讀物,但別讓自己非得看完 20 本書才開始。學習到能看出自己的錯誤,並能自己修改的程度。



3.移除讓你分心的障礙物:學習時讓自己全神貫注,讓電視、電腦、手機,以及會讓你分心的事物都暫時消音,多一點專注力,確保學習過程不中斷。



4.最少練習20小時:一開始學習都會碰上讓人沮喪的階段,雖然笨手笨腳總讓人覺得自己很蠢,但那是學習的必經之路,只要堅持 20 小時之後你就能突破瓶頸,擺脫困境。



Reference:




 







 


2013年11月11日 星期一

2013年10月13日 星期日

2013年9月16日 星期一

如何撰寫碩士論文


資料來源:TKB/大碩企劃中心



論文撰寫的過程旨在訓練同學們︰養成獨立思考的能力、培養批判精神的態度與學習嚴謹做事的方法。對於目標就業的同學而言,撰寫論文的過程就是培養上述三樣 能力;對於欲升博班的同學,妥善規畫論文的撰寫,並提升其品質,計畫性的投刊,對升博班具加分效果。 



碩士論文的撰寫,最困難的為兩部份,一是題目的訂定,二為架構的鋪陳與撰寫。以下將以此兩部份說明撰寫技巧與注意事項︰ 



【題目的訂定】




對絕大多數的研究生而言,如何選定個人碩士論文的題目,是一個難題。而相較於博士班的論文重創新,碩士班的論文撰寫目的主要是訓練同學獨立思考、批判精神 與嚴謹做事的能力。因為題目是否具高度原創性非撰寫碩士論文的重心,所以同學在尋找題目上可由幾個方向來思考:



1.   由個人興趣出發

例如對網路行銷觀察時日已久,興趣濃厚。做個人有興趣的研究將比較不會覺得乏味。



2.   由文獻探討搜尋

藉由閱讀paper來尋找有趣的題目,不過此法不僅須具備讀paper的基本能力,更需精讀paper,才能在反覆的過程中,尋找出欲撰寫的題目。



3.   觀察實務問題

同學須在平日具多一點的敏銳觀察度或好奇心,也可以做出有趣的題目。如網路書店書書評的研究。



4.   小題大作

作研究最佳的境界,就是將一個微小的題目研究的很透徹。以「大象耳朵上的一根毛與蒼蠅腳上的腳毛」來譬喻小題大作的境地。同學能朝此概念發展題目。



5.   老師指定

最快速的方法即是由老師指定題目,如此一來,同學可能可以避免自行尋找所耗費的時間。 




【撰寫的架構】




一般論文架構分為五章,下以【網路行銷市場區隔關鍵成功因素之研究】此篇論文佐以說明撰寫論文的架構與注意要項︰ 



第一章   緒論



1.    此篇目的︰由第一章窺見全篇論文之內涵。



2.    內容項目︰










































項目




目的




實例︰【網路行銷市場區隔關鍵成功因素之研究】




  1.前言




說明研究一題目之背後動機




網路行銷市場區隔的背景與動機




  2.研究目的




說明研究之目的




網路行銷市場區隔CSF之發展




  3.理論基礎




說明研究之背後理論




網路行銷市場區隔理論 




  4.方法論




說明所使用的研究方法




關鍵成功因素法 




  5.研究範圍




界定研究範圍




台灣從事網路行銷市場區隔之廠商




  6.研究的重要性




貢獻為何




學術與實務貢獻   




 


 第二章   文獻探討



1.    此篇目的︰了解與本研究有關之其他研究的成果、及本研究與其他研究的關係,並指出本研究的重要性。



2.    實例說明︰



(1)    網路行銷市場區隔之定義



(2)   網路行銷市場區隔之關鍵成功因素



(3)   衡量網路行銷市場區隔之成功



(4)   關鍵成功因素法



 第三章   研究設計



1.    此篇目的︰說明達成研究目的所使用的方法。



2.    內涵︰



(1)    定性與定量的研究



(2)    資料蒐集與問卷設計



(3)    研究的信度與效度



(4)    抽樣設計的方法



3.    實例說明︰



此篇論文之研究設計為Triangulation method。

      



第四章   資料分析



使用統計工具將研究結果以數據或圖表來解釋之。

 



第五章   結論與建議



1.    此篇目的︰說明研究過程之總結、貢獻與建議。



2.    注意事項︰同學可於研究結果產生後,與企業進行訪談,彙整出此研究對於管理上的意涵,展現此論文的價值性。 



研究生之所以與大學生最大的不同之處,在於研究生必需撰寫碩士論文才能取得學位。而也是因為經過如此的訓練,才顯現出研究生的價值。同學們可以於入學前好 好思考未來目標、興趣,進而發展研究題目。在妥善的規劃下,同學的碩士論文一樣能達博士論文的品質!



Reference :




  • 如何撰寫碩士論文



2013年5月6日 星期一

[PCB Board] How to make PCB board

[PCB Board] How to make PCB board

1. Download EAGLE from internet

2. Make *.sch file.



3. Eagle will create a *.brd file from *.sch file.

I draw the purple line to make all component connect together.



4. Print this design to paper.

Put the paper on the UV Exposure machine。





Put the PCB board on the paper.







Put the PCB board into developing solution.





Then put the PCB into engraving solution.

Keeping the temperature of engraving solution is at 44 degree.



Drill the hole on the PCB board.



Put the component on the PCB board.



Finish. YA






Reference:

1. Get free PCB Design Software with the EAGLE Freeware version

2. DIY Arduino - 從洗電路板開始!(1)

3. Arduino Single-Sided Serial Board (version 3)

4. DJ Shield 2 for arduino


2013年3月4日 星期一

2012年6月19日 星期二

[POS] POS learning track

Database :
Mysql teach:
  1. [mysql] input data to database
JAVA tutor :
  1. POS教學影片
  2. Swing JFC
  3. Teach you lot of Java skill (Youtube)
Java Teach :
Java mysql :
NetBeans :

2012年2月22日 星期三

[ubuntu][tftp] ubuntu tftp setup - xinetd tftpd tftp

1. Install tftpd and related packages.

$ sudo apt-get install xinetd tftpd tftp

2. Create /etc/xinetd.d/tftp and put this entry:

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no

 

service tftp

{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /home/freeman/tftp
disable = no
}
 

3. Make /tftpboot directory

$ sudo mkdir /tftpboot
$ sudo chmod -R 777 /tftpboot
$ sudo chown -R nobody /tftpboot

4. Start tftpd through xinetd

$ sudo /etc/init.d/xinetd start or sudo /etc/init.d/xinetd restart

Reference:

2012年1月14日 星期六

[l2tp] Connect to Company Network Skill

touch /var/run/xl2tpd/l2tp-control

0. Install

sudo aptitude install xl2tpd

Correct one

1. Edit /etc/xl2tpd/xl2tpd.conf

;
; Sample l2tpd configuration file
;
; This example file should give you some idea of how the options for l2tpd
; should work.  The best place to look for a list of all options is in
; the source code itself, until I have the time to write better documetation :)
; Specifically, the file "file.c" contains a list of commands at the end.
;
; You most definitely don't have to spell out everything as it is done here
;
[global]                ; Global parameters:
debug tunnel = yes;

[lac testvpn]
lns = "The IP of remote of WAN IP"
name = "The authorize name of remote WAN IP"
require chap = yes
refuse pap = yes
require authentication = no
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd.client
length bit = yes

My /etc/ppp/options.xl2tpd.client of content

ipcp-accept-local
ipcp-accept-remote
ms-dns 168.95.1.1
ms-dns 8.8.8.8
ms-wins 111.2.1.2
ms-wins 111.2.1.4
noccp
auth
crtscts
idle 1800
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
logfile /var/log/xl2tpd.log

2. Edit /etc/ppp/chap-secrets 

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
"Account of remote WANIP"  *    "Password of remote WANIP"        *
abc  *    abc1234       *

3. Start daemon

xl2tpd -c /etc/xl2tpd/xl2tpd.conf -D

Create VPN tunnel
echo 'c testvpn' >/var/run/xl2tpd/l2tp-control

Wait for 2 second.
And type ifconfig will see ppp0


Destroy VPN tunnel
echo "d testvpn" >/var/run/xl2tpd/l2tp-control

4. Add "Remote WAN IP address" as LAN IP address
Go through gateway is depend on you internet

For example :
My internet setting is

wlan0     Link encap:Ethernet  HWaddr 48:5D:60:35:2A:B0
          inet addr:192.168.2.101  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::4a5d:60ff:fe35:2ab0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1321131 (1.2 MiB)  TX bytes:183435 (179.1 KiB)

So the Gateway is 192.168.2.1

route add -host "Remote WAN IP address" gw 192.168.2.1
ex: route add -host 1.2.3.4 gw 192.168.2.1

route add default ppp0

5. ping any machine of your company
ping x.x.x.x

If you get response.
Congratulation you are successfully.

PS1:

After step 5  using traceroute.

And traceroute 8.8.8.8.

Will see route packet to defferent way out


root@YA-laptop:~# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  10.10.101.1 (10.10.101.1)  63.703 ms  63.633 ms  67.763 ms
 2  222-222-222-254.HINET-IP.hinet.net (222.222.222.254)  103.519 ms  103.478 ms  103.439 ms
 3  h122.s208.ts.hinet.net (168.95.208.122)  103.399 ms  111.391 ms  111.351 ms
 4  SCZS-3101.hinet.net (220.128.7.82)  114.293 ms SCZS-3102.hinet.net (220.128.7.102)  111.269 ms  114.212 ms
 5  TPDT-3012.hinet.net (220.128.2.34)  118.192 ms TPDT-3011.hinet.net (220.128.1.90)  118.155 ms  122.301 ms
 6  TYFO-3011.hinet.net (220.128.3.105)  127.286 ms  175.703 ms TYFO-3012.hinet.net (220.128.4.105)  175.635 ms
 7  TYFO-3302.hinet.net (220.128.9.197)  139.454 ms 220-128-8-189.HINET-IP.hinet.net (220.128.8.189)  139.386 ms  139.349 ms

ifcnofig is :



ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.10.101.20  P-t-P:10.10.101.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1410  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:42 (42.0 B)  TX bytes:48 (48.0 B)

route is :

root@YA-laptop:~# route -n
Kernel IP routing table
Destination            Gateway            Genmask             Flags        Metric    Ref    Use   Iface
10.10.101.1              0.0.0.0        255.255.255.255        UH            0        0      0    ppp0
222.222.222.222        192.168.1.1      255.255.255.255        UGH           0        0      0    wlan0
192.168.1.0              0.0.0.0          255.255.255.0        U             2        0      0    wlan0
0.0.0.0                  0.0.0.0          0.0.0.0              U             0        0      0    ppp0
0.0.0.0                192.168.1.1         0.0.0.0             UG            0        0      0    wlan0

PS2 .

If you have use linux OS

You can type " route -n " to find out  what is the gateway you got.

HAPPY@HAPPY-laptop:~$ route -n
Kernel IP routing table
Destination        Gateway      Genmask        Flags  Metric   Ref   Use Iface
172.16.146.0      0.0.0.0     255.255.255.0      U     0        0     0 vmnet8
192.168.178.0   0.0.0.0       255.255.255.0      U     0        0     0 vmnet1
192.168.1.0        0.0.0.0    255.255.255.0      U     1        0     0 eth0
192.168.1.0      0.0.0.0      255.255.255.0      U     2        0     0 wlan0
169.254.0.0      0.0.0.0      255.255.0.0        U     1000     0     0 eth0
0.0.0.0         192.168.1.1     0.0.0.0          UG    0        0     0 eth0

The blue word is gateway.


vmnet8 & vmnet1 is IP address of VMware.

**********************************************************
Reference:


Comment :

I find so many document at 2:03 PM. I write it down at 20120106 at 2:51 AM. When 2:51 AM. My father saw my light was still light.He so angry come to upstair and yell me. So I must go to sleep.



2012年1月12日 星期四

[Fedora 10] build up TI code process

Fedora 10 build code process:

1. Install Fedora 10



  • pick up all sub-option under GCC option. ( Most important thing )


2. Compile toolchain



  • tar xvf Toolchain_01.tar


  • cd Toolchain_01 (Into this folder)


  • Insert code into build-toolchain.sh









    BUILDROOT_NAME=buildroot-2011.08

    PWD  = $(shell pwd)



    # Installation directory. Override this variable for a different destination

    if [ -z $TOOLCHAIN_INSTALL_DIR ]; then \

    export TOOLCHAIN_INSTALL_DIR="$PWD/../data/toolchain" ;\

    fi



    sh build-toolchain.sh


  • build toolchain in /data/Toolchain/


3. Setting enviroment



  • export /data/Toolchain/


  • export CROSS=arm-linux-


4. Download glibc-2.11

Need libc.so.6 version glibc_2.11.

So watch ( ref 1 )



  •   mkdir -v ../glibc-build
    cd ../glibc-build



  • echo "CFLAGS += -march=i486 -mtune=native" > configparms


  • ../glibc-2.11/configure --prefix=/usr --disable-profile --enable-add-ons --enable-kernel=2.6.18


  • make


  • make install


5. compile code ( GW-SDK.3.5.0.8 )



  • Into GW-SDK.3.5.0.4/src


  • sh installpkg *.tgz ../target (  Destination folder : ../target)


  • cd ../target


  • make defconfig PRODUCT=DSDK ( DSDK || VGWSDK || VSDK )


  • sh run.txt ( patch some "ln" file into folder  . So compile won't error )


Reference :



  1. Linux From Scratch Ref : 6.9 && 5.7


2012年1月10日 星期二

[tftp Question] Received Error Code 2: Access violation


Q: Received Error Code 2: Access violation



Destination: a5f00000



Destination: a5f00000

Starting TFTP of ecram_sto.bin from 192.168.100.20

Getting ecram_sto.bin using octet mode

Received Error Code 2: Access violation

Aborting TFTP session...

 



A:

(1) Privilege of directory (/tftp) or transfer file

So you can change privilege of
directory (/tftp) or transfer file.



Ex :

chmod 777 -R /tftp (Change privilege to all user can use)


 

2012年1月6日 星期五