John Resig (jQuery 的發起人以及現任的主要維護者) 在 Google 談如何建立一個 JavaScript Library:Building a JavaScript Library,包含影片及投影片。
其實都是在講 jQuery 的作法,不過對於已經在使用 jQuery,或是打算要使用 jQuery 的人相當值得看完,對於之後使用 jQuery 有相當棒的幫助。
PS:另外一個很好用的 reference site 是 Visual jQuery。
幹壞事是進步最大的原動力
John Resig (jQuery 的發起人以及現任的主要維護者) 在 Google 談如何建立一個 JavaScript Library:Building a JavaScript Library,包含影片及投影片。
其實都是在講 jQuery 的作法,不過對於已經在使用 jQuery,或是打算要使用 jQuery 的人相當值得看完,對於之後使用 jQuery 有相當棒的幫助。
PS:另外一個很好用的 reference site 是 Visual jQuery。
在 YUI Blog 上看到用 YUI 做出 Web 版的接龍:Implementation Focus: World of Solitaire by Robert Schultz,遊戲的站台在這:World of Solitaire。
拿來打發時間相當棒 :p
Update:更完整的解釋出來了:The Microsoft connection clarified。
前幾天的 Skype 大當機事件造成許多使用 Skype 的用戶抱怨,結果在 Skype 的 Blog 上說明了這次當機的原因:What happened on August 16。
Skype 使用 P2P 架構維持整個系統的穩定性。依照 Skype 官方的說法,因為前幾天的 Windows Update 造成許多電腦強制重新開機 (說到這個,Microsoft 似乎可以無視設定值強制重新開機),而使得系統不穩定。在理想的情況下,Skype 應該會迅速自我復原,但因為 Skype 演算法的臭蟲,造成系統幾乎停擺兩天。
至於信不信,就看個人了... (以前 Windows Update 也強制重開過很多次)
前陣子才從蔡依林姊姊那邊看到 Remove It Permanently (不過我沒有用,因為要自己設定太麻煩了),結果這幾天就發現 Adblock Plus 可以擋頁面元素,而且 EasyList (某個可以訂閱的 Adblock Plus 清單) 這陣子也開始用這個方式列清單了...
這是 Y! TW 的首頁,被清的乾乾淨淨的,看起來真愉快啊 XD:
這是某大站:
這陣子因為 Microsoft 決定將 Microsoft Permissive License 送交 Open Source Initiative 審查而又引起風波。(Slashdot 這篇:Microsoft's New Permissive License Meets Opposition)
Microsoft Permissive License 相當開放而且自由,同時條款又相當的簡單。這個 license 要做的事情差不多就是 BSD license + 專利授權條款,也就是這段所提到的:
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
相較於 GPL 3.0 自以為自由的條款來說,這份授權條款對我比較有吸引力。
自從 bsnmpd 進 base 後,在 FreeBSD 上要做流量統計所需要做的事情愈來愈簡單了。
首先是修改 /etc/rc.conf
,開機時會自動跑 bsnmpd:
bsnmpd_enable="YES"
第一次啟動時可以手動跑:
# /etc/rc.d/bsnmpd start
然後裝 net-mgmt/mrtg:
# cd /usr/ports/net-mgmt/mrtg
# make install clean
裝完後跑 cfgmaker
產生檔案:
# cfgmaker public@127.0.0.1 > mrtg.cfg
然後修改 mrtg.cfg
內的 WorkDir,最後產生 index.html:
# indexmaker mrtg.cfg > index.html
然後將 mrtg 指令放到 crontab 裡跑就可以了。
Sourcefire 買下 ClamAV:Sourcefire acquires ClamAV,在雙方的官方網站上都公佈了。
ClamAV 蠻好用的,有很多人 (以及公司) 利用 ClamAV 的 engine 寫了不少軟體 (像是 ClamWin),如果依照 Snort 的模式 (Snort 目前是 Sourcefire 的 Open Source 產品之一) 就沒什麼問題。
在 Slashdot 看到有廠商想到其他方式來管理數位版權的問題:Watermarking to Replace DRM?,原文在 CNET 的網站:Watermarking to replace DRM?。
DRM 希望做到的是「事前防範」複製的行為,但這是從理論基礎上就已經知道不可行。而浮水印做到的是「事後追查」的能力,在理論基礎上「可行」,但以目前的技術來說... 有陣子沒碰這塊資訊了,不清楚。看起來微軟是打算跟業者合作提供服務,對每個不同的使用者將音樂加浮水印後送出去,而不公開浮水印本身的演算法。
最近有一台有十二顆硬碟的機器要上,想說來測試 FreeBSD 7.0 上的 ZFS,結果發現 ZFS 解決的問題有限... 不過對於軟體解決方案來說,是一個很大的進步 :p
ZFS 提供的 RAIDZ 有三種保護方式,第一種是 MIRROR,類似 RAID1 的方式,相同的資料會丟到兩顆上;第二種是 RAIDZ1,與 RAID5 類似的方式 (XOR),擁有一顆硬碟故障的容錯能力;最後則是 RAIDZ2,與 RAID6 類似的方式 (Reed-Solomon),擁有兩顆硬碟故障的容錯能力。這些都因為理論限制而沒有辦法新增硬碟。其中 RAIDZ2 (RAID6) 是目前 FreeBSD 的 gvinum 還沒有提供的功能,這是 ZFS 所帶來的第一個進展。
ZFS 所提供的「擴充性」是以相同的 virtual device 為單位,假設以三顆硬碟完成 RAIDZ1 成為一個 virtual device 後,你可以塞進一個 pool 裡面,而且是不斷的塞:
# zpool create raidz1 mypool ad4 ad6 ad8
# zpool add raidz1 mypool ad10 ad12 ad14
當你用 zpool create raidz1 建立 pool 後,就決定了你後面 zpool add 一定要用「raidz1」、「三顆硬碟」當作增加的單位 (大小倒是沒差),不然會出現:
mismatched replication level: pool uses 3-way raidz and new vdev uses 4-way raidz
或是:
mismatched replication level: pool uses 1 device parity and new vdev uses 2
看起來很像 concat,但比起傳統的 concat,新增的 pool 可以馬上分擔寫入的負荷。而且對於要大不大的企業用戶來說,每次固定增加四顆或八顆硬碟 (一張 SATA 外接卡可接的量) 比起資料搬移的停機容易接受。
再更大的話也許還是用 NetApp 之類的方案吧 :p