2014年12月27日 星期六

活動:Tainan.py x MOSUT 2014 12 月聚會

用向量處理風水問題!



台南一姊調酒師工作中!




完成!歡迎參加 Tainan.py x MOSUT 聚會!


GNU ld linker script簡介

講者為經常主動投稿的 wen ,這次他投稿算是如願以償
台下坐著老師 *1 + 資安研究者(ㄏㄞˋㄎㄜˋ) *1 對演講內容進行補充





快快樂樂開發 IoT 作業系統核心

講者為 jserv,演講內容為下學期成大資訊系嵌入式作業系統的課程及教材簡介
關於此演講內容可參考 hackpad 上的共筆



Introduction to Fourier transform and signal analysis

講者為宗翰,我先承認我一下子就 GG 惹
演講素材如:python code、latex code 與投影片皆可在此 下載



介紹「風水好宅」

講者是 Ijs 邀請過來的學弟施信宇
他們團隊做的系統能讓使用者畫出房子的簡易室內平面圖後
利用程式自動化驗證其是否滿足各項風水規則
其中後端程式利用到了 tornado + numpy/scipy 以進行向量計算

此作品的相關 新聞








最後,則是由 kuku 對「大資料」進行介紹並且破除迷思 ...
會眾們就在鹽酥雞 + 超低酒精海尼根綠茶 + 自備的點心中
果然又到了快要九點才結束聚會 XDDDD





2014年12月14日 星期日

秘訣:[edX] FP101x Introduction to Functional Programming

圖為開課教師 Erik Meijer 正在講解手中的量子電腦(無誤)


一分鐘看懂真正的 Syllabus


  • 八週精心設計的課程  (幫助你白數根頭髮)
  • 以 Haskell 為主的 FP Introduction (少數實驗可以用其他語言寫)
  • 需要有 1 年以上程式經驗(以便上課時自行對照 FP 與 imperative 的差異)
  • workload 4 -6 小時 (除非你說英語 + 數學好,不然請 * 2)



誰不該修這門課

  • 平常工作下班超過晚上九點的人 (別再進修折磨自己了,不如換工作先?)
  • 初踏入社會做未滿一年的資訊人 (你還有很多要學,這個技能點數可以晚一點再點)
  • 想學一個好上手的 FP ,且要馬上拿來用的人 (請跳過 Haskell)
  • 排斥閱讀英文課外素材的人 (這門課需要看很多資料)
  • 閒暇時間不多的人 (建議有花掉 100 ~ 150 小時的心理準備)



誰適合修這門課

  • 閒暇時間夠多的人(學生、魯蛇、放長假者、正常上下班且想進修者 ...)
  • 數學強的人(不是算數強的人)
  • 有認真寫過 javascript, python, perl, php, ruby 之一的人(學習的門檻較底)
  • 想拿 PhD 但是沒有題目的人 (無誤)



案例

某魯對 FP 一直很有興趣,據說去年的新年新希望是學 scala  ... (而且還沒達成)
今年心想放長假卻不學一門 FP 實在太遜惹
男子漢要學就學「純」的,而且越難越好(誤)

最後該魯花了 150+ 小時修課跟閱讀課外資料
而且到現在還是不會寫 Haskell
但是對 FP 倒是真的有初步認識 ...

#備註:該魯旁聽最後 92 分 pass



歷程

開課的學校是荷蘭的代爾夫特理工大學,世界排名在 100 附近
授課老師是強者 Erik Meijer,之前在微軟
他說話略有口音,但速度不快,很容易跟上
為了讓課程有趣,老師正式上課前常常會安排有趣的橋段
用以譬喻或銜接的課程內容,會使人莞爾一笑(或是覺得他很煩  XD)

這門課的影片時間不算長,一個子單元大約只有 30~40 分鐘的影片
一週最多兩個子單元,共有 14 個子單元

我的經驗是前四週,每週大約花費 12 hours 完成課程
之所以多花了一點時間,是因為我盡可能維持作業的正確性、並且嘗試玩玩各種 lab
由於有 Python 的使用經驗及或多或少有看過別人介紹 FP
我在前四週的學習算是非常順利
也不太需要閱讀課外素材

But 就是這個 but
咻~滑進去課程後,會遇到很大的一個坑 - Monad
在第五週,我花費了 40+ hours 才結束該週的課程
這門課設計得很巧妙,老師沒有正式教 Monad
而是介紹完了 Functional Parsers 以後才告訴你這是 Monad
要不要深入探討則是課後閱讀及學生自己的事

老實講,就算不花這麼多時間去理解 Monad ...
也是可以繼續進行之後的課程
不過,我想既然跳坑了,就學多一點吧!
胡亂看了些 google  到的補充素材,盡力去理解課後閱讀的資料 ...
最後我才知道對我來講這個坑真的無窮大,設個停損點後就繼續修課 XDDD


課程的後半段,影片難度比前半段僅略高一點
難度提升最多的地方是作業與 lab
有時候看到 2x 題的作業或是 lab 就覺得好累
以困難度來講,請留意 Poor Man's Concurrency Monad 這個 lab ... Orz
真的會讓人回憶到小時候寫程式作業去捶打棉被的過去



秘訣

0. 你想知道 Python 與 Haskell 有什麼關係?
https://wiki.python.org/moin/PythonVsHaskell


1. 如果你只想咬一口看看 Haskell 在幹嘛,恭喜!
剛好良葛格正在 CodeData 撰寫一系列的 文章
都是中文且淺顯易懂,推!


