2010年12月31日 星期五

[好奇] 這也是業配嗎 ?

IMAG0430

今天中午到7-11買午餐,正在等微波的時候,發現了這本雜誌,封面居然寫著

2011撤飛彈、股市破萬二

然後寫著"建國百年 卓越台灣",下面是個大大的100

先來看看第一段話「2011撤飛彈」,在沒有統一的前提下,會撤飛彈的可能性跟中共宣布總統直選一樣高。

而「股市破萬二」,以目前可預見的未來估計,實現的機率應該不到五成....

然後下面的「建國百年」等字句整個也很像業配啊....在業配人生正夯的現在,風聲鶴唳、草木皆兵,讓我不經懷疑這會不會是整本都是業配啊 ? 真的話就太酷了,整個開業界先河,領導市場!!

Happy New Year !!

IMG_2248

在2010年的最後一天,讓我用Blog共筆作者班仔遠從日本寄來的賀年卡,與大家道聲新年快樂!!

恭喜!! 離2012世界末日又進了一步!!

班仔的賀年卡上還特別自己弄了隻兔子上去(明年是兔年嗎?),真是太有心了,也祝班仔在日本一切順心。

2010年12月30日 星期四

[nosql] nosql 與 Cassandra 介紹

nosql起源於1998年,早期近乎無人所知,近幾年來隨著雲端技術知名起來,nosql也較廣為人知,目前開源社群以nosql ( not only sql )為種種分散式非關聯式資料庫的統稱。nosql資料庫種類繁多,詳情可見nosql-database.org,Google的BigTable, Amazon的Dynamo,與目前由Apache負責開發的Cassandra是nosql中較為出名的幾個,眾多大型網站也都運用nosql技術來處理龐大資料的需求,就我所知Ebay使用nosql處理超過2PB的資料量。

Cassandra 是Facebook為了一般關聯式資料庫(relational database)應付不來的龐大資料成長需求,所發展出來的一套系統,2008時Facebook將Cassandra轉給Apache社群負責繼續開發,目前使用Cassandra的知名公司有Digg, Facebook, Twitter, Cisco等等,目前已有使用open source Cassandra運行在150台機器上處理超過100TB的案例。

以Cassandra官方介紹來說,這是一套有著高度擴充性的次世代分散式資料庫,有著Amazon Dynamo的全分散式設計與Google Bidtable的ColumnFamily模式資料結構。

在面臨需要高效能(High performance)、大量資料(Huge Storage)、高延展性(High Scalability)與高可用性(High Availability)的狀況時,nosql可以扮演相當稱職的腳色,但是nosql並不是完美無缺的選擇。

在設計上,nosql系統考慮到現實狀況(機器、網路的出錯是必然的),多半以CAP理論去設計,而非一般關聯式資料庫的ACID理論,CAP為一致性(Consistency)、可用性(Availability)與中斷容忍性(Partition Tolerance),理論上C與A是互斥的,所以一般nosql系統不是選擇CP就是AP。

舉實例來說,nosql有著資料最終一致性的特點,就是在一個節點更動資料後,隨著時間過去,其他節點最終會資料一致,但是nosql不像關聯式資料庫有交易(Transaction)的設計,所以在分散的DB中資料進行同步時,若同時又對同一筆資料異動,就可能會發生結果不如預期的狀況,而這正是nosql開發上需要特別注意的地方。

另外,nosql在資料結構上與關聯式資料庫截然不同,查詢(Query)語法也因nosql系統不同而各有差異,大多nosql是都需要使用API去進行溝通,不過一般來說,熱門的nosql系統都會有相當不錯的資源。

以Cassandra來說,本身有cassandra-cli這個command line工具可使用,官方也有提供thrift這套API來與Cassandra溝通,而用於各種程式語言的API也都有人開發出來,Ruby, Perl, Python, Scala, Java, PHP, Clojure, Grails, C++, C#...等等都有API可支援,進入的難度並不甚高。

若有資料成長快速、需大量讀取/寫入的資料庫需求時,不妨考慮看看可以動態增加資料節點,對於龐大資料有高效能的nosql。

Twitter在選擇Cassandra時,列出了下面這六個優點 Flexible schema、True scalability、Multi-datacenter awareness、Range queries、List datastructures、Distributed writes ,有興趣可以看看這篇文章up and running with cassandra

2010年12月29日 星期三

[nosql] Cassandra 0.7 Cassandra-CLI example @ Windows

Notice : English is not my mother language, so.... you know it :P

Cassandra-CLI have many change on ver 0.7 , let's talk about it.

- Starting Cassandra-CLI :

