星期日, 4月 27, 2014

最近

好久沒有寫 blog 了 XD。不過老實說,技術與想法沒什麼長進 XD。

最近看完兩本 python 的書,TDD 的書看了三分之一,我還是只有看這種書比較快 XD。看的書還是有如以往的雜而不深入,希望可以在今年慢慢的收斂 (每年似乎都講一樣的話 XD?) 慢慢的看才發現,要了解 Mac OSX 和 Linux 兩者之間的差異,說實在話是會花很多時間的。手上關於 Linux 的書比較多,還是會先以 linux 為主吧。(現在的好處是,vagrant 很方便,而買了 parallel desktop 也有 vagrant 的 plugin),希望可以看到什麼就提出來討論,可能現在看的很雜的我還是不能提出很深入的思考性問題吧 XD。

在工作上因為一直是寫 C 和 Assembly,純黑手工技術倒是升級了不少,不過也沒啥值得一提的事,於是就此打過。

---
繼續看書去。

星期三, 1月 01, 2014

2013 回顧

其實 2013 對我的人生很像是 shfit 掉了一年,不過回想起來也沒這麼糟。今年有 3/4 的時間在當兵,1/4 的時間開始工作了。當兵與工作對我來說算的上是對自己的生活有 一個簡單的交待,但是怎麼繼續過下去,這或許就是今年要面對的問題吧。


當兵其實是一個很開心但是又很幹譙的過程,當兵這件事從來都不被值得紀念,唯一想要紀念的是所認識的朋友,這或許才是我們想要珍惜的。


在當兵時,利用其中的空閒時間,看完 Learn You a Haskell for Great Good 與大概掃過這本書的後半段。當兵到一度想要學習 Data Mining,然後就買了吃董推薦的 Data Mining 但是看不到一半就沒有繼續看下去了。在這中間,Josh Ko 特別從英國買了一本 Practical Foundations for Programming Languages 的實體書送我,不過我也沒有持續很久,但是還是希望未來有一天可以看完,享受一下腦袋 melting down 的快感。在一開始的當兵就希望自己想看什麼就看什麼,但在這個時期中發現,這個問題並不只有今年才存在,所以在結束兵役之後,希望自己可以好好的認真把一些書看完吧。


2013 年看了不少課外書,老實說都是利用當兵的時候看的。利用當兵的時候把伊坂幸太郎的作品看完了。也看了 Sean Kuo 推薦的 "鴨川荷爾摩" (萬城目學著),其他的書其實印象沒有這麼深刻了。但是還記得在當兵的時候,當兵的同袍一起看小說的時光。


當兵的時候其實並沒有寫什麼程式,硬是要說,大概只有幫忙 gwchen 老師把以前的程式錯誤做一番與修正,這大概只花了幾個禮拜的假日。其他時間都是在對 haskell 做一些嘗試,在今年接近年尾的時候,開始慢慢的可以利用 haskell 來處理一些想要做的事,其實用 haskell 寫程式真的蠻不錯的,雖然我到現在還是不太會 monad ,但是也不急在一時,真的想要做什麼事就慢慢學吧,沒辦法,我並不是一個聰明的人。


在哈密瓜的幫忙下,結束兵役後一個月就順利的有一份工作可以做了,因為這份工作的關係,又再度的回到了新竹這個城市,從寬的來算,在這個城市即將邁向第三年生活了,對於工作其實並沒有辦法交待太多,倒也不是因為保密協定,而是在這樣子的工作環境,我著實沒有想太多,就這樣子繼續過工作與生活吧。


在 2013 年底與女友一同去台東長濱做了一個簡單的旅行,認識了念陽大哥與慈佈姐,寫了一篇記事留在自己的硬碟裡,也因為這個旅行,開始重新認識自己,對於今年及以後的目標有了相當的修正,關於這個旅行,簡單的來說,心情上的改變,可以讓我們重新認識這個世界,謝謝女友的幫忙及安排這個旅行。希望自己在未來這一年,可以繼續幫助人們。


