Recent Comments
Archives
- May 2012 (8)
- April 2012 (11)
- March 2012 (10)
- February 2012 (11)
- January 2012 (5)
- December 2011 (13)
- November 2011 (12)
- October 2011 (10)
- September 2011 (7)
- August 2011 (5)
- July 2011 (11)
- June 2011 (21)
- May 2011 (22)
- April 2011 (36)
- March 2011 (43)
- February 2011 (23)
- January 2011 (24)
- December 2010 (34)
- November 2010 (19)
- October 2010 (16)
- September 2010 (15)
- August 2010 (10)
- July 2010 (12)
- June 2010 (3)
- May 2010 (3)
- April 2010 (4)
- March 2010 (8)
- February 2010 (14)
- January 2010 (13)
- December 2009 (16)
- November 2009 (28)
- October 2009 (24)
- September 2009 (12)
- August 2009 (7)
- July 2009 (10)
- June 2009 (11)
- May 2009 (22)
- April 2009 (21)
- March 2009 (18)
- February 2009 (7)
- January 2009 (32)
- December 2008 (19)
- November 2008 (12)
- October 2008 (15)
- September 2008 (14)
- August 2008 (15)
- July 2008 (18)
- June 2008 (20)
- May 2008 (19)
- April 2008 (27)
- March 2008 (22)
- February 2008 (21)
- January 2008 (15)
- December 2007 (22)
- November 2007 (17)
- October 2007 (29)
- September 2007 (31)
- August 2007 (34)
- July 2007 (31)
- June 2007 (36)
- May 2007 (23)
- April 2007 (22)
- March 2007 (30)
- February 2007 (50)
- January 2007 (75)
- December 2006 (48)
- November 2006 (59)
- October 2006 (89)
- September 2006 (29)
- August 2006 (48)
- July 2006 (14)
- June 2006 (35)
- May 2006 (62)
- April 2006 (63)
- March 2006 (72)
- February 2006 (83)
- January 2006 (56)
- December 2005 (46)
- November 2005 (60)
- October 2005 (27)
- September 2005 (54)
- August 2005 (83)
Tags
amazon android api aws bittorrent browser cdn certificate chrome cloud cloudfront cpan database dns ec2 facebook firefox freebsd google hosting html https ie image ipv6 javascript jquery js linux mobile mozilla mysql p2p performance perl php secure security ssl twitter ubuntu video web wordpress yahooCategories
- Anime (25)
- AWS (51)
- BBS (17)
- Blog (201)
- Book (18)
- Bridge (1)
- Browser (283)
- CDN (21)
- Cloud (66)
- CMS (33)
- Comic (17)
- Computer (1980)
- Computer and Network Center (32)
- CSS (31)
- Database (132)
- DNS (50)
- Editor (11)
- Financial (37)
- Firefox (149)
- Food (11)
- FreeBSD (115)
- Game (25)
- GoogleChrome (25)
- Hardware (144)
- IE (64)
- Joke (131)
- Lab (3)
- Linux (72)
- MacOS (4)
- Mail (69)
- Movie (18)
- Murmuring (2056)
- Music (37)
- MySQL (97)
- NCTU (63)
- NetBSD (7)
- Network (1486)
- OpenBSD (3)
- Opera (21)
- OS (205)
- P2P (86)
- Photo (57)
- Political (48)
- Programming (315)
- Recreation (372)
- RSS (65)
- Safari (22)
- Science (28)
- Search Engine (126)
- Security (336)
- SMS (5)
- Social (60)
- Software (1062)
- Spam (86)
- Sport (4)
- Telephone (62)
- Television (35)
- Usenet (13)
- Vim (3)
- Wiki (25)
- Windows (48)
- WWW (782)
Blogroll
Meta
Category Archives: Programming
PHP 5.4 與 php-test-helpers
先給連結,PHP 5.4 可以編的版本在這裡:github.com/gslin/php-test-helpers,clone 下來後的安裝方法是: phpize ./configure make make install 另外自己增加 extensions.ini: extension=test_helpers.so 主要是 PHP 內部的資料結構有變動,本來存取的方式要改掉。發了 pull request 但不知道作者會不會收,如果有需要的人可以自己先裝。 會用到 php-test-helpers 是因為寫 test case 的時候要換掉整個 HttpRequest,而 RunKit 不能換系統的 HttpRequest,所以找了不少 extension 發現 php-test-helpers 可以用。 換法是這樣: set_new_overload(function($name){ if (‘HttpRequest’ == $name) { return … Continue reading
Posted in Computer, Murmuring, Programming, Software Tagged helpers, pecl, php, test Leave a comment
用 Google Analytics 紀錄 JavaScript 錯誤…
「Client-Side Error Logging With Google Analytics」這篇提到可以用 Google Analytics 紀錄 JavaScript 錯誤… 不過這不是即時的紀錄,倒是作者有提到可以交叉比對,當發生 JavaScript 錯誤對於其他參數的影響: Track the impact of client-side errors on other business metrics. With the reporting in Google Analytics you can see how these errors are affecting bounce rate, … Continue reading
Posted in Computer, Murmuring, Network, Programming, WWW Tagged analytics, error, google, javascript Leave a comment
在 FreeBSD 上練習 Objective C…
一樣用 gcc 就可以練習了,首先要先裝 lang/gnustep-base: cd /usr/ports/lang/gnustep-base; sudo make install clean 裝好後 compile 的兩個階段要對 gcc 加上不同的參數: -I/usr/local/GNUstep/System/Library/Headers 以及: -L/usr/local/GNUstep/System/Library/Libraries -lgnustep-base -lobjc 把這些參數整合到 Makefile 裡面就可以練習了。
Posted in Computer, Murmuring, Programming, Software Tagged c, freebsd, gnustep, objective Leave a comment
在 Mac OSX 上安裝 GCC
參考「Xcode, GCC, and Homebrew」這篇文章整理的… 先前是裝上面那篇文章作者所整理的 OSX GCC Installer,但在新的 MBA 上面發現 homebrew 會抱怨 Xcode 版本太舊? 後來還是改裝 Apple 提供的 Command Line Tools for Xcode (需要 Apple ID) 就沒問題了。 Update:在 Twitter 被 bcse 提醒標題不對,因為實際上 gcc 指令被 alias 到 llvm-gcc-4.2,這並不是 GCC (只是相容介面,骨子裡還是 llvm),這篇只是講 Mac … Continue reading
Fabric Engine
Fabric Engine 號稱可以把 JavaScript 與 Python 跑到接近 C++ 速度的實力,而且強調支援 Threading… 投影片裡可以看到底層的技術包括 LLVM。 在 Python 的範例程式可以看到 import 後用專屬的 Handler 包起來:https://github.com/fabric-engine/PublicStable/blob/master/Examples/Python/Tutorial/trivialHTTPServer.py。而 NodeJS 的範例也是類似的架構:https://github.com/fabric-engine/PublicStable/blob/master/Examples/Node/Tutorial/trivialHTTPServer.js。看起來比較像是把常用的 module 寫成 C++ code 而已?這並不是什麼神奇的技術… 另外 license 是 AGPL 3 or later 這個麻煩的 license,再加上使用 GitHub 的方式超怪 (把 stable 版本與 … Continue reading
Posted in Computer, Murmuring, Programming, Software Tagged fabric, javascript, llvm, python Leave a comment
Blind Signature…
最近看到電子投票的事情,想起之前研究所時所學的密碼學… 是否有辦法找出一個合理的密碼系統,可以在密碼學這層解決電子投票要處理的問題: 正確性:一人一票、無法偽造、無法更改。 匿名性:無法得知單一的投票內容。 可驗證性:自己可以驗證自己的投票內容、任何人都可以驗證全體的投票總數。 其他要求:… 有很多人試著去建立這樣的系統 (在「Cryptography – Electronic Voting」這篇可以看到),但目前沒有完美的系統可以做到… 其中 Blind Signature 在這樣的系統內常常被拿出來當工具… 之前沒仔細看懂,週末花了一些時間發現 Blind Signature 還蠻有趣的。 Blind Signature 想要與一般的 signature 一樣,讓對方簽 message m,取回 signature s。但多了一個要求:要在對方不知道 m 的內容情況下達到相同的效果。 在 Wikipedia 上有說明用 RSA 的作法,看懂以後覺得還蠻有趣的…
Posted in Computer, Murmuring, Political, Programming, Security, Social Tagged blind, signature, voting 2 Comments
AWS EC2 (以及使用 EC2 的加值服務) 降價,以及提昇存取 AWS S3 的效能…
AWS 宣佈 EC2 以及使用 EC2 的服務 (包括 RDS 與 ElastiCache) 降價:「New, lower pricing for Amazon EC2, RDS, and ElastiCache」,降價幅度在 Reserved Instances 比較大,但 On Demand Instances 的部份也有降一些。 Amazon.com 的 CTO Werner Vogels 也寫了一篇「Driving Compute Cost Down for AWS Customers」可以看看。 另外在「Amazon S3 … Continue reading
PHP 5.4
PHP 5.4 前幾天正式釋出了:「PHP 5.4.0 released!」,新增與改變了很多東西。 有些蠻值得注意的地方: safe mode 與 magic quote 都消失了,升級後需要重新檢查 php.ini。 array_combine(array(), array()) 不再傳回 FALSE 了,總算是傳回 array()。 可以用 [] 表示 array() 了。 function 傳回 array 後可以直接對 array 取值,也就是 foo()[0] 變合法語法了。 new 完後可以直接 call function 了,也就是 (new Foo)->bar() 變合法語法了。 … Continue reading
Posted in Computer, Murmuring, Programming, Software Tagged performance, php, programming Leave a comment
Chrome 的 webRequest…
在變成標準前又改了一次… 從 Google Chrome 17 後,「Web Requests」從 Experimental API 變成正式的 API,有不少地方在這次轉成正式 API 後需要修改: 本來 chrome.experimental.webRequest 都改成 chrome.webRequest。 需要加上 webRequest permission,如果有 blocking 行為則要再加上 webRequestBlocking permission。 API 呼叫的參數可能會不一樣,參考官方的文件的說明比較清楚。我遇到的是使用 onBeforeRequest.addListener 時需要多加上 urls 參數。 不再需要 expiermental permission,不過沒拿掉不影響運作。 在 Chrome Web Store 上面已經可以看到一些跟控制 Referrer 有關的延伸套件了…
Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Programming, Software, WWW Tagged api, chrome, extension, google, webrequest Leave a comment
Google Chrome Extension 內攔截所有的 url request…
之前寫了一個處理 Referer header 的 extension,使用 chrome.experimental.webRequest.onBeforeSendHeaders.addListener 攔截所有的 url 然後處理 Referer header。 之前只需要在 manifest.json 裡面加上 experimental 就可以使用,但是前陣子發現失效。剛剛在「onBeforeSendHeaders listeners aren’t triggering」這個 issue 裡面找到解法:現在需要多加上 <all_urls> 這組權限。
Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Programming, Software, WWW Tagged chrome, extension, google, referer Leave a comment
