2008 年的最後一天,每個人都等著下班下課,夜晚的到來,以各種可以讓血壓升高,心情暫時 high 到最高點的方式 – 跨年。我一早也是這麼想到,一直到有件事打斷了我 – drakeguan.org 被不預警地關閉了,連帶的,寄宿籬下的 afwish.com 也遭秧了。
關站原因,乃之於這個小站有不正常的 mysql 存取,以致於 mysql server hang 住數十至數百秒,嚴重影響到同為這台機器下的其它使用者,Bluehost 在基於公平原則的前提下,先行把我的網站停掉。接著我與他們的技術部門(或客服部門?)來往了數封信件,一一解決與找出“可能“的問題。就在今天從礁溪回來的深夜,小站回來了。
其實,我乃舊不確定究竟是發生了什麼問題,導致這個以 Drupal 架設的小站,會產生一個數百秒的 mysql_query php call,實在很詭異。但為了取得 Bluehost 的信任,我老實地指出我還不確定原因,但還是做了如下的幾件事:
網站進入「維護模式」,只有 admin 可以存取。 整頓 mysql 資料庫,清掉 accesslog, watchdog 這兩個 in use 的 table,我猜想和 statistics 這個模組有關,所以一併先行拿掉了,反正有 google analytics。 就整個 database 做一次 optimize,清掉不必要的資訊。 使用 Mollom 來取代掉 Akismet/Captcha。 提出我會每天上去 server 注意 cpu_exceeded_log 與 mysql_slow_queries 這兩個 log,觀察期一週。 事後我想想,Bluehost 的處理方式很好,也很聰明,並沒有讓我跳腳(還是說,我已經胖到跳不起來了?)。也讓我這個 web administrator 會很積極地關心網站的資源使用情況。就如同他們說的「If everyone on the server keeps up with this maintenance, everyone’s account runs smoother.
Sometimes you need to delete unknown nodes in a Maya scene. You can do it in the following python snippet.
from pymel import * def deleteUnknownNodes(): # 2 things to take care of: # 1) you can't delete nodes from references. # 2) "delete" will delete all children nodes (hierarchy) in default. unknown = ls(type="unknown") unknown = filter(lambda node: not node.isReferenced(), unknown) for node in unknown: if not objExists(node): continue delete(node) Compare it to the MEL way:
slimcmd "plt0 SelectAppearances {func0 func1 func2}" this might failed….!!! use the following.
slimcmd plt0 SelectAppearances "{func0 func1 func2}"
Given that, you might try increasing the amount of time that alfserver waits before escalating to SIGKILL. One second is a long time for a process to be unresponsive. Try small increments, for example, in alfserver.ini change this line:
SetPref timerAlfserverSignalEscalation 3
Also, the log indicates that you are running the server as root, which would be ok if you were causing the actually-launched apps to run as a different user.
Just for fun.
大約三週之前,開發 Nuke 的 The Foundry,由 CEO, Bill Collis, 偕同技術人員 Matt Plec 與兩位美麗的華裔女士來台,參與了 SIGGRAPH 2008 Taipei Chapter 的活動,會後立即趕來太極,面對太極的幾位 compositors,給了一個更加深入一點的 talk + demonstration。
Matte 就 Nuke 與 Ocula 做了不少的 demo,像是 3D scene/model/camera importing by FBX、multi-channel manipulation、customized gizmo、stereoscopic vector viewing by Ocula、stereoscopic offset、stereoscopic filein handling…其中我最感興趣的,是 Nuke 的可程式化能力。
Nuke 5 發佈的特色之一是對 Python scripting 的支援。根據我 k 了文件後的了解,幾乎所有在 Nuke 裏頭的操作,都可以使用 Python 來做到,於是乎,有很大的空間可以就「自動化」與「整合其它軟體或服務」做延伸上的開發。我對於這一點感到非常的興奮。相對於 Apple Shake 限制多多的 shake macros 與我們一直無緣拿到手的 Shake SDK,Nuke 對 programmer 實在友善太多了。
我立即寫了個 python script,做了點設定上的調整,在 Nuke 上頭多新增了一個 Digimax 的 menu,然後裏頭有個 Submit To Render Farm 的功能。目的是透過它來產生一個 alfscript 來,然後呼叫 alfred 把 nuke rendering 給送進 render farm。
Drupal Taiwan 2008 MeetUp @ Frog Cafe.
回來的路上,我一直在想「出席的人都非常客氣,既不吵鬧,也不嘻戲,而且還很乖地座在位置上一動也不動地聽著,實在很不可思議吶…」,也許是因為,這是個有點宅又不太宅的活動,而且又是少之又少的台灣 Drupal 活動,大家還不熟吧?
和湘穎的聊天過程中,我們聊到「不景氣的年代,大公司的網站開銷縮編,也因此多了不少的外包,因為既省成本,也省人事,更省去複雜的 C2C 人事往來」。另一位 hanamizuki 也提到「難怪我最近接到比較多的 case,愈不景氣,愈是多 case 呢~」。我個人希望,透過 Drupal Taiwan 的推廣,讓更多人投入,每個人都接到一些 case 練功兼賺點生活費,然後兩三個月就來個 Drupal Party,歡樂一下,挺不賴的。
另一方面,Jimmy 的分享中提到 Acquia Marina 這個佈景主題,抓下來試試看,想說就直接先套上去。快速看了一下,發覺是個沒有啥文件的 theme,一般的 theme 都是這樣,不過因為我太習慣 zen 的完善文件(官上說是 fantasic online document)了,一時覺得不大適應。(PS. 不得不再大力推崇一下 zen,它實在非常優秀,是我目前覺得最棒的)Acquia 花了不少力氣在 theme settings 上頭,於是你可以就每個 content type 給不同的設定。ex, blog 不要秀 author info 與 posting date,但是 forum 只要秀 posting date,然後 page title 也可以自定什麼的,算是挺方便的。
簡言之,它是個你想了解 Drupal 6 的 theme setting 非常好的參考。
關於 i18n,我多少非常非常地希望,有人願意出來和大家聊聊這個,就如同今晚想到的「就公司或一個組織的網站來說,多國語言是個還算挺重要的,有個全面且簡易的作法,對開發者與使用者來說,都是同等重要的」。Cellopoint 的多國語言是透過「直接架設四套 Drupal 而達成的」,非常的取巧,但我仍樂於見到又更一致的作法 :)
Guido van Rossum 於 1991 年創造出 Python 這個 scripting language 時,應該是沒有料想到它的風行全球,更不可能會猜到 3D 軟體產業是多麼的愛戴這個語言:
Maya 在被 Autodesk 併購了後,於 2007 年年初釋出了 8.5 版,支援 Python 的環境。 相傳,原本和 Maya 拼得你死我活的 Softimage (不過現在和 Maya 成了親家了@@ 還真的是世事難料呀~)也早就有了 Python 的 binding。 台灣新聞台的最愛 Poser 軟體,2000 的 4.0 版支援 Python。 特效軟體界的傳說 Houdini(也是目前我知道最貴的軟體之一,不過據說 Massive 更貴 @@)於 2007 年投入 Python 的懷抱。 流體模擬(Fluid & Dynamic Simulation)界的第一把交椅 RealFlow 也在最近發表的 RF4 (?) 新增了對 Python 的支援。 因為與 Peter Jackson 的魔戒合作下問世的 Massive,一樣有提供 Python(不過也一樣是有 TCL)。 趁著被 Apple 收購的 Shake 不會有下一版,然後挾天子以令諸侯(啊,不是,是有 Digital Domain 當靠山)的 Nuke ,在今年(2008)推出 5.