2014年7月6日 星期日

[emac] Haskell-mode with ghci

自從改用 Emacs for mac os x 之後,原本一些 aquamacs 先包好的東西現在都沒有可以用爽爽。 其中最明顯的大概是 unicode 的問題,這邊可以找到我之前弄好的設定,不過細節等未來有機會再說。這邊要提的是一度讓我頭痛不已的另一個問題:haskell-mode。

haskell-mode 的 source code 放在 github 上,有需要直接去下載就可以。安裝方法基本上就是直接找個地方丟,然後進去執行一下

> make haskell-mode-autoloads.el

接著再去 ~/.emacs 裡面加上 load-path 和喜歡的 hook等等。我自己只加上了下面這五行:

(add-to-list 'load-path "~/.emacs.d/modes/haskell-mode/")
(require 'haskell-mode-autoloads)
(add-to-list 'Info-default-directory-list "~/.emacs.d/modes/haskell-mode/")
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)

之後隨便打開一個 .hs 檔案然後 C-c C-l 看看有沒有正常運作就可以了。



### 找不到 hugs ?!

之所以這個看起來安裝過程並不複雜的東西會可以困擾我好一陣子,是因為我的 haskell-mode 在裝好以後就一直想要去跑 hugs,但是我根本就沒裝過 hugs 囧mmm。 這個問題的原因是:haskell-mode 會去判斷系統的 haskell interpreter 是哪套然後直接生對應的參數出來。但是那個 inf-haskell.el 不管怎樣就是認為我的電腦裡面是 hugs = =

總之,最後我還是懶得改 haskell-mode 的 source code,所以就直接調 .emacs 。這裡提供兩種稍微粗暴的作法:

**[方法一]** 就是直接從選單裡面去打開 Customize 這個頁面,然後點進 Inferior Haskell 這個子頁面並且修改 Haskell Program Name 這個變數到你自己的 ghci 路徑去。

**[方法二]** 直接打開 .emacs 並且暴力要求先讀入 haskell-mode 然後直接修改變數值;也就是在上面五行之後再加上下面兩行:

(autoload 'haskell-mode "haskell-mode" "..." t)
(setq haskell-program-name "/usr/loacl/bin/ghci")

這樣原則上就可以用了,不過其實這真的是個爛方法,我應該研究一下怎麼樣把變數設定做成一個 hook。但是這就要等我超級有空再說了 XD

2012年12月28日 星期五

[Note] R and Statistical analysis

[0] 裝/用 Package

> install.packages("package_name")
> library("package_name")

[1] 信度分析

現在是用這個套件
http://personality-project.org/r/html/alpha.html
裡面包含 Cronbach's alpha 和 Guttman's lambda 6

> library(psych)
> alpha(data_frame)

-----
還有這個也可以算 alpha
http://rss.acs.unt.edu/Rdoc/library/ltm/html/cronbach.alpha.html
但是沒有用過

[2]效度分析

靠北複雜,跳過

[3]相關分析

內建的 cor() 就很夠用了
http://www.statmethods.net/stats/correlations.html

> cor(data_frame)



> cor(data_frame), method="method_name")

[4] 結果輸出

> write.table(mydata, "file_name")

> library(xlsx)
> write.xlsx(mydata, "file_name")

[5] counting

計數

> table(sort(mydata$column_title))

*to be continued*

2012年10月23日 星期二

Notes on notes

最近想要找一個好的軟體來作筆記: lyx 寫起來太綁手綁腳、 quicknote 會突然掉進死亡螺旋然後把我的資源吃光光、 textmate 的 unicode 簡直是悲劇一場,最後還是裝了 Evernote 。

Evernote 用了幾個禮拜,大體上都還不錯。但是他的排版我實在是不太喜歡,非常非常有純文字的感覺,視覺上真的不太好看。我自己的習慣是用類似 markdown 的方法去編輯/排版所以我後來裝了 Mou 來作為 evernote 的編輯器,(也就是每次都從 evernote 複製到 mou 去編輯然後再貼回去儲存)。不過這樣弄實在是又蠢又麻煩,所以最後跑去 bitbucket 開個 repository 然後直接跳過 evernote 的複製-貼上-同步的愚蠢步驟。目前為止一切還算不錯!

2012年10月3日 星期三

[Note] Infographics and Fonts

看到一系列關於 infographics 的文章,覺得相當值得看一下,考慮說要放在這邊還是另一個 blog ,最後想說「和資訊相關的東西所以還是放這裡好了」。

Infographics 就是現在在雜誌或是一些網站上常常看到的那種豐富圖表。通常是一個不太複雜的圖,但是可以同時表現出若干個重點和足夠的資訊量。對於視覺效果和產生直覺來說都非常的適合。例如說這張圖:


inSide 有關於這個主題的幾篇文章。這篇 就是個不錯的範例,裡面講到了一些基本概念和方便的工具。

另外也有這系列的 Infographics 教學 可以看,裡面包含了:
同一個 blog ,裡面還有兩篇文章是關於 typefaces 和 fonts 的。寫得蠻清楚的,紀錄一下以後可以來學一下。畢竟這樣是「永遠沒真正學起來的痛」之一。
同場加映,同網誌還有每月推薦字型

2012年5月8日 星期二

[Notes] FPUG meetup #1

今天去了由 ihower 主辦的 functional programming user group meetup。 會間有兩場講座,一場由大貓主講另一場由godfat主講。

首先,真的很開心有人辦這樣的 meetup。完全讓我想到當年搞的要死要活的 haskell教學讀書會。事實證明在豆腐大學辦的 MTN 除了幫我自己賺到女友一位以外,還真是一點實際價值都沒有。當時搞的要死要活的寫投影片借教室借設備等等,卻沒有真正把 functional p. 推廣得很好。這次的聚會雖說大概不會有機會輪到我上去屁話,但是還是很高興有不少人重視與使用(至少是試圖使用) functional lang.。

幾點小問題:場地空調有點太冷。而且我一直以為會有供餐,就算吃不飽也多少可以擋一餐。事實證明,完全沒有嘛(翻桌)!含我在內光我認識的人就有四個是空著肚子在等放飯。最後是,椅子真的不太好坐,最後實在是腰酸背痛 >"< 嘛,不過這好像都是場地的問題。

實際上我覺得就內容而言,大概只有一個(大)問題。前後兩場的難易程度實在是相差太遠,雖說我大概都聽得懂,但是我相信很多人對第二段的內容完全丈二金剛。一方面應該是兩個主講人對於內容深度下修的程度不一,另一方面確實讓人感覺兩邊沒有協調好。不過,單就難度差來說,也可以就直接當作前半是入門模式,後半是晉級模式。不過這樣的講法對於初次聚會這點來說也有點難以自圓其說就是了。

另外,關於 FLOLAC,godfat 最後結尾附近有件事情說的很好。去 FLOLAC 先聽/看/見聞到很多東西,然後自己慢慢消化就好。某否則太多東西確實平常根本碰觸不到。

順便藉此機會想一下,如果是我上去講我要講什麼題目呢?馬後砲來看,果然開頭還是應該歷史一下,然後就是各種 syntax 介紹還有常見的函數練習。沒錯,就和當初我在豆腐大學做的事情一模一樣。基本沒問題以後才是衝 lambda-calculus 還有 program construction 那些的。希望趕快會有下一場!

2012年5月2日 星期三

[wiki]dokuwiki gitit

最近在弄 flolac12 的網站
照慣例是用 dokuwiki 在架
說是說方便啦
不過好像還是有點瑣碎

重點是, php 真是討厭 orz

找了一下發現
http://gitit.net/

雖說圖樣是呆板了點
但是似乎編輯起來非常方便

2012年4月16日 星期一

[latex] From gnuplot to tikz via lua


先從 GNUPlot 開始

gnuplot 基本上直接裝的話是預設 x11 為 output terminal
如果不喜歡 x11(esp, on mac),裝個 aquaterm 也是不錯的
不過就是記得要先裝 aquaterm 就是了

[optional]
aquaterm目前看到最新版是 1.1.0 (2011)
而前一版是 1.0.1 (2006)
照說直接裝 1.1.0 就好
可是 1.1.0 只有 .pkg 不能自己 build...
而明顯 1.0.1 實在太舊了...
無奈之下就只好 .pkg 1.1.0 了
一共被塞了兩個東西
1. ~/Applications/AquaTerm.app
2. /Library/Frameworks/AquaTerm.framework/
好吧,沒有到處亂塞就算了...

gnuplot 基本上用 homebrew 就好
> brew install gnuplto
輕鬆又愉悅!!

順便提供幾個 gnuplot 裡面的指令
列出所有可用的 terminal
# set term

設定 terminal 成 aquaterm, latex(tikz), xwindow(x11)
# set term aqua
# set term tikz
# set term x11

設定輸出檔案
# set output file
更多 gnuplot 內容請參考 documentation



這一篇的另一個主題就是 gnuplot 和 TikZ 的整合
承上篇,TikZ 強大過頭
所以這邊也描述一下 gnuplot → TikZ(tex) → pdf 的用法
這邊(http://www.texample.net/)有一個範例程式還有簡單的步驟講解

首先,如果只是要用貼圖的話
直接把 terminal 設定成某個圖檔格式就可以了
# set term png
不過這實在是不夠美觀,畢竟這就變成點陣圖了
所以還是直接輸出成 tikz 格式然後用 latex 去 compile 會比較一致又美觀
不過事實上,gnuplot 的 tikz terminal 目前並不是產生 pure tikz code
他是生產出一個介於 tikz 和 lua 之間的 middle-code
所以我們可以看見這些 code 不是用 \begin{tikzpicture} 開頭,而是 
\begin{tikzpicture}[gnuplot]
並且,latex 在 compile 這樣的 tex code 的時候
需要 load 一個 package, gnuplot-lua-tikz , 進來
不過在解決那個 latex package 之前要先有 lua 可以用
因為 # set term tikz 實際上是還是用 lua terminal弄出來的

雖說 MacTeX 幾乎是包山包海包東包西包大腸包小腸
但是偏生沒有那個 package: gnuplot-lua-tikz
而這東西 TeXLive 還沒有吃進去所以要手動安裝
好佳在這個 package 在gnuplot 的 src 裡面就有包
就在 gnuplot-x.x.x/share/LaTeX/ 裡面
把這些東西丟到可以讓 texlive 可以吃到的路徑就好了
(細節可以參考 wikibook 裡面的說明)
我自己是放在這裡
~/Library/texlive/2011/texmf-var/tex/latex/gnuplot-lua-tikz/ 
另一個可行的方案當然就是直接去 hack
/usr/local/texlive/2011
/usr/local/texlive/texmf-local
這兩個地方
不過因為當初是 .pkg 裝的
所以這裡基本上是以 root 身分鎖上的
要 chmod 才能塗塗改改就是了