Adnan Rashid
Web Technologist
Web Technologist
Dec 11th
Courtesy of Microsoft Press, SkyDrive is hosting a complimentary eBook titled First Look Microsoft Office 2010 by Katherine Murray. Office 2010 provides a plethora of new features like video editing, saving documents to the cloud directly, photo effects, etc. The Microsoft Office website has a video series showcasing the new features in Office 2010. You can check it out here.

The book contains the following chapters :
Download the eBook at http://cid-d7229b252a0ad6f2.skydrive.live.com/self.aspx/Public/First%20Look%20Microsoft%20Office%202010/693876ebook.pdf
Oct 25th
This post explains self-executing functions and its benefits. So lets started by breaking down a normal function and converting it into one …
var myVar = "This is a normal function...";
function ShowAlert(textToAlert)
{
alert(textToAlert);
}
ShowAlert(myVar);
We all know that functions are also objects in JavaScript. Thus they can be evaluated using the eval() function and also in the case of setInterval() function you can pass the name of the function as an object. Thus like other objects, we can also use grouping operators like ( and ).
var myVar = "This is still a normal function...";
function ShowAlert(textToAlert)
{
alert(textToAlert);
}
(ShowAlert)(myVar);
We are halfway there. Lets replace the name of the function with the function definition and make it a single statement.
var myVar = "This is a self-executing function...";
(function ShowAlert(textToAlert)
{
alert(textToAlert);
})(myVar);
Ok. So far so good. Since we are going to run this function as soon as we create it, it doesn’t need a name. Next step is to make this function an anonymous function.
var myVar = "This is an anonymous self-executing function...";
(function (textToAlert)
{
alert(textToAlert);
})(myVar);
And voila… We have created a self-executing anonymous function.
Although in this example, the advantage might not be obvious, but in real-world, this technique is quite helpful as it encapsulates the functionality and also prevents the cluttering of the global namespace. If you take a peek at the jQuery source code, you will notice that the whole library is wrapped in a single, self-executing function that is assigned to the jQuery global object. It’s precisely the reason that jQuery doesn’t pollute the global namespace nearly as much as other libraries.
Oct 9th
Google Chrome has many great features including an Incognito mode. You can open an incognito window by pressing ctrl+shift+N in your normal browser. You can see the Spy guy on the top left corner.
You can also open the Incognito mode directly, by modifying the Target property. Right click on the Chrome executable/Shortcut and append <strong>-incognito</strong> with space after the double quotes.
“C:\Documents and Settings\<User>\Local Settings\Application Data\Google\Chrome\Application\chrome.exe” -incognito
Oct 5th
Woork author Antonia Lupetti has recently released a visual cheat sheet for jQuery 1.3. The cheat sheet having six pages is a helpful reference containing the complete API reference with descriptions and sample code.
What I like most about this cheat sheet, is it’s simple and elegant design. Kudos to Antonia!
Sep 22nd
As a developer, I often design the user interfaces for my applications. These are small scale projects and often have limited team members. During this design process, I always feel the need for good graphic resources. I have been using the FamFamFam Silk Icons for a couple of projects and tremendously appreciate it. The icon set is freely available with nearly 700 png icons in the CC3 license and can be downloaded at http://www.famfamfam.com/lab/icons/silk/
Recently I came across another Icon library called Fugue. The library has more than 2000+ png icons and is also available in the CC3 license. What i love about this library is that there is an icon for any requirement you might come your conventional project. You can download it at http://www.pinvoke.com/
Try them out…
Aug 26th
I recently came across a very nice jQuery control library called jQuery Tools. The library features the following JavaScript tools :
So now you are thinking “Whats so great about this? We already have tons of jQuery plugins for this…”. I thought so too.
The striking advantage of this library is that these tools can be combined, extended and styled, giving you potentially unlimited options for creating customized widgets for your web pages. The website also features great and detailed examples to help you get started, and features some of the best practices recommended by Yahoo engineers. [ref : Best Practices for speeding up your website]

Aug 23rd
During your development, you may notice that your code file contains using directives which are not required by your code. The Visual Studio IDE provides the Organize Usings option to remove/sort these using directives. To access this option, right-click anywhere within your code editor and select one of the sub-menu options for Organize Usings option.

Jul 15th
Like most developer I love jQuery and appreciate the intellisense support in Visual Studio. I am very particular about the format for my code and often use the Document Format option of the IDE. What I noticed was that my braces were never placed on new lines, and I wanted to change this. So here’s what you can do :

Jun 19th
I am a big fan of YouTube and how they revolutionized video sharing. One thing I didn’t like about the YouTube embedded player is that it does not have sufficient filtering depending on the content being played. I am referring to the Related Videos option that is available when you mouse over the video, or in some versions shown at the end of video playback. These related video suggestions, often have ‘mature’ content making the videos unsuitable for family content/blogs.
There is a very simple way of disabling the Related Video option, just append &rel=0 at the end of the url in the object embed code. According to the API Documentation at Google, setting ’0′ to the rel parameter will also disable the search functionality.
For more information of the available parameter options, please visit http://code.google.com/apis/youtube/player_parameters.html
May 24th
DBCC CHECKIDENT can reset the identity value of the table. The syntax is as follows :
DBCC CHECKIDENT (<table_name>, reseed, <seed_value>)
After executing this statement, the next inserted record will have seed_value + 1 as value. This rule is applicable only if the table previously contained records.
In case of a table with no records, since the current Seed Value is NULL, after execution of the above statement, the SEED VALUE is updated to 0. Thus when the first record is inserted, the SEED VALUE will be 0 not 1.