2. 沒錢買課本 or 不想買太硬的課本,這裡!
來讀 Haskell 趣學指南吧!圖文並茂且中入淺出 ...
Learn you a Haskell for Great Good
# 有中文版,但是建議閱讀英文版
# 強烈建議在 Functional Parser 子單元進行前讀過 本章
# 覺得這本書太棒了?那就買一本吧 : )


3. 到底什麼是 Monad?
搞不懂的話先來聽聽 stackoverflow 上的兩個回答 A B
需要圖解的話,這邊有 懶人包
有了基本概念後,再來繼續 fp101x 課程提供的閱讀素材吧!
http://www.cs.nott.ac.uk/~gmh/monads


4. 倒數第二個 Lab:Poor Man's Concurrency Monad 超難?
真的超難,建議(如果寫得出來的話)寫一題就去回答題目
以取得 feedback ,才知道自己寫的對不對
需要特別留意的是,題目測試的覆蓋度不足
所以有可能寫錯答案,可是前面的測試會對,回答最後面的整合性考題會錯 ... Orz
如何推理出 bind   題目出自這篇 paper



心得

透過 MOOC 自主學習,在本質上是最容易打破學習界線的
本課程的設計深入淺出,儘管在少數章節銜接處有小 gap 需要自行補上
但是透過兩個月能夠習得的知識量及老師的看法是非常有價值的

我個人認為,這門課讓我大大打開眼界,亦「升級了腦袋」。







2014年11月22日 星期六

活動:Tainan.py x MOSUT x FP 2014 11 月聚會

Sam 正在講解投影片!
這次聚會主題非常的 FP ,參加人數也非常的 FP (XDDDD)



用 Python 寫 FP

第一個講者是我!
我投個十分鐘的慢速閃電秀來幫大家暖場 XD

如同往常般,我運用了標題殺人的技巧讓人以為我想要聊 map, reduce, filter
想要用 Python 寫寫 FP (languages 的 interpreters) 的朋友
莫錯過投影片提及的參考資料喔!

(現場演講時有約 5 min 的 Video Demo,但我不想傳到 youtube )






Functional Reactive Programming on Android

講者為 sam ,本場演講強烈推薦寫 java or android 的朋友一觀

(什麼?自己看看不懂?唉~誰教尼沒來參加聚會 ˊ__ˋ)




Haskell Advance Components (by hychen)

講者為 hychen,他拿了一份「向大師學習系列」的投影片講解 haskell ...
到了約 monad 附近,就打開編輯器用 Python 概念性地寫些程式碼進行講解 ..

Reference: http://github.com/hychen/boliau






Responsive web design 的能與不能

此為閃電秀的投稿!
講者為一姊婉貞 ,她以企劃的角度來聊聊 RWD / AWD / SWD









2014年10月27日 星期一

演講:程式 x 設計 @ MOPCON 2014


此次 MOPCON 的議程與會眾數可以說是質量俱增,感謝工作人員的努力 Orz
圖片出處:MOPCON 粉絲團

噢噢~噢噢~噢噢~噢噢~
>////<"
第一日晚宴時,最讓我印象深刻故事是
(用詞不太一樣,大致上的語意如下)
「工程師參加社群聚會活動後跑出來創業很正常,結果某一群人參加活動後,最後出來創業的是設計師」
圖片出處:MOPCON 粉絲團




從 MOPCON 2014 開始徵稿以後,就一直在想該聊些什麼?
恰好截稿前夕正在閱讀 諾曼先生的設計心理學一書 ...

該書當頭棒喝地把我敲醒!
之前所讀的幾本設計入門書籍的內容再度湧入腦中
彷彿可以重新組織架構這些知識

最後,儘管我處於才剛看懂設計領域中的「hello world」的狀態
卻斗膽投了「講個秘訣之: ooxx ...」一題(可以化簡為「程式 x 設計」)

投稿順利被接受後,我就有了「理由」放下手邊看不完的技術書籍
一頭栽進所謂互動設計 / 設計心理學的入門領域
讀書期間,感謝幾位設計師朋友的協助:

大宇人。小雨宙 - 借我兩本好書
十分設計工作室 - 從設計師角度解答許多問題




# 投影片高畫質 pdf 下載




我花了約整整三天準備好投影片,且內容高達 128 頁 ...
剛開始,我沒有很滿意自己的準備內容
這一系列的書給了我太多,而就我的理解程度與「輸出能力」卻只能淺聊到這一丁點的內容
有種愧對大師的心情 ... Orz


但是後來仔細想想,半個多小時的分享中
如果能夠讓碼農對「易用性」、「設計」、「人」感興趣
或反之,能讓設計師找到可以「說服」碼農的突破點(尤其是認知科學)
那麼便是功德圓滿


又,在準備演講內容查閱書籍的過程中
許多諾曼先生的看法與觀點亦再次觸發我的思考
我想,這一系列的書,絕對不是看個一次兩次就能吸收消化得了的


而,這一個多月以來的收穫
除了初窺設計領域與反思程式設計以外
大概就是某種程度的更加「了解自己」





這張演講照片被 MOPCON 官方粉絲團分享 XD
我要澄清我沒有強烈政治傾向也沒有台北市投票權,只是就事論事 ...
圖片出處:MOPCON 粉絲團


聽眾爆滿  T_T
圖片出處:hychen


最後一個秘訣:明年 PyConAPAC 仍然在台灣舉辦
敬請期待!!!