What have you found for these years?

2010-01-16

2010-01-16

雖然已經好一陣子了,但仍然覺得似乎不能是常態。
現在這樣真的太累了,就算沒什麼自己想做的事情,
一醒來心裡就是想著進度,一鬆懈下來立刻就攤了。

有時候爬起來時,會有一種還能醒過來的感覺真好。
有時候又希望一直睡一直睡睡到頭很痛也不想起來。

似乎不管怎麼樣,仍然會需要能隨便浪費掉的時間。

*

行數是 321 哩。

*

日前朋友傳了 perfume 的一段,看了一下,
發覺現在我只要看到這個,不禁都會想到 seventh heaven...
因為之前的這篇:
951. 06-20 新貨入荷 (5) dvd
留言裡的那段。結果就產生奇妙的連結... XD

本來想找出來,想說比較一下同名但內容很大的落差,
不過我沒看到 Seventh Heaven 本身的 live,
比較常見的大概是這個,cd 裡的第二首:
(Seventh Heaven 本身是第十四首,最後一首)
Kalafina - Oblivious (LIVE)
我不知道哪個音質/畫質比較好?
Kalafina - Oblivious(live)
『空の境界 第一章 』エンディング主題歌


出自:
Seventh Heaven(期間生産限定盤)(DVD付) [CD+DVD]

對不起我對電音沒興趣...

*

對了,還有人以為我看 Alice's Adventure in Wonderland,
是因為電影的關係。absolute not, sorry...
雖然那導演是挺有趣的沒錯,不過還不到會讓我特別感興趣。

主要還是因為太多地方在 cite 那本了....
GEB 那本最下面也寫:

A metaphorical figure on minds and machines
in the spirit of Lewis Carroll

然後加上一些特殊原因,就這樣了。不過我還沒看完哩...
之前都在捷運上看,後來覺得眼睛很疲倦,就沒看了。
只剩一點點,應該找時間看完的。

2010-01-15

我嚴重欠缺時間 (2)

嗯..
Civilizations Wars
這個跟之前打過的氣泡遊戲,是氣泡?還是單細胞生物?
忘記了,一樣的打法。據點自動生產,有上限,
不同據點效果不同。環境效果,魔法,第三方勢力。
大概就這樣... 加上 skill, achievement.

我個人是覺得滿有趣的,但變化度不足,關卡太多。
所以大概就打到這,一堆模式就都跳過了。
我想問題在於他有太多雞肋的東西了...
技能我也只點額外的經驗、攻擊,和防禦。

Alice is Dead - Ep1
這裡面的句子都還滿有趣的。例如把骨頭拿到 Alice 頭上:
"The leg bone is not connected to the head bone..."
把寫著 "Kill the rabbit" 的字條丟到門上:
"The door probably won't kill the rabbit."
關卡本身也不難。不過話說回來... 為什麼一堆這種「同人」,
都是走這種詭異風格路線啊?是說 Alice's Adventure in
Wonderland 本身確實流露出不少精神異常的氣味沒錯...

雖然覺得會想繼續看到底發生什麼事,但 Ep2 找不到在哪,算了。

最近

太累了,所以不想睡

嗯,問題是什麼呢?
我想應該是來自這個世界本來就太複雜了

另外
我想或許隨緣才是王道吧
畢竟能決定的遠比不能決定的要來得少太多太多了

First-Person Tetris

It's interesting and make you dizzy,
and since it didn't implement kick[0],
you can't play very well in this Tetris.
Sure, there's always an expert...

First-Person Tetris

[0]
Floor kick
Wall kick
[1]
wikia is a good site.

what unicorn had told us

don't go to candy mountain (誤)

i am using this nginx.conf now.

嗯... 現在的作法是,所有的 node 都用完全一樣的設定。
因此在 nginx 裡就先寫好所有的 upstream, 反正沒灌
那些 upstream, 只要沒叫到也都不會有錯誤。

然後 /etc/conf.d/local.start 也照這個作法。
先偵測 service 是否存在,存在則 restart, 否則忽略。
這邊最好全部都寫成會自動偵測的 restart script,
這意味著如果你要整個 node 重開,不用 reboot,
就 sh /etc/conf.d/local.start 就行。

