Google 官方提供服務共享空間

有購買 Picasa 相簿的使用者最近會發現「Gmail 容量增加」的靈異事件,今天有了結論:您可以發現 Google 剛 release 一套共享空間系統,目前可將您所購買的空間讓 Gmail 跟 Picasa 共用,空間與價格對照表如下。

     空間    價格
=====================
    6 GB    $ 20/年
   25 GB    $ 75/年
  100 GB    $250/年
  250 GB    $500/年

有趣的是,不久前有人發現 Google 偷偷改了 6GB 的價格,本來是特價 $1/year,沒想到購買網頁一曝光後馬上被改了,看來本來 Google 是想要低調促銷 6GB 服務共享空間的。不論如何,隨著存在 Google 上面的資料越來越多,使用者要越來越懂得保護自己,隱私權保護也是我認為 Google 服務一直做得不很好的地方。

另外,Gmail 最近大力推動 Video mail,不知道跟這項舉動有沒有任何關係?

(HABTM) has_and_belongs_to_many Bug in Ruby On Rails

Once the HABTM relation was made, for example:

class Song < ActiveRecord::Base
  has_and_belongs_to_many :artists
end
`</pre>
The operation shown below is valid:
<pre>`song.artists &lt;&lt; Artist.new(:name =&gt; 'Barbra Streisand')
`</pre>
But this may make a BIG problem:
<pre>`song.artists &lt;&lt; Artist.find(:name =&gt; 'Barbra Streisand')

