2014年1月31日星期五

GapView - Google+ & Picasa Viewer

今天是農曆大年初一,先說一聲新年快樂。
順道放上一個近期的作品,名稱叫做GapView,是一個Google+ Album和Picasa Album的Viewer軟件。
其實大半年前已經著手開始,不過未真正去完成。
現在完成度較高的版本已經完成,所以放出來給大家使用。

我自己對Picasa相簿使用度是很重的,有幾十本相簿,大概已經有5本相簿含超過800張相片。
若使用網頁介面,操作很慢,複製連結亦要一張一張去做,很花時間。
很可惜官方的Picasa軟件介面我實在覺得不好用,而且亦沒有複製連結這個功能。

所以這個軟件的目的就是可以讓你快速選擇相片,並複雜連結做Html或BBCode。
對好像我經常貼圖上討論區或者寫Blog的人都會很方便。

技術上,這次使用WPF的MVVM Pattern去設計軟件,是一個新嘗試。

使用方法很簡單,把Google ID加進我的最愛列表,程式就會自動列出相簿。
而Google ID取得方法就是網址後的數字。
https://plus.google.com/photos/113129480538907711691
https://picasaweb.google.com/113129480538907711691

Google Login方面,軟件使用Google OAUTH2登入,用途是看自己的Private權限相簿。
如果你的相簿沒有設權限或者觀看其他人的相簿,便不需要登入。
軟件以唯讀形式經Http連結讀取,我不會對你的圖片做任何操作。

有疑問可以留言問我。

GapView 1.0下載
http://goo.gl/0tm3ph
需要.NET Framework 4.5

程式截圖:

2014年1月13日星期一

Feedly Duplicate Filter 2014

轉至Feedly後,依然還要經常應付Google Reader時的1000+問題,即時超過1000條Feed未看,這還是最常出現在Delicious當中。

之前介紹過Feedly Duplicate Remover以及後來的Chrome Extension - Reader Filter

前者已經失效而且沒有更新,後者有效但只限Chrome,而且hidden後的feeds,會保留空白,很愚蠢的設計。

持續多個月,實在忍無可忍,還是又要自己出手寫個小品程式去一己私慾。

這個Userscript很簡單,以標題對比方法找出重複的,你可以選擇以Hide方式還是Highlight方式去標示。
打開Config方法是在Greasemonkey的圖示下會找到按鈕。
我測試過Chrome+Tampermonkey都可以完美運作的。

大家可以由此下載Feedly Duplicate Filter 2014
https://dl.dropboxusercontent.com/u/19160547/Files/Feedly_Duplicate_Filter.user.js



Source Code:

2013年11月22日星期五

Bug in Entity Framework 6 w/ SQL Server 2012

若你的程式有使用EF6 + SQL Server 2012,很大機會會遭遇兩個錯誤:
Sys.WebForms.PageRequestManagerServerErrorException: The provider did not return a ProviderManifest instance.
Could not determine storage version; a valid storage connection or a version hint is required.

以我的情況來說,是ASP.NET 4.5 Webforms Project,有部份頁面的GridView或WebService是有使用SQLDataSource和EntityDataSource,
在升級到EF6後,就會出現上述的錯誤。



上Google搜尋,並沒有統一的答案,而Microsoft Connect上的Bug Report還是未解決狀態。

一輪苦戰之後,最後找到一個解決方法,就是把Data Model (*.edmx) 中的ProviderManifestToken的值,由"2012"設回"2008",再Rebuild Solution就OK。

2013年11月17日星期日

Clean & Complete Uninstall Visual Studio 2012

Visual Studio Team現在採用的開發模式為Agile (敏捷開發方法),而新版本推出的週期亦由以往三年縮短至一至兩年

但對開發者來說,唯一問題就是VS不能好像Firefox/Chrome的升級方式去安裝新版本,VS必須安裝為獨立產品。
這就出現了一個作業系統出現了多餘的VS版本。

現在情況跟以前不同,以前VS2003, 2005, 2008, 2010的時候,有必要保留舊版本,因為當時VS相互分別比較大,而且亦未必有需要把Project升級至新版本,拿回舊版VS開啟就好了。
而VS2013跟VS2012的Project相容,基本上安裝VS2013後,VS2012已沒必要留在電腦中。

大家都知道Microsoft的重量級產品,如Visual Studio,SQL Server,SharePoint Server或Dynamic AX等等,都盡可能不要亂去Uninstall。
Uninstall後有大量殘餘物在系統或Registry中,亦有很多Shared元件跟其他產品之用,對於有系統潔癖的人(例如我)來說,是不能容許的。
而且另一個衍生問題就是Reinstall 有機會失敗,SQL Server已經是好例子,我多次遭遇這個問題

或者太多人反映問題,微軟終於在VS2012中加入UnInstall Utility。

微軟把這個程序叫做
Forcible Uninstall
http://support.microsoft.com/kb/2771441/EN-US#Force
可以把所有VS2012相關的安裝項目連元件一併刪除。

而操作方法是,下載相應版本的ISO,Mount進系統中,打開CMD,
輸入: D:\vs_ultimate.exe /uninstall /force
就會自動進行一個叫"Microsoft Visual Studio 2012 Pre-Clean Tool"的反安裝程序,
如你是Professional,就下載Pro版的ISO,而Command Line就是
D:\vs_professional.exe /uninstall /force,如此類推。

其實Visual Studio 2013的,我都試過,但很奇怪,結果是不成功。
連程序名字都不同,2013的叫"Microsoft Visual Studio 2012 Post-Clean Tool",暫時亦沒有官方文件証明2013有這個選項,至少上述的KB2771441都沒說明。