2014/10/19

[紀錄] g0v X Watchout! 夏日程式碼大賽


當初看到這個活動,覺得實在是難得的機會!
不但可以寫程式改造社會,將程式碼放在 github 上當自己的作品集,有指導者討論方向或技術,還能夠賺到獎學金~












但當時有點害怕,怕自己沒辦法在兩個月內作出專案,
後來想起 Lean In 書裡說的,男生通常只要有六成把握就會勇於爭取,但女生往往擔心自己能力不足而退縮。
所以我決定嘗試看看 XD

一、環境架設

我的主題是 立委投票指南 Android App ,因為指導者使用的開發環境是 Android Studio,為了整合方便,於是就捨棄了大一時用過的 Eclipse,開始重新熟悉 IDE。
(推薦閱讀: From Eclipse to Intellij ,這篇將好處分析的很詳細)


二、開發歷程記錄

這邊就奉上所有開發時使用的開放平台吧 XD
專案原始碼 (github ) 
立委投票指南網站
Trello   (每周進度、代辦事項)
Hackpad (開放討論紀錄)

兩階段成果發表 slides
第一階段demo :



第二階段 成果發表 :



成果demo影片:


三、心得

在這個專案的開發過程中,很感謝指導者海明的耐心陪伴,原本對github 的使用不太熟悉,一開始會弄出一些程式碼衝突的情形,他都很包容,技術上難解的問題,也給了我許多提示。對我的設計與想法,也很尊重,還會適時的鼓勵我 :D

另外,我藉由這個專案體驗不同的角色,自己管理開發流程進度、設計使用者介面、設計問卷作調查 (統計結果) 、coding、測試、溝通api 等等,都是不同的挑戰。

更開心的是,能夠影響身邊的人,不管是提升對民主議題的關心、珍惜自己的投票權;或是讓更多志同道合的人有管道加入 (ex: 請室友幫忙畫 logo 圖、有網路上熱血的朋友主動聯繫想貢獻一些點子、FB朋友們給我介面設計的建議 ...) 。

雖然這一小步不見得就能馬上見效,但當有越來越多人願意關心、監督這些我們選出來的市議員或立委時,也才能夠逐漸避免官商勾結、選上領高薪不做事的情形發生。

感謝立委投票指南網站的作者 johnny,和一些親自去監察院影印、建檔出各類資料的前輩們,因為有你們,我才能將這些資料做更視覺化的整理。特別是之前看見 johnny說 : 目前網站雲端費用最低一個月NT$810,選前會貴個幾千吧,不要太誇張的話這點錢我還出得起拉XD
心理覺得很佩服,也感謝他繼續投入議員投票指南的開發,讓今年年底的選舉也能夠有所參考^_^



2014/8/21

[分享] Google 北京 office 獎學金參訪之旅


得到Google Taiwan Anita Borg Scholarship (準備心得) 之後,
很高興獲邀到北京辦公室參訪,想用這篇和大家分享一些訊息 ^_^


一、Tech Talk


二、2015應屆畢業生招募

  • 詳情請以網站為主Google APAC 2015 University Graduates Test
  • 順利拿到offer的人,會直接送到Google Mountain View, CA Office 工作
  • 要通過線上測驗,才能讓履歷被看到、得到面試機會
  • 線上測試共有四輪,可以一直參加,但到面試被刷掉的話,就不能再透過這個方式重新申請
  • 範圍包含整個亞太區域,所以台灣也算在內 :D
  • 借用 code jam的系統,但聽說題目難度不會相同,可以先練習2014的題目(請先做Google of Greater China Test for New Grads of 2014項目)暖身
  • 僅限2015年畢業的人報名

三、面試注意

  • 通常會要求把程式寫在紙或白板上,要先練習寫得整齊,因為面試官通常會把你的紙帶回去做整理、或拍照資料保存,跟著你的履歷送到下一關
  • 盡量用C++ 或 JAVA寫
  • 邊寫要邊和面試官解釋、討論,藉由提示一直改進
  • 要釐清問題範圍,否則就要自己考慮所有可能性(邊界值之類的)
  • 複習 back tracking 回溯,暴力解有時會用到
  • 可能有 real-world problem(要能推論)、design question(ex : 設計一個系統),沒有 puzzle question (ex: 雞蛋從幾樓掉下來不會破的問題)
  • 因為面試有很多關,到越後面的關卡,反問面試官問題時,請不要問太粗淺的問題(他會覺得你應該要在前面幾關就先瞭解)

漂亮的獎狀 :



_____________________________________________________

認真的話題結束了!  紀錄一下生活~

最勇猛的事 :
在所有人和 google 獎學金項目負責人面前,提出"台灣獎學金名額應該增加" 的想法,陸續獲得3位大陸同學公開發言,表示支持XD
負責人也回應,會認真考慮這件事。
註 :
女性工程師獎學金,光是保留給大陸一間重點學校的名額(大約6個/年),就超過了整個台灣的名額(近年來3個/年);而且他們還有另一個獎項"優秀學生獎學金",不分男女皆可申請,也是名額滿多的,但完全沒開放給台灣...

