32 Hours Recharge Cocktail

For the people who spend more than 24 hours with no sleep ( not recommended ), I’ve discovered the magic of baring with the sleepy eyes, I tried working from a cafe instead from home trying to prevent expected fall to bed, and the waiter suggested a weird cocktail that will have me recharged right away, this is more powerful than any coffee you may consider drink.

Pepsi or Cola (Only tested with Pepsi) with Nescafe together.

PROVED, now 4 PM still able to write this blog post and probably have few more hours to kill :)

Posted by Adel Khalil with 3 comment(s)
Filed under:

New Start, Wide Horizon

I’m leaving my current employer August 8th. I had a great time working with Archer Systems team, but now it’s time to move on, for new challenges, new people but same old great career.

 

if you want to hire me please contact me through this blog.

you can review my resume here.

Thanks!

Posted by Adel Khalil with 2 comment(s)

VMware Woorkstation not supported on Windows Server 2008

VMware Inc., for one, won't officially support it on VMware ESX Server or on VMware Server until the third quarter – for at least another three months, Support for Windows Server 2008 on VMware Workstation could come even later

http://searchservervirtualization.techtarget.com/news/article/0,289142,sid94_gci1302139,00.html

Posted by Adel Khalil with no comments

Video Clouds

This is cool, another use for the idea of tag clouds but this time with videos check it out here

Posted by Adel Khalil with no comments
Filed under:

Configuring ASP.NET Email Notification for Health Monitoring

ASP.NET provide a very conveniant way for health monitoring notifications, that will allow you to setup an email prvider to catch web events and send email messages when any arise.

all you need is to configure your web application to send emails, also have a configured SMTP Virtual Server on your running IIS6.

<configuration>
  <system.web>
    <healthMonitoring enabled="true" heartbeatInterval="0">
      <providers>
        <add 
          name="MailProvider" 
          type="System.Web.Management.SimpleMailWebEventProvider"
          to="healthmonitor@mycompany.com"
          from="healthmonitor@mycompany.com"
          buffer="false"
          subjectPrefix="Web Event Notification"
          />
      </providers>
      <rules>
        <add 
          name="MailEventProviders" 
          eventName="All Events" 
          provider="MailProvider"
          profile="Default" 
          minInstances="1" 
          maxLimit="10000000" 
          minInterval="00:01:00"
          custom="" 
          />
      </rules>
    </healthMonitoring>
  </system.web>
</configuration>
This way any web even that fires you will get notification email at your configured address.
More on Health Monitoring
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }
 
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }
Posted by Adel Khalil with 1 comment(s)
Filed under: , ,

Suppressing JavaScript Error Messeges - Application/Page Level

if you having problem with Ajax Extensions, Ajax Toolkit controls..etc generating bad JavaScript code that cause the message "Error On Page" to appear on the status bar of your browser then you can't solve this by resolving the error or wrappe the whole thing in try/catch blocks.

What you need is suppress the error on a whole page, specific or on master page to simulate application level effect using this snippet in the HEAD section.

 

<SCRIPT language="JavaScript">

function silentErrorHandler() {

return true;

}

window.onerror=silentErrorHandler;

</SCRIPT>

 

Happy Coding..

Posted by Adel Khalil with no comments

RockScroll for Visual Studio

Scott Hanselman refers to this internal tool he helped get it out from Micrsoft very cool, check it out at Scott's post or download from here.

Posted by Adel Khalil with no comments
Filed under:

Yes, This is the solution

I thougt it will be matter of time to see something like a Unified Rendering Engine or for browsers to fully support w3c but no when it comes to improving developer experiance force the user to change there's.

new movment aimed to "guid" users to drop IE6 for IE7 which will make developer life much easier check at www.savethedevelopers.org

Posted by Adel Khalil with no comments
Filed under:

Partial Web.Config

With integrating new technologies with .NET Framework 3.5 like Ajax Extension for instance the default web.config become very fat.

why not having a designer generated code for the web.config in seprate file like it did with ASPX pages.

Posted by Adel Khalil with no comments
Filed under: ,

EDC 2008

If you managed to get through the comical registration process and finally register, see you at these sessions:

VS2008 New Enhancements

Software + Services

