2010年7月22日星期四

Facebook Album Upload Tool

再來一個小弟自家製作軟件,這個軟件就如名稱所說,是一個Batch Images Upload軟件。
我使用了

去製作,因為我不想用舊有的Old REST API,取而代之用新的Graph API方便日後更新,所以沒有使用其他3rd Party的Facebook API Library,而且我覺得CodePlex上的Facebook Developer ToolkitDocumentation做得不夠好。(雖然Facebook官方的都不見好...)


其實這個軟件原本我只是打算自己用,所以需要重申一點,無論軟件界面,UI上的英文文法,Code本身的質素,Exception等等全部都是很隨意,但求運作成功就算,我亦不排除有任何Bug,但我自己用了一段時間是沒有大問題的,希望大家明白。

為什麼做這個,因為現在網絡上的Facebook大量上傳軟件似乎部份因為Facebook的API更新而失效,所以才想公諸同好。


使用方法:
開啟軟件後,按[Authorization],會出現一個Window進行認證手續,完成後Window會自動關閉,這時候會自動增加帳戶至[Account]Menu的ComboBox裡,選擇Facebook Album,再選擇你電腦的相片,Right Click & Upload。


其他細微使用說明:
  • 由於我沒有使用Multi-Threading,所以上傳的時候,軟件狀態呆滯,但其實是工作中,請耐心等待
  • 軟件是Portable,不會寫資料去其他地方
  • 軟件不會儲存你的登入資料,整個Authorization過程是在Facebook上進行
  • Double Click Facebook的圖片可以放大
  • 按著Ctrl可以多選圖片上傳
  • 一次最多上傳200張圖片 (Facebook限制)
  • 上傳的圖片會自動resize至最大720px x 720px (Facebook限制)

電腦必須已安裝.NET Framework 4.0,如沒有按此往Microsoft網站下載
Download Facebook Album Tool v0.001 : http://www.badongo.com/file/23705599

fat20100721_235831-t.pngfat20100721_235906-t.pngfat20100721_235940-t.png

2010年7月18日星期日

.NET將中文Exception Message轉回英文

假如有人問我軟件上為什麼會優先使用中文版,對我來說其實只是介面上比較親切,中文或英文版使用上都是一樣。
不過如果是開發軟件的IDE,某程度上使用英文版較好,因為輸出的Error Message,放在Google搜尋答案都易一些。

以我自己的平台為例,Windows 7 / .NET Framework / VS2010都是繁中,輸出的Exception Message當然會是繁體中文。
try
{
object obj = "abcd";
double d = Convert.ToDouble(obj); 
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print(ex.Message); //Output : 輸入字串格式不正確。
}

那怎樣轉為英文? 方法如下 :
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
try
{
object obj = "abcd";
double d = Convert.ToDouble(obj); 
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print(ex.Message); //Output : Input string was not in a correct format.
}
但繁中卻不可能轉成簡中,其他語系如日文更不可能,因為英文是.NET Framework的母系語言。

Microsoft回收Visual Studio 2010中文版???

有人Email問我,那裡下載VS2010的中文版,他在我之前的Blog文 - Microsoft Visual Studio 2010 簡體中文/繁體中文版推出了中的連結說找不到,我還說一定有,叫他再找找看,他再三說找不到,那我唯有幫他看看,想直接給他Web Installer的exe連結吧。

但果然簡體中文和繁體中文版都沒有了,連韓文都沒有,明明之前是有的。

細看之下連SQL Server 2008 Express中文版都抽起了,不過SQL Express 2008要回收,我不感意外,原因請看Windows Vista / 7 / Server 2008 不能安裝SQL Server 2008 R2解決方法

如果堅持要用中文版的話,Pro版還是有中文的

至於什麼原因拿掉中文版,就不知道了,這是很少見的。

圖片取自 http://kkbruce.blogspot.com/2010/06/microsoft-visual-studio-2010-express.html

2010年7月16日星期五

外國人眼中的電腦程式員等級

剛剛看到這篇文 - What makes a programmer “senior”?
起英美地方的Programmer一樣細分
  • Junior Programmer
  • Programmer
  • Senior Programmer

