Now that almost everyone has heard about HTML 5, maybe not all of you know what’s new for us developers.
Lachlan Hunt and James Graham have presented on 2008-05-29 at @media 2008 in London Getting Your Hands Dirty with HTML5.
I really find it a great presentation and a good start if you want to check what’s new with the new HTML/XHTML version.
Lachlan Hunt is also the editor of The Web Developer’s Guide to HTML 5. Any suggestions can be added to the wiki.
We are all welcome to contribute, so let’s get our hands dirty!
Last week I changed my hosting provider from Site5 to NearlyFreeSpeech.NET.
Despite the fact that the first one is faster than the second, NFSN is a lot more cheaper (I only pay what I really use).
So in order to speed up my site and save bandwidth (the more I use the more I pay) I use .htaccess file to gzip my text based files and optimize cache HTTP headers.
Although this site is powered by Wordpress which has some really great plugins to optimize PHP output I wanted a more generic solution which can be applied to all PHP web applications.
I also try to follow as much as I can the rules for high performance web sites so don’t be surprised if some Expires header seems too long (far future Expires header rule requires at least 172801 seconds).
Read the rest of this entry »
I’ve got a lot of feedback after my article Exactly what is Alfresco?. The questions I’ve received often was where to find more info about WCM with Alfresco.
You can Download Alfresco Web Content Management 2.1 under Download Alfresco Community Network. There you can find Alfresco 2.1 Web Content Management Product Evaluation Guide which is a very complete guide about the WCM module.
Hope this helps.
Alongside with the IE6/IE7 Application Compatibility VPC Images (VPC Hard Disk Image for testing websites on IE on Windows XP SP2), Microsoft now provides an IE8 version.
This is a great way to test your web applications since the IE8 Beta1 installation overwrites the previous IEs present in your system.
I’m really impressed about Microsoft responding to their customers and to the community.
Microsoft Expands Support for Web Standards
Company outlines new approach to make standards-based rendering the default mode in Internet Explorer 8, will work with Web designers and content developers to help with standards behavior transition.
Microsoft’s Interoperability Principles and IE8
We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously.
Microsoft recently published a set of Interoperability Principles. Thinking about IE8’s behavior with these principles in mind, interpreting web content in the most standards compliant way possible is a better thing to do.
That’s awesome. An unified industry can move forward.
Microsoft has created Code Gallery.
Code Gallery is a place for projects sharing, created to demonstrate .NET key features with a primary focus on C#.
Inspired by the Spring with Stripes integration I made a new one named EJB3 with Stripes.
This extension allows you to inject your EJB beans into your Action beans.
Please fell free to use it, and to visit the Stripes and EJB3 project at Google Code.
For those who are tired of the JSCalendar available skins, check my JSCalendar white theme.
Preview:

Demo: JSCalendar white theme
In my current web project I was having some performance issues, I needed a tool that allowed me to do some testing so I can see what’s wrong and what I can do better so my application perform faster.
My search lead me to High Performance Web Sites and YSlow, a very good talk by Steve Souders the Chief Performance Yahoo! at Yahoo!
YSlow is an easy-for-use plugin that allows you to inspect any web page just clicking a button.
YSlow analyzes web pages and tells you why they’re slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool. YSlow gives you:
- Performance report card
- HTTP/HTML summary
- List of components in the page
- Tools including JSLint
A good way to reduce the number of Http Connections required to load a web page is to store images and other resources in the browser cache.
Expires is a HTTP header that allows you to define when a resource (image, css, javascript, …) will need to be reloaded. It is a String representation of a Date in the format EEE, dd MMM yyyy HH:mm:ss z.
Cache-Control response headers give Web publishers more control over their content and address the limitations of Expires.
To correctly produce these headers I implemented a Java cache filter.
Using the cache filter is very simple. Grab it here and configure your web.xml, here’s an example:
<filter>
<filter-name>imagesCache</filter-name>
<filter-class>com.samaxes.cachefilter.presentation.CacheFilter</filter-class>
<init-param>
<param-name>privacy</param-name>
<param-value>public</param-value>
</init-param>
<init-param>
<param-name>expirationTime</param-name>
<param-value>2592000</param-value><!-- 30 days -->
</init-param>
</filter>
<filter>
<filter-name>cssCache</filter-name>
<filter-class>com.samaxes.cachefilter.presentation.CacheFilter</filter-class>
<init-param>
<param-name>privacy</param-name>
<param-value>public</param-value>
</init-param>
<init-param>
<param-name>expirationTime</param-name>
<param-value>604800</param-value><!-- 7 days -->
</init-param>
</filter>
<filter>
<filter-name>javascriptCache</filter-name>
<filter-class>com.samaxes.cachefilter.presentation.CacheFilter</filter-class>
<init-param>
<param-name>privacy</param-name>
<param-value>private</param-value>
</init-param>
<init-param>
<param-name>expirationTime</param-name>
<param-value>172801</param-value><!-- 48 hours + 1 second -->
</init-param>
</filter>
<filter-mapping>
<filter-name>imagesCache</filter-name>
<url-pattern>*.png</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>imagesCache</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>imagesCache</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>cssCache</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>javascriptCache</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping> |
Note: YSlow far future Expires header magical number is 172801 seconds (48 hours + 1 second).
You probably have already heard about Yousif Al Saif’s Multiple IE installer which makes possible to run Internet Explorer 6 in standalone mode. The problem is that Multiple IE doesn’t work on Microsoft Vista (still you can use an Internet Explorer Application Compatibility VPC Image).
Hopefully Yousif Al Saif is making progresses in getting Internet Explorer 6 run natively under Windows Vista.
More news to come…