Usage: cassandra-cli.bat --host hostname [--port ] [--file ] [--unframed] [--debug] [--username username] [--password password] [--keyspace keyspace] [--batch] [--help]

Example:

cassandra-cli.bat --host localhost --port 9160

If you enabled authentication

Example:
cassandra-cli.bat --host localhost --port 9160 --username jsmith --password havebadpass --keyspace Keyspace1


- Switch keyspace :

Usage: use <keyspace> [<username> 'password'];

Example:
use Keyspace1;


- Create Column Family with the specified attribute :

Usage: create column family <cf> [with <att1>=<value1> [and <att2>=<value2> ...]];

Example: Create standard CF with Secondary indexes on column 'NewsDate'
create column family News with comparator=UTF8Type and column_metadata=[{column_name: Title, validation_class: UTF8Type},{column_name: Body, validation_class: BytesType},{column_name: NewsDate, validation_class: LongType, index_type: KEYS}];

Example: Create a CF with SuperColumn
create column family NewsVote with column_type = Super and comparator = BytesType


At Cassandra 0.7 , you can realtime change your schema by using "create keyspace","update keyspace","create column family","update column family" without shut down Cassandra.

2010年12月28日 星期二

屯山夕暮

屯山夕暮

六塊厝漁港位於淡水與三芝交界處的屯山里,早年興盛時以石滬利用漲退潮捕捉鯊魚聞名,今已無當初之盛況,石滬也無人修補,港內只剩兩三艘小漁船;因海象佳,堤防上常見釣客與欣賞日落之遊人。

趁日落後之夕暮美景,捕捉堤防上眾人悠閒的釣魚、聊天景象,即使魚未上鉤,有此美景也已足夠。

[nosql] Connecting Cassandra with C# by Thrift

At first , English is not my mother language , so don't blame me about it :P

Cassandra recommended user use a higher-level client to communicate with Cassandra in their application , for C# , such as FluentCassandra or Aquiles, but you still can use the lowest-level official API - Thrift to accessing Cassandra.

In here , I choose Thrift to work with Cassandra , so let's start it.

Cassandra 建議使用者在它們的程式內用高階API與Cassandrar進行溝通,以C#來說,像是FluentCassandraAquiles。但是你也可以用官方出的最低階API - Thrift 來與Cassandra溝通。

這邊我選擇使用Thrift來存取Cassandra,下面一步步來介紹(然後我懶得寫中文了)。

2010年12月24日 星期五

慈濟也來搞假新聞 ?

最近在網路上看到一篇四處有人轉載的文章 - "一個老內湖人的盼望/住在內湖半世紀的 陳碧珍",剛好這陣子業配人生正夯,聽了不少買新聞、假新聞、製造新聞的故事,不經讓我想起,這篇文章的背後是不是也有鬼 ?

仔細看了一下,這篇文章在其中只講慈濟的好,然後提了一堆與內湖環境保護區無關的事來為此事護航,看起來跟之前陳文茜寫文章為花博護航的手法如出一轍,就是說一堆似是而非的事,然後用慈濟人/花博員工付出的多辛苦之類的,引起人的同情,而分毫不提真正有爭議之處。

當然了,如果只是這樣的話,根本不需要來寫此篇文章,會來寫這篇文章,就是因為這篇文章掛名的作者"陳碧珍",根本就是慈濟志工,寫護航文卻全篇不提此事,標題也寫"一個老內湖人的盼望"而不是"一個老慈濟人的盼望",這根本是蓄意欺騙,想利用資訊不對等來影響民眾想法,慈濟此種行為可說是惡劣至極

志工校園說環保 孩子願從小動作做起 (圖片備份)
慈濟內湖區志工以馬拉松接力方式,自6月28日起,密集走入社區校園宣導環保,截至目前已經舉辦四十場。今天〈11/5〉來到台北市東湖國小演奏廳,現場有逾兩百位學生、八位師長和十三位志工共同參與。透過影片及卡通以寓教於樂方式,讓孩子們具體了解全球暖化的嚴重,並在孩子心中建立起正確的環保觀念。

有關環境變遷的議題,志工陳碧珍說,因環境變遷造成無家可歸的災民數字與日俱增。例如,台灣八八水災、大陸華南水患、莫斯科森林大火、凡那比颱風及梅姬颱風等,都是我們要關心、要改善的。

北區-內湖東湖和氣社區大藏經

(圖片備份)
由於現場會眾大多是第一次來到內湖園區,慈濟志工陳碧珍除了利用這次機會,分享全球暖化的嚴重性及環保的迫切性,並特別播放影片『2009慈濟大藏經』,讓大家了解全球災難頻仍,慈濟在各地的救援、膚慰以及善念的擴散效應。影片中一幕幕驚心動魄的畫面,凝聚了所有人的目光。

