# 2017q3 Homework1 (作業區) ###### tags: `sysprog2017` (按右上方 <i class="fa fa-pencil"></i> 之後再按左上方 <i class="fa fa-columns"></i>,即可編輯本頁) ## 作業要求 * 請依照各作業需求,自 [GitHub](https://github.com/sysprog21/) 網站 fork 個別專案,並將連結貼於下方「作業區」 * [ternary](https://hackmd.io/s/Sym0UAk9Z), [phonebook](https://hackmd.io/s/HJJUmdXsZ), [clz](https://hackmd.io/s/Hyl9-PrjW) * 程式碼縮排有明確要求,務必遵守,這是團隊合作必要的準備,詳情見 [phonebook](/s/S1RVdgza) 裡頭的 `astyle` 段落 * 分項作業請建立個別新的 [HackMD](https://hackmd.io/) 頁面,作為開發紀錄 * 如:「開發紀錄(phonebook) / github 連結」,==特別留意 "/" 前後各有一個空白==,敬請配合 * 每份作業共筆的標題固定為 ==2017q3 Homework1 (phonebook)==,其中 "phonebook" 更換為對應的作業名稱,注意:後者是小寫 * 共筆內容的第二行則為 ==contributed by < `你的GitHub帳號名稱` >== * 中文、英文之間要有空白;文字訊息請避免用圖片來表示,否則不好搜尋和分類 * [共筆示範](https://hackmd.io/s/rk5ayZDKx) * [HackMD 教學和作業原則](https://hackmd.io/s/B17yi6WoW) * 請學員於 9 月 30 日(五)中午前填寫課程「[表單](https://docs.google.com/forms/d/e/1FAIpQLScf9CcJ3_ETZQ8CJvE970Q1bSKUisKxdg8C5k-DTqFwoBLbsQ/viewform)」,讓我們及早認識你。 --- ## 作業區 (GitHub / HackMD) - [ ] [twngbm](https://github.com/twngbm) * [開發紀錄(ternary)](https://hackmd.io/s/Hkx14dQ2-) / [github](https://github.com/twngbm/balanced-ternary)::: Review by <`williamchangTW`> :::warning 1. 儘管已花時間探索 b3k 程式的運作,但卻沒有具體分析輸入數值的範圍 2. Git commit [Add files via upload](https://github.com/twngbm/balanced-ternary/commit/d33baf2238a14faec8d5038f55cb75af4449b675) 是非常糟糕的內容,請嚴格依據 [如何寫好 Git Commit Message](https://blog.louie.lu/2017/03/21/%E5%A6%82%E4%BD%95%E5%AF%AB%E4%B8%80%E5%80%8B-git-commit-message/) 改寫,不要變更 coding style (注意協作!)。善用 `git commit --amend` 更動既有的 git commits 3. 沒有正面闡述「Balanced Ternary 的設計要解決什麼類型的問題?」 4. 缺乏應用案例探討 5. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(phonebook)](https://hackmd.io/s/HkIO7GbTZ) /[github](https://github.com/twngbm/phonebook) --- - [ ] [ian910297](https://github.com/ian910297) * [開發紀錄(ternary)](https://hackmd.io/s/S1syEHzi-) / [github]() ::: Reviewed by <`jcyztw`> :::warning 1. 沒有對 k3b 修改或做實驗,為什麼? 2. 只有複製貼上,Ptt 鄉民可能誤會你是文組^TM^學生 3. 距離完整的技術報告太遠了 ::: * [開發紀錄(phonebook)](https://hackmd.io/s/SJgimIOnW) / [github](https://github.com/ian910297/phonebook) :::warning 1. 文字訊息不要用圖片表示 2. 附上 cache-test 之結果示意,然後呢?你的解釋是什麼? 3. 「猜測優化是因為 malloc 大小改變造成,既然大小改變會影響效能,那減少 malloc 的次數是否也會造成影響?」 => 如何設計實驗來驗證你的想法,光憑感覺做事,根本就不算理工專業人員的態度! 4. 為何使用 mmap 系統呼叫後,速度可提升呢?需要解釋並且思考反例 5. 說好的 BST 呢? 6. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [FATESAIKOU](https://github.com/FATESAIKOU/) * [開發紀錄(ternary)](https://hackmd.io/s/H1N168fsZ) / [github]() :::warning 1. 發文不附上 GitHub 程式碼 (當然要附上你的修改),不禮貌,怎麼對得起 Ptt 鄉民呢? 2. 提到「影響後來量子電腦的設計,利用 ternary 作為基本數值單位的 qutrit 同樣也受到廣泛的討論」,為何不解說?又,這與量子電腦何關? 3. 當提到「轉換出看似不同的balanced ternary,在轉換時可以設定規則,如:可不進位就不進位(0.1⎯⎯⎯0.1¯),或者是可進位就進位(1.T⎯⎯⎯⎯1.T¯),避免兩套標準同時存在」時,為何不以實際存在的案例 (如 IOTA) 做說明呢?show me the code! 4. 缺乏運算描述和比較 5. 沒有正面闡述「Balanced Ternary 的設計要解決什麼類型的問題?」 6. 缺乏應用案例探討 7. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(phonebook)](https://hackmd.io/s/SyjsKu7s-) / [github]() :::warning 電腦故障了嗎?還是被駭客攻擊了? ::: --- - [ ] [Feng270](https://github.com/Feng270) * [開發紀錄(ternary)](https://hackmd.io/s/BJibp8fib) / [github]() :::warning 1. 發文不附上 GitHub 程式碼 (當然要附上你的修改),不禮貌,怎麼對得起 Ptt 鄉民呢? 2. 缺乏運算描述和比較 3. 沒有正面闡述「Balanced Ternary 的設計要解決什麼類型的問題?」 4. 缺乏應用案例探討 5. 「我猜這應該也是計算機界後來沒有採用 3 位元運算的原因之一吧」這種描述該在技術報告出現嗎?你只能考上成大不可恥,可恥的是,來這裡卻看不到顯著成長。理工人怎麼可以用「猜」的呢? 6. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(phonebook)](https://hackmd.io/s/HyDuqjQob) / [github](https://github.com/Feng270/phonebook) :::warning 電腦故障了嗎? ::: --- - [ ] [HMKRL](https://github.com/HMKRL) * [開發紀錄(ternary)](https://hackmd.io/s/rJGc0TmiZ) / [github](https://github.com/HMKRL/balanced-ternary) :::info 1. 已提及應用案例 IOTA,但是沒解釋具體運作機制和設計考量,hash function 的安全議題詳見 [Cryptographic vulnerabilities in IOTA](https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367) 2. 缺乏論述,技術報告的結構性太低 3. 說好對 k3b 的程式碼修改呢? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/HyyHC6moW) / [github](https://github.com/HMKRL/phonebook) :::warning 1. hash function 的設計考量呢?比較其他實作了嗎?djb2 的特性為何? 2. Git commit [Use dj2b hash function for hash table](https://github.com/HMKRL/phonebook/commit/8b245cf9fb9f10a4aaa899294ed7cb884e2fbc39) 不明確,請嚴格依據 [如何寫好 Git Commit Message](https://blog.louie.lu/2017/03/21/%E5%A6%82%E4%BD%95%E5%AF%AB%E4%B8%80%E5%80%8B-git-commit-message/) 改寫,不要變更 coding style (注意協作!)。善用 `git commit --amend` 更動既有的 git commits ::: * [開發紀錄(clz)](https://hackmd.io/s/SJZol5vnW) / [github](https://github.com/HMKRL/clz-tests) :::info 1. 已觀察 Harley 數值分佈,但「此區域經過觀察,得知其為一種 hash function ,可以將經過前項處理產生的33種可能數值轉化至最高5個位元,並透過查表對照相應的clz值」如何得知? 2. 提及「更改對應的表格,就可以便於計算其他數值(例如 CTZ )」時,為何不給予對應程式碼呢?show me the code! 3. 為什麼沒有修改程式碼? 4. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [HTYISABUG](https://github.com/HTYISABUG) * [開發紀錄(ternary)](https://hackmd.io/s/B1OGeR7s-) / [github](https://github.com/HTYISABUG/balanced-ternary) :::info 1. 已分析 Radix economy 2. 已列出真值表 3. 既然寫出「所以 $sum = x \oplus y, carry = x \& y$ 這套在 ternary 行不通」,那後續呢?是否要推導對應的代數呢? 4. 「Balanced Ternary 的設計要解決什麼類型的問題?」 5. 說好的應用案例呢? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/SJU-GAXjZ) / [github](https://github.com/HTYISABUG/phonebook) :::info 1. 已探索到 alignment 2. 引入 memory pool,但是缺乏量化數據的解讀 3. 回答問題時,沒有用數理專業,都該有數據和資料模型 4. 應該更換符合現實的姓名資料庫 (這是你該做的功課) 5. Git commit [Implement memory pool](https://github.com/HTYISABUG/phonebook/commit/87daecced6d6a4af3ccff3c2eb07eddc7b0f2cd4) 不具體,並未提及設計概念,還有引入後的效應,請嚴格依據 [如何寫好 Git Commit Message](https://blog.louie.lu/2017/03/21/%E5%A6%82%E4%BD%95%E5%AF%AB%E4%B8%80%E5%80%8B-git-commit-message/) 改寫,不要變更 coding style (注意協作!)。善用 `git commit --amend` 更動既有的 git commits ::: * [開發紀錄(clz)](https://hackmd.io/s/rJq6OkIhW) / [github](https://github.com/HTYISABUG/clz-tests) ::: Reviewed by <`st9007a`> :::info 1. 不該用一句話來描述效能,要從「分佈」來看,而且你學過的機率統計去哪了?請用電腦科學背景的專業描述,如 probability density function (PDF) 2. 列出「CLZ 應用場合」很好,但是 show me the code! ::: --- - [ ] [LinRiver](https://github.com/LinRiver) * [開發紀錄(ternary)](https://hackmd.io/s/HyhNvZViZ) / [github](https://github.com/LinRiver/balanced-ternary) :::warning 1. 「高效率呈現」用語不精確 2. 除了複製貼上,你做了哪些思考? 3. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(phonebook)](https://hackmd.io/JwVgjMBsAcCmBMBaADGWZEBYyU4ghiPgMyLDKTxgBm0I8lyQA===#) / [github](https://github.com/LinRiver/phonebook) :::warning 1. 連照著解說影片的描述都還沒完全符合,電腦被駭客攻擊了嗎? 2. 趕快跟上進度,我等你 ::: --- - [ ] [st9007a](https://github.com/st9007a) * [開發紀錄(ternary)](https://hackmd.io/s/rJv_CTmsb) / [github](https://github.com/st9007a/balanced-ternary) ::: Reviewed by <`amikai`> :::info 1. 已有應用案例並闡述實際解決的問題,但是 show me the code 2. 缺乏技術報告應有的結構 3. 已動手設計一個簡單的 balanced ternary 系統,很好,但是你該如何驗證呢?閱讀 [Unit Testing C Code](https://stackoverflow.com/questions/65820/unit-testing-c-code) 並挑出可行的方案。注意:coverage 是關鍵,該如何達到? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/BJvNXiEib) / [github](https://github.com/st9007a/phonebook/) ::: Reviewed by <`amikai`> :::info 1. 已引入 linear probing 改善以 hash 為基礎的查詢機制,但是碰撞能否透過統計模型初算和分析呢? 2. 需要進一步思考 locality 和 [Cache-conscious programming](https://www.cs.cornell.edu/courses/cs3110/2010sp/lectures/lec24.html) 3. 需要替換成更符合現實的 data set,像是後續的 prefix-search 裡頭的各國城市資料 (9 萬筆以上) ::: * [開發紀錄(clz)](https://hackmd.io/s/rywfL4tj-) / [github](https://github.com/st9007a/clz-tests) ::: Reviewed by <`amikai`> :::info 1. 已用 C11 `_Generic` 2. 應該用機率統計術語來解讀各種 clz 的「分佈」 3. 「應用場合」已列出程式碼,很好。但是「在 ARM v5 架構下使用 clz 指令可以減少 9 到 18 個 cycles」這怎麼算出來呢?參閱 [手機裡頭的 ARM 處理器](http://hackfoldr.org/arm/) 講座 4. 「應用場合」的 Integer Square Root 需要 show me the code! ::: --- - [ ] [zhanyangch](https://github.com/zhanyangch) * [開發紀錄(ternary)](https://hackmd.io/s/SyEBnPzsW) / [github](https://github.com/zhanyangch/balanced-ternary)::: Review by <`williamchangTW`> :::warning 1. 已分析 k3b 程式碼,但缺乏輸入值範圍的分析,並探討如何加大有效範圍 2. 缺乏應用案例和分析具體解決的問題 ::: * [開發紀錄(phonebook)](https://hackmd.io/s/HJTF8EM2-) / [github](https://github.com/zhanyangch/phonebook-1):::Reviewed by <`tina0405`> :::info 1. 探討 memory leak,但是問題本身往往就是開發習慣不好。參閱 [你所不知道的C語言:技巧篇](https://hackmd.io/s/HyIdoLnjl) 2. 缺乏問題探討 3. Git commit [Fix bug in opt anddelete executable file](https://github.com/zhanyangch/phonebook-1/commit/4880970f1b43078b26abc6bfaf81208c6c6c6707) 光是標題就很難懂,又缺乏詳細的訊息,你到底在解決什麼問題?工程師可不是只改程式碼,而該清楚又考量到後續維護,趕快脫離 "code monkey"。請嚴格依據 [如何寫好 Git Commit Message](https://blog.louie.lu/2017/03/21/%E5%A6%82%E4%BD%95%E5%AF%AB%E4%B8%80%E5%80%8B-git-commit-message/) 改寫,不要變更 coding style (注意協作!)。善用 `git commit --amend` 更動既有的 git commits ::: * [開發紀錄(clz)](https://hackmd.io/s/SkFjdEw2-) / [github](https://github.com/zhanyangch/clz-tests) ::: Reviewed by <`st9007a`> :::info 1. 應用案例提及 H.264 使用的編碼 Exponential-Golomb coding(指數哥倫布編碼)中,解碼時先計算 clz 決定該值編碼的長度,很好,但是 show me the code! 2. 缺乏必要的分析,而且該拿出機率統計的背景來。不然距離文組^TM^實在不遠 ::: --- - [ ] [nienzu](https://github.com/nienzu) * [開發紀錄(ternary)](https://hackmd.io/s/S1sXR5Ni-) / [github](https://github.com/Nienzu/balanced-ternary) ::: Reviewed by <`vonchuang`> :::info 1. 說故事很不錯,但這是一篇技術報告,缺乏結構 2. 「這幾天看了一些資料,我覺得研究方向還沒真的出現」,然後呢? 3. 「不過應該要研究加法器 來實際看看省了多少資源比較科學」,你連「資源」都沒定義,談「科學」就太遠了,請用專業術語 4. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [maskashura](https://github.com/maskashura) * [開發紀錄(ternary)](https://hackmd.io/s/HJm05c4iW) / [github]() :::info 1. 已闡述 Balanced ternary 的正負值和四則運算分析 2. 技術報告不要夾帶感情,像是「令人讚嘆」,你私下找 seafood 就好 3. 「當能在真空管時代所佔的優勢」為何? 4. 「電晶體相較真空管穩定且在半導體製程上實現及微縮」的具體描述?用你的專業背景 (數位邏輯 + 電子電路 + 普通物理) 來回覆 4. 關於 IOTA 的描述很亂,這是技術報告! 5. 需要解說 ripple adder 6. 「浮點數表示較 Binary 的 IEEE754 精確」很重要,但 show me the code! ::: * [開發紀錄(phonebook)](https://hackmd.io/s/SkA9HZOj-) / [github](https://github.com/maskashura/phonebook) :::warning 1. 為何參考資料都是中文材料?你怎不把過去的教科書拿來翻閱呢? 2. 還沒達到前一季的基礎,好多路要走 ::: * [開發紀錄(clz)](https://hackmd.io/s/r1sgeKj6W) / [github](https://github.com/maskashura/clz-tests) ::: Reviewed by <`jcyztw`> --- - [ ] [TsengWen](https://github.com/TsengWen) * [開發紀錄(ternary)](https://hackmd.io/s/HJlqHCjqW) / [github]()::: Review by <`williamchangTW`> :::warning 1. 看不到你的思考 2. 別忘了文組^TM^學生也會 Google 搜尋呀,你要拉開彼此的差距 ::: * [開發紀錄(phonebook)](https://hackmd.io/s/Hy2uUcEoZ) / [github](https://github.com/TsengWen/phonebook) / [github]()::: Review by <`maskashura`> :::warning 1. 下一次會更好 2. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(clz)](https://hackmd.io/s/rkJXW_wjW) / [github](https://github.com/TsengWen/clz-tests)::: Review by <`maskashura`> :::warning 1. 你的思考呢? 2. 趕快跟上進度,我等你 ::: --- - [ ] [yusihlin](https://github.com/yusihlin) * [開發紀錄(ternary)](https://hackmd.io/s/B1cssImjW) / [github]()::: Review by <`tina0405`> :::warning 1. 已有初步資料整理,但缺乏思考! 2. 還是沒正面回應要解決的問題 ::: * [開發紀錄(phonebook)](https://hackmd.io/s/BJ1yVDQnb) / [github](https://github.com/yusihlin/phonebook) ::: Review by <`zhanyangch`> :::warning 1. 「findname 的時間大幅降低,但 append 的時間增加,因為多了建立 hash table 的時間」,然後呢?你就停下來嗎?這樣的電話簿能用嗎? 2. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [kevin552216](https://github.com/kevin552216) * [開發紀錄(ternary)](https://hackmd.io/s/Hy4Crdwi-) / [github](https://github.com/kevin552216/Balanced_Ternary_Multification)::: Review by <`maskashura`, `jackyhobingo`> :::info 1. 為何不依據指定要求去 fork GitHub repository 呢?快改 2. 列出「electronics上的一張ternary的電路圖」,然後呢?為何不解說? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/SJruJZxhZ)/ [github](https://github.com/kevin552216/phonebook) :::warning 1. 「更改find()函式的測試方式成從randomlist.txt中取値後求平均」的意義為何?在統計上的意義又是什麼?請用機率統計術語和方法分析 2. 缺乏 hash 實作和設計考量的分析 3. 沒有回答指定問題 4. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(clz)](https://hackmd.io/s/HkGKCbI2-#)/ [github](https://github.com/kevin552216/clz-tests) :::warning 1. 「recursive 一定要作到c=3才會得出解」,然後你為何不改善? 2. 「看起來load的速度是沒辦法加速」,不要憑感覺說話,你是理工背景的學生嗎? 3. 「我們可以看到雙b效能最好」這樣的描述很可愛嗎?我們要看技術報告 ::: --- - [ ] [yuan922](https://github.com/Yuan922) * [開發紀錄(ternary)](https://hackmd.io/BwMwbArAJjDMC0B2ADBE8AsGCcj4CNgAmDeAY0QwEMjLgyiwMg) / [github]()::: Review by <`williamchangTW`> :::warning 1. 看不到你的思考 2. 程式碼是給你改的,不是給你欣賞的 3. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(phonebook)](https://hackmd.io/EYJgZgLArAJgHAdgLQgVAjEiBjHSCG2w+SAbMFAnAJxhRjZzZA) / [github]() :::warning 1. 沒有完成度可言 2. 趕快跟上進度,我等你 ::: --- - [ ] [ZixinYang](https://github.com/ZixinYang) * [開發紀錄(ternary)](https://hackmd.io/s/Hy64Btwj-#) / [github]()::: Review by <`williamchangTW`> :::warning 1. 不要只會複製貼上,你的思考呢? 2. IOTA 那段描述太籠統,而且你的分析呢? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/B1qEBZFoW) / [github](https://github.com/ZixinYang/System-Programming-Class/tree/master/c_programming/phonebook) :::warning 1. 技術報告不要帶情感,所以不要寫「不過受到很多刺激感覺滿興奮的」,這句話跟你的 seafood 說 2. 缺乏 BST 實作議題的檢討,如 locality 3. 沒有回覆指定提問 4. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) 5. 為何不依據指定要求去 fork GitHub repository 呢?快改。記住:團體合作重視紀律和溝通 ::: * [開發紀錄(clz)](https://hackmd.io/s/BywenYQnW#) / [github]() :::warning 1. 「每種方法執行時間都是超小的數, 不知道是不是用錯計時的函式了」,然後呢? 2. 缺乏思考 ::: --- - [ ] [jeff60907](https://github.com/jeff60907) * [開發紀錄(ternary)](https://hackmd.io/s/rJrOlsLjW) / [github](https://github.com/jeff60907/balanced-ternary) :::warning 1. 缺乏思考,趕快脫離文組^TM^ 2. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [xr2439](https://github.com/xr2439) * [開發紀錄(ternary)](https://hackmd.io/s/rJ5-dTPj-) / [github]()::: Review by <`williamchangTW`> :::warning 1. 缺乏思考,趕快脫離文組^TM^ 2. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [tina0405](https://github.com/tina0405) * [開發紀錄(ternary)](https://hackmd.io/GYBg7GCGyQLAtAZgJwFNL1gEwEYGN4AOLAJhHgDYSBGFXAVkjFqA?view) / [github](https://github.com/tina0405/balanced-ternary/commits/master) :::info 1. 已參閱給定的教學影片 2. 「目前不了為什麼是批准前面 2 筆,而不是更多 / 猜測是 3bits 是 1bit 記目前交易arrive , 2bit 記先前兩筆批准交易做驗證,繼續往看找答案」 => Tangle 白皮書有解釋 3. 已修改 k3b,但沒有處理輸入值範圍和對應的調整議題 ::: * [開發記錄(phonebook)](https://hackmd.io/GYFgpghgrAHDEFoAmUBsSHgMwCMERAGMBOBQgdlQEYAGGKnVYiGIA===?view) / [github](https://github.com/tina0405/phonebook) :::warning 1. 「到這裡已經有點不太理解,因為我一開始預期的是宣告固定矩陣大小 realloc 取代一直 malloc 的過程,append() 時間應該要減少,而 cache-miss 應該要差不多,因為資料存放的大小不變」 => 沒有從計算機組織和結構的觀點去解讀 ::: * [開發記錄(clz)](https://hackmd.io/MYZgrA7CBG0BwFoBmBDYBOBAWAjAUyQWgCZpgFjiQATPOa6EFYgNiA==?both) / [github](https://github.com/tina0405/clz-tests) :::warning 1. 已提出疑惑「recurcive 版只做 4 (c=0~c=3)次 if ,binary 做了5次,但 cycle 還是比較少」,有從 branch predictor 和對應的 latency 去思考嗎? ::: --- - [ ] [river85511](https://github.com/river85511) * [開發紀錄(ternary)](https://hackmd.io/s/ByoGtpusZ) / [github](https://github.com/river85511/balanced-ternary) :::warning 1. 不要說「根據維基百科的定義」,把最初的源頭找到 2. 提及 IOTA 時,仍沒有清楚說 balanced ternary 特性以及 show me the code 3. 趕快脫離文組^TM^ ::: * [開發記錄(phonebook)](https://hackmd.io/s/BJCP8h43Z) / [github](https://github.com/river85511/phonebook) :::warning * 「結果顯示成功!」,真的嗎?你的眼睛真沒問題嗎? * 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: --- - [ ] [loolofen](https://github.com/loolofen) * [開發紀錄(ternary)](https://hackmd.io/s/S1TEig8i-) / [github](https://github.com/loolofen/balanced-ternary) :::warning 1. 看不到你你思考的痕跡 2. 是不是走錯教室了? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/r193GAZ3b#) / [github](https://github.com/loolofen/phonebook-1) :::warning 1. 缺乏對於 hash 的分析 (見上方討論) 2. 需要一致的程式碼縮排和風格, 3. Git commit [Add files via upload](https://github.com/loolofen/phonebook-1/commit/446fa16e91479925988cca83eb4e6b709dfc9d9f) 不明確,請嚴格依據 [如何寫好 Git Commit Message](https://blog.louie.lu/2017/03/21/%E5%A6%82%E4%BD%95%E5%AF%AB%E4%B8%80%E5%80%8B-git-commit-message/) 改寫,不要變更 coding style (注意協作!)。善用 `git commit --amend` 更動既有的 git commits 4. 請發信清楚解釋 [時間都去哪兒了?](https://www.youtube.com/watch?v=c4zVrlb9Hkc) ::: * [開發紀錄(clz)](https://hackmd.io/s/SydOun6pZ#) / [github](https://github.com/loolofen/clz-tests) --- - [ ] [vonchuang](https://github.com/vonchuang) * [開發紀錄(ternary)](https://hackmd.io/s/r1NhYelo-) / [github](https://github.com/vonchuang/balanced-ternary) :::info 1. 已列出 IOTA 中以python 實作 ANY、full adder 以及 ripple-carry adder 的程式碼列表,但沒有 IRI 的部分 2. 「效率更好的加法器應為 Carry Lookahead ,然其在 Balanced ternary 實作上結構複雜」 => 著手實驗了嗎? 3. 「在上方程式法第 21 行處可看出,IOTA 使用於 Transaction 的 Hash Function 為 Curl,是 IOTA 團隊為了解決問題而建立的新 Hash Function」 => 描述正確嗎? 4. 光有程式列表,但沒有實際測試和評估,怎知道實際狀況? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/ryaXKI8i-) / [github](https://github.com/vonchuang/phonebook) ::: Review by <`ZixinYang`> :::info 1. 已分析 hash function 實作效益 2. 缺乏 data set 更換和擬定分析策略 ::: * [開發紀錄(clz)](https://hackmd.io/s/rkXJblVnZ) / [github](https://github.com/vonchuang/clz-tests) :::warning 1. 缺乏數學模型的解釋,應該用機率統計的專業探討 2. 說好的應用案例呢? ::: --- - [ ] [HexRabbit](https://github.com/HexRabbit) * [開發紀錄(ternary)](https://hackmd.io/s/ry5SwzKjW) / [github](https://github.com/HexRabbit/balanced-ternary) :::warning 1. 缺乏思考 2. 對照 IRI 程式碼來分析 ::: * [開發紀錄(phonebook)](https://hackmd.io/s/r1qMdqji-) / [github](https://github.com/HexRabbit/phonebook) :::warning 1. 「發現是malloc()消耗相當多時間」,然後呢? ::: * [開發紀錄(clz)](https://hackmd.io/s/H1lQZq61nb) / [github](https://github.com/HexRabbit/clz-tests) :::warning 1. 缺乏數學模型的解釋,應該用機率統計的專業探討 2. 說好的應用案例呢? ::: --- - [ ] [Yuessiah](https://github.com/yuessiah) * [開發紀錄(ternary)](https://hackmd.io/s/r1IWnMKoW) / [github](https://github.com/Yuessiah/balanced-ternary) ::: Reviewed by <`vonchuang`> :::info 1. 給定的 k3b 程式需要做哪些更動,才符合期望呢? 2. 如果我們需要大於 (十進位的) 3280 當作新的合法輸入範圍,該修改哪些程式段落呢? 3. Curl hash function 已過時,請改用 Kerl 4. 論述不足以涵蓋數值系統和 Keccak 特性 ::: * [開發紀錄(phonebook)](https://hackmd.io/s/Sk9PXlio-) / [github](https://github.com/Yuessiah/phonebook) :::info 1. 應該用統計觀點來回答問題 2. possion distribution ::: * [開發紀錄(clz)](https://hackmd.io/s/BJPsDklhb) / [github](https://github.com/Yuessiah/clz-tests) :::warning 說好的應用呢? ::: --- - [ ] [jcyztw](https://github.com/jcyztw) * [開發紀錄(ternary)](https://hackmd.io/s/H1ixld_sZ) / [github](https://github.com/jcyztw/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/SyJeZ8Bn-) / [github](https://github.com/jcyztw/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/SyHtWrwTZ) / [github](https://github.com/jcyztw/clz-tests) --- :::danger Error: GitHub 帳號和 HackMD 開發記錄不匹配,請及早修正 ::: - [ ] [amikai](https://github.com/amikai) * [開發紀錄(ternary)](https://hackmd.io/s/B1tv4fIs-) / [github](https://github.com/amikai/balanced-ternary/tree/dev) :::warning 1. 程式碼是寫給你修改的,不是給你欣賞用! 2. 提出實驗方法並動手 ::: * [開發紀錄(phonebook)](https://hackmd.io/KYJgDArARgHMCGBaM8YGNEBYBs2KPgmwwHYBONKTTMgZhADNN4g=?both) / [github](https://github.com/amikai/phonebook) ::: Reviewed by <`yusihlin`> :::info 1. 使用 mmap,有了初步實驗結果,很好,但缺乏解讀和分析 ::: * [開發紀錄(clz)](https://hackmd.io/AwNgZgxg7FAcwFpjAKYBMEBZgFZGzWACMs0QBDctI4MKATkyA===?view) / [github](https://github.com/amikai/clz-tests) :::danger 說好的進度呢? ::: --- - [ ] [changyuanhua](https://github.com/changyuanhua) * [開法紀錄(ternary)](https://hackmd.io/s/rkHriq5jb) / [github](https://github.com/changyuanhua/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/ByTl86q4z) / [github](https://github.com/changyuanhua/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/SJlv3n9EG) / [github](https://github.com/changyuanhua/clz-tests) --- - [ ] [Jetudie](https://github.com/Jetudie) * [開發紀錄(ternary)](https://hackmd.io/s/r1ZnBu8sW) / [github](https://github.com/Jetudie/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/ryNzR-S2b) / [github](https://github.com/Jetudie/phonebook) --- - [ ] [vwxyzjimmy](https://github.com/vwxyzjimmy) * [開發紀錄(ternary)](https://hackmd.io/s/Hk1Uvqsi-) / [github](https://github.com/vwxyzjimmy/balanced-ternary-1) * [開發紀錄(phonebook)](https://hackmd.io/s/Sk227VD2Z) / [github](https://github.com/vwxyzjimmy/phonebook) --- - [ ] [Lihikoka](https://github.com/Lihikoka) * [開發紀錄(ternary)](https://hackmd.io/s/SkhfoAYs-) / [github](https://github.com/Lihikoka/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/B1cnrDRs-) / [github](https://github.com/Lihikoka/phonebook) --- - [ ] [williamchangTW](https://github.com/williamchangTW) * [開發紀錄(ternary)](https://hackmd.io/IwIwHAJgnA7AxiAtAQwEwmYgLMArMFYANgDNEAGIiEOMKAUxOBKiA===#)/[github](https://github.com/williamchangTW/balanced-ternary) ::: Reviewed by <`vonchuang`> * [開發紀錄(phonebook)](https://hackmd.io/s/BkEnFqmh-)/[github](https://github.com/williamchangTW/phonebook) ::: Reviewed by <`zhanyangch`> , <`tina0405`> --- - [ ] [BreezeDa](https://github.com/BreezeDa) * [開發紀錄(ternary)](https://hackmd.io/s/rkoDT41n-) / [github](https://github.com/BreezeDa/balanced-ternary) :::warning 「所以應該」?這是理工人說的話嗎? ::: * [開發紀錄(phonebook)](https://hackmd.io/s/Hy6aILD3-) / [github](https://github.com/BreezeDa/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/H18o-6DhZ) / [github](https://github.com/BreezeDa/clz-tests) --- - [ ] [yang196569](https://github.com/yang196569) * [開發紀錄(ternary)](https://hackmd.io/s/rkT-iMpo-) / [github](https://github.com/yang196569/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/IwDgzA7CBmBM0FowggQwQFmmhKwBNcBjAViKIAZhhUBTfEIA?view) / [github](https://github.com/yang196569/phonebook) --- - [ ] [louis222220](https://github.com/louis222220) * [開發紀錄(ternary)](https://hackmd.io/s/rJkq5QCjZ) / [github](https://github.com/louis222220/balanced-ternary) ::: Reviewed by <`vonchuang`> * [開發紀錄(phonebook)](https://hackmd.io/s/r1ymmLwhb) / [github](https://github.com/louis222220/phonebook) --- - [ ] [kevin550029](https://github.com/kevin550029) * [開發紀錄(ternary)](https://hackmd.io/s/S1U20Ikhb) / [github]() * [開發紀錄(phonebook)](https://hackmd.io/s/r106IgShW) / [github](https://github.com/kevin550029/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/H1gYOHw3Z) / [github](https://github.com/kevin550029/clz-tests) --- - [ ] [EdisonHsien](https://github.com/EdisonHsien) * [開發紀錄(ternary)](https://hackmd.io/s/H1t20pW2-) / [github]() --- - [ ] [hfming225](https://github.com/hfming225) * [開發紀錄(ternary)](https://hackmd.io/s/B1rpD6hj-) / [github](https://github.com/hfming225/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/ryYXOgSnb) / [github](https://github.com/hfming225/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/SyeG5jvhb) / [github](https://github.com/hfming225/clz-tests) :::warning 針對數值分佈,作出解釋了嗎? 需要更多實驗 ::: --- - [ ] [davidshih0908](https://github.com/davidshih0908) * [開發紀錄(ternary)](https://hackmd.io/s/ryQD6xG3Z) / [github](https://github.com/davidshih0908/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/rysBZ54RW) / [github](https://github.com/davidshih0908/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/Skec9N8zf) / [github]() --- - [ ] [jackyhobingo](https://github.com/jackyhobingo) * [開發紀錄(ternary)](https://hackmd.io/s/Sk7bJR3i-) / [github](https://github.com/jackyhobingo/balanced-ternary) ::: Reviewed by <`Jetudie`> * [開發紀錄(phonebook)](https://hackmd.io/s/B1iq47Q2W) / [github](https://github.com/jackyhobingo/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/H1G-HXm3Z) / [github](https://github.com/jackyhobingo/clz-tests) --- - [ ] [emoboy13](https://github.com/emoboy13) * [開發紀錄(ternary)](https://hackmd.io/s/r173_3iob) / [github](https://github.com/emoboy13/balanced-ternary) --- - [ ] [apple11361](https://github.com/apple11361) * [開發紀錄(ternary)](https://hackmd.io/s/BkaWG9_sb) / [github](https://github.com/apple11361/balanced-ternary) ::: Reviewed by <`vonchuang`> --- - [ ] [yayachen](https://github.com/yayachen) * [開發紀錄(ternary)](https://hackmd.io/s/r1M9P2QhW) / [github](https://github.com/yayachen/balanced-ternary) * [開發紀錄(phonebook)](https://hackmd.io/s/HJ9r0B43W) / [github](https://github.com/yayachen/phonebook) * [開發紀錄(clz)](https://hackmd.io/s/r1hVAS43-) / [github](https://github.com/yayachen/clz-tests-) --- - [ ] [cg0106](https://github.com/cg0106) * [開發紀錄(ternary)](https://hackmd.io/s/S1IZD8N2b) / [github]() * [開發紀錄(phonebook)](https://hackmd.io/s/BywWRu42-) / [github]() --- - [ ] [shanshow]( https://github.com/shanshow) * [開發紀錄(ternary)]( https://hackmd.io/s/H17LPOx2b#/) / [github]( https://github.com/shanshow/balanced-ternary) ::: Reviewed by <`vonchuang`> * [開發紀錄(phonebook)]( https://hackmd.io/s/ryhMQhpaZ) / [github]( https://github.com/shanshow/phonebook) --- - [ ] [vasv75182366](https://github.com/vasv75182366) * [開發紀錄(phonebook)](https://hackmd.io/s/Bk8hE7Uob) / [github](https://github.com/vasv75182366/phonebook) * [開發紀錄(ternary)](https://hackmd.io/s/H1WP2jXib) / [github](https://github.com/vasv75182366/balanced-ternary) * [開發紀錄(clz)](https://hackmd.io/s/SynznRDi-) / [github](https://github.com/vasv75182366/clz-tests) --- - [ ] [ChiuYiTang](https://github.com/ChiuYiTang) * [開發紀錄(phonebook)](https://hackmd.io/s/rJ7ePZU3W) / [github](https://github.com/ChiuYiTang/phonebook) ::: Reviewed by <`st9007a`> :::info 1. 已實作 BST,後續如何再改善呢? 2. data set 很關鍵,及早替換成符合現實分布的版本 ::: * [開發紀錄(clz)](https://hackmd.io/s/Skx1vOU2b) / [github](https://github.com/ChiuYiTang/clz-tests) :::info 1. 已有應用場景 ::: --- - [ ] [timedieyoung](https:// "title") * [開發紀錄(ternary)](https://hackmd.io/s/B1B3MHwh-#) / [github]() --- - [ ] [function86437](https://github.com/function86437) * [開發紀錄(ternary)](https://hackmd.io/s/SJCVZvRiZ) /[gitjub](https://github.com/function86437/balanced-ternary) --- - [ ] [sianghuang](https://github.com/sianghuang) * [開發紀錄(phonebook)](https://hackmd.io/s/SkVrl99p) / [github](https://github.com/sianghuang/phonebook) ---