關於今年及未來的展望嗎 ? 希望在接下來的幾年內可以使用自己的電腦工作及開發,老實說我並不討厭 Windows,但是金窩銀窩都不如自己的狗窩好。有想過在家工作的事,不過關於在家工作的條件我一項都沒達成,也是希望這幾年可以慢慢的達成這個目標就是了。


對以往的我來說 architecture, FP, PL 這些領域該如何選擇是一個困難的問題,外加自己對 parallel and concurrent 又有興趣,頭又更大了。經過這些日子某天醒來才發現,這不過是庸人自擾,如果真的想要解決一個問題,從這些領域來看這個問題,都會有不同的面向,就開心的往自己想要解決的問題前進吧。希望今年可以學習關於 parallel 的一些事,一直到現在,自己還是會有一個任性的想法: 我真的覺得 functional programming 可以把 parallel and concurrent programming 相關的問題解的很漂亮,雖然這好像是用方法來看問題,不過我還是想要這樣子任性的覺得。


至於生活,其實我很開心,可以這樣子一直繼續的學習與思考,謝謝家人女友及朋友的支持,希望今年還是可以繼續學習與寫出一些開心的文字了。

星期日, 10月 06, 2013

文字雜想

其實不甚清楚以下描述能不能稱為寫作,這種廢話文很多,你大可以跳過 (笑)。其實只有一點想表達:

創作重要的從來都不是工具,而是我們想要表現的。

一開始我想要摘錄人月神話所說的一段話 (懶的翻書了)

程式語言並不會大幅度影響開發時間,而團隊中如果有某個語言的高手,那麼使用該語言或許益處還會大些。

在這邊並不想討論從該書第一版出版 35 年後是否有需要修正的地方,在這邊有一個簡單的猜想(不過也無需驗證)。使用文字編輯器或許會影響寫作時間,但是該著重的是你想要表達的。

來說說自己的故事,當兵的時候因為覺得自己想要好好寫些東西,但是自己用 VIM 寫中文不甚方便,於是乎開始嘗試 Sublime Text 及 iA Writer,然後很快的 (其實也花了好幾天) 決定要使用這兩個分別來做什麼事。最後,我面對到的問題是

我想要寫什麼 XD?

我不知道,於是乎寫文章還是慢慢寫(硬碟裡面躺了很多寫到一半的文字),然後在這中間也嘗試了發佈的平台 (從 logdown 到 nikola + snpa)。一直到最近才覺得可以開工了。但心中不甚踏實,總覺得寫出自己可以接受的文字比把寫作環境搞定來的困難的多。

或許下次自己可以先把寫作的主題想好,開始動工之後自己覺得環境有那裡需要加強再來做也不遲,邊改善寫作環境邊寫作是一個不錯的主意。

至於我現在要寫些什麼 ? 心中大致上有個底了,而 snpa 的初步開發也接近尾聲,或許可以開始嘗試一些自己想寫的東西了 (希望這句話過三個月後不是嘴炮 XD)。

星期日, 9月 15, 2013

工作與未來想做的事

從退伍以後不到一個月到進入工作第一禮拜,其實還蠻有蠻多不適應的地方。想來也蠻有趣的,當兵前在新竹念了一年書,入伍後下部隊第一站還是新竹,一直到工作後還是在新竹,到底接下來會去那呢 ? 以後就會知道這個問題的答案是什麼了 (笑)。不過還是要找個時間和當兵的朋友吃飯 (Harold Shaw, Sean Kuo, Jan Chen,對不起,最近真的沒有時間,我一定會找一個時間跟你們吃飯的。)

老實說,第一個禮拜工作還蠻不習慣的,不過希望接下來可以好一點,我似乎有點過於緊張放不開了 (指的是工作態度,不是對人態度 XD),期待下禮拜可以修正嘍。不過還是要說,工作最不習慣的是不能用自己的電腦,所有的工作習慣都要重新建立 … Orz 。當初從學校畢業之前只有希望不要去那種一定要穿西裝的公司上班,現在看來這個願望是有達成,不過下次應該要加一個可以用自己的電腦做事,不過我看這個願望大概還要很久很久以後才會實現了 XD。