這種惡劣的護航行為,我相信證嚴一定不知道此事吧 ?

樹大有枯枝,我肯定慈濟在救災上的一些作為,但是很多慈濟人的心態上不但高人一等,更是腐敗迂腐,在這世界上,很多事情並不是只要掛上慈濟兩字就是對的,更不要把慈濟的作為強加到別人身上,去影響別人,這種行為是邪教的行為!!!

我不曉得慈濟在內湖的保護區乙事最後的結果會是如何 ? 縱使慈濟已出了不少惡劣的招數,但是在內湖熱心人士努力下,目前慈濟暫時還未過關,可讓人暫時安心。如果有一天在這保護區的大樓蓋了起來,我絕對會追蹤之後的豪雨、風災,看看慈濟會不會就此成為殺人組織。

[分享] Play-Asia 折價Coupon贈送

新的一年將至,在此分享兩個Play-Asia網站的折價卷給有需要的人,請有用掉的人記得留言,以免造成別人不方便,感謝。

第一個是買超過$50 USD可以折價$7 USD的序號
Code: VN-SGD-THF

第二個是買超過$100 USD可以折價$12 USD的序號
Code: PT-VJQ-KZC

玩亞洲Play-Asia常常有很多便宜可以撿,像是這個不到三百台幣的Forza Motorsport 2 (Platinum Hits),或是這個才500台幣的失落的奧德賽.....日文版XD

我之前常玩360時常常從play-asia買遊戲,一來是撿便宜,二來是台灣免運,很方便,最近360很少開,所以折價卷用不到了,如果有需要用的折價卷的話歡迎取用,記得要留言就是。

PS:這兩個序號到期日是2010年底。

2010年12月23日 星期四

[Facebook] 以FQL查詢使用者是否為特定應用程式的Fans

PS: 這項功能似乎需要使用Facebook帳號登入此網站才能使用,如果下面的功能無法使用,請按下面的按鈕登入,然後refresh頁面再試試。

Facebook Query Language,簡稱為FQL,為Facebook提供的SQL形式查詢介面,使用上只要將Query String像下面這樣丟出去

https://api.facebook.com/method/fql.query?query=QUERY

然後取得回應即可,回應來的格式可以是xml或是json,看你怎麼指定。 為方便示範結果,所以我使用Facebook的JavaScript SDK去呼叫,先來一個取得名字的簡單範例,語法為

SELECT name FROM user WHERE uid=me()

實際出來的結果可以按看。

[JS] 取得Object內的參數名與內容

最近在用 fql 查資料,不過 facebook 給的範例都是拉固定值出來顯示,這樣要改查詢很麻煩,所以想來找個方式一勞永逸,於是就弄了這個取得Object內欄位與值的方式。

用的語法是for...in這個語法,很簡單,就長得像下面這樣。
   for (var i in obj) {    
      alert('name='+i);
      alert('value='+obj[i]);
   } 

簡單來說就是跟C#裡的foreach很類似,然後拉出來的i是column,obj[i]是value。

於是運用到我要用的fql查詢上,就變成這樣。


function query() {
    FB.api(
        {
            method: 'fql.query' ,
            query: document.getElementById('fqlstring').value
        },
        function(response) {
            for (var i in response[0])
            { alert(i + '=' + response[0][i]); }
        }
    );
}

方便許多。

2010年12月22日 星期三

[nosql] Cassandra Running a single node @Windows

懶得解釋Cassandra是啥了,Google比較快,因為我要解釋也是看google XD,直接進入正題。

Cassandra 官網 http://cassandra.apache.org/
下載頁面 http://cassandra.apache.org/download/

系統需求 : Java 1.6以上,如果是jvm需要是u19以上,最好是u21以上版本

認真與不認真



拍照時常常要求對焦精準、取景完美,但是身為一個沒看過攝影書、沒上過攝影課的我,反而常常比較喜愛不經意拍下的畫面,那種不可預期的感覺,比精心規畫出來的畫面更能吸引我....

好啦,這是不會設計畫面、構圖的我的碎碎念

2010年12月21日 星期二

[試吃] 海瑞摃丸 - 蘿蔔貢丸湯



前一陣子收到了果子試吃團寄來的試吃品 - 海瑞摃丸,原本想說有機會煮火鍋的時候可以吃,後來發現在催試吃感想,只好想個辦法煮來吃,於是下班後就去家樂福買了蘿蔔,想來煮蘿蔔貢丸湯,原本想貢丸湯要加芹菜或是香菜點綴的,後來找不到只好買青江菜湊合一下,於是就回家開工了。

