[redmine ]透過 rest api 新增issue的時候給予作者id

組織裡面的學弟想要撰寫一個比較友善的前端給使用者來回報問題,然後系統會自動塞入我們的專案管理系統redmine中。不過目前的版本並沒有此一功能,除非先把每個使用者的api key給撈出來,然後在給予不同的api key ,可是這樣比較奇怪啦…。

所以我就寫了一個小小的plugin 可以偵測是否有要更換author  ,這個plugin會在save前把author置換掉。

不過這個程式寫的比較簡略,他沒有去檢查如果沒這個使用者的時候怎麼辦就是了,不過應該可以用了。他需要放兩個地方,gitst裡面都有寫了~~~~~

source: https://gist.github.com/1232512

ref:  http://www.redmine.org/projects/redmine/wiki/Hooks  (範例似乎有誤…)

processing 與 GUI 的一些想法

在寫 processing的時候 ,常常會遇到需要調整參數來影響顯示出來的結果。一般來說可能的作法有幾種:

  1. 寫在程式裡面,改變參數需要重新執行。(作法很簡單但很麻煩)
  2. 寫在外部檔案裡面,每次draw 時去更新。(每次都讀檔,有點浪費)
  3. 利用 gui lib ex : p5controller  (ui程式都混在一起,而且 p5controller那邊複雜一點的 widget 程式很大一包。很不好看)
  4. 使用 swing, or awt (官網上說,不建議使用,因為其更新週期之類的不太一樣。我也不太喜歡用,有點麻煩。)

這幾種作法都有其缺點,而且主要的壞處就是把gui的邏輯給混進來了。小的不太喜愛。

我後來想了一下好像還有幾種可能的衍生方式:

5. 透過 socket server 喬接。(不過要額外寫一隻 server 跟gui介面….)

6. 起另外一隻 thread 去定期撈file。 (中庸多了,不錯)

 

5,6的方式有個好處是把設定介面給割開了,而且可以用其他方式實作,不一定要用java的介面,也可以是網頁介面,當然這樣就不能用applet的方式跑了。

 

後來想了想我選擇了 6.的方式,但是希望之後逐步改進,例如使用yml當做設定檔,那麼就會有一個可以讀yml就產生控制介面的程式。這樣只要痛一次就好了!!

tmuxinator

前一陣子逛到 tmux 的官網,看到一個tmuxinator連結。 好奇之下點進去用,真的是驚為天人!!

簡單的說就是一個管理tmux session的工具。想像一下下面的情境:

 開發rails 專案

我們的 tmux環境可能會是:

  1. session 1:  vim
  2. session 2 :  rails s
  3. session 3:  git(pull)

這時候每次重開機(或是當機)就很麻煩,要全部手動來一次。有了 tmuxinator 你再也不用怕了!!

1. 安裝

gem i tmuxinator

2. 建立一個專案的設定檔

tmuxinator new project_name

他會建立一個 ~/.tmuxinator/project_name.yml 設定檔,不過呢,我裝的版本好像有點問題沒有自己建立 ~/.tmuxinator ,阿反正就自己開一下。然後有時候editor會有點問題,那就自己 vim  ~/.tmuxinator/project_name.yml 吧!!

裡面的設定大概長這樣

# ~/.tmuxinator/vote.yml
# you can make as many tabs as you wish…

project_name:  abc
project_root: ~/projects/abc/src
rvm: 1.9.2
pre:
tabs:
– editor:
layout: main-vertical
panes:
– vim -S session.vim
– #empty, will just run plain bash
– server: rails s
– logs: tail -f log/development.log
– console: rails c

(格式跑掉了,請去官網看好勒~~)

這設定其實很簡單。pre: 後面接的是預執行的指令:(ex:如果是php的話可能會是啟動apache server)

再來tabs底下第一個session 的名字叫做 editor, 然後有分割視窗(!!), 第一個分割視窗透過vim 的session記錄功能打開之前的檔案。第二個分割視窗則是留一個空白的shell

第二個session的名字叫做server,執行  rails s 指令叫起伺服器  …..

——-

要啟動專案只要鍵入   mux start project_name 即可。剩下的請看官網囉!!

超讚的

[dp]週報 – 從 delicious 跳船到 diigo

經過強者我學弟的某日的偶然一提:

 

後來又再去試用一下 diigo,一試用之下驚為天人!! 真的覺得 delicious 太不長進了。

diigo有幾點功能很棒:

  1. 很方便使用的群組功能
  2. 也有跟 firefox一樣的toolbar
  3. iphone的 app(可以下載網頁離線閱讀,真的很棒)。
  4. 可以自動同步到 delicious

 

所以決定跳船了!!

 

links for 2011-09-08

links for 2011-09-07

links for 2011-09-06