然後這些 config 中央管理,更新時同步 scp? 至
每一個 node 上。至於哪些 node 要灌什麼,則寫在
另一個 config 裡面。同樣一個遠端 script 同步操作。

也許這只是自我感覺良好沒錯...
不過目前對這樣的架構算是滿滿意的。

==
只是還沒實作完畢就是了... 還有一堆工 ><
最近都在忙這些,滿腦子都是這些,
回過神時已經到家了,回過神時已經再不睡不行了

欸,雖然很想繼續把他弄完,但太專注以至於其他的都忽略了。
而且我覺得非常疲倦... 想休息應該無法,還有好多。
最後我要 quote 這句話

Of course a theoretical “perfect” solution would combine
the pieces and maybe give you better performance at the
end of the day, but that is not the Unix way.

尤其是那句 "the end of the day"
終究 Unix philosophy 才是王道...
翻翻 unicorn 的文件,我覺得感受良多。
難得看軟體使用手冊,會有很有啟發的感覺。

另一方面,passenger 的文件其實也不錯
Passenger architectural overview

這篇的 1~4 確實說出了大部份的架構。
unicorn 是 1, 不過用的 format 是 HTTP.
我不清楚 Tomcat 的狀況。passenger 是 2,
web server 和 application server 放在一起。

整個架構發展多年了。看看這些歷史其實是很有趣的。
你可以看到一些學習的脈絡。最有趣的是,我們往往會
碰到類似這樣的歷程:

因為什麼都不會,所以用很簡單直接的方式 ->
學到一些有趣的東西,大量應用,架構複雜化 ->
返樸歸真,回到最簡單直接的方式

看起來一開始跟最後是一樣的,但其實不然。
簡單方式還能活到最後,才是真正被證明穩定正確的方式。
事實上 unicorn 就是這樣,沒什麼神奇的東西。

這篇說了,為什麼我們只需要 HTTP:
the "P" in "HTTP" stands for "protocol"
comments 裡有 passenger 作者出來反駁,可以看看。

passenger 本身的程式,可能是 unicorn 的十倍大以上...
unicorn 程式根本沒幾行,一下就能看完了。
unicorn 用對地方,效能驚人... 需要付出的代價是,
找到怎麼用對,是需要一點經驗和時間的。
passenger 是懶人包。隨便裝裝就能有不錯的水準。

mongrel 功不可沒。ruby server 能蓬勃發展,
mongrel 可能是最大的功臣。後來 rack 發展起來,
是第二號功臣?mongrel 是實作上的功臣,rack 是設計上。
有趣的是,passenger 其實是走回頭路。
不過我覺得這條路,最好大概就如此了吧?

python 有 wsgi, 事實上 rack 是模仿他的。
有趣的是,wsgi 倒似乎沒有很流行?但 rack 儼然是標準。
python server 好像選擇也不多?有人知道發展差異嗎?
php 的話,mod_php 似乎也是極限了?perl 完全不熟....

2010-01-14

pitfalls

1. ActiveMQ 記憶體不足會很不穩? 2G 才夠?
2. MogileFS proxy 有問題?
以上導致上傳常常失敗。

3. ZXTM reverse proxy 是 streaming 的?
Rainbow! 還是看不懂怎麼用,來弄 Nginx 好了...
這導致大檔案上傳失敗。

4. Facebooker 會吃錯誤訊息
這導致 debug 困難。

5. 記得檢查 database schema
我還是喜歡抹掉重建...

6. ActiveRecord 在 self.info = Info.new 時就會 save!!
這害我程式很難寫,一堆預期外的錯誤。
尤其碰上 non-null 時...

7. ActiveRecord 在閒置一段時間後會斷線,也不會重連?
這導致以後的連線全部變空白頁

