Category Archives: Web - Page 2

A Funny Saiyuki Episode

A Beautiful Assassin is really funny, stupid and romantic Saiyuki episode.

You promised me you’d follow me to the end of the earth.

<a href="http://www.joost.com/37nir0s/t/Saiyuki-Ep-5-A-Beautiful-Assassin">Saiyuki Ep. 5: A Beautiful Assassin</a>

CDN Latency Compared

I compared some puplar commercial CDN’s global latency by using just-ping.

The raw test result you can downloaded from here.

Result Summary:

.

Network

Average

Median

.

Akamai

9.67

2.9

.

Aol CDN

9.22

4

.

Panthercdn

62.36

12.7

.

LimeLight

58.04

13.2

.

Mosso Cloud Files

56.81

13.5

.

Amazon Cloudfront

62.82

18.6

.

Google Homepage

53.53

23.15

.

Cachefly

54.57

28.2

.

Google Ajax Library

54.96

28.5

.

Homemade CDN

76.31

29

.

Yahoo Homepage

82.77

38.4

.

Google App Engine

76.03

42.8

.

US East

130.11

96.9

.

SimpleCDN

142.84

100.8

.

US West

156.32

165.4

Chart:

CDN Latency Comparison

Notes:

  1. Akamai
  2. Aol CDN is served by Akamai
  3. Panther Express
  4. Limelight Networks
  5. Mosso is served by Limelight
  6. Amazon CloudFront Images on this page are served by CloudFront
  7. Google
  8. CacheFly
  9. Google AJAX Libraries
  10. This page is served by my own homemade CDN, you can test speed here
  11. Yahoo
  12. Google App Engine
  13. Single location ip in New Jersey USA listed here for comparison purpose
  14. SimpleCDN
  15. Single location ip in California USA listed here for comparison purpose

Disclamer: I am not affiliated to any company mentioned above. Nor do I endorse the accuracy of these results.

My Google Voice

My grandcentral account is finally ready for Google Voice.

Here is my shiny Google Voice Widget. It will be redirect to voice mail.

Undo email

Google added undo send to their Gmail service.

It reminds me Naruto Please, Mr. Postman! episode. In which Naruto and Jiraiya trying to get back a manuscript from some hardcore postman.

Simple way to disable direcotry index in webserver

This script will disable webserver’s directory index for currect directory and all subdirectories.

IFS=$'n'
for i in $( find . -type d); do
    if [[ ! -f "$i/index.html" && ! -f "$i/index.php" ]]; then
        touch "$i/index.html"
    fi
done

Cloud files uploading script

This is a very simple linux bash script to help uploading files to mosso cloud files.

Mosso uploading script: Mosso.sh
Updates: Here is a Mac OSX Version (provided by Bryan Rehbein)

You will also need curl .

After you sign up mosso cloud files service, first you need to login your mosso cloud files control panel then navigate to Your Account / API Access, where you will generate your API key. Edit the begin of mosso.sh

API_KEY=YOURAPIKEYHERE 
USER=yourusername 
CONTAINER=bucket

Now change to the directory where you want to upload files. e.g. a wordpress installation:

cd /srv/http/wordpress
bash mosso.sh wp-includes/js/jquery
Uploading wp-includes/js/jquery/jquery.table-hotkeys.js .... done.
Uploading wp-includes/js/jquery/interface.js .... done.
Uploading wp-includes/js/jquery/ui.core.js .... done.
Uploading wp-includes/js/jquery/jquery.color.js .... done.
Uploading wp-includes/js/jquery/ui.tabs.js .... done.
Uploading wp-includes/js/jquery/ui.resizable.js .... done.
Uploading wp-includes/js/jquery/jquery.hotkeys.js .... done.
Uploading wp-includes/js/jquery/ui.sortable.js .... done.
Uploading wp-includes/js/jquery/ui.dialog.js .... done.
Uploading wp-includes/js/jquery/jquery.js .... done.
Uploading wp-includes/js/jquery/ui.draggable.js .... done.
Uploading wp-includes/js/jquery/jquery.form.js .... done.
Uploading wp-includes/js/jquery/suggest.js .... done.
Uploading wp-includes/js/jquery/jquery.schedule.js .... done.
HTTP/1.1 202 Accepted
Date: Sat, 14 Mar 2009 00:06:41 GMT
Server: Apache
X-CDN-URI: http://cdn.cloudfiles.mosso.com/c12345
Content-Length: 0
Content-Type: text/plain; charset=UTF-8

Write down the url on the line begn with X-CDN-URI. This is your mosso CDN url. You can also find this url inside your mosso control panel.

If you want to upload entire current directory, you can execute this script without argument.

EC2 new price

Amazone just anounced reserved instance.

The 3 year reserved small instance price at 3.9 cents per hour, which is equalivalent to $28 per month. Not bad for a vps with 1.7GB ram and 160GB hard driver at all. But I have found some even lower priced VPS, $3.95 per month for 512MB ram with 1 year billing.

Plugin updates

I updated 2 of my wordpress plugins.

WordPress plugin Parallel Load

My 3rd WordPress plugins is here.

This plugin will improve javascript loading time by load them in parallel. More info can be found here.

More WordPress Performance Optimization

General WordPress performance info

After all static files to cdn and move javascript out of html header. I also enabled multi CNAME cdn to see whether it increase page loading speed(not enabled in my cdn plugin yet, still testing). Here is the resault,

wordpress-loading

It seems CSS loading will still block css background images even those included in main html header. I also used Varnish to front proxy WordPress, because WordPress becomes extremely slow after move database from MyISAM to InnoDB.

Updates: I found 2 website helping draw water fall chart. Pagetest by AOL and Site-Perf.com.

Updates 2: I partly solved css image not preloading problem by insert an invisible img tag like this,

But this only work in Chrome. IE will not load any image before css loaded.
preloading-img
Look at loading time of autumn.jpg, near 200ms improvement in Chrome.