Posted on: Tuesday, October 20th, 2009 at 12:01 pm by Anup Shah
When transforming XML via XSLT, make sure the output setting for indenting is turned off and honoured by your code.
Turning it off will often speed up the transform and save a bit of output size.
Read the full post titled, “XSLT Performance tip: don’t indent output”
Posted in Performance, XSLT | Be the first to comment »
Posted on: Thursday, July 9th, 2009 at 9:34 am by Anup Shah
Some browsers support border-radius for rounded corners. But inner elements may break those corners. Sometimes, applying border-radius to those inner elements can resolve the issue.
Read the full post titled, “CSS: inner elements breaking border-radius”
Posted in CSS, General Web Development | 2 Comments »
Posted on: Tuesday, June 30th, 2009 at 2:16 pm by Anup Shah
There are many good reasons to follow web standards principles, to use CSS-based layout and progressive enhancement but SEO, unfortunately, is not one of them.
Read the full post titled, “Web Standards – a good thing, but won’t help with SEO”
Posted in General Web Development, SEO | 2 Comments »
Posted on: Sunday, February 15th, 2009 at 11:34 pm by Anup Shah
For a few years now, web developers doing CSS-based layouts have used floats or absolute positioning for layout web sites to avoid using non-semantic HTML <table>s.
While doable, extra hoops often have to be jumped through (mostly for IE) and some seemingly simple things can be harder than necessary (like equal height columns).
However, for a simpler solution, CSS-based display:table, display:table-row, display:table-cell etc are all usable today across Firefox 2+, Safari 3+, Opera 9+ and IE8.
Read the full post titled, “Use CSS display:table for Layout”
Posted in CSS, General Web Development | 7 Comments »
Posted on: Saturday, December 6th, 2008 at 3:45 pm by Anup Shah
24 Ways has an excellent article on using Google App Engine as your own Content Delivery Network.
A CDN is a network of servers around the world to serve content from your site from the nearest physical location. All the large sites (Yahoo, Google, Amazon, etc) use them.
After reading the above post, I was also curious to find out how if Google App Engine helps in the following: compression, expires headers and versioning. It looks like it does.
Read the full post titled, “Google App Engine as your own Content Delivery Network”
Posted in Performance | 3 Comments »
Posted on: Wednesday, October 1st, 2008 at 7:53 am by Anup Shah
Jonathan Snook recently posted a really neat background animation technique using jQuery. This was something I was looking for and it seemed like a good candidate for a jQuery plugin.
So, following on from my recent post about turning jQuery code into richer, unit testable plugin code, I thought I’d describe the quick process of doing so here. (It’s worth reading Snook’s post first though!)
Read the full post titled, “Jonathan Snook’s jQuery Background Animation as a Plugin”
Posted in JavaScript | 8 Comments »
Posted on: Sunday, September 28th, 2008 at 9:07 pm by Anup Shah
I find myself increasingly using jQuery as my JavaScript framework of choice.
It’s by-line of “write less, do more” really seems apt.
But sometimes, by writing just that little bit extra, you can do even more.
For example, I often try to do the following:
- Make most jQuery code into reusable plugins
- Use the jQuery plugin development pattern for added flexibility
- Use QUnit to unit test JavaScript
- Combine the two approaches to drive out a richer API for the plugin
By unit testing with QUnit, I find I often need to trigger additional events or add additional code from within the plugin so the test can be meaningful.
But this extra code isn’t only useful for testing, it becomes a useful part of the plugin’s API, improving its functionality and flexibility without sacrificing maintainability and readability of the code.
I’ll try to demonstrate that in this post.
Read the full post titled, “Turn your jQuery code into a richer, unit testable, plugin”
Posted in JavaScript | 23 Comments »
Posted on: Wednesday, May 28th, 2008 at 2:01 pm by Anup Shah
Google just announced their AJAX Library API, where Google will host many major JavaScript frameworks for you, such as jQuery, Prototype, Mootools, Dojo, etc.
This will allow you to write web pages that refer to those scripts rather than copies on your own site, reducing your bandwidth, but also leveraging the infrastructure capabilities of Google, such as their content distributed network (which means users would be served those files from a location much closer to them), properly compressed, minified, cacheable files, etc.
Read the full post titled, “Google to host a number of JavaScript libraries”
Posted in JavaScript, Performance | 3 Comments »
Posted on: Saturday, May 3rd, 2008 at 10:37 pm by Anup Shah
Firefox 3.0 beta 5 on Kubuntu 8.04 renders some text way too big. It turns out to be an issue when using points for your font size units in CSS (although generally relative units should be preferred, anyway!). You can fix this by
- Going to about:config
- Look for the setting called
layout.css.dpi. The default value is -1.
- Change it to 96
The problem appears not to be Firefox, but the GNOME window manager’s settings. However, I don’t know how to change those when running KDE instead of GNOME. Anyone know?
Firebug may also have trouble running so this post has a tip on how to sort that out.
Read the full post titled, “How to fix huge text in Firefox 3 Beta 5 on Kubuntu 8.04”
Posted in Browsers | 2 Comments »
Posted on: Tuesday, April 29th, 2008 at 11:38 pm by Anup Shah
I attended the Accessibility 2.0 conference, held in London on 25th April, 2008.
This post is a summary of some main points from each session, including links to notes from others, as well as slides from presenters.
Read the full post titled, “Accessibility 2.0 Conference”
Posted in Accessibility | 2 Comments »