老實說真的要有什麼結論,現在說出來都是不準的,畢竟只有工作一個禮拜就是了,不過真的從這個禮拜學到不少事,很謝謝公司同仁的幫忙。

很謝謝我的家人與我的女友,在這一路上一直的包容與忍耐,我不敢說我現在是一個成熟的人,但希望自己離小屁孩這個定義稍微遠一點就很開心了。

這個禮拜有和哈密瓜吃飯,他鼓勵我,工程師的個性就是動手去做(當然除了這件事以外還有一堆啦),我捫心問我自己,我到底最想做什麼 ? 其實就只是寫寫程式解解問題而己,為了不讓自己淪落到嘴炮人的境界,還是會想要讓自己努力動手做一些事。小馬馬曾對我說過,擴展人類的知識是很難的,我現在能體會,所以至少希望自己可以把人類已知的知識好好善用就夠了。

未來最想做什麼,我還有一段很長的時間要去探索吧。

最近還是很想寫 parallel and concurrent program,所以我決定繼續學習 Haskell ,然後把 Simon Marlow 的大作看一看,這件事做完最快大概也要半年過去了 (因為是在不影響工作的事情為前提之下),無聊在 104 上打 haskell ,發現台灣真的有公司要聘用寫 haskell 的人,是做 WhatsTheNumbers app 的公司,之前在某個計畫上看到創辦人說他從 MIT 畢業之後,他做的主題不僅僅在台灣找不到工作,美國也找不到工作。我看到就笑了出來,他做的博士論文真的是一個很有趣的問題呢,有空的人可以去看看喔(不附連結的原因是因為我懶的找了 XD。)

---
可能最大的希望就是以後自己還有力氣說這麼多廢話 XD?

星期六, 9月 07, 2013

[Haskell] Read the contents from the clipboard in Haskell

有時候只是想要做一點簡單的事情的時候,其實會直接貼上 string 做處理。但是因為不知道怎麼在 ghci 上貼入 multiple line string,所以想到可以直接讀取複製的內容直接做處理。


在 Mac OSX 裡有一個相當好用的指令是 pbpaste,可以直接蛉出在剪貼簿中的指令。開一個 subprocess 把指令的 output pipe 進來就可以了。嘗試如下。


嘗試執行結果如下

Prelude> :l read_pbpaste.hs
[1 of 1] Compiling Main             ( read_pbpaste.hs, interpreted )
Ok, modules loaded: Main.
*Main> import Data.Char
*Main Data.Char> processPaste Data.Char.to
Data.Char.toLower  Data.Char.toTitle  Data.Char.toUpper
*Main Data.Char> processPaste $ map Data.Char.toUpper
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package filepath-1.3.0.1 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package bytestring-0.10.0.2 ... linking ... done.
Loading package unix-2.6.0.1 ... linking ... done.
Loading package directory-1.2.0.1 ... linking ... done.
Loading package process-1.1.0.2 ... linking ... done.
ING PACKAGE ARRAY-0.4.0.1 ... LINKING ... DONE.
LOADING PACKAGE DEEPSEQ-1.3.0.1 ... LINKING ... DONE.
LOADING PACKAGE FILEPATH-1.3.0.1 ... LINKING ... DONE.
LOADING PACKAGE OLD-LOCALE-1.0.0.5 ... LINKING ... DONE.
LOADING PACKAGE TIME-1.4.0.1 ... LINKING ... DONE.
LOADING PACKAGE BYTESTRING-0.10.0.2 ... LINKING ... DONE.
LOADING PACKAGE UNIX-2.6.0.1 ... LINKING ... DONE.
LOADING PACKAGE DIRECTORY-1.2.0.1 ... LINKING ... DONE.
LOADING PACKAGE PROCESS-1.1.0.2 ... LINKING ... DONE.
HTTPS://EN.WIKIPEDIA.ORG/WIKI/CONTINUATION-PASSING_STYLE
*Main Data.Char>

2013/09/08 09:17 AM 早上試一下,還可以這樣子幹也蠻方便的