詳細內容大家可以自行去看看,不過我Highlight文中所講的五點:
  1. You know more than one (programming) language
  2. You regularly code outside of work
  3. You’ve built software from conception to implementation to support
  4. You innovate
  5. You apply software to solve real problems

  • 第1點我不同意,雖然大多數有若干年經驗的Programmer都能操超過一種Language,但其實只係Primary和Secondary關係,好似我本人來說,.NET平台是Primary,PHP只是Secondary for hobby,但其實同做唔做到Senior似乎冇關係,我經常放起口邊的 : (做電腦,寧願做一種技術的Expert,好過周身刀,冇張利。)
  • 第2點更加不同意,廿多歲時,心中還有團火,好多人慢慢漸大時,其實工餘時間再去Coding的動力已經不大。
  • 第3點即是所謂一條龍服務,其實香港好多人都係,但.....
  • 至於第4和第5點,其實取決於不同公司的方針吧...有很多老闆接受不到太新的事物,怕行先死先...而solve real problems...其實即是solve boss's money problem...

文中的留言比內文精彩,有印度人留言話 : ( Here in India, anyone who can grind for long hours is a Senior Developer.)

這個Blog我本人已Bookmark,有很多都幾適合香港同行睇的文如:
Programmers are people, too
Outsourcing Doesn't Work
都講出我的心聲,即使用Google Translate慢慢看,我都要看完它。

Build iPhone Apps with ASP.NET

ComponentOne出品的Studio for iPhone,不過其實只不過是將Control加上iOS Theme以Ajax運作,未免太取巧了.....
Document都有說 :
Studio for iPhone is AJAX compliant and features a rich client-side object model, allowing users to interact with the controls without having to waste their time and bandwidth on server postbacks.

我印象中jQuery都好像有iPhone的UI PlugIn...

Studio for iPhone - Overview from ComponentOne on Vimeo.

PHP for Android Apps

用PHP起Android手機上寫程式....我個人就唔睇好,玩下無妨,真係工作上的話,還是Native語言-Java最好。
而且有PHP基礎,要學Java都唔係咁難o者...
Open Source Android Apps for Developers: PHP for Android

PHPforAndroid.apk HOWTO install and test

2010年7月11日星期日

ASP.NET Menu預設限制3個層級

有時有些功夫,永遠都是工作上不會做,但在家的時候就會玩玩,ASP.NET 2.0出現的Menu Control已經是其中一個。
之前的工作地方都會用TelerikComponentArt的商業Controls,最主要是付出一筆過金錢,但省回設計樣式上的人力資源。

言歸正傳,這幾天我都在了解SQL Server 2005新增的common table expression (CTE),最主要是想解決一些我之前遇到的recursive query問題,而ASP.NET Menu中,每一個MenuItem都有自己的Value,而這個Value其實算是一個Identify,因為增加階層的時候是透過Value Path去插入新一層MenuItem,而我就是要透過CTE,在一個典型Product Category Table中得到正確的ValuePath再投放給Menu Controls。

但運行的時候發現永遠都只得第一層的static menu和三層dynamic menu,搞了接近一小時,百思不得其解,因為三個主要相關property - StaticDisplayLevels / DisappearAfter / MaximumDynamicDisplayLevels我都沒有去設置一個實數。

但反而問題就是出現在MaximumDynamicDisplayLevels,根據MSDN所說 :
The number of menu levels to render for a dynamic menu. The default is 3.

難怪顯示不到第4層目錄,解決方面顯然是增加數值,但Microsoft似乎把default value設得太低吧....

2010年7月8日星期四

英國大學畢業生 IT失業率最高

失業率最低的前六名專業分別為:醫學0%,教育5%,法律6%,生物9%,語言9%,數學10%。
失業率最高的前六名專業分別為:電腦17%,傳媒14%,建築、工程、藝術均為13%,商業11%。
BBC中文網 : 英國百分之十大學畢業生失業
英文 : 'One in 10' UK graduates unemployed

2010年7月6日星期二

送出三個MSDN Ultimate Subscriptions | MSDN Ultimate Subscriptiongiveaway


收到Microsoft寄來的寄件,是三個價值USD$12,000的MSDN Ultimate Subscriptions。你亦可以看看我之前所寫的MSDN Subscriptions介紹 : http://www.netatlantis.com/?p=2249