Google 回顧 2010



2010年剩下十天就過去了,Google推出了一段以Google趨勢為根據所製作的2010年回顧影片,內容相當精彩。

身在台灣,若你只接觸封閉、鬥爭與業配的媒體,有多少事件是你從未聽過的呢 ?

2010年12月19日 星期日

上樑不正下樑歪 - 反正是選舉,說什麼都行

反正是選舉

上樑不正下樑歪。

比喻在上位的人或長輩行為不正,在下位的人或晚輩受其影響,也跟著行為不正。

2010年12月16日 星期四

正直和善良回來了!!

news101216

獻金違規 吳揆坦承疏失

是的,正直與善良回來了,不過是個簡單疏失,被查到再捐出去就好,大家別緊張。

2010年12月15日 星期三

OPEN TAIPEI 感恩加場音樂會



我想我永遠不會忘記11/26那天晚上,在中央藝文公園的盛況。遠超過十萬人,放眼望去滿滿的都是人頭的樣子,深深印在我心中。

雖然結果不如預期,但是,Open Taipei的美好音樂,超越的精神依然存在。

2010/12/19,下午兩點鐘,在大安森林公園。

Open Taipei 感恩加場音樂會。

這次不來,以後可能就沒機會了。

[Flex] 全螢幕功能

因為剛好有人問我flash的全螢幕功能,所以就順便寫了篇介紹,不過我是用Flex寫,都是用action script做的,應該沒什麼差別吧。

語法很簡單,主要就是下面的這段。

<fx:Script>
  <![CDATA[
   import flash.display.StageDisplayState;
   import mx.managers.SystemManager;
   
   protected function btn1_clickHandler(event:MouseEvent):void
   {
    if (systemManager.stage.displayState == "normal")
    {
     systemManager.stage.displayState=StageDisplayState.FULL_SCREEN;
     btn1.label="回復";
     label1.text="現在是全螢幕";
    }
    else
    {
     systemManager.stage.displayState=StageDisplayState.NORMAL;
     btn1.label="全螢幕";
     label1.text="現在不是全螢幕";
    }
   }
  ]]>
 </fx:Script>

[ benjemin 的日文筆記 ]-です

蝦米洗です?為啥日本節目整天です來です去哩?讓我快速為您說明!(> v 0)ノ



使用範例--貓咪小姐去美髮~~



非常簡單的です就到這裡了~(茶)
附上一張い形容詞的複習小圖XD
已經忘光光的人趕快再來溫習下憋(>w<)d

[Facebook] 邀請功能的應用

fb_invite

相信很多人都有玩過Facebook上的遊戲,對於滿滿的遊戲邀請,想來也不會陌生,這邊就來介紹如何去運用邀請功能,讓你可以運用在自己的東西上。

要發送邀請很簡單,我拿facebook的範例來說明。
<fb:serverFbml>
<script type="text/fbml">
<fb:fbml>
<fb:request-form
method='POST'
type='部落格邀請'
content='邀請你加入Died的 Blog 
<fb:req-choice url="http://apps.facebook.com/smiley/yes.php" 
label="Yes" />'
<fb:req-choice url="http://apps.facebook.com/smiley/no.php" 
label="No" />'
<fb:multi-friend-selector 
actiontext="加入Blog">
</fb:request-form>
</fb:fbml>
</script>
</fb:serverFbml>


這邊也可以看到送出與收到時的樣子。

fb_invite2


何處的文字是是對應到Facebook上的哪裡,可以看圖去對照,這邊比較需要注意的是兩個req-choice內的連結,一個連結是同意這邀請,另一個連結是不同意,我不太曉得按不同意時,一般遊戲會做什麼動作,不過一般來說遊戲內的加好友/鄰居,或是送禮物都是使用同意的這個連結,靠帶不同參數或是指到不同頁面去做的。

舉個例子,使用者在選擇完禮物後,系統產生一組有著使用者uid、禮物、到期時間的unique key,然後在送出邀請時,所指向的連結最後帶上這個unique key為參數,所以在玩家收到邀請時,可以很容易的就顯示出誰送給他了什麼禮物。

當然我說的這些是很基本的,實際上運用還是需要針對需求去做修改,還有一些安全上的防護,被免被利用等等機制,這邊就不多加說明了。

Rift 註冊教學 (beta2)

rift_logo

基本上如果Rift沒有什麼變動,這註冊教學都是通用的,加上Beta2只是因為我在beta2前寫的,著名一下而已,並不是說只適用於這段時間,先說明一下。

