2017年6月17日 星期六

Nand2Tetris 教學投影片與講解影片

故事是這樣子的,5 月的時候我把 Nand2Tetris 這門課給修完了。

剛好,我們同好們辦的 Code& Beer 需要題目,想說都修過了就來講(ㄔㄨㄢˊ)解(ㄐㄧㄠˋ)個 Nand2Tetris 吧,花了點時間整理了投影片,也要感謝在Yahoo 台灣大殺四方驚動萬教每月豪領100K的人生溫拿勝利組強者我同學 qcl 大神,幫我準備場地跟辦活動:

投影片slide share 連結:
https://www.slideshare.net/youtang5/introduction-to-nand2-tetris

錄影使用的是 Facebook 直播,為了把影片載下來花了點功夫,後來找到答案如下:
播放影片之後,按右鍵有一個「顯示影片網址」,將網址的 www 改成 m ,使用 mobile 模式看影片,這時就可以直接右鍵另存影片了:
http://www.green-umbrella.biz/2016/03/how-to-download-facebook-live-stream-videos-into-mp4-files/

當日後面接著 typescript 的活動,這是用 ffmpeg 剪輯過才上傳 Youtube 的:

講了一個半小時,很多地方還是講不清楚,畢竟本來的課程是兩門 coursera,各 6 週,每週的影片時間都是 2 小時以上,這已經是超濃縮版本了,如果大家有興趣還是可以自己修修看,會學到東西的。
不過我想投影片跟錄影完,也算是個總結,我跟 Nand2Tetris 的故事就到這裡了吧,畢竟這也是基礎課程,熟悉了就要往其他更困難的地方前進了。

2017年6月14日 星期三

國學常識大補帖

故事是這樣子的,大概在去年9月的時候,有一位非常喜歡批評人的教授批評大家都沒國際觀,還弄了一個<國際觀檢測網>,那時我把它們的題目都抓下來,寫了個國際觀大補帖,文章在此:
http://yodalee.blogspot.tw/2016/09/global.html

最近同一位非常喜歡生氣又總是對著那些沒有錯的人生氣的教授又生氣了,稍微瀏覽的一下相關的頁面之後,竟然發現除了<國際觀檢測網>之外,還有另外一個<國學常識檢測網>,網址在此:
http://doc.boyo.org.tw/sinology/

同樣進去有十題,看了看題目覺得哇塞這真是太狂阿!有文學有歷史有地理,把這些全部都學起來,競爭力肯定更加8.7 dB,這麼珍貴的題目不出個大補帖全部背下來怎麼可以!台灣年輕人都不學國學是國家重大危機呀!(雖然題目從簡答題變成2選1選擇題,難度大幅下降OAO)
受到傳說中在金門島上大殺四方的鍾誠教授的感召,我決定也來堅守<一個python政策>,也就是「世界上只有一個Python,Python 2 是Python 3 傳統不可分割的分枝,Python 3是目前 Python 唯一正統實作」。什麼你說 Python 3 比Python 2 晚發佈?哎呀晚成立都取代早成立的,這種事很正常啦。

從 python 2 轉換到 python 3不算太難,之前轉換時有個很大的障礙是,處理 html 的套件 lxml 還沒搬到 python 3上,這次發現 lxml 也轉換完成,剩下一些要調的就是 urllib,把 request 獨立就行了,同樣的 code 在 python 3 的實作大概像這樣:
import urllib.request

req = urllib.request.Request(TARGET)
req.add_header("Pragma", "no-cache")
response = urllib.request.build_opener().open(req)

另外就是一些 dict 介面上的變化,還有因為選擇題的關係,在取出的 tag 裡面還有 tag ,因此把 text 換成 text_content,小修一下就能動了。
同樣是開起來一直跑一直跑,出來的檔案有 1200 多行,560 題

原始碼:https://github.com/yodalee/globalizaion
大補帖:https://github.com/yodalee/globalizaion/blob/master/sinology

同樣的,我是不樂見有人真的把這個拿來背啦(同樣…應該不會有人這麼蠢吧…應該啦……)

發佈了這本國學常識大補帖之後,跟國際觀大補帖一樣,我同樣收到來自四面八方熱切的使用心得,以下僅節錄幾則:
* 去年學校的畢業典禮,禮堂不知道為什麼很熱,其他同學都忍不住出去乘涼,幸好我手邊有國學常識大補帖可以當扇子,於是只有我一個人聽到台上的演講,我現在覺得我超厲害足以打爆那些沒聽到的同學。
* 之前我的電腦中了 Wannacry,所有檔案都被加密,只有電腦裡的國學常識大補帖無法被加密,還自動幫我破解了RSA-2048,回復所有的檔案呢
* 自從讀了國學常識大補帖,我現在看到AES 256加密的一條明文跟一條密文,手指滑過就能直接把它的 key 寫出來,手指識字不算什麼什麼,靠著國學常識大補帖,我還練成了「手指識key」
* 之前我超級不喜歡吃香菜,自從讀了國學常識大補帖,就算是香菜蛋糕也能輕鬆下嚥,每位不喜歡吃香菜的人都該讀這本。
* 本來我迷上了<動物朋友>無法自拔,後來經過朋友轉介得知了國學常識大補帖,發現國學遠比動畫博大精深,終於戒了毒癮,たーのしー

算了我不嘴砲了,該工作了

2017年6月12日 星期一

Minecraft 計時器教學影片

最近突然想來錄影一下,很久之前蓋好的 Minecraft 時鐘的解說,來講解裡面核心元件計時器的設計。
那時是第一次在這裡發 minecraft 文:使用差動雙投擲計時器應用於時鐘製作之研製

首先在錄影程式上就遇到問題了,本來我用的是 Google Hangout 來錄影,錄了兩部 word 的教學影片;但在 Minecraft 或遊戲這樣高 frame rate 的應用上就不行了,lag 到天荒地老QQ,試了另外兩款 Kazam 跟 gtk-recordmydesktop ,同樣都無法解決錄影 lag 的問題。
最後選用的錄影程式是 obs-studio,最大的賣點是開源,無論 windows 或 Linux 下都能流暢使用,我是使用 Archlinux 包好的package obs-studio,當然要的話也可以從 source 自己編:
https://github.com/jp9000/obs-studio

另外不知道是不是 Minecraft 的問題,在Windows 下用”錄影視窗”錄 minecraft 的內容,都會錄不到影像,一定要用全螢幕去錄;Linux 上就沒這個問題。

成品如下:中、英文各錄一版,不過我好奇沒有宣傳的話,真的有人會看英文版嗎OwO

中文版解說:


英文版解說: