Tweaking our Nancy unit tests to run in 5 minutes instead of 40

Our product has over 4300 tests. The server side UI tests are around 1500 in total but was causing the full test run to take 20 minutes. Recently adding only a handful of tests increased the total test run time to over 40 minutes. It turns out the useful Browser testing component from the Nancy framework was expensive to create for each of our 1500 server side UI unit tests. Changing our Browser and bootstrapper configuration to run once per suite rather than once per test, resulted in our total test time being reduced to just over 5 minutes! That saving was worth the trade-offs we had to make. Continue reading

Google App Engine as your own Content Delivery Network

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. Continue reading

Google to host a number of JavaScript libraries

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. Continue reading