What have you found for these years?

2010-01-07

firefox 最小字型 (3)

update 2010-01-08 00:19
...不是字型大小的問題,原來是我最後 focus 在哪個語言的問題。
沒選中文就會變成 10.6 字型;反之就是儷黑。

* * *

更神奇的是,我只能把 T 體中文的字型調成 13 以上。
因為如果是 12 的話,godfat.org 的 email 會變 10.6 中文字型。
但是 gmail, roodo.com, cardinalblue.com 都是儷黑。
莫名其妙... 不是都同一個網站嗎???

算了,反正調成 13 就行 orz

要翻桌了...

updated 2010-01-08 01:32 最後用 to_f 解決。

updated 2010-01-07 19:06 這更扯

>> Vip.first.created_at.class
=> ActiveSupport::TimeWithZone

>> Vip.first.expired_at.class
=> ActiveSupport::TimeWithZone

一樣的 class 喔,但是實際上不同:

>> Vip.first.created_at.to_i
=> 1252402216

>> Vip.first.expired_at.to_i
NoMethodError: undefined method `to_i' for DateTime

* * *

>> Vip.first.expired_at.to_i
NoMethodError: undefined method `to_i' for DateTime

>> Vip.first.expired_at.to_time.to_i
NoMethodError: undefined method `to_i' for DateTime

rails 都亂改 core method... to_time 騙人!

firefox 最小字型 (2)

要把畫面調到好看,真的是很累啊 :/
動了 Western 的 font setting 後,
一般都很正常,但 wikipedia 的字也未免太大顆了點 =_=
試了一下,發現最小字型設 20, 但其他設定還是會影響大小 @@
結果是一般大小設成 12, 最小設成 20, 看起來最正常。

感覺很不合理,最小居然比一般要來得大很多,好像沒意義。
但如果一般大小設 12, 那 wikipedia 顯示出來的,遠比 20 大很多。
設成 12 的大小大概就差不多是 20 吧...?

我是記得聽說 px 這個單位會縮放,但還是搞不懂啊。
為什麼 css 要這麼多單位啊?現在我希望固定用 em ><

另外也用了 userContent.css
pre 那部份是因為居然有網站的 pre 不是用 monospaced,
這樣程式排版變得很難看 :( 既然用了也順手加上一點別的,
例如確保 textarea 夠大。之前 navigator 都能動態調整,
firefox 不行這點很可惜。safari 倒是可以,真好。
有些網站的 textarea 真的是小到很難用。

* * *

另外是 safari 的部份... 目前套這個 safari.css
這樣才能強迫用儷黑,而不是 10.6 的醜中文字型。
這也是 10.5 時就這樣用了,因為那時候就已經是醜字了。

line-height 的部份則是長久的問題了...
safari 把字放大後,很多網站的字都會擠成一團,完全沒辦法看。
但是這樣設又有問題了,在 wikipedia 看反而變醜了,
因為 line-height 變少了。好討厭啊,
有時候需要為了寫很爛的網站做調整,但調了之後,
如 wikipedia 這種原本就寫得很好的就會變醜。

而且修改這些 css 都要重開 safari, 很麻煩啊
不然就是要準備好幾個 css, 例如 wikipedia 專用,
垃圾網站專用,諸如此類...

也只能繼續調整看看了。

累.. (3)

算了,睡了,實在沒精神很難做什麼...

tab/inbox 累積到快滿出來了 :(

不過我想我可能確定到二月底之後改 part time...
我受夠這個制度了。這樣很干擾我工作。

也許屆時時間調整能做好一點...
真不好意思(拜)

2010-01-06

裝 ultraviolet

需要裝 oniguruma..

> sudo port install oniguruma5
但是 oniguruma 不支援 ruby 1.9, 因此用 mac system ruby

> /usr/bin/gem install oniguruma
會失敗,因為 mac system ruby 不認得 /opt/local
需要 patch extconf.rb... 方法有點麻煩 :(

> gem fetch oniguruma
取得 oniguruma-1.1.0.gem

> mkdir oniguruma
> tar -zxf oniguruma-1.1.0.gem -C oniguruma
可以取得 data.tar.gz 和 metadata.gz

> cd oniguruma
> tar -zxf data.tar.gz
取出所有 gem files

> zcat metadata.gz |
ruby -e 'puts Gem::Specification.from_yaml(
$stdin.read).to_ruby' > oniguruma.gemspec
這個 metadata.gz 其實是 gemspec 的 yaml 格式...
這樣做可以還原 gemspec. 千萬別想說用 rake 產出來,超麻煩。
還要裝 hoe 啦,什麼鬼啦什麼的... 直接用抽的比較快。

> vim ext/extconf.rb
開始動手腳。$CFLAGS 加入:
'-arch i386 -arch x86_64 -I/opt/local/include'
我不知道為什麼需要 -arch, 但沒加直接 make 會有問題。
還有追加:$LDFLAGS='-L/opt/local/lib -lonig'

> gem build oniguruma.gemspec
把 hack 包回 .gem

> /usr/bin/gem install oniguruma-1.1.0.gem
裝 hack 版。其中會執行:
/usr/bin/ruby ext/extconf.rb 產生 ext/Makefile
有改過 $CFLAGS 後就能正確找到 oniguruma 的 header.

> /usr/bin/gem install ultraviolet
終於可以正常裝好了。

垃圾自己清... 應該是這些吧?
> cd ..
> rm -r oniguruma # 工作目錄
> rm oniguruma-1.1.0.gem # 網路抓的
> rm data.tar.gz # 上面拆出來的
> rm metadata.gz # 同上

firefox 最小字型

之前一直覺得 mac 版 firefox 最小字型設定有問題,
現在發覺搞不好沒問題才對。因為... 他字型設定那邊有分語系,
而我有時候只改了 T 體中文的設定。然而,就算是 T 體中文的頁面,
裡面也會用到 Western 語系的字體設定... 的樣子。

也就是說,一律改成一樣的設定後,(反正字體裡沒的字,就 fallback)
現在看起來就正常多了 @@" 比方說比較不會有的字超大,
但有的還是非常小... 之前就常常碰到這個狀況,很討厭。

唔,讓英文用英文的字體,而不是用中文的英文字體,
分開設定是不錯啦。但不會希望大小也分開吧..?
而且裡面語系超多的,是說平常也不會看韓文之類的,
所以我也只設了 TW TC 和 Western..
多設個 HK TC 和 SC 好了,避免又出現奇怪問題 :/
而且他 HK 和 TW 怎麼判斷的?用 xml lang?

總之 Western 也設了之後,看原始碼也正常了,
不用一直按 cmd++ 真好... 有時候很懶,強迫看小字,很辛苦

==
目前的設定是這樣,最小字型 20 (pt 吧?)
非 monospaced 用 DejaVu Sans,
反之用 DejaVu Sans Mono. 中文全用儷黑 pro.
SC 呢?不清楚,反正很少看,而且我都用同文堂 =_=

==
對了,Chromium (Chrome) 好像還沒最小字型設定,
所以就暫時不用了。等到有時,大概可以取代 Safari.
Firefox 我看是很難取代,除非 plugin 都有替代品...
Opera 之前超怪的,keystroke 都變兩倍,完全不能用。

累.. (2)

啊.. 其實沒有關聯,但一樣是想說累 :(
尤其覺得最近緋聞(飛蚊..)感覺嚴重很多,
雖然還欠很多沒看,還是關機睡覺好了 ><

總覺得時間比一般人少,因為睡覺睡太多,
渾渾噩噩的時間也太多。不過,或許大家(大部份)都是這樣?

還欠一堆堆堆東西。

不過值得高興的是,最近幾天都比較沒有之前那種焦躁感。
雖然這一兩天又有一點點,但都還好。如果只是這樣的話,
或許還能繼續一陣子吧。儘管也擔心著是否是穩定的平衡。

我也要有宇宙觀。

2010-01-04

累..

規劃遠比編程要來得累;(為了對齊用編程而非寫程式 XD)
討論遠比規劃要來得累。(尤其不是很順利,沒啥交集時...)
(ㄟㄟㄟ,我不是千交代萬交代,有資料要先寄給我嗎??)

後來實在超想睡的 orz

不過不管怎麼樣... 先把所有 bug 修完然後上架,
就以短期目標而言,應該還算是不錯吧。其實之所以一直沒修,
很大的原因也是覺得,搞不好等一下就不需要這個功能,
那我幹嘛修?浪費時間罷了。就這樣卡卡卡卡卡.......

氣氛需要轉換。如果執行模式還是不能換的話。

但很不幸的是,打卡問題看來還是無法解決。
我不知道說大家都盡力了會不會有點欠扁? :x
雖然每次想到這種用詞,腦裡就不禁會開始離題到別的地方去...
bah

另一件事,我怎麼會有推坑的意思呢?
除了打卡以外,其他都不差啊。這也不是每個人都不能接受的。
或許執行模式並不好,但這是可以改善的啊。亂世之下,
其實才有發揮之處不是嗎?沒聽細節怎麼驟下結論...

也罷啦(揮
有緣無緣就是這樣了。

潮肉 (2) 研究所

updated 2010-01-04 02:11
忘記提,昨天從 23:00 左右睡到次日 16:00,
起來時頭倒是沒很暈,這是證明這樣睡剛好嗎?
當然啦,後來幾乎是醒醒睡睡,想事情想到睡著,
然後又醒來,這時候往往很難分辨哪個思緒是醒著還是夢著...

* * *

我後來想到另一點,就是關於研究所的事。
一直想把今天(2010-01-03)的東西消化完再來寫,
不過看來是消化不完了.... 那就先寫這個。
剩下的東西再看看有什麼黃道吉日可以消化....... orz

* * *

其中一位說,訝異我沒有讀研究所,因為覺得我是會去鑽研東西的人 XD
原來我那時候就有表現出這種感覺嗎?然而另一位卻說,正因為這樣,
如果我有去讀研究所,才會感到意外?我不記得後面那句話是接什麼了,
但印象中是類似無法接受體制的問題。

我不知道這會不會是主因,儘管我確實很討厭這種體制。但我想,
沒有讀研究所應該有很多種原因。我可以把所有的可能都列出來。
或許這也是 FAQ... 畢竟真的有很多人問過為什麼我沒讀研究所?
其實我也覺得這個問題很奇怪,因為難道研究所已經變成基本配備了?
我從來就沒有這樣認為過咧......

為什麼讀小學?跳過。
為什麼讀國中?跳過。
為什麼讀高中?跳過。
為什麼讀大學?因為這在現在的社會裡,確實也是被認為是必須。
儘管我並不是很喜歡這種社會價值觀,一直覺得台灣太過於輕視技職系統。
而很多大學,卻又被很多人認為應該往技職體系走,像是應該教「工作」上
應該會用到的東西,等等。我對於這種價值觀感到很不舒服,但這也跳過,
並不是想討論大學的定位問題....

總之,因為被視為一種必須,所以去讀。另一方面,自己也有某種程度上的
嚮往,這點也是真的。否則,我又何必選擇資訊傳播?後悔不後悔?
應該也不會,雖然有很多的不滿沒錯,但基本上是有收穫的,或許也不少。
很多課很有趣,要重複提嗎?電影賞析、設計史、科技藝術整合,
這三者都算是滿有收穫的選修。(通識就跳過了,畢竟這不分系)

儘管後來我是完全走向 programming 和 computer science 的部份了。
這當然也是有很多原因啦... 也先跳過吧。雖然這也是 FAQ.....

* * *

ok, 現在畢業了。為什麼不讀研究所?第一點就是不覺得這是必須的。
如果只有高中文憑,講真的,肯定會有很多困擾... 至少目前社會是這樣。
但如果只有大學文憑,這點倒是還好,通常不需要解釋太多,含糊混過即可。

第二點則是沒有人這樣要求我。那我當然也樂得輕鬆,畢竟,
我向來痛恨考試、分數,還有文憑的制度。當然,也對證照嗤之以鼻...
如果只是想測試自己,那是無妨。但大部份的人根本就把那些當什麼了?
ptt Java 板 SCJP 的笑話一堆 XD 多少人隨隨便便考過,
然後在板上開心地分享自己,如何完全不會寫程式,卻能考過 SCJP ?
這實在可笑極了.... 不過因為例子看太多了,我已經沒感覺了。

也就是說,念不念研究所,就可以回到實際來說,我覺得有沒有用的部份。
但就像研究生被戲稱為煙酒僧,放蕩、糜爛、浪費生命、跑腿買便當,
諸如此類的爛例子和經驗聽了一堆,再看看自己資訊傳播的研究所,
web cam, eye toy, web cam, eye toy, 還是 eye cam,
這樣怎麼可能會對研究所有什麼美好的想像呢?沒有實際的技術,
也沒有理論基礎,剪剪貼貼,嘴砲打一打,聲稱講一講,這叫什麼研究?
儘管 MIT Media Lab 裡,確實也有很多類似的東西,但看清楚了,
人家很多可真的是有技術在裡面的,可不是剪剪貼貼.....
要自詡 MIT Media Lab, 層級也未免差太多了一點吧?

還有太多有教授 title 的人,實在太沒有教授的感覺了...

這種狀況下,怎麼可能會對研究所有什麼期待?只覺得可笑而已。
當然,後來聽到一些「名校」裡的狀況,感覺確實是好很多,很多...
這時候我才驚覺,原來「名校」跟那些所謂爛學校,還真的是有差別。
無奈不愛念書的我,成績向來不好,又怎麼考得上這些名校呢?

考什麼研究所?傳播相關的我只能說省省了吧,不可能考慮的。
資訊傳播?看看系上那研究所,省省了吧。而其他學校有什麼相關的?
沒有去查,我也不清楚。因此理所當然,只剩比較偏向所謂資工的研究所。
但這些研究所會考的科目,我大學幾乎完全沒看過啊...
OS, algorithm, computer architecture, 諸如此類,都沒念過。
要從頭念也未免太辛苦了一點吧 =_=b 數學也從高中後就完全沒念過了。
什麼 linear algebra 之類的,不管是啥都沒念過。

更可怕的是,看到一些考古題的答案,還是很明顯不正確的。
看來研究所考題,可能也是一堆 copy and paste 來的吧?
不然怎麼會有這種錯誤的題目,還四處可見???
或是更慘的,他們真的認為這些錯誤答案是正確答案??

我實在看不到念研究所,有任何的好處啊... 以我的現況而言。
要學東西,現在網路這麼發達,根本哪裡都能學。不需要特地到,
根本不知道能不能學到東西的研究所。或是努力於可能考不上的事情。
工作也能學東西啊,而且還有收入... 又不是錢太多。

* * *

簡單地說,就是以我的現況而言,實在看不到讀研究所有什麼好處。
雖然聽說研究所常常會有經費可以運用?有好多軟體想買啊 XD
就這一點而言,倒是還滿不錯的。但為了買軟體而念研究所,有點蠢吧?

我覺得...
除非我確信什麼研究所確實能學到什麼,而且能超過工作上所學到的。
同時不會有考不上的問題 :( 不然實在沒什麼考慮的必要...

出國嘛,變因一堆,要考慮的事太多了。
以懶人我而言,加上目前毫無朝氣,根本連查都懶得查。
現階段看起來最適合我的,還是乖乖摸著鼻子靜靜過自己的日子。

2010-01-03

You

非常喜歡這首。第一次聽到,可能是來自 C73 的:
[M.Graverayd & WAVE] On Your Mark -forked road-
目前還沒找到哪裡可以買... XD

但我一直以為這首是出自 Air, 覺得跟 key 的音樂很像啊.. XD
不過卻是出自ひぐらしのなく頃に... 然後我一直不知道這確切名字。
常常聽到蟬鳴啦,海貓鳴叫時啦,等等名字... 可能是系列作裡的名字?

ひぐらしの「you」ピアノアレンジして弾いた
「ひぐらしのなく頃に」より「you」 再録/ピアノ演奏
鋼琴版。

ピアノソロ ~『ピアノ連弾的「You」』~
鋼琴輕柔版。

061005_ひぐらしのなく頃に_you_ピアノ&バイオリン二重奏
鋼琴與小提琴。(臉看到了啦 XDDDDD)

ひぐらし【you】をエレクトーンで弾いてみました。
電子琴版。我是比較喜歡古典樂器一點...

ひぐらしのなく頃に「you」を弦楽器だけにしてみた。 full ver.
應該是合成的吧?

ピアノ連弾的「You」を1人で弾いてみた(改)
這後面變成夏影了?證明確實很多人會把他連在一起?
我還沒細分兩者到底有何差... 但感覺上真的很像 =_=b
而夏影當然也是很喜歡。

ひぐらしのなく頃に 「you」三昧 ☆画像付きFull ver.
各式各樣的版本蒐集... 共 40 分鐘左右。
但這樣聽會很膩吧? -_- 雖然編曲都不同...

==
平均而言覺得還有進步空間,pinky 猴快來彈這首啊 XD

龍貓 Ghibli 大合奏

很可愛。

該說殘酷的好笑嗎?(2) Twitter in Real Life

Twitter in Real Life
That's why I quit twittering. Kinda stupid you know.

MGS 神之照相術

第一部份:
メタルギアソリッド3 任務は忘れて敵を撮る!
第二部份:
メタルギアソリッド3 本職忘れて敵を撮る!

真的很神啊,時機抓得超級漂亮,而且有些畫面超低能的 XDDD
害我忍不住對著螢幕狂笑 XDDD 像個白痴一樣。而事實上,
我覺得這種玩法確實是很有 MGS 精神 :p

看似是很嚴肅的軍事動作遊戲,事實上裡面一堆惡搞元素。
遊戲看似很美式,事實上內容一堆日式惡搞。很多小小的細節,
需要慢慢試才能體會到。我個人覺得 MGS 系列,
就某方面而言,或許還滿像我常常評論 Blizzard 的遊戲那樣:
「內行看門道,外行湊熱鬧」
拿捏得很不錯。而且他的劇本可不像 Blizzard XD
MGS 劇本可是寫得很不錯,很有趣,而且有連貫的。

我自己是打過 PS 的 MGS1, 打到 Metal Gear 打不贏 ><
MSG2 則是電腦版打到全破了。MGS3 沒 PS2... 4 沒 PS3.

另外,打 MGS 強烈建議不要看攻略,自己摸索很有趣。
雖然我知道有些地方稍微難了點,如果完全不看的話。
像是我 MGS1 在打狙擊那邊卡了超久... 後來放棄,
跑到其他地方,才忽然間拿到狙擊槍,劇情才繼續往前進 @@"

MGS2 大概是因為打英文版看得懂,所以沒印象有卡關過吧 -_-...
或是還是其實是因為我事先看過劇情動畫?囧
忘記哪個先哪個後了

東方 Bad Apple (Shadow Art) (4)

對不起我快笑翻了 XD



tag: 音樂(?)

The Battle for Wesnoth

The Battle for Wesnoth
覺得架構滿像 spellbook 的... 可以拿來參考一下。下載下來試試。

倒是這篇提到的:
Steam Indie Games 五款極具創意與個性的獨立開發遊戲
試了一下最下面提到的 Darwinia
當然,嘗試的原因都是有 mac 版...
demo 約打到第二關吧?不想打了,還滿悶的。
遊戲特性並不多,但地圖大敵人又多,打法也很單純,就一直丟手榴彈..
真不知道文中提到解謎的部份,是在很後面嗎?

而且單位超出上限為什麼是 syntax error..?
buffer overflow 還比較有道理咧 XD
覺得比較有趣的是,把單位視為 process,
單位陣亡就是 process terminated.
倒是把單位視為 heavy-weight process 肯定是不行的。
但想想,遊戲嘛,感覺抓到就好了。太專業別人看不懂的 XD

Applying Game Mechanics to Functional Software

Putting the Fun in Functional: Applying Game Mechanics to Functional Software
不錯的 talk, 還沒看(聽)完... 我覺得概念上有點像這樣:
如果遊戲的核心概念能夠抽出來,那非常 light-weight 的東西,
也能夠提供類似遊戲的體驗。對我來說,最簡單的概念則是
collection 和 achievement. 中間有提到 leveling,
不過基本上我覺得這算一種 achievement.

加諸在 collection 上的,則可以有 trading.
像是 wikipedia 有提到 Collectible card game,
不過習慣上我還是把他稱為 trading card game...
講 collectible 感覺是比較合理啦。但 trading card 講慣了 :/

facebook cdn

If you found that you cannot see any images on Facebook
我剛把 google dns 拿掉了,發現可以看到一下。
現在又不行了。而且最早我只有用 hinet 和 seednet dns.
我覺得應該不是 google dns 的問題,不然一開始不會有問題。
而放上 google dns, 事實上反而沒問題——一陣子。
所以應該也不是 hinet dns 的問題....

應該是 facebook cdn 確實有問題吧?
不知道是 facebook dns 本身有問題,還是 akamai 有問題?
已經好幾個禮拜了啊!!!...

總不會是我的電腦有問題吧?瞧 zonble 也有..?
等等,該不會是 mac 有問題吧?這也太扯。
我還是相信是 facebook 或 akamai...
而且 facebook 常常有問題也早就不是新聞吧?
super buggy website...

2010-01-02

潮肉

我不知道用大家都沒變來形容會不會怪怪的

...
放了很久,不知道寫些啥好,畢竟只是一些零散的思緒
條列式算了

1. 國中生活真好啊 (?)
2. 有種在別人身上尋找自己過去的感覺
3. 好想睡...

4. 真的好幾次,聽別人描述,才知道原來我小時候就是大怪人?
我想我是很晚才意識到這件事... 至於是什麼時候就不知道了。

5. 對,就是其他人,不是另一個世界。描述得好。不過老實講,
這只不過是可笑的理想罷了... 事實上並沒那麼容易簡單。

6. 沒有回答,那是是的意思嗎?

7. 承 2, 尤其這種過去,我想會是我比較喜歡的。
可惜我想應該是很難了吧?that's reality i guess...

8. 承 7, 因此我的精神狀態應該是國中生??

9. 那幾本我一時找不到... 應該在才對,要再翻翻看。
但東西實在太多了,很多櫃子,不把東西移開,沒辦法打開 = =

10. 我該回到現實了 @@"

總而言之,難得有時間很短的感覺。上一次有這樣的感覺不知道是什麼時候?
有想到什麼再補,好想睡...

ReaderT Env Maybe Val (3)

真的該睡了... 不過 liftIO 差不多試完了 @@"
大概有實際例子之後,試兩下就能抓到感覺了。
我想 liftIO 的感覺大概就是把 IO a 丟到 mt 裡面?
類似 return, 只是不是吃 a, 而是吃 IO a ?
eval 的 type 改成:

eval :: Expr -> ReaderT Env (ErrorT String IO) Val

全文

下一步是加入 StateT, 至於用什麼 state, 隨便塞個數字就好。

==
btw, IO monad 好像抽不出來 XD
像是 Maybe 可以用 fromJust 抽,
可沒有 fromIO ... 使得最後的:

test = [test0, test1, test2, test3, test4, test5]

變得毫無意義,因為抽不出來 :(
就算把裡面的值依序印出來好了,由於 lazy 特性,也無效.. XD
不知道要用什麼方法強迫 haskell 去計算?

ReaderT Env Maybe Val (2)

其實已經不符合標題了,因為現在是:

ReaderT Env (Either String) Val

XD
異常順利,順利到甚至懷疑是不是有哪裡錯了?
稍微玩了一下 Error monad, 照 jinjing 的建議直接看 mtl,
整個 Error.hs 裡面除了 Error class 沒有外,
全部都在裡面了。包括 Error monad (其實是 Either monad 吧??),
ErrorT, 還有各個 functor, monad 等等的實作..

其實還沒看細節。不過大概看了看定義可以想像他是想怎麼運作的。
像是 fail 和 throwError 長好像,都是用 Left 去建立 value?
試寫:

runErrorT $ catchError
(throwError "456" :: ErrorT String Maybe Int)
(return . read)

這邊 throwError 換成 fail 好像也是 Just (Right 456)
(呃,忽然發覺,明明 ReaderT 是 m 在裡面,
怎麼 ErrorT 的 m 卻放外面?為了 IO 嗎?)

* * *

正式開始把 Maybe 換成 Either String 後,只改了以下,
當然是 eval (Var name) = do 的部份:

mval <- asks (lookup name)
case mval of
Nothing -> throwError ("Var " ++ name ++ " not found.")
Just val -> return val

寫完之後在 ghci 裡輸入 :r
居然就過了。我從來沒想過能夠一次就過 @@"
尤其是只改 eval (Var name) 而已,其他都沒動。全文

1. Haskell 真的厲害
2. 好像對 monad 敏感度高很多了?雖然迷迷糊糊,但猜得到結果。
像在變魔術?我想先像這樣知道設計原因,再去摸索細節會容易得多。
3. 不懂細節,好像也能寫,type 錯就調整一下即可...

不過我還是不太懂 monad transformer 是大 hack,
是什麼意思?因為他是一種自動化的機械操作嗎?
如果是這樣的話,monad 本身難道沒有這樣的味道嗎..?
我想可能還要更多經驗才能稍有體會吧..?

下一步就是正式加入 IO 了,看能不能任意插入 putStrLn.
剛剛試 lift 和 liftIO 還是一直錯,不知道原因 XD

==
寫到一半時抓了一下背,結果整個背居然抽痛了一陣子,
差點趴在鍵盤上了 orz 這叫營養不良嗎? XD

2010-01-01

google site hijack... (2)

www.godfat.org 還是不能用!
總算受不了,雖然找不到 support 的 email,
但翻到這篇了...

Domain Not Deleted after 5 days

把這寫在介面上有很困難嗎??重點不是啥時修好,
而是知道到底會不會修啊 :/
之前一直以為永遠不會修好了。就像被略過的 cron job 那樣。
google 的東西用這麼多種了,就 appengine 問題頻頻...
老實講這真的讓人懷疑 google 到底有沒有放心思在上面??
naked domain 的問題到現在都還沒有官方說法......

facebook 浪潮

我不知道作者是誰,不過這篇寫得不錯:
Zynga and the End of the Beginning
只是真的太長了,害我懶得細看...
(monad transformer is waiting for me XD)

文章把 Zynga 的「遊戲」大罵了一通 XD
開頭就說兩年前,大家都在談 casual game,
現在改談 social game, 但事實上這些東西根本就沒什麼 social
成分在裡面,而撐起這些「遊戲」的東西,主要還是在於擴散,
因此只能說是 viral game...

雖然我真的覺得對有些人來說,真的只是要殺時間,
不太可能會升級去玩真正的 casual game, 更別談 hardcore game.
因此這一塊,我相信還有很多地方可以研究和挖掘。
但把這些「遊戲」痛罵一通確實是很對我的胃口 XD

我自己也算喜歡 casual game, 雖然還是比較在乎 hardcore game.
然而這些 viral game... 實在不想說是 game 啊。
極盡垃圾之能...

* * *

然而 Facebook 非常徹底地改變了一些政策,
而受到最大衝擊的,肯定就是 Zynga, 畢竟 Zynga 所仰賴的
擴散能力,幾乎完全是靠 Facebook. 聽說 Facebook 很大的營收
還是來自 Zynga, 甚至有 Zynga 營收比 Facebook 還高的傳言? XD

我對於選擇這項政策改變,還感到滿佩服的。畢竟這改下去,
不知道影響層面有多廣。幾乎所有 Facebook apps 的方向都會改變。

而去掉 Facebook 這個平台本身,假使 Facebook connect,
可以做到用 Facebook 的會員,繼續玩一些 viral game 性質的東西,
這樣還能玩多久?這些東西是 bubble 嗎?還是另一個新興產業?
恐怕沒什麼人能回答,或是每個人的回答都不同吧...

只能說,google 改變了很多網路的用法,facebook 或許也有近似的地位。
但 facebook 究竟有沒有像 google 那樣的能耐,就要再看看了。
至少 google 的 myspace 是輸得很難看,我連他是啥都不知道...

另一方面還有,傳統 casual/hardcore game 的開發公司,
會怎麼看待這些 viral game? 我猜或許多數會像連結的那篇,
認為玩家終究會升級去玩真正的遊戲吧? :p
畢竟,那是他(我?)們研究的真正領域,會有這種期待也是很正常的。
雖然我是覺得,會玩的早就會去玩了,不會玩的也不在乎...
也就是說其實沒什麼相關性?儘管 PC 確實在萎縮,逐漸轉為 console.

==
不過最讓我意外的還是,垃圾遊戲很賺錢就算了,
為什麼每一個垃圾遊戲的複製品,很多都很賺錢.......
有時候會覺得,越去看一些潮流,肯定會越憤世嫉俗 XD

該說殘酷的好笑嗎?

New social networking rule

ReaderT Env Maybe Val (1)

先寫到這... 把 Cls (Val -> Val) 改寫成 Cls Name Expr Env 後,
確實很順利把那個問題解決掉了。有趣的是,稍微調整一下,可以發現普通的:

eval :: Expr -> Reader Env Val

和 transformer 版的:

eval :: Expr -> ReaderT Env Maybe Val

實作幾乎是 identical 的。唯一的差別在 (Var name) 的實作,前者:

eval (Var name) = asks (lookup name) >>= return . fromJust

後者:

eval (Var name) = ReaderT (asks (lookup name))

我試半天搞不懂為什麼會有這樣的差異 @@" 應該是我哪裡沒寫好?
照理說應該全部都能寫成 return 的形式吧?除此之外,
真的完全一模一樣,只有 type 不同而已。感覺好神奇啊... XD

因為不想重開一個 git repo 打擾 follower,
所以我把程式放在 godfat.org 裡面。
bad_ 開頭的是一開始 Cls (Val -> Val) 那個版本,
其餘的則是改成 Cls Name Expr Env 的版本。

下一步是想加上 error handling, 不過不知道怎麼加..?
而且為什麼沒有 MaybeT 和 ListT 啊?不懂?
最後大概就是亂加一堆 monad 進去看看。All About Monads
裡有非常瘋狂的範例,我懷疑死前有沒有辦法看懂...

* * *

讀 monad 好漫長啊。google 第一筆幾乎都是 All About Monads.
這篇寫得非常非常清楚簡潔,但有些地方真的太太太複雜了...
實在比較適合熟練之後,拿來複習或是參考的手冊。
我東看西看了一堆東西,這裡整理出幾個比較常看的:

jinjing 提供的 Of monads and spacesuits
其實這篇我只看了一次,大概就稍微印證一下之前的理解這樣 @@

穆老師的,有一些有趣的細節可以相印證。
單子 (monad) 入門(一)
單子 (monad) 入門(二)讀取單子

我對於 transformer 大多的理解,大多出自 Haskell/Monad transformers
很詳細地說明了一些細節,而不是像 All About Monads 那樣... orz

接著就是之前提過Monad Transformers Step by Step
雖然沒講細節,但這篇有蠻詳細的範例...

除此之外就是 doc 查 lib 的定義用:
base-4.2.0.0: Basic libraries
Haskell Hierarchical Libraries

之前好像還有個 monad don't panic 之類的,不過還沒看。
但我猜以上全部看完,可能也不需要看了吧...?

==
該休息了 orz

All texts are licensed under CC Attribution 3.0