還有一堆要調整的....... :(
i feel like stack overflow,
and start forgetting things

我嚴重欠缺時間

有點痛苦... :( 眼睛一直張不太開...
這兩個都還沒看是啥
http://www.bubblebox.com/play/adventure/1603.htm
http://www.newgrounds.com/portal/view/511552

A new approach to China (2)

Google 基於人權保護向中國表明交涉立場
我認真覺得這是個值得紀念的日子,也是重要的歷史事件。
雖然新聞好像不怎麼報..? 真怪?簡單想想,這並不單只是
中國和 google 的事。文中 google 有提到,會跟其他企業聯絡,
通知關於攻擊這方面的事。這意味著,其他的公司也需要表態。
表態他們站在 google 這邊,或是站在中國政府這邊。
我不知道能不能有模糊地帶... 但這肯定會是個開端。

我並不是在說 google 很偉大,也不是在說 google 捍衛人權,
言論自由或什麼很.. 正氣凜然之類的事。有人說 google 這樣做,
也很簡單是為了利益。當然啦,不然一開始又怎麼會有妥協?
很自然是忍氣吞聲到現在,但發現害已經大於利了,於是發難。

不,不管真正的原因是什麼。或許兩者都有。如果你能用很好聽的
名目,做著確實對自己有利的事,也對其他人有利,或是對世界有利,
這樣難道不好嗎?為什麼有人會覺得做好事,是要表示自己有損失??
更何況有其他公司會做這種事嗎?有人能對抗中國政府嗎?
中國政府這樣搞很好玩嗎?

接下來會怎麼發展,真的很令人期待...
雖然結果很可能就只是 google 退出中國市場。
但我想輿論的影響力還是很深遠的。就算短期看不到成效。

我要買一台

SPEEDFIT - SPEEDMOBILE - Alex Astilean
威風咧,可以用這個繞台灣一圈?

Season’s greetings

很成熟的動畫,或是說很老梗的動畫?
每一個小細節都是很強烈的暗示。
沒什麼新意,但我是覺得做得很好,
值得特別拿出來說..

Season’s greetings

2010-01-13

符號檔名

windows 不允許檔名裡有符號,無奈有些時候會產生。
這會導致該檔案無法在 explorer 中被開啟。

mac 的 hfs+ 似乎允許符號,不過 flash player
卻打不開,而且沒有任何錯誤。

這也不奇怪就是了,畢竟 flash 居然不能灌在 hfs+
case-sensitive 的 fs 上,整個就是 windows 風格??
大概底層 code base 都一樣,都是 windows 作法。
因此 mac 版不能用也是很自然的...

要不是碰過這件事,還真不會想到要把符號從檔名中拿掉。
肯定以為這 flash 壞檔...

A new approach to China

google 向中國政府放話了,討論熱烈啊,大新聞大新聞

A new approach to China

我想這是在暗指中國政府在攻擊 google 和各大企業,
企圖奪取某些人的資料... 再加上之前種種的不滿,
於是正式宣戰了 XDD

雖然老實講,我覺得中國政府做這種事真的很不可思議...
封鎖就算了,這樣攻擊真的有點太誇張了...
同時也對 google 感到欽佩,很少看到有大公司這樣
公然和某個政府宣戰的 XD yahoo or microsoft,
他們會做這種事?有可能?他們是「本土化」的擁護者吧? XDD

==
眼睛快張不開了,這樣很難做事... :(

==
some quotes:

Like many other well-known organizations, we face
cyber attacks of varying degrees on a regular basis

a highly sophisticated and targeted attack

a primary goal of the attackers was accessing the
Gmail accounts of Chinese human rights activists.

Only two Gmail accounts appear to have been accessed,
and that activity was limited to account information
(such as the date the account was created)

Gmail users who are advocates of human rights in China
appear to have been routinely accessed by third parties.

We have decided we are no longer willing to continue
censoring our results on Google.cn

We recognize that this may well mean having to shut down
Google.cn, and potentially our offices in China.

We want to make clear that this move was driven by our
executives in the United States, without the knowledge or
involvement of our employees in China who have worked
incredibly hard to make Google.cn the success it is today.

2010-01-12

yet another spellbook thought

...看來是必須休息一下轉換心情。下午 Plumm 提到 spellbook,
他居然把細節全忘了。等等,不是細節吧?是中心主旨...。

anyway, 講著講著又想繼續弄了。查了一下,好像沒什麼能用的
JVM 上的 Haskell 實作。那可能還是繼續用 Scala 寫寫看。
畢竟將來這要整合 JRuby 也很容易。我很喜歡 C++ 沒錯,
但... 怎麼說呢?簡單地說就是變心了吧? XDXD

稍微想了一下,再減少一點卡片數,這樣應該比較容易做雛型。
GUI, Art, 這些都先不考慮。光思索 game play 和 model
就已經足以費盡我的心思了。更何況最近實在是非常忙 ><

然後名稱都一律先用最簡單的形式好了。這有個問題是,
太 fancy 的名字很難想。但沒有名字,講真的,我不是視覺系的,
沒有名字又沒有圖形,這完全等於沒有任何「形象」。
沒有任何形象,要憑空把東西變出來,太過於困難了...

首先還是得要有一個形象,然後才能去思考定位。
有了定位,接下來細節的調整才能準備。
總之就先以這個方向做做看好了。

新的 Scala 2.8 nightly build 下載好了,
來瞧瞧之前的 bug 修掉沒...。不過我以為 2.8 快出了,
沒想到居然等這麼久還在 2.7

另外在想 domain name... 都用 godfat 可能不是很好?
所以說 zpellbook, xpellbook, spe11book...
算了,再說吧。反正也只是 codename 沒錯。

2010-01-11

...

1. 獨裁一點,先做再說,不好再來看要怎麼改,不然不會前進。
等待太辛苦了... 太多事情會卡住。

2. facebooker 莫名其妙的問題到底要我搞多久...
為什麼原本可以的忽然又不行了???

3. 冷靜一點 orz 吃飯吃飯...

4. 應該花一個月的時間把所有 test 補上才對。

メガ幸子 -幸子の系譜-
這真的是有很打大魔王的樣子 XDDD
尤其看到字幕什麼「魔法攻擊一切無效狀態」、
「第二型態」、「9999 9999 9999 miss 9999」
忍不住笑了 XD

更新流程.. XD

看起來無縫 :D
./bin/remote_sh.sh 'gem up'
./bin/remote_sh.sh 'gem uninstall rubycas-server'
./bin/remote_sh.sh 'rake app:git:pull'
./bin/remote_sh.sh 'rake app:install'
./bin/remote_update.sh
./bin/remote_sh.sh 'killall nginx'

應該加個 remote_full_update.sh 跑這些...
and... 別人是 tag 之後 release, 我是 release 之後 tag XD

2010-01-10

dm-core 0.10.x 不支援!! (2)

時間到了,雖然看起來 trunk 是解決了,但還是想用標準 gem.
dm-ar-finders copy 了 find_by_sql,
稍微調整一下 const resolution, 直接 copy 會有錯,
因為我是直接放在 User 底下,不是 Resource/Model 上。
整段改寫成:

def friends
# friends_true + friends_false
sqla = "SELECT `users`.* FROM `users` INNER JOIN `cache_friendships` ON" +
"`users`.id = `cache_friendships`.user_false_id WHERE" +
"((`cache_friendships`.user_true_id = #{id}))"

sqlb = "SELECT `users`.* FROM `users` INNER JOIN `cache_friendships` ON" +
"`users`.id = `cache_friendships`.user_true_id WHERE" +
"((`cache_friendships`.user_false_id = #{id}))"

self.class.find_by_sql(sqla) + self.class.find_by_sql(sqlb)
end

看起來是行了。雖然我不知道 friendship 這樣做,
是不是怪怪的,居然拆成兩段。對這方面實在沒什麼經驗...

ptt Soft_Job

updated 2010-01-10 17:49
ok, 我整理了一堆 feed 出來了。不過忘掉了一堆...
在這邊說請告訴我我忘記了誰,應該沒有用吧? XD
等整理完後,我會把可公開的部份列出來。
這樣其實有點麻煩,如果是全可公開的,放 github 就好了。
我乾脆自己寫 feed reader 算了?這樣可以切開名單。
看看哪天會不會心血來潮吧...

* * *

開板的時候很感興趣,後來常常看到火大,就不想看了。
雖然或許不能說是怪力亂神,但看了往往會有,就是因為這樣,
台灣的軟體環境才會這麼糟,諸如此類的感覺。
而且很多東西都是錯誤觀念...

雖然還是有高手沒錯,例如之前提過的 Aurim 和 semop.
有時候他們的文字讓我覺得有一點 reader 的感覺 :p
或許都互相認識也說不定,誰知道呢。

上次在 flolac, 對不起我忘記你是誰了,提到會看一些板
「學習」之類的用語,Soft_Job 居然是裡面一個,
不禁讓我噗嗤了一下。我不知道他有沒有聽出我噗嗤的意涵...
或是其實他也只是想起有這個板的存在,也是有可能。

我不知道其他討論社群有什麼樣的狀況。想想 ruby-talk
平均水準也很低沒錯。像上次忘記看到是誰講的,
在這裡有個現象,就是永遠只有詢問作業的文章,
或是你知道的那種胡說八道。新手畢業了就離開,
老手因為覺得板上文章太差,於是只當娛樂潛水。
永遠陷入這種循環中...

我也記得當初有個對我的形容是去 ptt 「取經」,
那時候也確實問過幾個問題,後來得到答案。
再來慢慢變成回答別人問題,到現在變成不屑一顧。
.....

也罷啦,反正就是這麼一回事。你看 Aurim, semop
得到幾個推文,得到幾個回文?然後垃圾文章一堆人推一堆人回。
沒幾個人真的願意用心,或是只看自己想看的,其他一概忽視。
GameDesign 也常常是這樣。你看 AmosYang 那篇有多諷刺?
我指這篇 #1BFnqmAk (GameDesign) web 板又壞的話
去 ptt 直接看... 上面的引用是這樣:(來自 amazon.com 的
Understanding Comics: The Invisible Art 的 review)

The much-revered art instructor Kimon Nicolaides, who died in 1938, said:
"I have had students who seemed to be more interested in `being artists'
than in drawing.
They were enthralled by a train of mental ideas rather
than the feeling of responding on paper to a vivid experience of the
senses. Such students are likely to be found, not sitting in front of
the model, but sitting over a cup of coffee in a neighboring cafe,
talking about art. The student who really learns to draw will be the
one who draws. As Leonardo said, the supreme misfortune is when theory
outstrips performance.
"

前後則是一堆人在討論不知所謂的「企劃」。
加上 semop 在 #19jBT_Ch (Soft_Job) 的這段話:
這東西最需要改變的是教育界的態度,
若有多一點的中後段學校認清自己生不出真正的電腦科學家,
照顧學生就業是重中之重,事情就不會這樣了。

很不幸的是我早就意識到自己沒辦法了 XD
能力不足其實還好,大部份的人都沒有辦法。
重點還是有沒有辦法看到這件事,包括分辨事物的好壞。
或是說,能分辨好壞是最基本的,比有沒有能力還要基本得多。

或許這本來就是理所當然。然後會有一小撮人在這邊感嘆。
本來就是比例問題,或許... 數量級足以改變一切,
這也是我在看些效能與穩定相關的東西,所感受到的不是嗎?
不同層級的思考法可以完全不同,儘管他們可能都是來自基本理論。
就像古典力學為什麼很有用這樣吧。

* * *

啊,其實我真正要說的是,翻了一下 Soft_Job 新文,
看到 Aurim 提到需要一個良好的 feed reader,
在想我是不是應該正式開始尋找一個適合我的?
長久以來,一直是用 firefox 內建的 live bookmark,
這確實是一個很殘廢的方式,儘管我用很習慣了。

或許應該再拿出 google reader 試試,
只是有個心理障礙在那邊,實在很討厭...
或是試試 feedmailer 好了,一直卡著實在不好。

yet another redmine thought

前幾天也調整了一下 Redmine 上的術語,
他預設的術語其實不怎麼適合,雖然用很久了...

Tracker:
Bug: 應該解決的非預期錯誤
Defect: 不應該存在的缺陷,但是是預期行為
Enhancement: 應該強化的事情
Refactoring: 外部看不到的內部改善
Other: 不屬於以上任何範疇

原本的 Feature 改名為 Enhancement, 有時只是小地方強化
原本的 Support 改名為 Other, 不給外部使用者用,不需要 Support

Status:
New: 剛寫上的問題,研議中
Started: 正式開始作業
Resolved: 解決了
Feedback: 需要更多討論和資訊
Invalid: 不打算修,或是根本不是問題
Duplicated: 跟另一個問題重複了

原本的 Assigned 改名為 Started, 有時候並不見得是給誰的,
而且 Assigned 不代表開始作業了... 改用 Started 表示正式作業,
這樣也比較好追蹤目前進行的事項。

原本的 Resolved 刪除了!
原本的 Closed 改名為 Resolved.
因為我常常先設成 Resolved, 然後再設成 Closed, 很沒意義。
不如解決了就解決了,簡單些。反正可以隨時調閱。

原本的 Rejected 改名為 Invalid, 字眼比較和緩,意涵也比較廣泛。
增加 Duplicated, 因為有時候沒注意到這個問題之前提過了。
可以的話最好有 merge 的功能,但目前應該是沒有。

除此之外就是 Workflow 改了一下... 原本限制一堆,
什麼 New 可以切成 Closed, 但反之不行。一張大表格。
一口氣全部全選,改成狀態可以任意切換。對於小規模的專案,
例如 5~10 人以下,搞這麼複雜真的是沒什麼意義。

還有 Manager 和 Developer 的界線也覺得很模糊。
如果說要區分決定權的話,我沒意見。但誰可以 open
誰可以 close 定下去的話實在太不方便了。
所以也一口氣把 Developer 的權限全開了。
至於 Reporter 倒是保持現況,反正也沒用到.....

在制定 status 和 tracker 時,也查了不少其他人的命名。
然後體會到為什麼沒有一個標準命名。原因應該滿簡單的,
就是根據不同開發流程和狀況,需要不同名字。
像是內部用的 issue tracker, 放 Accepted 和
Rejected 基本上是沒什麼意義吧... 同理,區分 New
和 Assigned 也沒什麼意義。

除此之外,我發現所有的系統最好都可以整合 email.
因為現在一天到晚要註冊新網站,不可能一個個回去光顧...
因此最好是可以整合 mailing list, 同時網站上的
archive 等等機制也要,不然 email 整理不方便。

以 Redmine 為例,forum, document, 這兩個沒什麼用 :(
前者用 issue tracker 比較方便,有 email 通知,
而且有各種狀態設定。後者根本就應該用 wiki 取代...

也就是說 issue tracker 應該整合 mailing list,
像 ruby 的 redmine 就有寄一份到 ruby-core 上。
真正的文件則用 wiki 來撰寫,這應該也是趨勢了。
然而 source code management 還沒整合進來 :(
之前有個 ticgit, 不過很久沒更新了。

理想上,issue tracker 還是需要有 web 介面,
wiki 也是。但是後端最好能跟 scm 放在一起。
於是整個 project 就是一個 repository,
而不是又有另外一個服務,另一個服務,資料放上面。

但這或許還有很漫長的路吧... wiki 有不少人在做,
issue tracker 就不多了。

The Battle for Wesnoth (2)

最近的標題超無聊 XD 不知道是否過分隨性了些?
可能因為比較忙,所以沒空寫些有的沒的...?
estiah 也是很久都只是把工作用掉而已。

* * *

剛剛有稍微試了一下 The Battle for Wesnoth,
感覺做得還滿不錯的。以 open source 遊戲而言...
很多 open source 遊戲,我該怎麼形容呢?
像是技術很好,功能很強,遊戲很無聊,畫面很醜,
類似這種感覺吧.....

The Battle for Wesnoth 就沒有這麼慘。
而且他 Tutorial 的對話好白痴 XD 滿有喜感的。
安裝外掛的方式也很簡單,我本來以為要去網站下載,
然後再放到特定的地方。結果是在遊戲裡直接下載,
好像還有自動重開?有點忘了。總之都很自動化。

雖然試了一下發現不會玩... anyway, 晚點再看要怎麼玩。
倒是整個系統架構真的很像我對 spellbook 的規劃。

* * *

redmine 的切到另一篇講好了,寫太長了。
「最近的標題超無聊」這愚蠢的標題也改掉好了 XD



All texts are licensed under CC Attribution 3.0