go-framworks

Screen Shot 2013-04-26 at 3.07.24 PM今年雖然沒有寫展望,不過一直有一個目標在我的心中,就是自己寫一套自己的 creative coding framework 。之前一直卡在 跟qt去對接。目前最近有高手寫了一個很完整的版本 – qt-ui ,初步都可以使用。所以我就得以繼續下去了!!  上面就是仿造processing 教學的第一個作品(http://processing.org/learning/gettingstarted/ )。 程式碼長這樣(go還沒非常熟!!):


package main
import (
 "../goframework"
)
func Draw(){
 goframework.Fill(0,255,255)
 if goframework.MousePressed() {
 goframework.Fill(0,0,0)
 }else{
 goframework.Fill(255,255,255)
 }
 goframework.Ellipse(goframework.MouseX(),goframework.MouseY(),80,80)

}
func main(){
 goframework.FrameRate(60)
 goframework.Draw(Draw)
 goframework.Win(400,400)
}

不過我還是修改了qt-ui的幾個部分。

  1.  設定背景繪圖的時候不會會清除。
  2. 設定滑鼠 move事件 在不按下左右鍵的時候也會觸發。

未來大概還要改不少吧@@  qt 這邊對我就比較難了 。 目前的計劃是先把2D的部分api給完成。再來是參數化設計 , 影像處理的api  , 內建使用go 寫的 簡易的電腦視覺的lib(像是找邊緣之類的。) ,  最後跟硬體 Arduino對接。  最後是3D的部份,要有3D的部分才有辦法做投影校正的lib阿!!

ojs 升級到 2.3.7 邊欄消失的問題

這陣子把系上的期刊系統(ojs) 從2.1.2升級到 2.3.7 。結果發現原本的theme不能用了,所以之前的一些訂正都要重來,也就是說只能升級資料庫,其他就要自己重做了。

 

這其實事小…。後來負責修改樣式的學弟發現..邊欄不見了,怎樣設定再前端都找不出來。後來我這幾天花了很多時間….(四個小時有了吧…)一直在找這個問題,一路從php版本懷疑到php.ini設定…。  後來才發現是資料庫升級後有些資料官方的升級程式沒有補回去。

是的,就是version這個table, 他就是兇手….。  只要從新的安裝的ojs把 這個資料庫的內容覆蓋過去即可。

 

謝謝大家。…

mamp & yii

如果 yii 要搭配 mac上的 MAMP 使用,請把connectionString 從

mysql:host=127.0.0.1;dbname=playaround

改成

mysql:dbname=playaround;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock

即可

yii extensions

剛用了一些 extension 就發現一些小問題..

我用了 yii-user & images

yii-users

在 modules/user/views/admin/_menu.php 裡面的

if ( count($list)) {

要改成

if (isset($list)&&  count($list)) {

然後 images的設定那邊錯了

<pre>'import'=>array(
    ...
    'application.helpers.*',
    ...
),

應該是

<pre>'import'=>array(
    ...
    'application.extensions.helpers.*',
    ...
),

因為是解到 base/extensions/helpers/ 底下阿!!

drupal 5 & php 5.3

他們感情不好。

今天在公司用了 ubuntu 10.04 感覺相當不錯,剛剛就把學校的某台伺服器升級一下,結果亂噴….  。主要是因為 drupal 5.x 尚未跟 php 5.3 完全相容,所以有些地方要改一下。

首先要把錯誤回報等級改一下

includes/common.inc line  (line 592)

if ($errno & (E_ALL ^ E_NOTICE)) {

to

if ($errno & (E_ALL & ~E_NOTICE & ~E_DEPRECATED)) {

再來是 theme的警告

in includes/theme.inc (line 171)

$output = call_user_func_array($functions[$function], $args);

to

$output = call_user_func_array($functions[$function], &$args);

最後, 如果看這種類似的錯誤 warning: syntax error, unexpected BOOL_TRUE in modules/node/node.info on line 3 in /var/www/creative/includes/module.inc on line 195. 表示 node.info 裡面的描述有用到 on 這個字。 所以去把那個字串用  " “包起來即可。

大概就這樣了,升級前要先看一下 >"<

cakephp 在 user_dir中

剛剛把cakephp 1.3 rc3 裝到自己的家目錄卻怎麼也動不了…一直出現找不到網頁…。一直改 userdir_conf 也沒有用….。
後來才發現真是太白痴了,在.htaccess中加上

RewriteBase /~username/cake_dir

就可以了…
哇勒…

drupal_install_template

之前提過之後架站都會使用drupal 來做,不過每開一個新project 都得重新下載一次module,很煩。通常的作法是自己管理一份drupal, 不過嘛…. 這樣還是要處理model 更新的問題。 所以我就用ruby寫了一個自動下載安裝的腳本,然後又取了個爛名字  =.=  drupal_install_template 。 其實這些問題都很簡單,可是似乎都沒官方解法@@ 像是rails 也是到2.3 才有template的功能。

*nix 平台適用(mac也可,因為它混用了wget & tar & mv 指令) 使用方法很簡單,到 list.yml 裡面依次把 model name填上,然後執行它就可以了  😛

這腳本授權為WTFPL ,意思就是隨便你拿去幹啥XD

其實還有一些想法,像是自動補上中文語系檔,或是model可以指定版本….etc 。不過隨著時間慢慢來補上吧  😛

把書籍加入anobii中

一直以來如果在網路上看到人家推薦好書,想要加到anobii的預購清單中就很麻煩。步驟通常如下:

  1. 通常提供的是書名(如果是書名我都會先去books.com.tw找到isbn再下一步) or books.com.tw 的書籍頁面
  2. 複製書名 or isbn
  3. 開啟anobii的頁面,貼上搜尋字串搜尋。
  4. 搜尋結果出現了,終於可以選擇加入書櫃or 預購清單了

很是麻煩。前天,我終於忍耐到極限了。上網找找看有沒有提供啥extension …. 結果沒有 o_O,也可能是我搜尋能力有問題。

不過反正我寫好了兩個東西。現在你就可以:

  1. 反白關鍵字 or isbn
  2. 按一下,直奔anobii搜尋結果。在那個頁面你就可以輕鬆地選擇把此書加入書櫃or 預購書單了

對我來說真是太棒了 😀

方法一: 把下列連結  searching in anobii 拖到網址列。然後你只要反白文字,點它一下,就會到anobii的搜尋結果頁面了(firefox only,safari 之後加好了,ie 去角落蹲著)。

p.s wordpress.com 會過濾js… 所以請拖到網址列後,在searching in anobii 上面點選右鍵,選擇屬性,然後把下面那一行(一定要一行喔 不能多行!!! 請注意)貼上去取代即可。

javascript:(function(){var text= document.getSelection();if(text!="") location.href="http://www.anobii.com/search/?s=1&keyword=“+text })()

方法二:安裝套件。然後反白文字,按右鍵,選擇searching in anobii ,就會連到anobii的搜尋結果頁面了。

——

題外話,一開始只有想到法二,搞了一陣子 T_T ,睡一覺起來才發現可以用法一阿!!!!,果然程式設計師要多睡覺。不過現在寫套件跟2.x那時候簡單多了,現在有基本的架構產生器,下載下來,依照位置放好,就可以開始開發了!! 不過要注意一下,裡面的install rdf 是舊的格式,它的minVersion and max Version 是用attr 的方式,可是新的設定檔都是element ,這邊改一下應該就沒問題了。 等考完試再來把這個套件全部改好,放到 firefox的官方網站上。

p.s 其中取得使用者選取區域的程式碼複製自autocopy這個套件,非常感謝。  開放原始碼真好哇~~~~

ext 的授權

最近這件事好像鬧的蠻大的 @@

簡單的說,就是ext原本的授權很奇怪。說是open source 的授權(LGPL),但是卻不允許使用者分枝出去(它是以yui的分枝起家)或是合在其他framework中(授權頁面庫存檔)。

John resig 說得很狠:

ExtJS is a giant licensing fail pile masquerading as an open source project in a thinly-veiled attempt to force more people to buy their corporate licenses. Unless you’re willing to shell out the big money, stay far – far – away.

http://www.juixe.com/techknow/index.php/2008/04/27/how-to-kill-a-community/ 這篇收集了很多相關的文章。

不過事情應該平息下來吧,現在去看授權頁面,已經改成GPL 3.0 了,也拿掉之前的限制了。

[drupal] insert view and Viewfield

insert view  和 viewfield 是drupal 中兩個可以把別的view 插入到當前node 的模組。不過insert view 有點問題,他會自己cache 一份 render 後的結果,這會導致當view 裡頭的node 更新後,他會很慢很慢才更新(學弟改了node的資料後,半小時後還沒更新o_O!!!)。

這應該算是地雷 😛  所以有類似需求的話,可以改用 viewfield,他一樣可以提供類似的功能,不過這樣就只能插入一個view了。