Biography
Books
|
|
Blog
http://msmvps.com/blogs/omar/Default.aspx
Omar also has an O'Reilly blog.
Fast ASP.NET web page loading by downloading multiple javascripts in batch
May 10 2008
A web page can load a lot faster and feel faster if the javascripts on the page can be loaded after the visible content has been loaded and multiple javascripts can be batched into one download. Browsers download one external script at a time and sometimes pause rendering while a… read moreReduce website download time by heavily compressing PNG and JPEG
April 07 2008
PNG and JPEG are two most popular formats for web graphics. JPEG is used for photographs, screenshots and backgrounds where PNG is used for all other graphics need including cliparts, buttons, headers, footers, borders and so on. As a result, these two types of graphics file usually take up 80%… read moreFast page loading by postponing ASP.NET AJAX scripts after content
April 06 2008
ASP.NET ScriptManager control has a property LoadScriptsBeforeUI, when set to true, should load all AJAX framework scripts after the content of the page. But it does not effectively push down all scripts after the content. Some framework scripts, extender scripts and other scripts registered by Ajax Control Toolkit still load… read moreHTML and IFRAME widget for Dropthings
April 05 2008
I made two new widgets for Dropthings - one is an HTML widget, that allows you to put any HTML content inside a widget and the other one is an IFRAME widget that allows you to host an IFRAME to any URL. You can see example of these widgets from… read moreSilverlight Pagecast - Keep an eye on Silverlight stuffs
April 30 2008
It looks like a lot is happening on the web related to Silverlight. It's pretty difficult to keep track of all the websites, blogs, videos, del.icio.us links that get published every day or so. So, I created a Silverlight Pagecast (www.pageflakes.com/silverlight) to stay on top of everything's related to Silverlight.… read moreLinq to SQL: How to Attach object to a different data context
April 30 2008
After upgrading to Visual Studio 2008 RTM, you will have trouble updating Linq to SQL Classes which are read from one data context and then updated into another data context. You will get this exception during update: System.NotSupportedException: An attempt has been made to Attach or Add an entity that is not new, perhaps… read moreMaking best use of cache for high performance website
April 30 2008
Use URLs consistently Browsers cache content based on the URL. When URL changes, browser fetches a new version from origin server. URL can be changed by changing the query string parameters. For example, â/default.aspxâ is cached on the browser. If you request â/default.aspx?123â it will fetch new content from server.… read moreOn-demand UI loading on AJAX websites
April 30 2008
AJAX websites are all about loading as many features as possible into the browser without having any postback. If you look at the Start Pages like Pageflakes, it's only one single page that gives you all the features of the whole application with zero postback. A quick and dirty approach for doing this is to… read moreSafe COM: Managed Disposable Strongly Typed safe wrapper to late bound COM
April 30 2008
There are several problems using COM from .NET: You cannot implement the Dispose pattern by utilizing the "using" block in order to safely dispose COM references. You cannot guaranty COM references are finalized. There's no way to implement "~Destructor()" for COM references. COM reference is not released when a call… read moreFast, Streaming AJAX proxy - continuously download from cross domain
April 14 2008
Due to browser's prohibition on cross domain XMLHTTP call, all AJAX websites must have server side proxy to fetch content from external domain like Flickr or Digg. From client side javascript code, an XMLHTTP call goes to the server side proxy hosted on the same domain and then the proxy downloads the content from the… read moreReduce website download time by heavily compressing PNG and JPEG
April 09 2008
PNG and JPEG are two most popular formats for web graphics. JPEG is used for photographs, screenshots and backgrounds where PNG is used for all other graphics need including cliparts, buttons, headers, footers, borders and so on. As a result, these two types of graphics file usually take up 80%… read moreFast page loading by moving ASP.NET AJAX scripts after visible content
April 09 2008
ASP.NET ScriptManager control has a property LoadScriptsBeforeUI, when set to false, should load all AJAX framework scripts after the content of the page. But it does not effectively push down all scripts after the content. Some framework scripts, extender scripts and other scripts registered by Ajax Control Toolkit still load… read moreHTML and IFRAME widget for Dropthings
April 09 2008
I made two new widgets for Dropthings - one is an HTML widget, that allows you to put any HTML content inside a widget and the other one is an IFRAME widget that allows you to host an IFRAME to any URL. You can see example of these widgets from… read moreDesktop RSS Feed Aggregator client with Outlook Integration
April 09 2008
Back in 2005, I built an open source RSS Feed Aggregator Desktop client which has been quite popular since its release. It has 48,672 downloads so far. From the activity I see on sourceforge statistics, it's being used about 20,000 times per day. http://rssfeederdotnet.sourceforge.net/ What is RSS Feeder.NET RSS Feeder.NET… read more10 ASP.NET Performance and Scalability Secrets
April 09 2008
ASP.NET 2.0 has many secrets, when revealed, can give you big performance and scalability boost. For instance, there are secret bottlenecks in Membership and Profile provider which can be solved easily to make authentication and authorization faster. Furthermore, ASP.NET Http pipeline can be tweaked to avoid executing unnecessary code that gets hit on each… read more
