14 tips for Website Optimization

April 4, 2009

Some following tips are derived from the book High Performance Web Sites (O’Reilly) by Steve Souders:

  1. Make fewer HTTP requests to reduce object overhead.
  2. Use a content delivery network.
  3. Add an Expires header.
  4. Gzip/compress text components.
  5. Put stylesheets at the top in the head.
  6. Put scripts at the bottom of the body.
  7. Avoid CSS expressions which are CPU-intensive and can be evaluated frequently.
  8. Make JavaScript and CSS files external.
  9. Reduce Domain Name System (DNS) lookups to reduce the overhead of DNS delay by splitting lookups between two to four unique hostnames.
  10. Minify JavaScript.
  11. Avoid redirects which slow performance. It’s better to CNAME or alias.
  12. Remove duplicate scripts to eliminate extra HTTP requests in Internet Explorer.
  13. Configure ETags for sites hosted on multiple servers. FileETag none in Apache removes Etags to avoid improper cache validation.
  14. Make Ajax cacheable and small to avoid unnecessary HTTP requests.

Top PHP Frameworks

April 2, 2009

1. Yii

2. CodeIgniter

3. CakePHP

4. PHPDevShell

5. Akelos

6. Symfony

7. Prado

8. Zend

9. ZooP

10. QPHP

11 . PHP on Track

12. The Zoop Framework

List of Java Web Frameworks

August 22, 2007
  1. Action Framework
  2. AppFuse
  3. Baritus
  4. Barracuda
  5. Bento
  6. Bishop
  7. Cameleon
  8. Canyamo
  9. Cassandra
  10. Chiba
  11. Click
  12. Cocoon
  13. Dinamica
  14. Dovetail
  15. Echo
  16. Expresso
  17. Folium
  18. Genie
  19. GWT
  20. Helma
  21. Jacquard
  22. Jaffa
  23. Japple
  24. JATO
  25. JBanana
  26. Jeenius
  27. JFormular
  28. JPublish
  29. JSF
  30. jStatemachine
  31. Jucas
  32. JWAA
  33. JWarp
  34. jZonic
  35. Macaw
  36. Maverick
  37. Melati
  38. Millstone
  39. MyFaces
  40. Nacho
  41. Niggle
  42. OpenEmcee
  43. OXF
  44. RIFE
  45. Scope
  46. Shocks
  47. Smile
  48. SOFIA
  49. Spring MVC
  50. Stripes
  51. Struts
  52. SWF
  53. Tapestry
  54. TeaServlet
  55. ThineWire
  56. Turbine
  57. Verge
  58. Waffle
  59. Warfare
  60. WebOnSwing
  61. WebWork
  62. wingS
  63. Xoplon

Tips to Avoid Web Form SPAM

June 30, 2007

Web forms are now a routine target of spammers. Whether your web site is a personal one just looking for feedback or a commercial site generating sales leads, getting dozens of entries for link exchanges or online gambling sites isn’t anyone’s idea of useful feedback
It can be really disturbing when you started to getting lots of useless SPAM through the web form on your site. 

Is there something we can do about it?

Luckily, the answer is yes.

I found few interesting articles.

Method 1:

Checking for the value of HTTP_USER_AGENT, if it is empty that means it is not from any browser. 

Method 2:

Simple, but powerful. Having an extra text box but make it invisible using CSS, check if the textbox has any value in your server script. If the text box has a value in it, that means it is not a regular user’s input.

The demo page is here

Disable F1 Key in IE (Internet Explorer)

March 1, 2007

document.onhlep=new Function(“return false”);
window.onhelp=new Function(“return false”);

Open-source database comparison

August 10, 2006

What do you prefer in Open-source  databases? PostgreSQL? MySQL? or something else?

Well, it depends. The answer is based on what you want to cook.   Both are offering so much. What is missing in MySQL is present in PostgreSQL , and vice versa. However the list is not too much.

If the choice is between the MySQL and PostgreSQL, here is a wonderful comparison between PosgreSQL 8.0, MySQL 4.1 and MySQL 5.0 (beta) will help you to make your own decision.

For comprehensive comparison of other open-source databases such as MaxDB, Firebird and Ingres with the above popular ones follow this article.

MySQL official site provides a wizard to compare the server fetaures of the existing databases using their tool called crash-me.

Python Podcast

July 30, 2006

Python411 Podcast has Series of Pocasts covering various part of Python development as well as some interesting news about Python.