最開心的事 :
活動結束後,有位大陸女孩找我拍照,對我說 :
我覺得你長得特別像犀利人妻裡面的女主角耶~好像叫海棠(?!),還是甚麼棠的...
我心想,這位姑娘,你也太抬舉我了吧XD
是想促進兩岸關係嗎 >.^

最好吃的事 : 
我終於吃到烤鴨了!!




2014/7/24

[筆記] 將 Android Studio專案 轉為 Eclipse ADT專案

本篇解法參考自 : How do you open an Android Studio project in Eclipse?

環境 :
Windows 8 (x64), ADT版本 (adt-bundle-windows-x86_64-20131030)

這篇示範的檔案是從這裡下載的:
https://github.com/HMW/g0v-twly-voter-guide-android
點選右下角 "Download ZIP"

step1.
將Android Studio專案解壓縮後,可以看到以下的結構 :













step2.
新增一個空的 Android Application Project :
























step3.
用Android studio專案中的 res資料夾、AndroidManifest.xml 覆蓋 Eclipse中的 res資料夾、AndroidManifest.xml 檔案.















step4.
將Android studio專案中 java 資料夾裡面的東西(包含完整的檔案結構),全部放到 src 裡面(可以先刪除原本的).













step5.
將Android studio專案中 libs 裡面的檔案放入Eclipse的 libs 內.

step6. (Optional)

改 Eclipse 環境的預設編碼. Window -> Preference -> General -> Workspace.
將編碼改成 UTF-8.
 (視專案需求,但若要放上github,且專案中會出現中文字,則建議改成UTF-8)


step7.
若專案中還有出現錯誤,可以先將 R.java 檔刪除,讓 Eclipse 再重新幫我們自行產生.
step8.
若專案中還有出現錯誤,試試 clean 整個專案.

這樣應該就大功告成囉! ^_^




2014/6/26

[準備心得] Google Taiwan Anita Borg Scholarship


很高興獲得了2014年的 Google Anita Borg Memorial Scholarship: Taiwan ,希望留下這一篇記錄,給未來有興趣申請這個獎項的女孩們參考 :)


第一次看到這個獎項是在大一的時候,那時候為了幫忙想新的系網頁要長怎樣,所以就去看看交大資工的系網頁,意外地發現了他們這篇文章 :
誰說女生沒有理工金頭腦?Google獎學金特為資工女學生而設
(因為原本文章的連結好像不見了,先分享保留在我evernote上的庫存頁面XD)

後來今年剛好也有學長跟我提到這個獎,所以就趕快去申請囉 :)
_______________________________________________________
首先,這是一個甚麼樣的獎呢?
網址在這 : http://www.google.com.tw/anitaborg/

(2015/04/26 更新: https://www.google.com/anitaborg/apac/ 現在台灣跟中國的獎學金申請似乎都併入亞太區~這個連結才是最新的 )

Google 為了鼓勵更多女學生繼續在資訊這條路上前進,變成工程師。從2010年開始,每年提供台灣3~5個獎學金名額,申請者必須是就讀資訊相關科系的女生
如果幸運獲選,將可以得到:
  1. Scholarship amount is TWD 45,000.
  2. You will be invited to visit Google’s Beijing or Shanghai office for a networking retreat.
但申請過程有點艱辛,
我大概花了一整個月,過程還壓力大到去找學校的諮商老師聊天 ,
(但也不完全是因為這件事啦XD

要準備的東西除了有基本的成績單、履歷,還要寫3篇(400~600字)的英文essay,所以我的五月幾乎都奉獻在寫essay、到處找人幫忙看essay中度過

essay 的題目很長,我每篇寫完後都找了至少三個人幫我看,
可以找學校的英文老師( ex: 中央大學英語諮詢服務) 或英文好的科技圈朋友,
因為要預留時間修改、整合,所以我大概都是每寫完一篇,就預約老師幫忙看,然後同步寫下一篇 :)

還記得寫完第一篇後,我在大雨中來回走了20幾分鐘,結果老師只簡單看了一下,就跟我說寫得太general了,如果她是評審,就會把這份丟到一旁...
於是我心酸地在大雨中走回去砍掉重練,把重要的細節絞盡腦汁用英文表達出來。

三個題目在此 : (僅供參考,說不定每年不一樣?!)
Essay should be 400-600 words or less. 
1) How did you become interested in computer science, computer engineering and/or closely related technical field? How did this lead you to major in the field and what do you hope to accomplish with your degree? In your answer, please describe the ideas you have to increase the involvement of women in computer science, computer engineering and/or closely related technical field.
2) Give an example in which you demonstrated leadership skills. Explain how you were influential and what you were trying to achieve. These need not be demonstrated through formal or traditional leadership roles. Think broadly and examine the many ways you are having an impact on the members of your technical community, your university, or your broader community.
3) Please write an essay on a technical project you took part in, or on a piece of research you undertook, where your contribution and involvement was key to its success. When writing your essay, please remember that the Computer Science professional reviewing your application may not share the same technical expertise or knowledge of your particular research field.
Please make sure to explain all technical terms and processes accordingly. Your essay should include the following sections: The problem your project or research is trying to solve, the solution that was chosen, the technical challenges you faced, your contribution to the success of the project and why you consider this project successful or innovative or both.
Note: Treat this essay as a technical report or research paper. Feel free to use tables, references, or figures.
基本上題目的引導非常詳細, 