得到MSDN Ultimate Subscriptions後,你將會得到什麼?
可以看看這裡: http://msdn.microsoft.com/zh-tw/subscriptions/subscriptionschart.aspx

最快速的答案就是 : Windows 7 Ultimate 32Bits/64Bits / Visual Studio 2010 Ultimate / Office Professional Plus 2010 的正式版使用權。

取得條件 :
很簡單,只需要証明你是在Microsoft平台上的開發人員就可以,不一定是.NET高手,可以是學習中的新手都可以,附上一些証明,例如是你的技術Blog文,你的Project Url等等,Send Email至 admin@netatlantis.com
不是先到先得,我會挑選最適合的。之後在7月12日,我便會經Email寄activation key給三位幸運兒。

世界各地還有部份Microsoft MVP都已經和我一樣收到MSDN Seeding Card,亦有幾位MVP已經開始派發,你亦可以試試向他們索取。
What Would You Build? MSDN Subscription Giveaway
3 Free Microsoft Visual Studio 2010 with MSDN Ultimate Subscriptions to give away…
MSDN Ultimate Subscription giveaway

MSDN Ultimate Subscription giveaway

做網站賺錢?

6月尾時蘋果日報刊登的文,如果我沒記錯訪問中既Guru Online公司與香港多個大型廢青討論區HK2love, 3boys2girls, Key8, Qooza有廣告上的關係。

其實香港市場太細,而且要有的,已經有,所以搞網站可以維持生計真是很難,本來就算不為錢,只為興趣,開網站所費功夫不多,但很多網站/討論區最後變死城既例子都見不少,所以我最後除了這個Blog之外都沒有打算搞其他網站。


至於網站做到什麼規模至賺錢,給你一個快速答案
引用自 蘋果日報
廣告商對網站的基本要求
每月實際瀏覽人數(MUV) 要求:多於 10萬
每月頁面瀏覽次數 要求:多於 100萬
成立年數 要求:頭一年較難接廣告
知名度 要求:廣告部主管認識

有興趣睇埋全文 : 搞網先定目標客 利增加流量 吸相關廣告

奇怪的命名

6月時,ExtJS公司和CMS TYPOlight都有新名字,本來沒有什麼奇怪,但我細心看看命名的原因後,又覺得值得分享一下。



ExtJS
ExtJS是Javascript Framework,ExtJS名稱沒有變,變的只是公司名稱叫Sencha,根據原文所說,Sencha即是我們熟悉的日本煎茶(Sen-cha),為什麼叫Sencha,因為易記,易讀,易發音....,而文中說煎茶是 : represents a new level of development ....對我來說,肯定就沒有類似感覺,感覺就好似Adobe改名叫鐵觀音....



TYPOlight
TYPOlight是出名的Open Source CMS,改變的是產品的名稱,由TYPOlight轉為Contao官方原文Contao的解釋 :
Meaning of the name Contao
Contao actually has a meaning and is not a pure fantasy name. The Vietnamese word "tạo" means "to form", "to create", "to shape". The term "con tạo" means "fate", "the creator". The "con" in Contao may also be interpreted as an abbreviation for "Content", so the name is ideal for a system that creates content.


即是越南語的"tạo"(建立), "con"(文章),但合起來則是"命運"的意思。
改名原因話因為TYPOlight的light給人感覺是功能弱,只適合初學者,但......等等,那Microsoft的Silverlight又如何?
我覺得TYPOlight的轉名似乎沒這個必要。

其實我有時覺得所謂Web 2.0服務的名稱都是有點抽象,但始終簡單易明才是王道,Facebook是一個好例子,香港本地的EditGrid都是一個好例子,不是說因為名稱而成功,而是舉個好記的例子。

2010年7月1日星期四

科網泡沫夢醒十年

這篇信報的文章雖然是三月時刊登,但值得一看。
http://www.hkej.com/template/blog/php/blog_details.php?blog_posts_id=46434
財經 2010年03月23日 07:42
科網泡沫夢醒十年

今年3月,一個重要的歷史時刻的十周年悄悄地過去了。難道大家忘記了2000年3月的互聯網泡沫爆破?對很多香港的人來說,互聯網泡沫過去了後不留痕跡,但對於香港來說,卻是浪費了整整十年的機會和光陰。讓我們先重温一下,十多年前那些瘋狂的日子。


