Andy Edinborough

Can't touch this

CSS Stress Testing and Performance Profiling

Posted on April 14, 2011 in Code    Tagged css test stress performance profiling Tweet This

I present you with the CSS Stress Test bookmarklet.


Now let me explain: I have been losing my sanity over the oddest issue.  The project I’m working on right now has a fairly complex stylesheet.  Performance for the site is absolutely critical.  I’ve done my best to squeeze and optimize every line I can.  In all browsers, it runs like a champion.  Except IE9.  It runs terribly in IE9.  To make matters worse, it runs fine in IE8, IE7, and though it’s mangled, it even runs in IE6!


Something specific to IE9 was causing a serious performance glitch.  I realized fairly quickly that CSS was to blame.  Disabling JavaScript had no effect, but disabling all CSS instantly fixed performance.  I went through the usual suspects: filters, and various new CSS3 properties, but nothing seemed to help.  So I reached out to the community looking for something that could profile my… Read More →

Custom .NET Remoting – Easier Than You Think

Posted on April 1, 2010 in Code    Tagged remoting c# Tweet This

The idea of implementing remoting will give most programmers instant heartburn.  Granted, I’m not an expert on all the existing remoting solutions, but I haven’t found one that works intuitively.

All the different solutions I’ve seen require just about double the code.  You write a method once, then write a wrapper for the method to implement remoting. 

Furthermore, they often require special handling to make sure the contextual variables are maintained.  For example, when I was working with CSLA recently, I was appalled to see:

customer = customer.Save();

The Save() method executes remotely, so the customer object that comes back has a separate memory reference.  Surely, we can get around this. 

So I set out to write my own.  I had 4 main goals.  I wanted to be able to:

// Remote any method with no code changes to the business object
Remoting.Execute(customer.Save);

// Executes remotely, and updates the object… Read More →

Getting Started with Yahoo and OAuth

Posted on January 29, 2010 in Code    Tagged c# oauth yql yahoo Tweet This

Yahoo doesn’t offer much help to .NET/C# developers when it comes to getting started with using their API’s and OAuth.  So I’ve put together a quick-hit starter pack.

  1. Yahoo! YQL Console
    This is fun for all ages!  I just get all giggly when I see all that Yahoo has made available through YQL (Yahoo Query Language).  You can use this tool to perfect your queries and figure out just what you want to accomplish.  As a supplement, you can check out the PDF Documentation as well as the online version.
  2. My Projects @ Yahoo Developer Network
    Once you’ve got your base application logic in place, you can request the keys you’ll need to communication with Yahoo using OAuth.  This will let you take advantage of the higher usage limit of 100,000 requests / day and 10,000 requests / hour.
  3. Simple C# OAuth Code
    Unfortunately, the C# OAuth libraries listed… Read More →

Mosso's URL Rewriting Rules Are Wrong!

Posted on June 1, 2009 in Tech Watch    Tagged Mosso IIS ASP.NET PHP Apache Tweet This

Mosso has been in the game of hosting for quite a while now and have become quite popular.  I was amazed to learn when we began migrating one of our projects to them that their URL rewritting rules are incorrect.

In case you didn't know, Mosso provides a platform that supports both ASP.NET and PHP.  ASP.NET requests are sent to an IIS server, and PHP requests are sent to a Linux Apache server--cool idea.  Obviously you have to select a default technology to handle your own URL rewriting scheme, so that pages that don't exist are sent to the proper server. So, ...

     /this-does-not-exist/      --> Your Default Technology
     /this-does-not-exist.aspx  --> Windows IIS / ASP.NET
     /this-does-not-exist.php   --> Linux Apache / PHP

They handle query-strings properly so ...

     /this-does-not-exist.aspx?p=test.php   --> Windows IIS / ASP.NET
     /this-does-not-exist.php?p=test.aspx   --> Linux Apache / PHP

The rub comes in with the way… Read More →

© 2013 Andy Edinborough. All your rights are belong to me.