http://pingv.com/blog/laura/2008/internet-explorer-6-tax
…when you’re spending 35-50% of your theming time just trying to get a cool new design to work on one rather archaic browser, it’s no small matter.
It’s a ≈40% tax on web theming
Posted by mikeg on November 6, 2008
http://pingv.com/blog/laura/2008/internet-explorer-6-tax
…when you’re spending 35-50% of your theming time just trying to get a cool new design to work on one rather archaic browser, it’s no small matter.
It’s a ≈40% tax on web theming
Posted in Development, Web Development | Tagged: ie6 | No Comments »
Posted by mikeg on April 22, 2008
Was working on a project where a client wanted to track users’ physical locations as their register on theirs site. Looked around for possible solutions and found 2 options: hosting ip2location database yourself or access via a web service.
The choice really depends on your needs:
The same vendor (IP2LOCATION) provides both solutions and it looks like they have all the bases covered by providing examples and API across all popular languages. Web Service itself is extremely simple, so integration was absolutely painless.
Prices for web service are rather reasonable as well: $199/year for up to 500 requests/month, $399 gets you 2000 and it goes up from there.
The good news is that you can also get a free license for up to 90 requests per month.
Posted in Development, Web Development | Tagged: ip2location | 1 Comment »
Posted by mikeg on April 22, 2008
A few other useful tidbits about IIS6 and compression:
disable compression:
cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/{sitenumber}/root/DoStaticCompression False
cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/{sitenumber}/root/DoDynamicCompression Falseenable compression:
cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/{sitenumber}/root/DoStaticCompression True
cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/{sitenumber}/root/DoDynamicCompression True
One way to find the {sitenumber} is to search for “header” within metabase. I searched for “staging.reviewbasics.com”. That’s the header binded to the website I am looking for

First, to create a node for the page in the metabase, I right click on the file and go to properties. Make a change of some sort, apply, then change it back.
Then, from the command prompt enter:
“cscript C:\Inetpub\AdminScripts\adsutil.vbs set W3SVC/{siteID}/Root/{subfolder}{page.asp}/DoDynamicCompression False”
Posted in Development, Web Development | Tagged: compression, iis6 | No Comments »
Posted by mikeg on April 21, 2008
See my previous post on setting up compression in IIS6 and reasons why you would want to do this
As I was doing research and thinking about what type of “extensions” I should compress, I considered the following extensions:
Above testing was done on Windows XP using IE7, FF2 and Safari3.1
This is what my IIsCompressionScheme in IIS metabase looks like:
Posted in Development, Web Development | Tagged: compression, iis6 | No Comments »
Posted by mikeg on April 21, 2008
Compression is a very “cheap and easy” way to improve responsiveness of your site. Here is an excerpt from an excellent white paper: High Performance Web Sites: The Importance of Front-End Performance
There are three main reasons why front-end performance is the place to start.
- There is more potential for improvement by focusing on the front-end. Cutting it in half reduces response times by 40% or more, whereas cutting back-end performance in half results in less than a 10% reduction.
- Front-end improvements typically require less time and resources than back-end projects (redesigning application architecture and code, finding and optimizing critical code paths, adding or modifying hardware, distributing databases, etc.).
- Front-end performance tuning has been proven to work. Over fifty teams at Yahoo! have reduced their end-user response times by following our performance best practices, often by 25% or more.
Here is the link to a post that contains PDF and PPT: http://nate.koechley.com/blog/2007/06/12/high-performance-web-sites/, or slideshare link: http://www.slideshare.net/techdude/high-performance-web-sites/
Compression is number 4 out of 14 Rules.
————————————–
Steps below are for enabling compression in IIS6.
I found very good instructions around this subject here: Scott Forsyth’s post, but I am a visual person and decided to add some screenshots to make this process easier when I have to repeat it in the future.
Please refer to Scott’s post for background information about compression and compression in IIS6 specifically.
Steps below are required because IIS6 doesn’t have an easy to use interface, but provides all the necessary functionality through its metabase. You can think of metabase as registry for IIS6. All the settings that you see in IIS Manager and all those that you do not see can be confugred using metabase. The good news is that in IIS6 metabase is an XML file that can be modified with a Notepad. And just like with registry, you have to be very careful when making changes — and definitely BACKUP before starting.
One of many large improvement with IIS 6 is that the metabase isn’t in binary format anymore and can be edited directly using Notepad or any other tools that allows editing an XML file. Personally I prefer to enable Direct Metabase Edit so that I can edit it and the change takes affect immediately. If this isn’t enabled, you will need to stop and start the web services for any changes to take affect. Of course, like editing the windows registry there is always the chance of something going wrong so be careful. Unlike the windows registry though, if you make a mistake and the metabase is saved and doesn’t conform to the proper XML scheme, it won’t take affect, so thanks to the IIS team it’s quite difficult to completely mess up the metabase. To enable this, right-click on the server (top level) in the IIS snap-in. There is a single checkbox that needs to be checked. This part couldn’t get easier.
351,210
text/javascript: 99,693
application/x-javascript: 143,287
text/xml: 649
application/x-shockwave-flash: 50,092
text/x-component: 1,832
text/html: 24,272
~headers: 6,681
text/css: 24,704
223,629
text/javascript: 38,878
application/x-javascript: 108,231
text/xml: 649
application/x-shockwave-flash: 50,092
text/x-component: 3,664
text/html: 7,258
~headers: 7,621
text/css: 7,236
This is ~37% saving. I think that’s pretty impressive for about 30 minutes of work. See my next post for some other interesting and impressive results
Posted in Development, Web Development | Tagged: compression, fiddler, iis6 | 2 Comments »
Posted by mikeg on January 11, 2008
Whenever you release a new version of any application that requires login, you need to test account creation functionality. There are a few possible ways:
This is where Gmail and automatic labels come to to the rescue:
This technique is useful to automatically file emails and can also help you figure out which of the million websites that you signed up for actually sold your email address. It will not help you stop spam, but at least you will know who is responsible for it — sign up to websites using some system like this: mike+websiteName@gmail.com.
Here is help page on this subject from Gmail: http://mail.google.com/support/bin/answer.py?answer=12096&topic=13271
Posted in Development, QA, Testing, Web Development | Tagged: gmail | No Comments »
Posted by mikeg on January 11, 2008
Whenever you release a new version of any application that requires login, you need to test account creation functionality. There are a few possible ways:
This is where Gmail and automatic labels come to to the rescue:
This technique is useful to automatically file emails and can also help you figure out which of the million websites that you signed up for actually sold your email address. It will not help you stop spam, but at least you will know who is responsible for it — sign up to websites using some system like this: mike+websiteName@gmail.com.
Here is help page on this subject from Gmail: http://mail.google.com/support/bin/answer.py?answer=12096&topic=13271
Posted in Development, QA, Testing, Web Development | Tagged: gmail, labels | No Comments »