1995年至2000年初,納斯達克指數在網絡熱潮中節節上升,在2000年3月10日更升至5132.52點的歷史高峰,以5,048.62點收市,指數比一年前倍升,但隨後在3月13日星期一,卻在一日之內跌了百分之四至4,879,至兩日後更跌至4,580,在三個交易日內足足蒸發了百分之九!


事後很多人士分析網股災難的近因,有人歸咎當時微軟在美國聯邦法院被指控壟斷市場,引發了那個高潮後的星期一出現拋售思科、IBM等指標性科技股;也有人認為那是Y2K千年蟲的後遺症:企業大花金錢準備過渡2000年後「超買」了各種產品及服務,和1999年的聖誕季節網上消費令人失望,令投資者開始對被盲目吹捧的網股失去信心。


還是前美國中央銀行行長格林斯潘早在1996年12月5日所講的一句說話,已預測了這一切:「我們怎樣才知道,非理性亢奮(irrational exuberance)把資產值過度地推高,然後引致預測以外和長期的收縮,有如過去十年的日本?」雖然網股爆破沒有引發日本式經濟危機(這個「重任」還要留給金融界) ,但非理性亢奮就一語道破了。


要在十年後讓我們重温這段對很多人慘痛的回憶有多非理性,以下例子最為經典: 2000年4月遊戲及入門網站IWon.com派了一千萬美元獎金給一名幸運兒; 3月股災後,最高調、最花錢的網站相繼倒閉:時裝網站Boo.com、寵物網站Pets.com等在同年 “game over” 了,就連令香港壹傳媒學習其模式的網上超市WebVan,和已經上市的玩具網站eToys.com,都在2001年初破產收場。


的確,當年筆者一直懷疑,為什麼自己不學人家搞個猫狗網站,集人家的資本搏一搏運氣,但自己身為互聯網服務供應商「實業」的一份子,始終過不了自己一關,是聰明是笨伯也很難說。但筆者的確在泡沫爆破一刻前决定離開1994年起創立的互聯網供應商,再次出來創業,在時機上真的差得很。但筆者也承認,在網股爆破後的第一年,我們仍未立即接受這個事實,仍未立刻調節至較保守和持久戰的策略。


再看這十年,有什麼變化,我們應學習了什麼?原來,互聯網沒有爆破,蒸發了的「不過」是股票的市值。科技應用仍然不斷創新,完全沒有停下來,從統計資料可看見更明顯的變化:十年前寬頻上網在香港才剛起步,大部分人仍使用56K撥號上網,至今已發展至1G光纖入屋;2000年底全球上網人口3.6億,今天一個中國已此數,而全球今日網上人口已超過+七億。簡單地看,最大的變化,是由網上內容及服務提供者網站主導的Web 1.0世界,變成Google等倚賴技術創新和用戶提供內容的服務主導Web 2.0模式,以及市場中心由美國轉移至中國。


在後泡沫時代的中國網絡甚至網股的,例如分別在2003、2004和2005年在納斯達克上市的携程旅行網(ctrip) 、盛大互動娛樂和百度,集資每創新高,那幾年間根本差不多可算「托」起納斯達克市場,甚至2004年在香港上市的騰訊,誰可想到會成為今天本地師奶愛股?中國市場自有其優勢,但中國互聯網企業能守得雲開見月明,香港的卻銷聲匿跡,問題也在於對科技業有沒有恆心,若如香港投資者般跳船速度之快,恐怕香港有多少有心有力創業者怎樣努力也事倍功半。


香港的經濟模式始終被大財團壟斷,即使在短短dotcom潮期間能成功集資的,畢竟也是大財團巧立明目的居多,這與美國甚至中國市場的分別很大;而大財團在網股爆破後差不多全部打退堂鼓,無論是把資金私有化還是把科技業務轉型,總之資金流走了,科技投資停下來了。相反,創業者始終找不到資金發展,十年過後,這仍然是香港科技產業發展的死結。


在金融風暴後,終於連特區政府和特首也承認不能單靠金融業托起香港,但至今口講什麼協助創新科技、創意產業,仍只靠搞些支援基金派些錢,完全沒有新意,未有任何有效政策承擔,缺乏資本市場運作配合,沒法解決「創業難、資金少」之技創業發展問題,下個十年怎能樂觀?