VirtualBox - Spawning Session 解法
Sep
在安裝完一次的 Kernel 更新之後,VirtualBox 就出現問題了,啟動虛擬機的時候會跑一個視窗,上面寫著 Spamning Session 然後一直卡在進度 0 % 沒有動作,如果用舊版的 Kernel 就可以正常執行,試著找了一下,在官網也沒有找到什麼解答:
http://forums.virtualbox.org/viewtopic.php?p=37897&sid=da7c0a20c648e320c82afb45d58678a5
然後嘗試想用命令啟動 (覺得是 Management UI 的問題),發現這麼一段錯誤訊息:
james@wino:/usr/bin$ VBox
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (2.6.27-4-generic) or it failed to
load. Please recompile the kernel module and install it bysudo /etc/init.d/vboxdrv setup
You will not be able to start VMs until this problem is fixed.
Unknown application - VBox
原來是因為 Kernel Module 的版本不對了,所以才出現狀況的,按著上面的指令重新編譯一次 Kernel Module,就可以了…
VirtualBox 2.0.2 可支援 VirtualPC 的 vhd 格式
Sep
不小心在 V2.0 出來的時候就更新了 (XP 跟 Linux 環境都一起),然後發現不太穩,沒幾天果然 V2.0.2 就出現了。我發現很多報導都是著重在 ChangeLog 中的 x64 架構支援上面,不過對於我這種還有在跑 VirtualPC 的人來說,VHD 檔案格式的支援才是最大的禮物呀,畢竟先前有太多的 VM 都是作成了 VHD 格式,而且很多下載的 LAB 也都是 VHD 的格式。
* 支持 VHD 磁盤映像
這解決了我有時會切回 VirtualPC 的情況。
[Ubuntu] TrackPoint 在 x.org 的解法
Sep
從這邊 http://ubuntuforums.org/showpost.php?p=127713&postcount=4 看到的, 完全不用動到驅動程式的部分, 只要改一下 xorg.conf 就可以了, 我是加了倒數四行, 中鍵捲軸就有作用了:
Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
Option “Device” “/dev/input/mice”
Option “Protocol” “ImPS/2″
Option “Emulate3Buttons” “true”
Option “ZAxisMapping” “4 5″
Option “EmulateWheel” “true” < == add this line
Option “EmulateWheelButton” “2″ <== add this line
EndSection
[.NET] 修改 Form 驗證的 Session Timeout 值
Aug
原因是使用者登入後操作了一陣子,然後去作別的事 (倒水、泡茶、喀瓜子還是聊八卦),過了一段時間後回來再點系統的任何一頁,會再次出現登入視窗,試了在 Global.asax 加上 Session.Timeout 值為 1440 (一天) 沒有用處,Login.aspx 的程式裡也沒有設定其它的 Session Timeout 值,用 Cookie Viewer 查看系統在 Login 後送出來的 Cookie,發現餅干的過期時間還是 30 分鐘 (等於是 Global.asax 中設的無效),最後找到是在 Web.Config 裡的 authentication tag 可以設定 Form 驗證的 Session Timeout 值,範例如下:
- <authentication mode="Forms">
<forms loginUrl="login.aspx" protection="All" timeout="1440" slidingExpiration="true" />
</authentication>
改完再測試餅干的過期時間,變成一天了,收工~
[Note] Reference - Workflow Engine Related
Aug
Workflow Patterns
http://www.workflowpatterns.com/
http://www.tibco.com/ (Staffware)
http://www-306.ibm.com/software/integration/wmqwf/ (WebSphere MQ)
http://www.oracle.com/technology/bpel (Oracle BPEL PM)
http://www.jboss.com/products/jbpm (jBPM)
http://www.openwfe.org/ (OpenWFE)
http://shark.enhydra.org/ (Enhydra Shark)
http://www.infoq.com/news/2008/08/oswf
記憶體回收 (EmptyWorkingSet)
Aug
在 LifeHacker 上看到一個叫作 Minimem 的工具,主要是用來清除系統中不用的記憶體,可以設定幾秒執行一次,也可以設定針對哪一些使用記憶體量比較大的程式進行記憶體回收的動作。下載來稍微玩了一下,發現有點用處,類似的程式有 Freemem 之類的,以前一直想瞭解這些程式的運作原理,剛好 Minimem 是 .NET Framework 3.5 的程式,所以就可以拿它來 "解剖" 一下,看看實際的工作原理是甚麼。
用 Reflector 看了一下,主要是呼叫一個叫作 EmptyWorkingSet 的 Method 來進行,而它僅是一個 Interface,調用 psapi.dll 裡的 EmptyWorkingSet 這個 Method。
[DllImport("psapi.dll")]
private static extern int EmptyWorkingSet(IntPtr hwProc);
再 Google 一下 "EmptyWorkingSet",發現它就是利用 Windows 提供的 API 來進行記憶體回收,僅此而已,沒有其他令人驚豔的程式碼與功能,原來這僅僅是一個系統 API 而已呀。先前以為記憶體回收是一個怎麼樣困難的技術,現在發現原來困難的技術已經被包成系統 API ("某些"系統,就是需要這些 API),很多的工具都可以利用呼叫這個 API 來達到回收效果,下回自己寫的程式吃太多記憶體的話,可以試一下寫一個會自我回收記憶體的程式。
[Reference]
http://msdn.microsoft.com/en-us/library/ms682606.aspx
http://www.google.com.hk/codesearch?q=EmptyWorkingSet&ie=UTF-8&oe=utf-8&rls=org.mozilla:zh-TW:official&client=firefox&um=1&sa=X&oi=codesearch_group&resnum=4&ct=title
至於 Minimem 嘛,仍有它的功能在,作為一個設定固定時間、針對 Process 記憶體使用量執行的介面程式,不過我還是覺得它應該要寫成 Windows 的 Service 比較好。
[Update 2008-09-24]
出差在飯店晚上無聊的時候弄了一個 Service 的版本,暫時叫作 More Memory V1.0,可以在下面的連結下載:
http://groups.google.com/group/Autorun-DIY/web/MoreMem100.zip?hl=zh-TW
安裝很簡單,就是建一個目錄,把檔案都放進去,然後跑一下 Install.bat,接著到[控制台][系統管理工具][服務] 裡頭就可以看到 FETAG - More Memory Service 把它設為 "啟動" 就可以了。要移除的話就執行 UnUnstall.bat 即可。
SUCleaner V0.3 Released
Aug
早上作了一點小更新,主要是在執行的時候發現新版的 ThinkVantage System Update 在解壓安裝包後把 Session 目錄下的檔案都設定成唯讀屬性,導致無法正常清除 Session。所以這次改版的內容主要就是針對在刪檔前先變更檔案屬性,在自己的 LAB 機上試過已經可以正常刪除掉不需要的 Session files。寫這種小程式的最大問題就在於你所支持的那套程式如果有任何的變更影響,你都要跟著修正,而原來的廠商在修改他們的程式後,原則上也不會主動通知你,所以就會造成程式無法使用的情況。
另外在執行狀態的部分也作了一點小改變,讓執行畫面可以更簡潔一點。請服用~
相容於 UNIX 的 sendmail.exe
Aug
主要是要將 Perl 在 Windows + IIS 上架起來,剛好原來廠商寫的程式裡有用到 sendmail,且原來的主機是 UNIX Like,改到 Windows 後 Sendmail 不作用,所以找了一下資料,發現有幾個 Sendmail for Windows 的,都跟 UNIX 上的 Sendmail 的操作方式不同,得改程式才能相容,有一個 Microsoft Port 的 sendmail 則是 sendmail.cf 不知道怎麼設定而放棄,後來看到有人說 XAMPP 中有一個相容的版本,於是為了幾百 K 的小程式,抓下 XAMPP (Lite) 的 50MB 版本,把裡頭的 sendmail 目錄整個弄下來,將原來的 /usr/bin/sendmail -t 改成 c:\sendmail\sendmail.exe -t 測試後成功,搞定收工。
在砍 XAMPP 前把其 sendmail 備了一份到 c:\tools 中,以備不時之需。
Keyword: sendmail.exe, perl, sendmail.cf, drivers\hosts\sendmail.cf, sendmail for win32
請將你的筆尖離開我的螢幕
Jul
這個問題挺嚴重的,從上上上台筆記型電腦的螢幕受傷開始,我就覺得自己有一點筆尖恐懼了,每每看到有人用筆尖對著螢幕指指點點,就立刻會想喝阻。那天凌晨在 Open 將的總部調整交付的程式時有人用原子筆的筆尖在那台 COMPAQ NB 上點了一下,當時不以為意 (以為很容易擦掉),過幾天才發現擦掉顏色之後在螢幕上有一個小小的刮痕,當然不可能為了那個小刮痕就換掉整塊面板,不過也因此那個刮痕跟著那台筆電又跟了我一段時間,每次在寫程式還是逛網頁,看到那個刮痕就想去摳摳它 (極不習慣在螢幕上有髒點)。
後來換了台 HP 的筆電,在一次會議上有人又不小心去點到... 今天在跟同事討論程式,看著他的筆尖在螢幕上輕輕點了兩下,嘩~~ 趕緊提醒他,不要用筆尖點螢幕。液晶螢幕是很脆弱的,提醒大家,以後在跟我討論畫面的時候,請遠離螢幕五公分以上!!!因為基本上我連手汗都不想要沾到螢幕上... 感謝配合!
PS. 這片面板是我五月底回台北時才到 Lenovo 換的,原因是原來那片面板有不明白斑 數點,四十五度角特別明顯,保內,免費更換,一小時完工。
yum 更新覆寫 /etc/named.conf
Jul
因為太信任 yum 的更新機制,不曉得是在七月第二週還是第三週的例行性更新中包含了 BIND 的更新,也就是最近吵得很兇的那個弱點的更新,因為更新完沒有檢查所有相關的服務,導致過了一兩週才發現這個問題,更新時 yum 自動的把 /etc/named.conf 給覆寫了,導致所有依賴在這台機器的 Domain name 全部失效,不是 Server 掛掉了,而是更新造成的問題。也許是因為這個漏洞太過緊急,所以 RedHat 沒有很多的時間把這個 RPM 包好,CentOS 接著當然就是繼承了這個問題 (只改 LOGO),然後我再繼承這個問題 (只更新不驗證... Yes, My fault!),相信有很多粗心的 CentOS Administrator 跟我一樣,如果你也更新過 BIND,並且也沒有經過驗證程序,現在看到這一篇後,應該趕快檢查一下你的服務是否正常。





