只貼 code... (還蠻常用到的技巧)
(function($){ // you can use $ even if jQuery.noConflict()... })(jQuery);
幹壞事是進步最大的原動力
只貼 code... (還蠻常用到的技巧)
(function($){ // you can use $ even if jQuery.noConflict()... })(jQuery);
Amazon Web Services 在 EC2 上推出新的服務:「New Features for Amazon EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch」。
這次推出了三個新服務,第一個是 Elastic Load Balancing,支援 HTTP 與 HTTPS。以前是自己開一台 instance 架設 (像是 HAProxy),現在由 Amazon 直接提供,簡化 Load balancer 的管理問題。(因為大多數的 open source load balancer 並沒有專門接 Amazon EC2 的 instance api,所以會需要自己寫一些程式接,但自己寫的 code quality 不一定穩定...)
第二個服務是 CloudWatch,用以監控 instance 資訊,這個部份有不少 open source solution 可以用,而且產生的資料都還不錯 (也就是「堪用」),所以好處沒有像上面的 load balancing 那麼明顯。
第三個服務是 Auto Scaling,利用 CloudWatch 所取得的資訊,當系統負載達到設定的條件時就加機器,或是在負載降低時減少機器 (像是 web server)。這個功能在很早前就有人做了,像是去年四月 TechCrunch 就有報導過的 open source solution:「Scalr: The Auto-Scaling Open-Source Amazon EC2 Effort」,或是專門靠此賺錢的 RightScale (這項服務對於 RightScale 很傷,由於 Amazon 提供 API,會更容易開發 open source solution...)
補上這些東西後,現在 Amazon Web Services 比較缺的是 cache 的機制... (open source solution 有 memcached,不過跑 memcached 時 cpu resource 實在用不到這麼多,開 15GB RAM instance 還附帶 "8 EC2 Compute Units"...)
用 Google 翻資料,結果三月初的時候有人試著 benchmark,結果還蠻讓人意外:「Performance comparison of Thrift, JSON and Protocol Buffers」。
結論是 JSON 在速度上不會輸給 Protocol Buffers 與 Thrift。討論出來的原因是因為 Protocol Buffers 與 Thrift 的功能比 JSON 多出太多。
不過我應該會用 JSON 寫東西吧,畢竟是個 open standard...
目前看到兩個,一個是 EdgeCast,主要是 static files,像是 s.wordpress.com 與 s2.wordpress.com,效果還可以。
另外一個是 Internap CDN,用在 video 的部份,像是 cdn.videos.wordpress.com。從台灣連過去效果非常差,會選 Internap 應該是因為成本的考量...
portmaster 是一套 FreeBSD 下的套件升級工具,已經用了一陣子... (參考二月時「portmaster」這篇文章)
這次從 portmaster -BDuw
換成 portmaster -BDtuw
了。
隨便舉個例子,以 cs-metaPort 為例,假設這個 port 有三個 dependency packages,分別為 cs-basicSoftware、cs-wwwSoftware、cs-securitySoftware,而這三個 dependency packages 下面又有一卡車的 dependency packages...
使用 portmaster -BDuw cs-metaPort
會先檢查 cs-{basicSoftware,wwwSoftware,securitySoftware} 是否有新版,如果只有 cs-basicSofteare 有新版,才會繼續遞迴下去...
但如果用 portmaster -BDtuw cs-metaPort
,則是一開始會用 all-depends-list
列出所有的 packages 檢查。
可以依照不同的情況使用...
去年六月的時候搞了一個 FFmpeg ports (參考「FFmpeg 的 FreeBSD ports」),但是因為 x264 改 function call,所以那個 SVN 版本不能用了...
大概一個月前試著 checkout ffmpeg 新版下來更新,發現有錯誤訊息,因為當時忙就沒有試著找 bug,剛好這兩天有空,就花了一些時間 trace 問題,發現是沒有定義 __BSD_VISIBLE
的問題造成的,暫時先用 #define __BSD_VISIBLE 1
的方式解掉...
這次的版本是 r18864,把 libavdevice/bktr.c
、libavdevice/oss_audio.c
、libavformat/udp.c
三個檔案最前面加上上面說的 define 就會過了。
晚點有時間再把 port 整理出來,更新 http://wiki.gslin.org/ffmpeg 這邊...
MySQL 5.0 有分 community branch (奇數號,像是 5.0.77) 與 enterprise branch (偶數號,像是 5.0.78),現在兩者合併了:「The quiet end of the community-enterprise split」,bzr log 在這:「Merge community up to enterprise, thus ending the community-server
adventure.」。
之後 MySQL 5.0 就不會分成 Community 版本與 Enterprise 版本,修 bug 的時候也只要注意一個版本就可以了。
Percona 的 Vadim 示範如何用 XtraBackup 產生一份 slave 需要的資料:「Btw xtrabackup is not only backup..」。
方法是用 xtrabackup 將資料以 tar 格式輸出到 stdout,透過 pipe + ssh 直接寫入預定要當 slave 的 server,所以這個方法不用擔心原本的 master server 空間不足的問題。
之前在「WordPress 的 exporter」這篇提到 WordPress 的匯出程式很糟。最後我是直接把用不到的欄位用 preg_replace()
幹掉,避免 XML library 因為語法錯誤而無法匯入。
雖然暫時解決了,不過還是看看目前的進度,發現有計劃要以 XML library 改寫,但是沒人跳下去寫:「make export/import output valid xml and parse xml using simplexml」,這個計畫大概是遙遙無期... XD
歐盟議會以 138:46 的票數否決三振條款:「Amendment 138/46 adopted again. Internet is a fundamental right in Europe.」。
文內提到「使用 Internet」被認定為基本權利之一...