首先,先連到https://account.riftgame.com/en/,在畫面右下處有個Register now,點下去就會到填寫資料的註冊畫面,似乎Rift會因為地區去導到不同頁面,所以我就沒直接給註冊頁面的網址了。

2010年12月10日 星期五

[ACM] Q100 : The 3n + 1 problem

題目 : The 3n + 1 problem

簡單解釋 :
有個演算法,先暫且叫3N+1演算法,給他一個整數N,有三種可能
1.N=1 -> 結束
2.N為偶數 -> N=N/2
3.N為奇數 -> N=N*3+1

舉個例子,如果N為7,出來的數列為
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
數列長度為17

題目會輸入幾行數字,每行內容為 i j 兩個整數,你要將從 i 到 j 的每個整數套進3N+1演算法,然後將其中數列最長的長度(姑且叫做M)加在 i j 後輸出,也就是輸出時為 i j M ,下面是官方給的輸入輸出範例。

輸入範例

1 10
100 200
201 210
900 1000

輸出範例

1 10 20
100 200 125
201 210 89
900 1000 174

[C#] 三數最大公因數

很久沒玩這種東西了,一開始我還很老實地想慢慢算XD,後來才發現解法可以超簡單。

隨便列一下程式碼。
        private void button1_Click(object sender, EventArgs e)
        {
            int N1,N2,N3;

            if (IsNumeric(textBox1.Text) && IsNumeric(textBox2.Text) && IsNumeric(textBox3.Text))
            {
                N1 = Convert.ToInt32(textBox1.Text);
                N2 = Convert.ToInt32(textBox2.Text);
                N3 = Convert.ToInt32(textBox3.Text);

                int N4 = gcd(N1, N2);
                label1.Text = gcd(N4, N3).ToString();
            }
        }

        private int gcd(int a ,int b)
        {
            if (b == 0)
                return a;
            else
                return (gcd(b, a % b));
        }

        static bool IsNumeric(object Expression)
        {
            bool isNum;

            double retNum;

            isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out retNum);
            return isNum;
        }

2010年12月9日 星期四

從台灣世曦工程顧問公司看蘇花改的未來

我今天才知道,前陣子強行通過環評過關的蘇花改,是由大名鼎鼎的台灣世曦工程顧問公司負責設計,讓我不禁為蘇花改的安全性擔憂,打著「一條安全回家的路」名號的蘇花改,為何我在看到「世曦」這兩個字後,就讓我覺得前途堪憂呢 ?

先從最近的國道一號五股楊梅段看起,最近一期壹週刊的爆料:
總預算逾8百億元的中山高速公路五股至楊梅路段拓寬工程,恐陷重大公安危機。包商今年初向交通部反映,由台灣世曦工程顧問公司設計的高架路段,總長30公里,沿線119根橋墩井式基礎鋼筋量不夠,橋柱的支撐強度不足,如果遇到地震或塞車,就有可能崩塌。交通部拖了3個月,僅要求世曦將其中已建好的6墩井基重建,並未要求變更設計,顯然包庇失職。

而隔日的中國時報有學者指出,這種鋼筋量不足的情況一般只會出現在施工偷工減料時。

「鋼筋配量少了三分之一,太多了!」中興大學土木系榮譽教授顏聰指出,橋梁結構力計算有固定程式,不太可能出錯,除非橋梁載重、構造或材質改變。一般來說,這種情形只會發生在施工時偷工減料

2010年12月8日 星期三

Chrome Notebook !!!

Chrome notebook

隨著Google發表Chrome Notebook,強者我朋友也跟我炫耀了這封信....

免費的Chrome Notebook !!!! 真是太令人眼紅了XD

台電、中油近年盈虧與年終比較表

年底到了,國營事業又大領年終,於是我做了這個盈虧與年終比較表,把近五年的資料做個統計,方便大家看。

台電、中油歷年盈虧與年終比較表
年份台電年終(月)中油年終(月)台電盈虧(億)中油盈虧(億)
資料來源:公開資訊觀測站
20104.64.6
20093.63-14.8289.35
20084.34.6-1013.56-1393.64
20074.64.6-312.42146.55
20064.64.6-28.93-187.69
20059.2870.2

2010年12月7日 星期二

巴斯神算:你適合的國家

buzz01

其實我很少玩這類東西,不過這個巴斯神算:你適合的國家?,算出來的結果實在是太中肯了,不得不放出來跟大家分享一下,請看看打進"馬英九"的結果吧XDDD

2010年12月4日 星期六

【神廣告】傳說中的桃園棒球場

轉錄自Youtube



製作水準相當高,不過因為怕被國民黨告,只好選後才放出來的影片,想想真是悲哀的一件事。