Essay1 主要是要表達自己為什麼選擇資訊相關科系,
每個人都有自己的故事,列出一些當初參考的頁面,
可以從這裡面找下筆的靈感,也可以模仿道地的英文寫法。

我的Essay1第一段長這樣,描述小時候和弟弟搶電腦玩"世紀帝國"、找外掛的回憶XD
I first gravitated toward computers at the age of 10 by playing computer games like “Age of Empires” and some online games. Although I didn’t have any knowledge about programming at that time, I was able to find some ways to empower my weapons through surfing on the internet. When I keyed in some commands in the game, I could access as many tanks, soldiers, ships as I wanted. Since then, I became curious about how to create such attractive games and eager to explore the technology. ...
Essay2 則是有關領導力的故事,我就挑了大一時主動參與規劃校外服務學習的經驗來寫,節錄其中一小段:
Next, we needed to involve enough college students to join this program. The professor and I took turns to give small talks to many classes. To make more students consistently devote their time and effort helping these children, I also came up with the ideas to encourage the college students. For example, we provided “Certification of Service Hour” and some transportation fee to the students who actively took part in this program. ...
Essay3 我覺得是最困難的,有點像技術小論文,需要用到較專業的寫法,所以這篇寫完後請了五個人幫我看,之後再自己統整、修改。我挑的主題是我的大三專題-- 結合復健與遊戲的系統,節錄其中一小段 :


總之,準備的過程其實很趕,尤其是當我看到歷屆得獎者都是來自台清交時,心裡就涼了一截,再看到之前交大兩位得獎者多麼優秀後,就覺得希望很渺茫 >_<
還好最後有堅持下去,成為中央第一個得到這個獎的女孩(灑花


-------------------------------------------------------------------
最後要感謝我家大男孩,在我寫到想哭想放棄時,
他總會安慰我 : 
「得失心不要那麼重啦,如果很痛苦那你就放棄好了(誤」
我就會瞬間充滿鬥志 : 
「可是我很想要阿~!怎麼能放棄!」
然後就擦乾眼淚繼續前進了XD

所以想要什麼就去爭奪吧! 女孩們 :) 

2014/5/26

解決 Leap Motion範例 在Windows上的Unity無法正常執行的問題


本篇解法參考自 Getting the Leap to work with Unity (Free Version not Pro) ,
如果有遇到“License error – plugins are only supported in Unity Pro”這個錯誤訊息的人,請直接點選上面文章的連結。

這篇主要想解決的情況是,Scene可以正常開啟,且可以執行;但執行後無法用Leap Motion操作,且會出現以下error:















環境 :
Windows 8 (x64), Unity 4 (4.3.4f1), Leap Motion SDK(1.0.9+8391, 2014/5/26下載)

-----------------------------------------------------------------------------
Step1:
SDK下載後,找到此路徑底下(ex:  D:\LeapDeveloperKit\LeapSDK\lib\UnityAssets\Plugins)的三個檔案。







step 2:
將Unity專案中Assets\Plugins裡面的Leap.dll, LeapCSharp.dll刪除,只留下LeapCSharp.NET3.5.dll。













step 3:
去"step1找到的資料夾"複製裡面的Leap.dll, LeapCSharp.dll檔案,把它們貼到存放目前正在執行的Unity專案的"根資料夾"中。
























step 4:
在回到Unity中執行此專案,就可以順利用Leap Motion操控,且不會出現error了。 :)








2014/4/14

Different Learning Way & the Notes about Machine Learning

I've attended Coursera online video courses for learning Machine Learning, which is taught by Andrew Ng in  Stanford university. The video lectures are really interesting, and I do love this kind of learning way.

The main purpose of writing this article is to note something I've learned from these video lectures.

Furthermore, I also found some attractive features about this website, first is that almost every section of the video, the professor hided a question in it, just like this picture (you can see a thin yellow line ) :


The video will pause automatically and bring you to another page which you can really answer the question by yourself :


After submitted the question, I felt more confident about my future learning. So maybe it's a wonderful way of teaching and make learning more exciting! ^_^