What a Developer should know about IIS 7

AJAX in the Real World

SharePoint Development

Optimization and Performance Tuning

Office Application Programmabiliy

What’s new in SQL Server 2008 Business Intelligence

OLAP & DM

www.edc2008.com

Posted by Adel Khalil with no comments
Filed under: ,

Make sure you read this blog

Just finished reading one of the latest posts of Steve Pavlina, as usual he is awsome despite his latest million post on raw food :)

i couldn't help it, i felt like i have to quote this from his last week post.

The only way to win consistently at life is to regard every situation as a learning experience. That’s the only outcome you can really guarantee. If you make that your primary aim, losing becomes impossible.

make sure to subscribe to his blog.

Posted by Adel Khalil with 1 comment(s)
Filed under:

Egypt Technology Events: Near You!

Mark your calenders guys there is couple of events on an overwhelming week so if you near Cairo, Egypt sign up for .netWork User Group (March 22nd, 12:00 PM) 3rd meeting and Microsoft Launch 2008 (March 24th, 9:00 AM)

See you there :)

Posted by Adel Khalil with no comments
Filed under: , ,

Mark Miller latest post in promoting CodeRush, shocking

i don't know about you but this http://www.doitwith.net/2008/02/22/HotChicksWritingCodeNaked.aspx dosn't seem the proper way to promote software product.

Posted by Adel Khalil with 2 comment(s)
Filed under:

The Myth of Stored Procedures Preference

When looking to the Stored Proscedures debate, there is always those three factors you should measure by.

Productivity

- Span code base over multiple staging environments is a pain and harder to maintain.

- Versioning sp code is way harder than versioning application code.

- Minor change to the design require changing in both the SPs and the DAL code.

- Todays IDEs are more advanced than most of the RDBMS offers, implementing on IDEs is obviously preferable.

- Switching between two seprate world to implement single method is always pain.

- It's impossible to cover every single scenario and write SP for it, which will lead to write these SP as you go, huge consistency problem.

- There is no way to only update single param in the Update method using SPs as there isn't optional parameters, on every update you need to supply full param collection.

- SPs are not portable if you want to develop application that run over multiple DBMS you will be writing SPs for each DBMS, standard SQL is portable.

Security

- Big myth over here, using SPs not guarante best security practice and certinly dosn't mean that your application is SQL Injection proof you can write code like this

string s = "EXEC sp_GetCustomerByEmail '" + txtEmailAddress.Text + "'";

and you will be using SP and still open to all kind of SQL Injection.

- Another myth regarding security is that if you are using Ad-hoc queries you *most likely* grand permissions for CRUD operations for your application user on the database, no you are not, that's why Views are invented.

Performance

often when SPs vs. Ad-hoc queries debate intoduced the performance card played, SPs advocates says SPs are pre-compiled which is not let met quate like Frans did from SQL Server Books Online

SQL Server 2000 and SQL Server version 7.0 incorporate a number of changes to statement processing that extend many of the performance benefits of stored procedures to all SQL statements. SQL Server 2000 and SQL Server 7.0 do not save a partially compiled plan for stored procedures when they are created. A stored procedure is compiled at execution time, like any other Transact-SQL statement. SQL Server 2000 and SQL Server 7.0 retain execution plans for all SQL statements in the procedure cache, not just stored procedure execution plans.

So with no pre-compilation and caching for both SPs and SQL statments there is no advantage for SPs here, in some other databases the SPs compiled into C or C++ but this isn't the case in SQL Server 7.0/2000.

I have introuduced my view on the SP vs. Dynamic SQL i don't see any benfit of SPs over the huge amount of productivity, performance that you will gain with dynamic SQL, the only benfit in peformance you will get it when using Managed SPs (SQL Server 2005) but for 0.7/2000 SPs isn't the right choice for most of the scenarios.

Read more (diverse views):

- Frans Bouma's Stored procedures are bad, m'kay?

- Jeff Atwood's Stored Procs vs. Ad-hoc , Give me parametrized SQL, or give me death

- Eric Wise's The Pragmatic Adhoc SQL vs Stored Procedures Discussion

- Rob Howard's Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

- Jeremy D. Miller's Why I do not use Stored Procedures

More Posts Next page »