Prelude System.Process> putStrLn =<< readProcess "pbpaste" [] []
http://hackage.haskell.org/packages/archive/process/1.0.1.1/doc/html/System-Process.html
Prelude System.Process> import Data.Char
Prelude System.Process Data.Char> putStrLn . (map toUpper) =<< readProcess "pbpaste" [] []
HTTP://HACKAGE.HASKELL.ORG/PACKAGES/ARCHIVE/PROCESS/1.0.1.1/DOC/HTML/SYSTEM-PROCESS.HTML

所以想要寫完全沒有彈性的碼可以這樣子寫。


星期五, 9月 06, 2013

選擇筆記用紙心得

這其實是一個蠻簡單的問題,但是這個問題其實困擾了我還蠻長一段時間的,因為我一直有一個問題。

下筆的那一刻,這張紙是否要被保留下來 ?

老實說,很多時候我是不知道答案的。不過後來想出一個可以接受的方法解決了這個問題。那麼方法是什麼呢 ?

買 A4 30 孔資料夾(or 魚骨頭) + A4 30 孔打孔機。重要的重新整理到電腦上

這個方法應該很多人提過,下面都是我為什麼會選擇這個方法的故事,如果沒興趣的可以跳頁了 XD。

從大學開始,試著自己開始整理筆記遇到很大的困難。因為我上的課很多課堂都是使用投影片,大概到大二的時候,我買了一台雷射印表機把投影片印出來然後在上課的時候試著做註記,還有自己閱讀課本及寫到 blog 上,大部分的筆記都很零零散散的,不過就這樣子過完了大學四年 XD。到了碩士班,我們還多了一個東西叫做論文,看論文也是一絕,因為一剛開始,真的還蠻難只使用電腦就看論文(中間有買 Kindle DX 試過,但是反應速度實在是有點囧,現在還是認命的買 iPad 了),所以唯一選擇也是印出來,久而久之,如何整理印出來及自己寫的東西變成一個很麻煩的問題。

那麼現在來談談做筆記的用紙及收集,最常見的方式是 B5 26 孔夾,大小適中,外觀多樣,紙也容易補充,是很好的選擇,不過會遇到我一開始說的問題,我在我下筆的時候,除非明確知道是要做筆記,不然拿 B5 26 孔紙當計算紙也是有點浪費 (26 孔紙和 Dobule A 一包比起來還是貴了點)。經過了很多嘗試,最後還是決定使用 A4 紙做筆記。

但是使用 A4 紙做筆記會產生最大的問就會跟前面提到的一樣,不容易整理,這中間試了很多方式。一開始印投影片的時候,就買了一個20入的資料夾,每印出一份投影片,就塞進去,要看再拿出來. 也試著夾起來,但是這其實只是進化版的訂書機整理法而己。在碩士班寫的 A4 紙筆記最後全部掃入電腦,然後全部收好,要看的時候就一張一張的看,這個狀況持續了好幾年。

有一天,我看見 Jacky Liu 帶了一個 2 孔 A4 資料夾裡面塞著他自己打的 A4 紙,我看到的時候覺得可以把筆記紙和自己印出來的資料同時整理,是一個不錯的做法。那時自己先買了一個簡單的打孔器,再買了一個 A4 4 孔資料夾,這個方法雖然滿意,不過也有一些缺點,因為自己買的是單孔打孔器,所以紙打起來並不美觀,另一方面,可以買到 A4 孔夾其實都偏大。在那時候,我自己買了一個 A4 4 孔夾,自己把夾子割小一點,雖然邊緣不怎麼美觀,但是是一個可行性的方法。

IMG_2387

後來在逛文具行的時候,意外看到大小趨近 A4 紙大小的 A4 4/ 30 孔夾(如下圖),看到這一款相當的開心,當下買了很多個回去存 XD,整理起來效果也很不錯,到此剩下的問題就剩下打孔了。

IMG_2385

IMG_2384