Mysql::Error: Duplicate entry '1' for key 1: INSERT INTO artists_songs (`artist_id`, `id`, `song_id`) VALUES (1, 1, 3)
`</pre>
The `id` field should be "autoincrement". Why pass a Fixnum to it? That is the question. I find out that when we push(&lt;&lt;) an artist to a song, whole the attributes on this artist will  be expanded as arguments of the SQL query. And then duplicate :id to :artist_id.

Hum, it sounds great. There is no problem. _But_ the :id key-value pair is still. That means **we will establish a HABTM relation with a given key**. So we sometimes get error from here. Try the tricky way:
<pre>`class Song &lt; ActiveRecord::Base
  has_and_belongs_to_many :artists,
  :insert_sql =&gt; 'INSERT INTO `artists_songs` ( `song_id`, `artist_id` )
                  VALUES (#{id}, #{record.id})'
end

How awful the code!

WindowsXP 下 ADSL 自動撥接

不久前哈比提到系統排程的問題,我忽然聯想到 WindowsXP 的系統排程好像不用登入就可以 Work,那這麼一來重開機無法自動撥接的問題就有解啦!不過在我設定三分鐘跑一次 rasdial 的時候,執行 Shell 指令就會有個 cmd 視窗出來亂,很麻煩,不但影響視線又會影響工作,就算設定不要在非閒置時工作也一樣。於是我把腦筋動到了 VBScript 身上,印象中他可以在背景執行 Shell 指令,就稍微查了一下用法,以下是 Script 內容:

Set objShell=wscript.createObject("wscript.shell")
objShell.Run "rasdial HiShit 8xxxxxxx@ip.hinet.net password", 0, True

其中 HiShit 是您自訂的撥號連線名稱,帳號密碼則在其後。把這個檔案存成 dialup.vbs,之後放到排程裡,設定「從 2007/08/01 起,每天從上午 09:00 起每隔 3 分鐘為時 24 小時」跑一次,另外別忘記不要勾「登入後才執行」,這樣就大功告成啦!

今天有點懶得截圖:p

blummy 單一書籤‧精采生活

blummy - The bookmarklet management bookmarklet

http://www.blummy.com/

到不常用的電腦前一屁股坐下,
卻開始苦惱瀏覽器沒有平常愛用的那些 Extension?
這時 blummy 將是您的最後希望,
從此您的瀏覽器只需要一個書籤就夠啦!

對於常更換座位的電腦人來說
(特別是網路成癮症的患者們),
最麻煩的莫過於得四處灌瀏覽器以及其 Extensions,
像在下會光臨的電腦舉凡家裡、專題教室、多媒體實驗室、……
曾一度灌滿了 Firefox 跟 Extensions,
一個 Extension 更新,就全部都得更新,
簡直瘋了!

但後來回歸 Opera 懷抱後,
卻又對於 Opera 與 Web 服務結合不佳深感不滿,
於是在書籤工具列擺上一狗票的 bookmarklet,
包括 del.icio.us、Typo、Google Services 等等,
後來發現狀況其實跟之前沒啥兩樣,
到一台陌生的電腦我依然必須想辦法把這些 bookmarklet 生出來,
雖然存到 del.icio.us 標上 tag,比裝 extensions 方便許多,
不過一個個 drag & drop 實在不經濟,
沒想到這時我碰上了 blummy,
它實在太棒了!

首先申請一個帳號,然後加入自己喜愛的 Web 服務並編排一下版面,
並將綠色的 blummy 連結加入書籤列,
往後只要按下「blummy」,就會跑出一個精緻的小視窗,
裡面全都是您自訂的服務咧!

現在我用
Opera + del.icio.us + blummy
這組合簡直是移動城堡,
以後到別的電腦只要灌一下 Opera,
把 blummy 掛上去,就可以暢快漫遊 Web 了,
要不就懶一點,直接開 IE 也可以,哈哈!

Typo update problem &amp; solution with Subversion

If you update Typo with Subversion and get the error message below:

svn: Working copy 'tmp/cache' is missing or not locked
`</pre>

The way to solve it looks a little bit silly:

<pre>`rm -rf tmp/cache/; svn up

Nevertheless,
I find out that I only have to remove tmp/cache/ once.
And it makes everything back to the right track.
I make another checkout
in order to check if the problem occurs on every case,
but it does not happen.

I have no idea how this situation will happen again.
However, the solution is not so tricky, huh?

資訊網路無頭公案

以前很希望學資工就是希望能夠用數位的方式保存資料,
我知道以數位方式保存資料有多容易遺失,
但是這算是容易克服的了。

我硬碟裡面有很多無頭的 MP3,
都是在 eMule 搜尋奇怪的字樣找到的,
不過像是「jazz.mp3」這樣的檔案,
裡面沒有 Tag,怎麼知道到底是誰演奏、誰指揮、
哪張專輯、哪場演唱會的產物呢?
聽歌不是聽一首就好了,
你知道了作曲者、編曲者,就會想要去拜讀他所有的作品。
然而這些無頭的音樂讓我留下很多遺憾,
尤其我聽的是器樂曲比較多,
並不會有歌詞可以查。

例如檔案其中有一首 Big Band Jazz,
是演奏會才有的創作曲,
如果沒去聽那場演奏會的話,
是不可能知道那首曲子是哪個團演奏的,
只知道他很好聽,
只知道是首 Jazzy 演奏曲,
對於這作曲者我們將會一無所知。
更不要說是有些幾乎沒有旋律的純器樂曲了,
就算我建立了一個資料庫出來,
找不到就是找不到 Orz

又譬如你把一位正在即興唱歌的同學的聲音錄下,
被很多人下載了,
其中有人覺得不錯,想找這個人是誰,
你卻對他一無所知,
那麼線索就斷了。

嗯嗯我應該跟不少人談過這種事情,
他們也知道我要做的是什麼。

沒錯,這就是 Shon* 的工作。

終極筆記系統

Ultimate Note

此專案尚未 Materialize,可能的實作方式是寫成 Web Service,
然後提供 API 方便其他 Application 使用.

累加形容詞 => :
指定形容詞 => =

Basic Description

user1# polarpolar:munou   ←提示字元# input
polarpolar: munou         ←Output
user1# pc035860:munou
pc035860: munou
user1# Almond:munou
Almond: munou
user1# .find munou
polarpolar, pc035860, Almond

user1# pc035860:superman
pc035860: munou, superman
user1# .find munou
polarpolar, pc035860, Almond

user1# polarpolar=smart
polarpolar: smart ←munou 屬性不見了
`</pre>

## Detail Description 1

<pre>`user1# polarpolar university=NCCU
polarpolar: smart
  university: NCCU
user1# polarpolar university id=0806449
polarpolar: smart
  university: NCCU
    id: 0806449

; ←註解符號 (MASM?!)
; 這時候發現 NCCU 錯了,應該是 FJU 才對
; 不過我們很可能忘記曾經輸入 NCCU 的紀錄
; 結果學號會 Lost 掉
user1# polarpolar university=FJU
polarpoalr: smart
  university: FJU

; 若改成這樣
user1# polarpolar university==FJU
polarpoalr: smart
  university: FJU
    id: 0806449

; 嘖嘖,好像很奇怪,上課想一下好了 XD

資訊安全?

上禮拜 HITCON 2007 結束之後,
我就一直想貼這篇,
不是全然反對個人資訊安全所訴求的東西,
而是有人覺得什麼都放在網路上很危險,
我想這點要做點解釋比較好.

我之所以廣泛應用 Web 2.0 服務,
是因為我並不覺得我的資料洩漏有什麼好可怕的.
就讀學校洩漏, 我以我的學校為榮;
行動電話號碼洩漏, 我不常接手機;
照片洩漏, 我沒放屌照之類的東西;
朋友群, 我的朋友人都很好;
至於他們會洩漏什麼資訊,
那是他們自己的責任.(冷笑)

只要別把朋友們的手機什麼的直接貼上來,
我想我都還是有盡到保護的責任吧?
還是希望重視自己安全的人能盡量別用網路服務,
放到網路上的東西,
就會有被公開的可能,
這種心理準備, 是上網前一定要有的唷.

Typo 升級中

因為 SQLite 轉換到 MySQL 失敗的原因,
所以如果您有訂閱在下 Blog 的 RSS 的話,
要麻煩忍受一下了,
最近大概會不斷看到舊文章出現在 Feed 裡面.

感謝您關心 Munou Diagram.