Categories
Friends's Blog
Links
Other Bloger
Archives
對 Ubuntu 不穩定的 Unity 失望
安裝完了 11.4 之後 Unity 的界面整個亂閃亂跳,根本沒有辦法點選到想要的執行圖示,Thinkpad X60 雖然已經是幾年前的電腦了,可是照道理說它的硬體規格應該有廣大的市場。本以為是升級安裝的問題,所以改用全新安裝的方式,結果還是一樣,於是就必須得要放棄 (不穩定的) Unity 了,但是在 11.4 中 Unity 不只是預設的選項,而是必要選項,除非改用 Xbuntu 或是 Kbuntu… 於是乎,已經習慣了 Gnome 界面的我,安裝回 10.11 似乎是最方便的作法了,持續使用 10.11 中…
也許過陣子會換回 Debian, 選擇權還是在自己手中才算是自由呀。
Posted in IT: Linux, 其它
5 Comments
Ubuntu PPTP VPN Install
Reference:
http://jkey.lu/install-pptp-on-ubuntu/
雖然沒那麼安全,但 PPTP 應該是最容易設定的 VPN 服務了,用來玩另一個地區提供的遊戲,應該是沒有什麼大問題的。想要安全性高一點的,當然是要選擇 IPSec + P2TP 了。
Posted in IT: Linux
5 Comments
GFW 也干擾 PPTP VPN?
直接用 PPTP 連回台灣上網,跟 PPTP + SSH Tunnel 居然是後者速度比較快,而且第一種方式有很多 CDN 都被擋掉,後者則沒有這個問題,看來 GFW 對 VPN 也是有些干擾的,對於某些用 PPTP VPN 的企業來說,可不是一個好消息。
Posted in 其它
Leave a comment
將 HTC Hero 更新到 CM6.10
有 Sense 的 ROM 都要上百 MB,而這個 ROM 只有五十幾 MB,換來的就是速度。要記得安裝 Google App (Tiny),這樣在 Account 設定才會有 Google Account 的選項。
利用 Google Canendar Sync 把 Outlook 的 Canendar 先同步到 Google Calendar (雲端),然後在手機的 Google 帳戶開啟同步,這樣就會再把手機上的 Calendar 同步得與 Outlook 相同了,而 Google Canendar Sync 一般就是預設兩分鐘啟動一次,如果你想要把手機上的行程資料也同步到 Outlook 上,只要在 Google Canendar Sync 設定 Two way sync 就可以了。
Continue reading
Posted in IT: Android
Leave a comment
Android Market 已安裝應用程式消失
自從有一次重新開機之後,已安裝的應用程式變成只看到兩個,具體原因也不曉得是什麼,還好 Market 在 Google App 裡視為單一的應用程式,所以可以單獨刪除程式資料檔。
解決方式,到 [設定][應用程式][管理應用程式] 選擇 Market,然後清除 Market 所使用的資料檔,接著重新打開 Market 就可以了。
題外話,有 Update All 真是個好功能呀,再也不用像以前一個一個的點選進行更新了。
Skype 也玩起強制更新?
真的沒有問題嗎?先前看到有新的 5.xx 版本已經更新過了,但是因為在公司的防火牆內使用有問題,所以又降級回到 4.xx 的版本,而且是好不容易找到的官方英文版,原因是在大陸地區所抓的版本都是 TomTom 版的,會有我很不欣賞的強制廣告,找到 PCHome 版本的會有個 Logo,還是官方英文版安裝後用起來順手,沒想到今天打開 Skype 的時候被強制更新了,星期一到公司的時候再來看看是不是會有先前連線的問題吧。
PS. 果然出問題了,現在在公司 Skype 連不上了。
[2010/12/15] 搞定了,Connection 中的 Automatic Proxy Detection 拿掉,改成 HTTPS 然後手動設定。自動偵測不 Work…
ICSharpCode.SharpZipLib – Sample Code for zip extract
沒有想到商業版的 ZIP Component 問題那麼多,先前公司的政策就是要使用商業版本的元件,因為在碰到問題的時候可以得到較多的支援,當時為了壓縮解壓縮,有同仁就測試並且推薦了 IPWorksZipNETV7, 接下來的程式當然是使用它來進行開發了。後來發行的程式有 User 出現這個元件的 License 過期的問題,問題是程式已經跑了一段時間了,所以問題不是在發行的程式,而是在這個元件的版權處理,於是換成 ICSharpCode.SharpZipLib 這個免費且開源的元件,後面就沒有再出問題了。
接下來又有另外的程式也發生相同的情況,解決方法依舊,看來用商業版也是存在一些問題,開源的元件,如果自己可以掌控,就用開源的會比較省心吧。
下面留一段 Sample Code 方便日後參考。
public static string ExtractFile(string DownloadFileName) { string destFile = ""; try { ZipInputStream zipIn = new ZipInputStream(File.OpenRead(DownloadFileName)); string ExtractToPath = ConfigurationSettings.AppSettings["BackupPath"].ToString() + "\\"; ExtractToPath = ExtractToPath.Replace("{APPPATH}", AppDomain.CurrentDomain.BaseDirectory); ZipEntry entry; if ((entry = zipIn.GetNextEntry()) != null) //ONLY ONE FILE { FileStream streamWriter = File.Create(ExtractToPath + entry.Name); long size = entry.Size; byte[] data = new byte[size]; while (true) { size = zipIn.Read(data, 0, data.Length); if (size > 0) streamWriter.Write(data, 0, (int)size); else break; } streamWriter.Close(); FileInfo fi = new FileInfo(ExtractToPath + entry.Name); destFile = ExtractToPath + DateTime.Now.ToString("yyyyMMddHHmmss") + fi.Extension; // RENAME FILE if (File.Exists(destFile)) File.Delete(destFile); File.Move(ExtractToPath + entry.Name, destFile); } } catch { Console.WriteLine("ERROR: Error while extract zip file."); } return destFile; }
Posted in IT:.NET Programming
Leave a comment
LumiSoft.Net Sample Code – POP3_Client with attachments
LumiSoft.Net 包含了很多好用的網路相關 Class, 雖然自己已經收集了一些 Ftp Client, Pop3 Client 等的小 Class, 不過對於這種 Open Source 而且程式經過許多人驗證過的 Class Package 應該要多多支持才是,趁著使用的 Pop3 Client 有點 Bug (部份特殊的 Attachment 抓不到, 如 Pure Text format message attachments) 寫了簡單的測試程式碼,準備要來換掉原先使用的 Class,也許以後的專案會盡量用它了吧。
POP3_Client pop3 = new POP3_Client(); pop3.Connect("mail.fetag.net", 110, false); pop3.Authenticate("username", "password", false); POP3_ClientMessageCollection cmc = pop3.Messages; foreach (POP3_ClientMessage cm in cmc) { byte[] bytes = cm.MessageToByte(); Mail_Message m = Mail_Message.ParseFromByte(bytes); string Subject = m.Subject; foreach (MIME_Entity entry in m.Attachments) { string FileName = entry.ContentDisposition.Param_FileName; byte[] data = ((MIME_b_SinglepartBase)entry.Body).Data; FileStream fs = null; fs = new FileStream(@"d:\" + FileName, FileMode.Create); fs.Write(data, 0, data.Length); fs.Close(); } }
Posted in IT:.NET Programming
Leave a comment
Ubuntu Desktop 更新至 10.10
昨天晚上在住的地方更新 Ubuntu 10.10 Desktop, 花了比預計還要長的時間,用慣了台北的網路,再用 China 的網路真是一整個不習慣,網路直接從 12M 降到了 1M, 平均下載也從 1.2MB/Sec 變成了 120KB/Sec, 再加上不穩定的網速,所以有時候會只有 60K/Sec 左右的速度,所以更新時跑 update-manager -d 下載的時間就佔用不少,中間我煮了晚餐,然後把晚餐給吃完了,下載還沒有完成,結果是連到土豆網去看了幾個短一點的片子,這當然又讓下載速度更慢了,下載更新套件花了一個多小時,最後安裝套件也花了一個多小時 (硬體也不夠力了),所以整體來說,透過網路直接更新,還不如下載 ISO 檔進行更新來得快。
今天再來嘗試連回台北,把 Server 也一併更新了吧。
[補充]
後來利用某個週末下午在星巴克喝咖啡泡時間的時候,連回台北進行了更新,一杯熱美式的時間完成了下載與安裝。
Posted in IT: Linux, 其它
5 Comments
SQL Server Login ID Backup/Restore
因為要作 SQL Server 的 Downgrade, 所以有了這個需求,原先建立的一些帳號都已經不記得了,但是使用這些 Login 帳號的程式還是繼續在使用中,在 Downgrade 之後也必需要保留這些帳號才行。
微軟的 KB 裡面有這麼一篇: http://support.microsoft.com/kb/918992/ 剛好可以用到,不過後來實作的時候發現我的是 SQL 2000 而不是 2005 or 2008 的版本,所以這篇的 Procedure 還要稍微改一下,搭配上這一篇: http://blog.sqlauthority.com/2007/02/15/sql-server-fix-error-15023-user-already-exists-in-current-database/ 就能夠在 SQL 2000 上面使用了,一樣是跑這個 Stored Procedure, 然後會給出建立 Login 的 Script, 不過不會包含 sa 帳號就是了,所以一定要有 sa 的密碼才行,不然就得改使用了 sa 帳號的所有程式了。另外,記得不要先建立其他的帳號,先跑完 Script 建立,否則 SID 可能會一樣,那就會導致建立不成功了。
Backup DB, Deattach DB, Uninstall Enterprise edition, Install Standard edition, Attach DB, Create Login Account 這樣下來也花了不少的時間,所以停機時間不會太短,下次有類似需求要注意評估機器下線的時間。
這一次的教訓是:
- 安裝最小的適用版本,不要什麼 OS 都是 Enterprise Edition, 什麼 Service 都要最高版本,一些功能用不到的,就直接用標準版就好了,否則要符合 License Audit, 還是有一堆的工作要作。
- 如果可以用 Linux + mySQL 就不要 Windows 2003 + SQL Server, 因為價格真的差很多的,這一次做了幾台 Downgrade, 大概省下 NTD$ 五百多萬的 License Fee。
- 不要使用 sa 或 root 帳號作為系統軟體連接資料庫 設定,務必另外開帳號使用。
Posted in IT: 文章、筆記與紙屑
Leave a comment