打孔如何打的漂亮,問題在打孔機。一般的書店可以買到的打孔機一般是 2/ 4 孔打孔機,而且紙無法對齊。最後決定在網路上尋找合適的打孔機,在女友的幫助下,發現 Carl GP-130 打孔機的價錢可以接受 (如下圖), 紙可以對齊,打出來也很美觀,於是就決定這個解決方案。

IMG_2383

Carl GP-130 的優點就是打起來整理美觀,容易攜帶,但是缺點還不少。第一,價錢不算便宜,我買的時候是 NTD 600,不知道現在有沒有便宜一點。第二,打一張紙的步驟不算少,要先對齊然後一張紙要打孔 5 次,這速度其實不算快。第三,一次只能打 2 張 80 磅的紙(如 Dobule A) 或 3 張 70 磅的紙,如果有很多紙要打其實蠻耗時的。如果真的想要用這個方法的話,預算足夠可以買 Carl SP-30N (不過因為預算的關係,我和我女友合買一台 XD),雖然紙一樣只能打兩張,但是打孔只要刷一次就搞定,還在可以接受的範圍。

假設用上述兩台打孔機,那麼一次只能打兩張怎麼辦 ? 有兩個不是方法的方法,第一個,買更專業的打孔機 (笑),第二,利用閒暇時間打孔,我自己是利用看日劇/ 動漫/ 電影的時候打孔,不然就是晚上想睡的時候邊聽音樂打孔,如果有其他方法請跟我說,我也很想知道,謝謝你。

整理起來效果如何 ? 論文翻閱比起以前方便的多也容易整理,當然,要做註記的時候可能還是要從活頁夾拿出來會比較方便,一般為了筆記方便,通常會再買一個 A4 筆記板 (如下圖),而投影片依舊是個死穴,因為一般是 4 頁投影片一張,用活頁夾翻閱沒這麼方便,直向翻閱的話,可以考慮印 2/ 6 張一張(如下圖),如果要橫向翻閱的話,建議可以買魚骨頭。

IMG_2382

IMG_2386

這個方法最大的優點就有如一開始所說的,不太需要考慮這次的寫作為何,缺點當然也有,一開始要花錢花時間適應,但是以我自己來說,我很喜歡這樣子的整理方式。但是最後還是會想要用電腦整理,原因在於搜尋,不過這又是另外一篇文章了,以後再說吧。

如果有興趣的話不妨試試看這個方式,如果有什麼想討論的,我也會很樂意討論。

星期日, 9月 01, 2013

Lambda Mind & Yen3's Note


從今天開始,No title, no thinking, no meaning 改名為 Lambda Mind。其實一直想改名很久了,但是一直找不到一個符合自己心情的名字,這次在女友的幫忙下才想到這個好名字。當然我也不否認有抄襲 Trek through Pure Reason 的味道,只是我英文和意境沒這麼好,所以只能想簡單一點的 XDXD。

寫了這麼多年,知道寫出滿意的內容其實並不容易。雖然自己喜歡寫作,但是總覺得自己腦袋沒啥東西可以寫。看著自己當兵時立下退伍後的志願就有一項,希望自己退伍後能持續寫作這件事。這大概也是為什麼硬碟裡面躺了一堆沒寫完的東西(笑)。

同一時間,經過一些日子的想法,還是決定開個分站 Yen3's Note 來記載一些隨筆,如果有可能(這通常不太可能),會再想辦法整理再放回 Lambda Mind 上,有沒有可能全部移過去 ? 暫時不太可能 XD。從 Google Reader 關閉以來,每次看到一個新的服務,我的第一個想法是,這個服務到底可以撐多久,blogger 這個服務也是有可能被 Google 關閉的。logdown 是個好主意,也做的很不錯,但是我還是會想,我們可以用多久 ? 所以其實很謝謝 logdown 可以把所有的文章以 markdown 的形式匯出,至少是留了一個不錯的後路。

---
最近大概就這樣 XD?



2013/09/08 19:26 經過一番想法之後,還是決定使用 nikola 來做筆記之用,會改的原因大部分都不是技術原因,雖然會比較麻煩一點,不過就先這樣子將就用吧 XD。