<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-23680367</id><updated>2009-12-30T00:36:29.230+05:30</updated><title type='text'>Yanesh Tyagi</title><subtitle type='html'>"...since my intention is to write something useful for anyone who understands it, it seemed more suitable to me to search after the effectual truth of the matter, rather than its imagined one." &lt;br&gt;-Niccolo Machiavelli in The Prince, 1532</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default?start-index=26'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='previous' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default?start-index=1&amp;max-results=25'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default?start-index=51&amp;max-results=25'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>76</openSearch:totalResults><openSearch:startIndex>26</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23680367.post-5127801450129222339</id><published>2008-02-18T18:39:00.001+05:30</published><updated>2008-02-18T18:39:25.048+05:30</updated><title type='text'>Unicode Tool tip</title><content type='html'>&lt;p&gt;While using windows XP, I was facing a problem. I was working on a multilingual web site. we were showing tool tips to help user to understand what a particular button will do or where a link points. The tool tips were working fine for language which uses English language characters. But in case of other characters (read unicode) such as Chinese or Arabic, it showed small boxes instead of letters.&lt;/p&gt;  &lt;p&gt;I had to do lot of research on the internet (googling is my first habit) and here is what I found:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;To set your tooltip font to be able to display Unicode characters:&lt;/strong&gt;    &lt;br /&gt;Right click on the desktop, pick Properties -&amp;gt; Appearance -&amp;gt; Advanced -&amp;gt;Item: ToolTip, then set the font to Arial Unicode MS or other large font.&lt;/p&gt;  &lt;p&gt;This will show unicode characters in the tool tip.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-5127801450129222339?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/5127801450129222339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2008/02/unicode-tool-tip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5127801450129222339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5127801450129222339'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2008/02/unicode-tool-tip.html' title='Unicode Tool tip'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-985407459551149416</id><published>2007-12-04T16:18:00.000+05:30</published><updated>2009-02-02T13:36:25.120+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Technologies and Family Time'/><category scheme='http://www.blogger.com/atom/ns#' term='VS Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Yanesh'/><title type='text'>Effective Use of Visual Studio 2005 - Keyboard Shortcuts</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;As a hardcore developer I found that typing is easy to me then using mouse. Mouse is an obstacle. Taking hands off the keyboard is time consuning. It takes me out of comfort zone. I like to use keyboard where ever possible and efficient. Thanks to the developers of Visual studio 2005, they provided keyboard shortcuts to the most frequest tasks. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;Though the &lt;/span&gt;&lt;a href="http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005_29.html"&gt;&lt;span style="font-family:times new roman;"&gt;use of named commands is always recommended&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; instead of keyboard shortcuts. But I found that these key strokes are most common and no one reassign these to custome actions. Its safe to get used to these shortcuts. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;Here is a list of my favourite shortcusts. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;Tool Boxes And Windows&lt;/strong&gt; &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+ALT+L&lt;/em&gt;: View Solution Explorer. I use Auto Hide for all of my tool windows to maximize screen real estate. Whenever I need to open the Solution Explorer, it’s just a shortcut away. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+ALT+X&lt;/em&gt;: Toolbox Window &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+ALT+O&lt;/em&gt;: Output Window &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+\, E&lt;/em&gt;: Error List Window &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+\, T&lt;/em&gt;: Task List Window &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;F7&lt;/em&gt;: Toggle between Designer and Source views. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+PgDn&lt;/em&gt;: Toggle between Design and Source View in HTML editor. &lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;SHIFT+ALT+Enter&lt;/em&gt;: Toggle full screen mode. This is especially useful if you have a small monitor. Since I upgraded to dual 17? monitors, I no longer needed to use full screen mode. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+SHIFT+A&lt;/em&gt;: Add New Item Window &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;ALT+F+F&lt;/em&gt;: Recent Files List&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;Building, Running And Debugging&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;em&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;F10&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:times new roman;"&gt;: Debug - Step over. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;F5&lt;/em&gt;: debug - Start &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;F11:&lt;/em&gt; debug - Step into &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;SHIFT+F11&lt;/em&gt;: Debug - step out &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+F10&lt;/em&gt;: Debug - run to cursor &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;F9&lt;/em&gt;: Toggle Breakpoint &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+SHIF+B&lt;/em&gt;: Build Solution. Related shortcuts: &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;ALT+B, U&lt;/em&gt;: Build selected Project &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;ALT+B, R&lt;/em&gt;: Rebuild Solution &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:times new roman;"&gt;Code Window &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;/strong&gt;&lt;em&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;CTRL+D&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:times new roman;"&gt; or &lt;em&gt;CTRL+/&lt;/em&gt;: Find combo &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+M, O&lt;/em&gt;: Collapse to Definitions. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+M, M:&lt;/em&gt; Toggle Outline Expension. Collapsed will become expanded and expanded will become collapsed. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, CTRL+C&lt;/em&gt;: Comment block. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, CTRL-U&lt;/em&gt;: Uncomment selected block &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+-:&lt;/em&gt; Go back to the previous location in the navigation history. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+SHIFT+-:&lt;/em&gt; Go to the next location in the navigation history. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL++&lt;/em&gt;: Select from last mouse pointer position to current mouse pointer position. &lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+ALT+Down Arrow&lt;/em&gt;: Show dropdown of currently open files. Type the first few letters of the file you want to select. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, D&lt;/em&gt;: Format code. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+L&lt;/em&gt;: Delete entire line. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+G&lt;/em&gt;: Go to line number. This is useful when you are looking at an exception stack trace and want to go to the offending line number. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, X&lt;/em&gt;: Insert "surrounds with" code snippet. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, K&lt;/em&gt;: Toggle bookmark. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, N&lt;/em&gt;: Next bookmark. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, P&lt;/em&gt;: Previous bookmark. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;CTRL+K, L&lt;/em&gt;: Clear bookmark.&lt;br /&gt;&lt;em&gt;CTRL+K, I&lt;/em&gt;: Quick Info &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;F12&lt;/em&gt;: Go to definition of a variable, object, or function. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;em&gt;SHIFT+F12&lt;/em&gt;: Find all references of a function or variable. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-985407459551149416?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/985407459551149416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/12/effective-use-of-visual-studio-2005.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/985407459551149416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/985407459551149416'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/12/effective-use-of-visual-studio-2005.html' title='Effective Use of Visual Studio 2005 - Keyboard Shortcuts'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-3392359767507783154</id><published>2007-11-29T22:43:00.001+05:30</published><updated>2009-02-02T13:36:22.206+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Technologies and Family Time'/><category scheme='http://www.blogger.com/atom/ns#' term='VS Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Effective Use of Visual Studio 2005 - Named Commands</title><content type='html'>&lt;p align="justify"&gt;&lt;strong&gt;Command Window: Ctrl+Alt+A&lt;/strong&gt;&lt;br&gt;&lt;/p&gt; &lt;p align="justify"&gt;Named commands are used to access VS features from Command Window. Visual Studio 2005 provides full intellisense support in the command window. I experienced that using named commands is much faster than accessing these features with mouse.&lt;/p&gt; &lt;p align="justify"&gt;Named commands allow you to access and use menu commands in the command window. To use named commands, simply type the name of menu. Press '.' and VS will provide intellisense. Type the name of the menu option or select it from intellisense.&lt;/p&gt; &lt;h2&gt;&lt;u&gt;Example&lt;/u&gt;:&lt;/h2&gt; &lt;p align="justify"&gt;To access Find Results 1 window you have to &lt;/p&gt; &lt;p align="justify"&gt;1. Click on the 'View' menu and then &lt;br&gt;2. Click on the 'Find Results' and &lt;br&gt;3. Finally choose 'Find Results 1'. &lt;/p&gt; &lt;p align="justify"&gt;Now if you want to use named commands, &lt;br&gt;1. Press Ctrl+Alt+A to activate command window.&lt;br&gt;2. Type View.findresults1. You don't need to type full text. Intellisense provides yoy write text. Just press enter.&lt;/p&gt; &lt;h2&gt;&lt;u&gt;Some Examples of Named Copmmands:&lt;/u&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.NewWindow&lt;/em&gt;&lt;/strong&gt;: Open a new window on your code.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Tools.Options:&lt;/em&gt;&lt;/strong&gt; Bring up Options dialog box.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Edit.ViewWhiteSpace&lt;/em&gt;&lt;/strong&gt;: (Ctrl+R, Ctrl+W) Replace white spaces with a dot.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;Convert tab to spaces: Ctrl+K, Ctrl+D&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.ActivateDocumentWindow&lt;/em&gt;&lt;/strong&gt;: Switch to document window.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.AutoHide&lt;/em&gt;&lt;/strong&gt;: Hide command window. (Use Ctrl+Alt+A to show command window)&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.AutoHideAll&lt;/em&gt;&lt;/strong&gt;: Hide all windows except document windows. It will hide even pinned-up windows too.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.ShowEzMDIFileList&lt;/em&gt;&lt;/strong&gt;: Show Easy MDI File List.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.Split&lt;/em&gt;&lt;/strong&gt;: Split code window into two. Both windows show same files but you can scroll them independently. Issue same command to close splitting.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Window.Windows&lt;/em&gt;&lt;/strong&gt;: Open 'Windows'&amp;nbsp; window. &lt;a href="http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005.html" target="_blank"&gt;More Info&lt;/a&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Edit.ClearAll&lt;/em&gt;&lt;/strong&gt;: Clear Command Window.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;&lt;u&gt;Named Command and Keyboard Shortcuts&lt;/u&gt;&lt;/h2&gt; &lt;p align="justify"&gt;Usually VS features can be accessed in two ways: using keyboard shortcusts or&amp;nbsp; using named commands. But using named commands is easier than using keyboard shortcuts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;div align="justify"&gt;You need to learn keyboard shortcuts. But named commands are not required to learn, as they are based of the menu navigation which is most commanlyt used.&lt;br&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;Keyboard shortcuts are customizable. You (or anybody else) can change them. If you are working on some other machine, you may not have same keyboard shortcuts.&lt;br&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;There is no help (intellisense) provided for keyboard shortcuts. &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;&lt;u&gt;Images&lt;/u&gt;:&lt;/h2&gt; &lt;p align="justify"&gt;&lt;strong&gt;1. Easy MDI File List&lt;/strong&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;a href="http://lh5.google.com/yanesh.tyagi/R07zPqgs4II/AAAAAAAAAVQ/2r2lyXNXJps/EzMdiFileList%5B2%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="201" alt="EzMdiFileList" src="http://lh5.google.com/yanesh.tyagi/R07zQqgs4JI/AAAAAAAAAVY/U_PFcsVnfrs/EzMdiFileList_thumb" width="252" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align="justify"&gt;&lt;strong&gt;2. Split code window &lt;/strong&gt;&lt;br&gt;&lt;a href="http://lh3.google.com/yanesh.tyagi/R07zSKgs4KI/AAAAAAAAAVg/R6HYnBZT-Ck/Untitled%5B2%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="Untitled" src="http://lh3.google.com/yanesh.tyagi/R07zTKgs4LI/AAAAAAAAAVo/6vPapO3E5Bo/Untitled_thumb" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b7171617-21b5-4929-a4e8-1ac9ecd7f84c" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Visual%20Studio%202005" rel="tag"&gt;Visual Studio 2005&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Effective%20Use%20of%20Visual%20Studio" rel="tag"&gt;Effective Use of Visual Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.net" rel="tag"&gt;.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.net" rel="tag"&gt;ASP.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Editors" rel="tag"&gt;Editors&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VS%20Editor" rel="tag"&gt;VS Editor&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Named%20Commands" rel="tag"&gt;Named Commands&lt;/a&gt;&lt;/div&gt; &lt;p align="justify"&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt; &lt;p align="justify"&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-3392359767507783154?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/3392359767507783154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005_29.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/3392359767507783154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/3392359767507783154'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005_29.html' title='Effective Use of Visual Studio 2005 - Named Commands'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-3685473300328137878</id><published>2007-11-28T17:48:00.000+05:30</published><updated>2007-11-28T18:50:07.633+05:30</updated><title type='text'>Effective Use Of Visual Studio 2005 - Handling Open Documents</title><content type='html'>&lt;div align="justify"&gt;Visual Studio 2005 provides some excellent document management capabilities. Most of the we are not aware of these features. One of the feature is open document tab groups. Unlike VS 2003, it shows only as much tabs as fits in the window width. There is no scrolling. Instead, VS 2005 provides dropdown menu to select from all open documents. Inseated of selecting open documents, you can also do some other functions.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;I am planning to write a series on useful-but-less-known features of VS 2005. This is second post in the series. (&lt;a href="http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005.html"&gt;read &lt;/a&gt;first post)&lt;/div&gt;In continuation to my previous &lt;a href="http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005.html"&gt;post&lt;/a&gt; on managing open documents, here are some more tricks.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Right click on the open document tab group. A context menu will appear with following options:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;Save default.aspx.vb&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Close&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Close all but this&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Copy full path&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Open containing folder&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;New horizontal tab group&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;New vertical tab group&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;img id="BLOGGER_PHOTO_ID_5137865849116090402" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_pV-DxTrpxcI/R01dxKgs4CI/AAAAAAAAAUk/s0mWZ1uWcss/s320/RightClick.png" border="0" /&gt; &lt;strong&gt;Save default.aspx.vb&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;Allows you to save currently selected document. Currently selected document is the one which is open in the window.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Close&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;Close currently selected document.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Close all but this&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;Close all open documents except the currently selected document.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Copy full path&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;Copy full path of the currently selected document to the clipboard.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Open containing folder&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;Open the folder that contains the currently selected document. The folder is opened in the windows explorer.&lt;/div&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5137866733879353410" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_pV-DxTrpxcI/R01ekqgs4EI/AAAAAAAAAU0/Emou7DYJCw8/s320/Folder.png" border="0" /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;New horizontal tab group&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;Open another document window. The two windows are tiled horizontally. Both window will have document tab group. This is useful when you want to open on two group of documents simultaneously.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5137866918562947154" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_pV-DxTrpxcI/R01evags4FI/AAAAAAAAAU8/MAgP1ioMcso/s320/HorizontalTabs.png" border="0" /&gt; &lt;strong&gt;New vertical tab group&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;Same as above option. But this makes the windows tiles vertically instead of horizontally. &lt;/div&gt;&lt;div align="justify"&gt;&lt;img id="BLOGGER_PHOTO_ID_5137867197735821410" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_pV-DxTrpxcI/R01e_qgs4GI/AAAAAAAAAVE/0BH7mAsKGN8/s320/VerticalTabs.png" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-3685473300328137878?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/3685473300328137878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005_28.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/3685473300328137878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/3685473300328137878'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005_28.html' title='Effective Use Of Visual Studio 2005 - Handling Open Documents'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_pV-DxTrpxcI/R01dxKgs4CI/AAAAAAAAAUk/s0mWZ1uWcss/s72-c/RightClick.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-1830262516932180833</id><published>2007-11-27T15:20:00.000+05:30</published><updated>2009-02-02T13:36:22.208+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Technologies and Family Time'/><category scheme='http://www.blogger.com/atom/ns#' term='VS Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Yanesh'/><title type='text'>Effective Use of Visual Studio 2005 - Closing Selected Window</title><content type='html'>&lt;div align="justify"&gt;To close open documents selectively:&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;1. Go to Window -&gt; Windows.&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5137456439948533730" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_pV-DxTrpxcI/R0vpaags3-I/AAAAAAAAAUE/it22owSf8OE/s320/WindowMwnu.png" border="0" /&gt; &lt;div align="justify"&gt;2. This will show list of all open windows (not just those which you see on the tabs).&lt;/div&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5137457402021208050" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_pV-DxTrpxcI/R0vqSags3_I/AAAAAAAAAUM/C_r7prEalCQ/s320/Windows.png" border="0" /&gt; &lt;div align="justify"&gt;3. Select the windows you want to close. Use shift (or ctrl) key for multiple selection. You can also use ctrl+A to select all windows.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5137457797158199298" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_pV-DxTrpxcI/R0vqpags4AI/AAAAAAAAAUU/03ycC1kETu4/s320/selectedwindows.png" border="0" /&gt; 4. Click "Close window(s)" button to close selected windows.&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;I experienced that the speed of loading a project into visual studio is directly proportional to the number of open documents. Generally, we open the document as we need it. And then we don't close it. Visual studio 2005 displays only a few number of documents on the tabs. Rest remains open but are hidden. You can click on the down arrow near the 'X' button of the document window to select the open document. To keep you project loading fast, always keep minimum number of open documents.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5137458033381400594" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_pV-DxTrpxcI/R0vq3Kgs4BI/AAAAAAAAAUc/KsDNNAE7bcA/s320/opendocumentmenu.png" border="0" /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-1830262516932180833?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/1830262516932180833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/1830262516932180833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/1830262516932180833'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/effective-use-of-visual-studio-2005.html' title='Effective Use of Visual Studio 2005 - Closing Selected Window'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_pV-DxTrpxcI/R0vpaags3-I/AAAAAAAAAUE/it22owSf8OE/s72-c/WindowMwnu.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-563072324111480523</id><published>2007-11-26T22:38:00.001+05:30</published><updated>2009-02-02T13:36:25.121+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Technologies and Family Time'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='VS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Orcas'/><title type='text'>Microsoft Popfly - Share Visual Studio Projects On The Web</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Popfly allows you to build gadgets and web pages. It also allows you to share your creation. Popfly provides online visual tools for creating Web pages and gadgets. You can host, share, rate, comments and even remix creations from other popfly users. &lt;p&gt;Here are some things you can do with Popfly: &lt;p&gt;&lt;strong&gt;Add some fun to your Facebook page, web site, or Windows Live Spaces page&lt;/strong&gt;.  &lt;p&gt;You can easily spice up your Web site or blog with Popfly by adding customized games like Whack-a-mole or asteroids with pictures of your friends and family or create custom quizzes or polls that you can easily embed on your Web site.  &lt;p&gt;&lt;strong&gt;Build a Home Page:&lt;/strong&gt; &lt;p&gt;You can build a custom home page, say for your school’s sports team and choose from over 150 different themes, 10 styles, and 30 unique color themes for a unique visual design. You can then easily add things like team photos, a team schedule from an RSS feed, video from previous games, Virtual Earth maps with directions to game locations and more, all without writing code. &lt;p&gt;&lt;strong&gt;Mix and Re-mix Photos and Videos:&lt;/strong&gt; &lt;p&gt;Popfly makes it easy to create and share beautiful slideshows using pictures from Flickr, Windows Live Spaces, Facebook or to embed a podcast or a video player hosting videos from Soapbox or YouTube and share it on your Facebook profile, Windows Live Spaces page, or any Web page.  &lt;p&gt;&lt;strong&gt;Unify Your Online Personality:&lt;/strong&gt; &lt;p&gt;Popfly enables you to customize and stitch together your online persona in one place. You can create mashups that show what you dug on Digg.com, what you are buying or selling on eBay, you Halo 3 game scores, what Facebook events you’re attending, what your friends are doing on Twitter, and much more.  &lt;p&gt;&lt;strong&gt;Share Visual Studio Projects:&lt;/strong&gt;&lt;br&gt;Popfly offers a powerful web programming environment to bring in new data sources, create new ways to display information, or even create and share full Visual Studio projects. &lt;p&gt;&lt;strong&gt;Popfly Explorer for Visual Studio and Visual Studio Express:&lt;br&gt;&lt;/strong&gt; &lt;p&gt;Popfly Explorer is a plug-in for Visual Studio that lets you: &lt;ul&gt; &lt;li&gt;Effortlessly create and host a Popfly web site  &lt;li&gt;Access your Visual Studio solutions from anywhere  &lt;li&gt;Share Visual Studio solutions with friends  &lt;li&gt;Add mash-ups to your web pages &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/express/popfly/Default.aspx"&gt;Popfly Pasge&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://download.microsoft.com/download/d/0/1/d0121efb-723d-4459-9a00-09b786cdd3fd/PopflyExplorerBeta.exe"&gt;Download Popfly Explorer for Visual Studio&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://popflyteam.spaces.live.com"&gt;Popfly Team Site&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e245f911-60a3-4006-b4a0-dce73d0c47b4" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Popfly/" rel="tag"&gt;Popfly&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Microsoft/" rel="tag"&gt;Microsoft&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Visual%20studio/" rel="tag"&gt;Visual studio&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Visual%20studio%20express%20edition/" rel="tag"&gt;Visual studio express edition&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/facebook/" rel="tag"&gt;facebook&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/spaces/" rel="tag"&gt;spaces&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/.net/" rel="tag"&gt;.net&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/webpage%20creation/" rel="tag"&gt;webpage creation&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/share%20visual%20studio%20projects/" rel="tag"&gt;share visual studio projects&lt;/a&gt; 		&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-563072324111480523?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/563072324111480523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/microsoft-popfly-share-visual-studio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/563072324111480523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/563072324111480523'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/microsoft-popfly-share-visual-studio.html' title='Microsoft Popfly - Share Visual Studio Projects On The Web'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-7079410831379965754</id><published>2007-11-22T22:12:00.001+05:30</published><updated>2007-11-22T22:12:15.950+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='Yanesh'/><title type='text'>How To Purchase A Laptop</title><content type='html'>&lt;p align="justify"&gt;&lt;strong&gt;Question:&lt;/strong&gt; How many people are required to purchase a laptop?&lt;/p&gt; &lt;p align="justify"&gt;&lt;strong&gt;Answer&lt;/strong&gt;: Five.&lt;/p&gt; &lt;p align="justify"&gt;&lt;strong&gt;Question: &lt;/strong&gt;And what is the flowchart of purchasing a laptop?&lt;/p&gt; &lt;p align="justify"&gt;&lt;strong&gt;Answer&lt;/strong&gt;: Acquire 100% resources --&amp;gt; Drink beer --&amp;gt; Have lunch --&amp;gt; Go to theatre --&amp;gt; Watch movie --&amp;gt; Then release 60% of resources and utilize 40% resources to buy laptop --&amp;gt; The process is exhausting so re-energize 40% resources with more beer. &lt;/p&gt; &lt;p align="justify"&gt;Don't believe me? Read the story below (it's real):&lt;/p&gt; &lt;p align="justify"&gt;Bob is a software professional who is working for a large MNC. Currently he is posted at client side. He has a team of six people who share good chemistry. Today one of his team mate Mr. M decided to buy a laptop. His office is very near to largest electronics market so it was decided that team will go to buy laptop in the lunch time.&lt;/p&gt; &lt;p align="justify"&gt;Unfortunately, nobody in the team brought their car today. Usually people use company provided cabs for commute from home to office and back. So they decided to hire an auto. Bob and his mates asked many auto driver but all denied. Finally it was decided that they will take bus. After long wait bus stand, finally a bus arrived. Frustrated after waiting long time, they were onboard in fraction of seconds. Things seemed to be on the right path when they discovered that they had boarded wrong bus. After changing the bus at the next stop, they finally went to the market. &lt;/p&gt; &lt;p align="justify"&gt;While passing through the theatre M proposed for watching the movie. Mr. V proposed for having lunch. Se it was decided that they will watch the movie after lunch and they they will buy laptop. The restaurant was &lt;em&gt;un&lt;/em&gt;fortunately close to the beer and wine shop. It allowed carry and drink facility. Mr. D proposed for beer and Mr. G immediately approved. V and M gave silent approval. Bob doesn't take alcohol so his vote was neutral. Since nobody opposed the idea, they decided to have beer first, and than lunch and then movie. Purchasing laptop was last in the list.&lt;/p&gt; &lt;p align="justify"&gt;Things went well as planned. They had beer and then had lunch. After lunch every body enjoyed movie. D and G want to have more beer. But theatre management didn't allow them to go outside while the show was running. By than, it was evening and almost dark. The office cab would leave in the one hour. So it was decided that first they will go to office and M and D will come back to buy laptop. D wanted to drink more beer. He proposed to drink one more beer and then go to office and then come back to buy laptop. Bob along with G and V opposed it. Going to office after having beer was not appropriate. So finally it was decided that M and D will purchase laptop, have more beer and than went to home. Bob, G and V will go back to the office.&lt;/p&gt; &lt;p align="justify"&gt;What happened next is that they follow the plan. In the night Bob called M to confirm weather they had purchased the laptop or not. M had purchased it.&lt;/p&gt; &lt;p align="justify"&gt;Who is Bob? It's a suspense. I will revel it at the appropriate time. &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:80a30751-7c52-4ef2-a9b0-5a529747bb18" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/real%20story/" rel="tag"&gt;real story&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/fun/" rel="tag"&gt;fun&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/shopping/" rel="tag"&gt;shopping&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/laptop/" rel="tag"&gt;laptop&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/yanesh/" rel="tag"&gt;yanesh&lt;/a&gt; 		&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-7079410831379965754?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/7079410831379965754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/how-to-purchase-laptop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7079410831379965754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7079410831379965754'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/how-to-purchase-laptop.html' title='How To Purchase A Laptop'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-5939752624418190160</id><published>2007-11-20T11:44:00.000+05:30</published><updated>2009-02-02T13:37:34.985+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Technologies and Family Time'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='VS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Orcas'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><category scheme='http://www.blogger.com/atom/ns#' term='ScottGu'/><category scheme='http://www.blogger.com/atom/ns#' term='Somasegar'/><title type='text'>Visual Studio 2008 and .NET 3.5 Released</title><content type='html'>Microsoft shipped Visual Studio 2008 and .NET 3.5 today. Here are some resources for VS 2008:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ScottGu's&lt;/span&gt; weblog&lt;/a&gt; is the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;primary&lt;/span&gt; and authentic source of information।&lt;br /&gt;२. &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/11/19/visual-studio-2008-and-net-framework-3-5-shipped.aspx" target="_blank"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Somasegar's&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;Weblog&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://blogs.msdn.com/pandrew/" target="_blank" closure_hashcode_="575"&gt;Paul Andrew&lt;/a&gt; blogged about a &lt;a href="http://blogs.msdn.com/pandrew/archive/2007/11/02/announcing-the-net-framework-3-5-commonly-used-types-and-namespaces-poster.aspx" target="_blank" closure_hashcode_="576"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;downloadable&lt;/span&gt; poster of commonly used types and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;namespace&lt;/span&gt; in .NET 3.5&lt;/a&gt; (in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;pdf&lt;/span&gt; format), which is worth checking out.&lt;br /&gt;4.  View &lt;a href="http://asp.net/learn/3.5-videos/" target="_blank" closure_hashcode_="577"&gt;ASP.NET 3.5-specific videos&lt;/a&gt; at Microsoft's official asp.net website.&lt;br /&gt;5. &lt;a href="http://blogs.msdn.com/brada/archive/2007/11/19/vs-2008-and-net-framework-3-5-rtm.aspx"&gt;Brad Abrams&lt;/a&gt; wrote about Design Guidelines, Managed code and the .NET Framework 3.5 in his blog.&lt;br /&gt;6. &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=357748"&gt;Here&lt;/a&gt; is a 31 minute video at Channel 9.&lt;br /&gt;7. VS 2008 is not shipped with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;MSDN&lt;/span&gt;. You can Download &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;MSDN&lt;/span&gt; Library for VS 2008 from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=6ff3bc60-32c8-4c22-8591-a20bf8dff1a2&amp;amp;DisplayLang=en"&gt;here&lt;/a&gt;.&lt;br /&gt;8. The details about VS 2008 express edition (free) are available &lt;a href="http://www.microsoft.com/express/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-5939752624418190160?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx' title='Visual Studio 2008 and .NET 3.5 Released'/><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/5939752624418190160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/visual-studio-2008-and-net-35-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5939752624418190160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5939752624418190160'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/visual-studio-2008-and-net-35-released.html' title='Visual Studio 2008 and .NET 3.5 Released'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-891010726000440831</id><published>2007-11-19T22:38:00.001+05:30</published><updated>2007-11-20T11:44:17.338+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Yanesh'/><title type='text'>Benefit of Using Technorati Tags on your blog</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p align="justify"&gt;Today, I received a mail from one of my old friend. he happened to visit my blog and was surprised to see Technorati tags there. He called me up to ask what these tags are and why I used them on my blog. In his own words, &lt;p align="justify"&gt;&lt;em&gt;"Yaar, your blog seems to be advertising for this web site called Technorati.com. Are you being paid for this?"&lt;/em&gt; &lt;p align="justify"&gt;I was quite surprised to see the reaction of &lt;a title="Technorati is an Internet search engine for searching blogs." href="http://en.wikipedia.org/wiki/Technorati" target="_blank"&gt;Technorati&lt;/a&gt; tags. Then&amp;nbsp; I told him what Technorati tags are and why I use them on my blog.  &lt;p align="justify"&gt;Later on I thought that many other people might also be thinking in the same way. So I decided to post a blog entry on this matter.  &lt;p align="justify"&gt;Tags are keywords or topics which you place at the bottom (or anywhere) of your blog post to catch the attention of Technorati and other search engines. Technorati is a search engine which indexes the blog which uses its tags. &lt;em&gt;Technorati doesn't pay anything to me anybody to place a Technorati tag on his blog. They even don't pay me to write these stuff though I am advocating to use Technorati tags on your blog. (I wish they should pay me for that. Ha ha ha). &lt;/em&gt;Instead it helps the blog author in many ways (see below).  &lt;p align="justify"&gt;A common question arises - why Technorati do all this? The answer is that when you place a link of Technorati tag on your page, you increase the popularity of Technorati. When millions of blogs do the same thing, Technorati gets great page rank and a very very large number of hits on its pages. Technorati puts ads on its pages and the amount one charges to display an ad is directly proportional to number of hits on that page. So Technorati earns money indirectly. But that is not the concern of a blog author. As an author of a blog, I get many free of cost benefits by using Technorati tags. &lt;p align="justify"&gt;&lt;strong&gt;&lt;u&gt;The benefits of using Technorati Tags on your blog:&lt;/u&gt;&lt;/strong&gt; &lt;p align="justify"&gt;1. It gets your page recognized by Technorati and other &lt;a title="Blogosphere is a collective term encompassing all blogs and their interconnections." href="http://en.wikipedia.org/wiki/Blogosphere" target="_blank"&gt;blogosphere&lt;/a&gt; search engines thus increasing the chance of people finding your blog. &lt;p align="justify"&gt;2. It gets your blog indexed on search engines like &lt;a href="http://google.com" target="_blank"&gt;Google&lt;/a&gt;, &lt;a href="http://yahoo.com" target="_blank"&gt;yahoo&lt;/a&gt; etc. driving more inward traffic to your blog and increasing popularity and readership. &lt;p align="justify"&gt;3. It increase page views per visit because readers can find more on a topic that interests them.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:89a3af38-c615-4d25-9153-562d0329a896" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:    &lt;a href="http://technorati.com/tags/Technorati/" rel="tag"&gt;Technorati&lt;/a&gt;   ,    &lt;a href="http://technorati.com/tags/Tags/" rel="tag"&gt;Tags&lt;/a&gt;   ,    &lt;a href="http://technorati.com/tags/Blog/" rel="tag"&gt;Blog&lt;/a&gt;   ,    &lt;a href="http://technorati.com/tags/Search%20Engine/" rel="tag"&gt;Search Engine&lt;/a&gt;   ,    &lt;a href="http://technorati.com/tags/Popularity/" rel="tag"&gt;Popularity&lt;/a&gt;   ,    &lt;a href="http://technorati.com/tags/Indexing/" rel="tag"&gt;Indexing&lt;/a&gt;   &lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-891010726000440831?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/891010726000440831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/benifit-of-using-technorati-tags-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/891010726000440831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/891010726000440831'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/benifit-of-using-technorati-tags-on.html' title='Benefit of Using Technorati Tags on your blog'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-3396572943862995224</id><published>2007-11-15T22:04:00.001+05:30</published><updated>2009-02-02T13:36:22.214+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Putting ASP.net Application In Offline Mode Using app_offline.htm</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p align="justify"&gt;Today, I was updating a stored procedure of SQL Server Express Edition 2005 within the Visual Studio 2005. At the same time, I tried to open a page of my application in internet browser using IIS (localhost). And I got the error stating: &lt;blockquote&gt; &lt;p&gt;'T&lt;em&gt;he application is currently offline. Remove app_offline.htm file from applications root directory.&lt;/em&gt;'&lt;/p&gt;&lt;/blockquote&gt; &lt;p align="justify"&gt;I never heard of app_offline.htm file before. As a habit I pressed 'F5' to refresh the page and it worked fine. 'What the hell was this?', I thought. I googled about the file in error message and learned some interesting facts. Here is what I found: &lt;p&gt;&lt;em&gt;&lt;strong&gt;app_offlinne.htm&lt;/strong&gt;&lt;/em&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt; &lt;p align="justify"&gt;When ASP.Net found a file names &lt;em&gt;app_offlinne.htm &lt;/em&gt;in the root of a web application directory, it shut-down the application, unload the application domain from the server, and stop processing any new incoming requests for that application. ASP.NET also then respond to all requests for dynamic pages in the application by sending back the content of the app_offline.htm file (for example: you might want to have a “site under construction” or “down for maintenance” message). &lt;p&gt;&lt;strong&gt;Visual Studio 2005 And app_offline.htm&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;p align="justify"&gt;SQL Server 2005 express edition does not support multiple processes. Only single process can access database at a time. So when a database is accessed through visual studio, ASP.net runtime cannot access the database. This will result into the internal server error.&amp;nbsp; To prevent this, VS 2005 places &lt;em&gt;app_offline.htm&lt;/em&gt; file in the application's root directory. The file contain above message. This causes ASP.net to put the application in offline mode. Please note the accessing database means opening any component of the database (I.e. table, view, stored procedure etc.) into the design window. When design window is closed, VS 2005 removes &lt;em&gt;app_offline.htm&lt;/em&gt; file. &lt;p&gt;&lt;strong&gt;Using app_offline.htm As A Feature&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;p align="justify"&gt;You may use app_offline.htm feature to put your application in offline mope for any purpose. This provides a convenient way to take down your application while you are making big changes or copying in lots of new page functionality (and you want to avoid the annoying problem of people hitting and activating your site in the middle of a content update). It can also be a useful way to immediately unlock and unload a SQL Express or Access database whose .mdf or .mdb data files are residing in the /app_data directory. &lt;p align="justify"&gt;You should keep an eye on a feature of IE6 called "Show Friendly Http Errors".&amp;nbsp; This can be configured in the Tools-&amp;gt;Internet Options-&amp;gt;Advanced tab within IE, and is on by default with IE6.&amp;nbsp; When this is on, and a server returns a non HTTP-200 status code with less than 512 bytes of content, IE will not show the returned HTML and instead substitutes its own generic status code message (which personally I don't think is super friendly &amp;lt;g&amp;gt;). &lt;p align="justify"&gt;So if you use the app_offline.htm feature, you should make sure you have at least 512 bytes of content within it to make sure that your HTML (instead of IE's friendly status message) shows up to your users.&amp;nbsp; If you don't want to have a lot of text show-up on the page, one trick you can use is to just add an html client-side comment with some bogus content to push it over 512 bytes. &lt;p align="justify"&gt;Once you remove the app_offline.htm file, the next request into the application will cause ASP.NET to load the application and app-domain again, and life will continue along as normal. &lt;p align="justify"&gt;&lt;strong&gt;References:&lt;/strong&gt; &lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;ol&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a href="http://tabletdev.com/andy/archive/2005/10/31/819.aspx"&gt;Andy Gray&lt;/a&gt; wrote an interesting story on how his application stops working and starts giving error 404 when he killed visual studio process.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a href="http://weblogs.asp.net/pscott/archive/2005/07/27/420727.aspx"&gt;Phill Scott&lt;/a&gt; writes his experience about suddenly getting error 404 and finding the app_offline.htm file culprit.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a href="http://p2p.wrox.com/blogs_comments.asp?BLOG_ID=108"&gt;Chris Ullman&lt;/a&gt;, author of &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764588508.html"&gt;Beginning ASP.NET 2.0&lt;/a&gt; also had similar experience.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p align="justify"&gt;&lt;strong&gt;Acknowledgement&lt;/strong&gt; &lt;p align="justify"&gt;I must thank &lt;a href="http://weblogs.asp.net/scottgu/about.aspx" target="_blank"&gt;ScottGu&lt;/a&gt; for providing useful &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx"&gt;details&lt;/a&gt; about this mysterious file. I could not found any official documentation from Microsoft about this. But &lt;a href="http://weblogs.asp.net/scottgu/" target="_blank"&gt;ScottGu's blog&lt;/a&gt; is as authentic and Microsoft's documentation.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:901478cc-6dfd-4da7-a25c-4e2c52c54c07" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/asp.net" rel="tag"&gt;asp.net&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/.net" rel="tag"&gt;.net&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/offline%20mode" rel="tag"&gt;offline mode&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/app_offline.htm" rel="tag"&gt;app_offline.htm&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/sql%20server%202005" rel="tag"&gt;sql server 2005&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/visual%20studio%202005" rel="tag"&gt;visual studio 2005&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Error%20404" rel="tag"&gt;Error 404&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Yanesh" rel="tag"&gt;Yanesh&lt;/a&gt; 		&lt;/div&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-3396572943862995224?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/3396572943862995224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/putting-aspnet-application-in-offline.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/3396572943862995224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/3396572943862995224'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/putting-aspnet-application-in-offline.html' title='Putting ASP.net Application In Offline Mode Using app_offline.htm'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-6983503044172530876</id><published>2007-11-15T00:45:00.001+05:30</published><updated>2007-11-15T00:45:29.079+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>Cetrification in Ethical Hacking</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Wanna become a hacker?  &lt;p&gt;Now is the chance to hack corporate networks without worrying legal suits. Become a Certified Ethical Hacker. An ethical hacker works to identify vulnerabilities in computer systems so they can be made less susceptible to criminal hackers' malicious attacks. Without breaking laws or stealing data, ethical hackers uncover weaknesses by attacking IT systems using the same under-the-radar techniques criminal hackers employ. A Certified Ethical Hacker is a skilled professional who understands and knows how to look for the weaknesses and vulnerabilities in target systems and uses the same knowledge and tools as a malicious hacker. &lt;p&gt;"Ethical hackers typically have very strong programming and computer networking skills and have been in the computer and networking business for several years. ... These base skills are augmented with detailed knowledge of the hardware and software provided by the more popular computer and networking hardware vendors." says &lt;a href="http://www.research.ibm.com/journal/sj/403/palmer.html"&gt;C.C. Palmer&lt;/a&gt;, an IBM technologist.  &lt;p&gt;An ethical hacker's evaluation of a system's security seeks answers to three basic questions:  &lt;ul&gt; &lt;li&gt;What can an intruder see on the target systems?  &lt;li&gt;What can an intruder do with that information?  &lt;li&gt;Does anyone at the target notice the intruder's attempts or successes? &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;While the first and second of these are clearly important, the third is even more important: If the owners or operators of the target systems do not notice when someone is trying to break in, the intruders can, and will, spend weeks or months trying and will usually eventually succeed.  &lt;p&gt;&lt;a href="http://www.eccouncil.org"&gt;EC-Council&lt;/a&gt; (International Council of E-Commerce Consultants) provides &lt;a href="http://www.eccouncil.org/CEH.htm"&gt;certification &lt;/a&gt;in ethical hacking (CEH). The CEH Program certifies individuals in the specific network security discipline of Ethical Hacking from a vendor-neutral perspective. The Certified Ethical Hacker certification will fortify the application knowledge of security officers, auditors, security professionals, site administrators, and anyone who is concerned about the integrity of the network infrastructure.  &lt;p&gt;You need to undergo CES training before passing exam. CEH training is typically an intense, five-day course that emphasizes the creative, ever-changing ways hackers gain access to IT systems. "Labs take students through real-world scenarios, which require them to use creativity and demonstrate the ability to solve unusual problems," says Steven DeFino, a course instructor at New Horizons Computer Learning Centers in Salt Lake City.  &lt;p&gt;CEH courses are offered at EC-Council-authorized training centers around the world. Topics covered include:  &lt;ul&gt; &lt;li&gt;Perimeter defenses.  &lt;li&gt;Hacking tools.  &lt;li&gt;Session hijacking.  &lt;li&gt;Password cracking.  &lt;li&gt;Firewall evasion.  &lt;li&gt;Intrusion detection. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.eccouncil.org/ceh-faq.htm"&gt;More Information on CEH&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.eccouncil.org/takeexam.htm"&gt;CEH Certification Path&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.research.ibm.com/journal/sj/403/palmer.html"&gt;Ethical Hacking Explained&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3a733276-1ea4-46d2-8315-c42c14841387" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Hacking/" rel="tag"&gt;Hacking&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/CEH/" rel="tag"&gt;CEH&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Ehical%20Hacking/" rel="tag"&gt;Ehical Hacking&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Certification/" rel="tag"&gt;Certification&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Yanesh/" rel="tag"&gt;Yanesh&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Technology/" rel="tag"&gt;Technology&lt;/a&gt; 		&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-6983503044172530876?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/6983503044172530876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/cetrification-in-ethical-hacking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/6983503044172530876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/6983503044172530876'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/cetrification-in-ethical-hacking.html' title='Cetrification in Ethical Hacking'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-5133867373170164074</id><published>2007-11-13T22:09:00.001+05:30</published><updated>2009-02-02T13:36:22.215+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Microsoft Security Summit 2007</title><content type='html'>&lt;p&gt; Microsoft is organizing a one-day workshop on software security in Mumbai, Pune, Kolkata and Chennai.. The summit is useful for:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Software Developer  &lt;li&gt;Analysts  &lt;li&gt;Architects  &lt;li&gt;Project Managers&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;Agenda&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;h2&gt;09.00 - 09.30 hrs : &lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Registration&lt;/strong&gt; &lt;p&gt;09.30 - 11.00 hrs  &lt;p&gt;&lt;b&gt;Microsoft Platform Security – An Overview&lt;/b&gt; &lt;p align="justify"&gt;Get a detailed view on the different components of the security development lifecycle, latest updates on security challenges, trends and statistics. &lt;h2&gt;11.00 – 11.30 hrs &lt;/h2&gt; &lt;p&gt;&lt;b&gt;Tea Break&lt;/b&gt; &lt;h2&gt;11.30 – 13.00 hrs &lt;/h2&gt; &lt;p&gt;&lt;b&gt;Application Platform Security&lt;/b&gt; &lt;p align="justify"&gt;As a developer who has written applications for any one of these platforms, you must have noticed similarities in .NET and J2EE. For anyone who has developed applications on both J2EE and .NET, you must have noticed the differences between them that make designing applications for both these platforms way different from each other. In this session we are going to talk about the similarities in the approaches of both .NET and J2EE and how you can cross leverage your skills across these platforms. We will also talk about underlying core differences and how you can make use of these feature differences to write more secure applications. As an added bonus we will show you how you can use a few common tools to detect security holes in your code. &lt;h2&gt;13.00 – 14.00 hrs &lt;/h2&gt; &lt;p&gt;&lt;b&gt;Lunch&lt;/b&gt; &lt;h2&gt;14.00- 15.30 hrs &lt;/h2&gt; &lt;p&gt;&lt;b&gt;Data Platform Security&lt;/b&gt; &lt;p align="justify"&gt;The Web provides a convenient, cheap, and instantaneous way of publishing data. Now it is extremely easy to disseminate information, it is equally important to ensure that the information is only accessible to those who have the rights to use it. Never before has information security had so many vulnerable points. As the computing industry moves from the mainframe era to the client/server era to the Internet era, a substantially increasing number of points of penetration have opened up. New security procedures and technology are pioneered daily, and this session explains the various security systems involved with solving the current problems via the Server Security, User-authentication security, session security and more. For each layer of security added, the system becomes more protected. Like a chain, however, the entire shield may be broken if there is a weak link. And this session will take a sneak preview of how database security and the various database environments are up for the challenge. &lt;h2&gt;15.30- 16.00 hrs &lt;/h2&gt; &lt;p&gt;&lt;b&gt;Tea Break &lt;/b&gt; &lt;h2&gt;16.00- 17.30 hrs &lt;/h2&gt; &lt;p&gt;&lt;b&gt;Web Platform Security&lt;/b&gt; &lt;p align="justify"&gt;A security compromise of online web applications could result in huge losses of data and valuable customer information, causing irreversible losses. Popular web platforms such as ASP.NET and Linux/ Apache/ MySQL/ PHP should be designed to minimize security risks occurring due to a bug in the code or a vulnerability in the overall environment. Validating user input, handling user data securely, protecting vital configuration data, blocking common hacks such as injection and cross-site scripting, etc. are some of the basic features required in developing secure web applications. Learn how the LAMP platform and ASP.NET/IIS handle these various security scenarios and why ASP.NET/IIS can provide you with a much safer and secure environment for hosting web applications.&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;Date Time and Venue&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;h2&gt;Mumbai &lt;/h2&gt; &lt;p&gt;21st Nov 2007. GRAND HYATT. &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032358521&amp;amp;Culture=en-IN"&gt;Register Now!&lt;/a&gt; &lt;h2&gt;Pune&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Friday, 23rd Nov 2007&lt;/strong&gt;. Taj Blue Diamond. &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032358524&amp;amp;Culture=en-IN"&gt;Register Now!&lt;/a&gt; &lt;h2&gt;Kolkata&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Thursdays, 06th Dec 2007&lt;/strong&gt;. Taj Bengal. &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032358526&amp;amp;Culture=en-IN"&gt;Register Now!&lt;/a&gt; &lt;h2&gt;Chennai&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Friday, 14th Dec 2007&lt;/strong&gt;. The Park. &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032358531&amp;amp;Culture=en-IN"&gt;Register Now!&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b7a49e94-93ed-47af-844d-0739ab3d41eb" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Microsoft%20Security%20Summit" rel="tag"&gt;Microsoft Security Summit&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/India" rel="tag"&gt;India&lt;/a&gt; 		&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-5133867373170164074?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/5133867373170164074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/microsoft-security-summit-2007.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5133867373170164074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5133867373170164074'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/microsoft-security-summit-2007.html' title='Microsoft Security Summit 2007'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-2782545972153962622</id><published>2007-11-12T22:15:00.001+05:30</published><updated>2009-02-02T13:36:22.217+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Microsoft Code Names</title><content type='html'>&lt;blockquote&gt; &lt;h5&gt;&lt;b&gt;&lt;/b&gt;&lt;/h5&gt; &lt;h1&gt;Microsoft Codenames&lt;/h1&gt; &lt;h5&gt; &lt;h5&gt;Microsoft codenames are the codenames given by Microsoft to products it has in development, before these products are given the names by which they appear on store shelves. Many of these products (new versions of Windows in particular) are of major significance to the IT community, and so the terms are often widely used in discussions prior to the official release. Microsoft usually does not announce a final name until shortly before the product is publicly available.&lt;/h5&gt; &lt;p&gt;&lt;/h5&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;Visual Studio Codenames&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;h2&gt;Thunder&lt;/h2&gt; &lt;p&gt;Visual Basic 1.0. The first version of Visual Basic. The standard dialogs and controls created by the Visual Basic runtime library all have "Thunder" as a prefix of their internal type names (for example, buttons are internally known as ThunderCommandButton). &lt;h2&gt;&lt;b&gt;Zamboni&lt;/b&gt;&lt;/h2&gt; &lt;p&gt;Microsoft Visual C++ 4.1. After Zamboni, an ice resurfacing machine. &lt;h2&gt;Aspen&lt;/h2&gt; &lt;p&gt;Visual Studio 98 (6.0). Ski Resort in Colorado &lt;h2&gt;Cool&lt;/h2&gt; &lt;p&gt;C#. Short for: C-based Object Oriented Language &lt;p&gt;&lt;b&gt;&lt;/b&gt; &lt;h2&gt;Rainier&lt;/h2&gt; &lt;p&gt;Visual Studio .NET 2002. After Rainier, a small town south of Seattle. Mount Rainier is a dormant volcano. &lt;h2&gt;Everett&lt;/h2&gt; &lt;p&gt;Visual Studio .NET 2003. After Everett, a large city near Seattle. &lt;h2&gt;Whidbey&lt;/h2&gt; &lt;p&gt;Visual Studio 2005. After Whidbey Island in Puget Sound. A little farther from Seattle than Everett. &lt;h2&gt;Orcas&lt;/h2&gt; &lt;p&gt;Visual Studio 2008. Named after Orcas Island, located in Puget Sound. Farther still from Seattle. &lt;h2&gt;Rosario&lt;/h2&gt; &lt;p&gt;Team System-only release after Visual Studio 2008. Named after a resort located on Orcas Island. &lt;h2&gt;Burton&lt;/h2&gt; &lt;p&gt;Visual Studio Team System. Unknown, although it is the name of a North American manufacturer of snowboards. &lt;h2&gt;Hawai&lt;/h2&gt; &lt;p&gt;Successor or Orcas. An island 'much further out' than Orcas or Whidbey. Also, where the development team plan to celebrate its completion.  &lt;h2&gt;Hatteras &lt;/h2&gt; &lt;p&gt;Visual Studio Team System's Source Control System. Named after the Cape Hatteras Lighthouse in the Outer Banks region of North Carolina. &lt;h2&gt;Ocracoke&lt;/h2&gt; &lt;p&gt;Visual Studio Team System load testing suite. Named after the Ocracoke Island Lighthouse on Ocracoke Island, also in North Carolina. &lt;h2&gt;Currituck&lt;/h2&gt; &lt;p&gt;Team Foundation Work Item Tracking. Named after the Currituck Beach Lighthouse in Corolla, North Carolina. &lt;h2&gt;Bodie&lt;/h2&gt; &lt;p&gt;Team Foundation Server SDK. Named after the Bodie Island Lighthouse in North Carolina. &lt;h2&gt;Whitehorse&lt;/h2&gt; &lt;p&gt;Visual Studio Team System's designers for architects. &lt;p&gt;Includes Application Designer, Logical Data Center Designer, System Designer, and Deployment Designer. &lt;h2&gt;Fidalgo&lt;/h2&gt; &lt;p&gt;Visual Studio 2005 Extensions for WinFX. Named after Fidalgo Island, located in Puget Sound in the San Juan Islands. &lt;h2&gt;Tuscany&lt;/h2&gt; &lt;p&gt;Online version of Visual Studio. Currently a research project. &lt;h2&gt;Lightning&lt;/h2&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt;.Net CLR &lt;h2&gt;Clarity&lt;/h2&gt; &lt;p&gt;LINQ. &lt;a href="http://en.wikipedia.org/wiki/Language_Integrated_Query"&gt;Language Integrated Query&lt;/a&gt; Language extensions to expose query syntax natively to languages such as &lt;a href="http://en.wikipedia.org/wiki/Visual_Basic_.NET"&gt;Visual Basic .NET&lt;/a&gt; and C# &lt;h2&gt;Milan&lt;/h2&gt; &lt;p&gt;Microsoft Surface.&amp;nbsp; Table-top style computer with multi-touch touchscreen interface. &lt;h2&gt;Mira&lt;/h2&gt; &lt;p&gt;Windows CE .NET-based technology for &lt;a href="http://en.wikipedia.org/wiki/Smart_display"&gt;smart displays&lt;/a&gt;.  &lt;h2&gt;Singularity&lt;/h2&gt; &lt;p&gt;Experimental operating system based on the Microsoft .NET platform, using software-based type safety as a replacement for hardware-based memory protection. Project homepage. &lt;h2&gt;Avalon&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows Presentation Foundation &lt;h2&gt;Hail Storm&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Net My Services. Project to make MSN-hosted user data available to the same users at non-Microsoft web sites; never released &lt;h2&gt;Indigo&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows Communication Foundation &lt;h2&gt;Jolt&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Silverlight 1.0 &lt;h2&gt;Paxos&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Silverlight 1.1 &lt;h2&gt;Toaster&lt;/h2&gt; &lt;p&gt;In Microsoft jargon, the "&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Toaster"&gt;toaster&lt;/a&gt;&lt;/b&gt;" is the hardware equivalent of fictional entities, such as the Contoso company or the &lt;a href="http://tempuri.org/"&gt;http://tempuri.org/&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier"&gt;URI&lt;/a&gt;, used in documentation and sample code as placeholders to be redefined by third-party developers. &lt;h2&gt;Astoria&lt;/h2&gt; &lt;p&gt;A framework that takes advantage of Windows Communication Foundation and the Entity Data Model (EDM) to allow developers to expose data in the cloud. &lt;a title="Astoria" href="http://yaneshtyagi.blogspot.com/2007/09/microsoft-code-name-astoria.html" target="_blank" rel="tag"&gt;Read More...&lt;/a&gt; &lt;h2&gt;Rotor&lt;/h2&gt; &lt;p&gt;Shared Source Common Language Infrastructure (SSCLI) &lt;h2&gt;Atlas&lt;/h2&gt; &lt;p&gt;An implementation for ASP.NET of Ajax native to the .NET Framework 2.0. &lt;p&gt; &lt;h3&gt;&lt;strong&gt;Windows Codenames&lt;/strong&gt;&lt;/h3&gt; &lt;h2&gt;Whistler&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows XP &lt;h2&gt;Springboard&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows XP SP2 &lt;h2&gt;Longhorn&lt;/h2&gt; &lt;p&gt;Windows Vista/ Windows Server 2008 (In Development). Named after the Longhorn Bar in the Whistler-Blackcomb resort &lt;h2&gt;Fiji&lt;/h2&gt; &lt;p&gt;Windows Vista Service Pack 1 &lt;h2&gt;Polaris&lt;/h2&gt; &lt;p&gt;Windows Media Player 11 for XP &lt;h2&gt;Aurora&lt;/h2&gt; &lt;p&gt;Windows Media Player 11 for Vista &lt;p&gt;&lt;u&gt; &lt;h3&gt;&lt;strong&gt;SQL Server Codenames&lt;/strong&gt;&lt;/h3&gt;&lt;/u&gt; &lt;h2&gt;Hydra&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL 6.5 &lt;h2&gt;Sphinx&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL 7.0 &lt;h2&gt;Shiloh&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL 2000 &lt;h2&gt;Yukon&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL 2005 &lt;h2&gt;&lt;strong&gt;Katmai&lt;/strong&gt;/&lt;strong&gt;Akadia&lt;/strong&gt;&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL 2008 &lt;p&gt; &lt;h3&gt;&lt;strong&gt;Windows Live Codenames&lt;/strong&gt;&lt;/h3&gt; &lt;h2&gt;Kahuna&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="Windows Live Pack" href="http://yaneshtyagi.spaces.live.com/blog/cns!F66AE167494DDA0!223.entry" target="_blank" rel="tag"&gt;Windows Live Mail&lt;/a&gt; &lt;h2&gt;Tornado&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSN Messenger &lt;h2&gt;Istanbul&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft Office Communicator 2005&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:03a6c557-dde5-440d-819b-6331c5133266" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Microsoft%20Code%20Names/" rel="tag"&gt;Microsoft Code Names&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/.Net/" rel="tag"&gt;.Net&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Technology/" rel="tag"&gt;Technology&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Thinder/" rel="tag"&gt;Thinder&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Zamboni/" rel="tag"&gt;Zamboni&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Aspen/" rel="tag"&gt;Aspen&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Cool/" rel="tag"&gt;Cool&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Rainier/" rel="tag"&gt;Rainier&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Everett/" rel="tag"&gt;Everett&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Whidbey/" rel="tag"&gt;Whidbey&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Orcas/" rel="tag"&gt;Orcas&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Rosario/" rel="tag"&gt;Rosario&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Burton/" rel="tag"&gt;Burton&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Hawai/" rel="tag"&gt;Hawai&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Hatteras/" rel="tag"&gt;Hatteras&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Ocracoke/" rel="tag"&gt;Ocracoke&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Currituck/" rel="tag"&gt;Currituck&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Bodie/" rel="tag"&gt;Bodie&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Whitehorse/" rel="tag"&gt;Whitehorse&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Fidalgo/" rel="tag"&gt;Fidalgo&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Tuscany/" rel="tag"&gt;Tuscany&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Lightning/" rel="tag"&gt;Lightning&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Clarity/" rel="tag"&gt;Clarity&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Milan/" rel="tag"&gt;Milan&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Mira/" rel="tag"&gt;Mira&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Singularity/" rel="tag"&gt;Singularity&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Avalon/" rel="tag"&gt;Avalon&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Hail%20Storm/" rel="tag"&gt;Hail Storm&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Indigo/" rel="tag"&gt;Indigo&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Jolt/" rel="tag"&gt;Jolt&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Paxos/" rel="tag"&gt;Paxos&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Toaster/" rel="tag"&gt;Toaster&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Astoria/" rel="tag"&gt;Astoria&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Rotor/" rel="tag"&gt;Rotor&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Atlas/" rel="tag"&gt;Atlas&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Hydra/" rel="tag"&gt;Hydra&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Sphinx/" rel="tag"&gt;Sphinx&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Shiloh/" rel="tag"&gt;Shiloh&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Yokun/" rel="tag"&gt;Yokun&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Katmai/" rel="tag"&gt;Katmai&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Akadia/" rel="tag"&gt;Akadia&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Kahuna/" rel="tag"&gt;Kahuna&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Tornado/" rel="tag"&gt;Tornado&lt;/a&gt; 		&lt;/div&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-2782545972153962622?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/2782545972153962622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/microsoft-code-names.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2782545972153962622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2782545972153962622'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/microsoft-code-names.html' title='Microsoft Code Names'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-7431784224389719916</id><published>2007-11-11T11:42:00.000+05:30</published><updated>2007-11-11T11:41:43.836+05:30</updated><title type='text'>Happy Diwali</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Diwali" target="_blank"&gt;Diwali&lt;/a&gt; is the celebration of enlightenment. This year, Diwali fulfilled one of my dream. I always fantasized about wearing traditional India dress - dhoti kurta in office. But you are not allowed wearing such dress in office - damn office protocol. On Diwali, our admin department was kind enough to let us wear ethnic wear. I took the opportunity and wear dhoti kurta.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Diwali is a five day celebration. The first day is called &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Dhanteras" target="_blank"&gt;dhanteras&lt;/a&gt;&lt;/em&gt;. Traditionally, utensils are purchased on this day. Second day is &lt;em&gt;chotti Diwali&lt;/em&gt; also called &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Naraka_Chaturdashi" target="_blank"&gt;Naraka Chaturdashi&lt;/a&gt;.&lt;/em&gt; This is said to be the Diwali of shopkeepers. People buy sweets, crackers etc, on this day. The third day -&lt;em&gt;Diwali&lt;/em&gt; is the main festival. People wear new clothes and distribute sweets. People worship the goddess of wealth - &lt;em&gt;Laxmi&lt;/em&gt; along with &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Ganesha" target="_blank"&gt;Ganesha&lt;/a&gt;&lt;/em&gt;, the son of &lt;a href="http://en.wikipedia.org/wiki/Shiva" target="_blank"&gt;Lord Shiva&lt;/a&gt;. The next day is &lt;em&gt;Govardhan Puja&lt;/em&gt;. The &lt;em&gt;go-dhan&lt;/em&gt; i.e. cattle especially cow is worshiped this day. The last day is &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Bhaubeej" target="_blank"&gt;Bhaiduj&lt;/a&gt;,&lt;/em&gt; the day to express love between brothers a sisters.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Every corner of the city is lighted with candles and &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Diya_%28light%29" target="_blank"&gt;diyas&lt;/a&gt;&lt;/em&gt;. Now-a-days people use electric lights. The city seems like beautiful heaven. People burn crackers and fire works.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;But I have some concerns. First, why we celebrate Diwali. Common belief is that &lt;a href="http://en.wikipedia.org/wiki/Rama" target="_blank"&gt;Lord Rama&lt;/a&gt; returned to &lt;a href="http://en.wikipedia.org/wiki/Ayodhya" target="_blank"&gt;Ayodhya&lt;/a&gt; on this day after killing &lt;a href="http://en.wikipedia.org/wiki/Ravana" target="_blank"&gt;Ravana&lt;/a&gt;, the king of Lanka. Then why don't we worship Lord Rama? Some people believe this day as the beginning of Hindu financial year. So we worship goddess &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Laxmi" target="_blank"&gt;Laxmi&lt;/a&gt;.&lt;/em&gt; That's OK. Then why do we waste money in crackers?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;We do worse to our environment on this auspicious day. Crackers cause lots of air pollution and noise pollution (&lt;a href="http://www.cseindia.org/campaign/apc/dark_trends.htm" target="_blank" title="Report showing air pollution on Diwali"&gt;report&lt;/a&gt;). People suffering with heart disease are prone to attack because of the loud and sudden noise of crackers. The amount of &lt;a href="http://en.wikipedia.org/wiki/Air_pollution" target="_blank"&gt;poisonous gases&lt;/a&gt; such as &lt;a href="http://en.wikipedia.org/wiki/Sulfur_dioxide" target="_blank"&gt;sulphur dioxide&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Carbon_monoxide" target="_blank"&gt;carbon monoxide&lt;/a&gt; in the air increases beyond limits on Diwali. Even you are not able to breath smoothly.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In India, we have less electricity than we need. And we waste thousands of megawatts of electricity on a single day. Does this do any good to us or our country? As a responsible citizen, we must think about these problems.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The true celebration of Diwali, however, means something else. Diwali comes after a chain of festivals. First comes &lt;em&gt;&lt;a href="http://kamalkapoor.com/festival/navratras.asp" target="_blank"&gt;navratras&lt;/a&gt;&lt;/em&gt;. This is a nine day festival where people keep fasts and pray different goddesses. People prey &lt;em&gt;shakti&lt;/em&gt; (The Power) which governs the world. The aim of &lt;em&gt;navratras&lt;/em&gt; is to purify our behavior. It is the process of &lt;em&gt;aatm-shuddhi&lt;/em&gt; i.e. purification of one's thoughts. After &lt;a href="http://kamalkapoor.com/festival/navratras.asp" target="_blank"&gt;navratra&lt;/a&gt;, comes &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Vijayadashami" target="_blank"&gt;Dussehra&lt;/a&gt;&lt;/em&gt;. This is celebrated as the victory of good over the evil. This means that by &lt;em&gt;dushhera&lt;/em&gt;, we have cleared and purified our thoughts. A pure heart is subject to enlightenment. So now we are on the path of enlightenment. Then came Diwali - the festival of enlightenment. By now, our thoughts are purest and our heart is full of enlightenment.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So Diwali is about the lightning of our inner self and not about wasting electricity and polluting air. I hope, next time before purchasing crackers, we will think about it.&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-7431784224389719916?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/7431784224389719916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/happy-diwali.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7431784224389719916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7431784224389719916'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/happy-diwali.html' title='Happy Diwali'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-4949520041309014817</id><published>2007-11-06T21:38:00.001+05:30</published><updated>2007-11-06T21:50:40.573+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>What is KISS?</title><content type='html'>&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p style="TEXT-ALIGN: justify"&gt;The term &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/KISS_principle"&gt;KISS&lt;/a&gt;&lt;/em&gt; is an acronym of the phrase "Keep It Simple, Stupid", and the &lt;em&gt;&lt;strong&gt;KISS principle&lt;/strong&gt;&lt;/em&gt; states that design simplicity should be a key goal and unnecessary complexity avoided. It serves as a useful and frequent verbal exhortation (or even dedicated policy) in software development, animation, engineering, and in strategic planning (especially military operations). Other versions of the phrase include "Keep It Simple &amp;amp; Stupid" (most recently used in west-European literature), "Keep It Sweet &amp;amp; Simple", "Keep It Short &amp;amp; Simple", "Keep it Simple, Sweetheart", and "Keep it Simple, Sherlock".&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The principle roughly corresponds to &lt;a href="http://en.wikipedia.org/wiki/Occam%27s_razor"&gt;Occam's razor&lt;/a&gt;, and to &lt;a href="http://en.wikipedia.org/wiki/Albert_Einstein"&gt;Albert Einstein&lt;/a&gt;'s maxim that "everything should be made as simple as possible, but no simpler."&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Etymology:&lt;/strong&gt; The acronym &lt;em&gt;KISS&lt;/em&gt; is known to have been in use during the U.S. &lt;a href="http://en.wikipedia.org/wiki/Apollo_program"&gt;Apollo program&lt;/a&gt; in the 1960s.&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;&lt;br /&gt;&lt;div style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px" class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2df29c3e-dacc-4b5d-8454-2a327dbd3953"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/KISS" rel="tag"&gt;KISS&lt;/a&gt; , &lt;a href="http://technorati.com/tags/Architecture" rel="tag"&gt;Architecture&lt;/a&gt; , &lt;a href="http://technorati.com/tags/Software%20Designing" rel="tag"&gt;Software Designing&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-4949520041309014817?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/4949520041309014817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/what-is-kiss.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/4949520041309014817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/4949520041309014817'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/what-is-kiss.html' title='What is KISS?'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-5181912096980781256</id><published>2007-11-05T22:17:00.001+05:30</published><updated>2007-11-05T22:17:09.706+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>The Bluetooth Story</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Microsoft scripting guys published an interesting &lt;a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct07/hey1018.mspx"&gt;story&lt;/a&gt; about the origin of Bluetooth at Microsoft TechNet. Here it goes: &lt;p&gt;The Bluetooth “personal area networking” protocol was named in honor of &lt;a href="http://en.wikipedia.org/wiki/Harald_I_of_Denmark" target="_blank"&gt;Harald Bluetooth Gormson&lt;/a&gt;, son of King Gorm the Old, the one time King of &lt;a href="http://en.wikipedia.org/wiki/Jutland" target="_blank"&gt;Jutland&lt;/a&gt;. (We’re not sure if Gorm the Old is the name that the King was given at birth; that would be pretty cool, though, wouldn’t it?) We found it interesting that Harald’s &lt;i&gt;middle&lt;/i&gt; name was Bluetooth. After all, Scripting Guy Jean Bluetooth Ross has spent her entire life (79 years and counting) thinking she was the only person to have that middle name. Good news, Jean: you’re not the only Bluetooth after all.  &lt;p&gt;At any rate, Harald became King sometime around 958, upon the death of his father. Over time, Harald conquered all of modern-day Denmark and Norway, and, along the way, kind of, sort of converted to Christianity. He had a son named &lt;a href="http://en.wikipedia.org/wiki/Sweyn_Forkbeard" target="_blank"&gt;Sweyn Forkbeard&lt;/a&gt; who, no doubt in retaliation for being given the name Sweyn Forkbeard, eventually led a revolt that cost his father both his throne and his life.  &lt;p&gt;But Harald got the last laugh; after all, how many Forkbeard-enabled devices do you see these days? &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;. There seems to be some disagreement as to where the name Bluetooth came from. Some scholars insist it comes from the old Norse words for “dark-skinned” and “great man,” meaning that Harald had dark skin and, well, was a great man. Others say it’s because Harald actually &lt;i&gt;had&lt;/i&gt; a blue tooth. Fortunately, &lt;a href="petercostantini.spaces.live.com" target="_blank"&gt;Peter Costantini&lt;/a&gt;, the oldest living Scripting Guy, went to junior high school with Harald, so we’ll ask Peter about that. &lt;p&gt;Just as soon as he wakes up from his nap. &lt;p&gt;After we disposed of the question “Where did the name Bluetooth come from?” a second question popped into our heads: &lt;a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct07/hey1018.mspx" target="_blank"&gt;how can you tell if a computer is Bluetooth-enabled?&lt;/a&gt; That turned out to be a much tougher question to answer; in fact, we never did find anything that could tell us definitively whether or not a computer was Bluetooth-enabled. (Or at least not a definitive way to do this programmatically; it’s easy enough to verify that a computer is Bluetooth-enabled by using the Windows Control Panel.) However, based on the fact that Bluetooth &lt;i&gt;is&lt;/i&gt; a network protocol, we managed to come up with the following a &lt;a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct07/hey1018.mspx"&gt;script&lt;/a&gt;, a script that correctly determined whether a handful of test computers were Bluetooth-enabled: &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.biographybase.com/biography/Bluetooth_Harold.html" target="_blank"&gt;Biography of Harald Bluetooth Gormson&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ac7d4d5e-95a9-4377-b131-892c6f7ccd02" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Harald/" rel="tag"&gt;Harald&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Bluetooth/" rel="tag"&gt;Bluetooth&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Scipting/" rel="tag"&gt;Scipting&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/TechNet/" rel="tag"&gt;TechNet&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Jutland/" rel="tag"&gt;Jutland&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Sweyn/" rel="tag"&gt;Sweyn&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Peter/" rel="tag"&gt;Peter&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Yanesh/" rel="tag"&gt;Yanesh&lt;/a&gt; 		&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-5181912096980781256?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/5181912096980781256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/bluetooth-story.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5181912096980781256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5181912096980781256'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/bluetooth-story.html' title='The Bluetooth Story'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-2139825012412820639</id><published>2007-11-01T22:19:00.001+05:30</published><updated>2009-02-02T13:36:22.218+05:30</updated><title type='text'>ASP.Net Session</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;SESSION&lt;/strong&gt;  &lt;p&gt;&lt;u&gt;What is Session: &lt;/u&gt;&lt;br&gt;Session is an object at server side which helps in implementing the mechanism to identify a revisiting user over a stateless protocol like HTTP.  &lt;p&gt;&lt;u&gt;What is Session State&lt;br&gt;&lt;/u&gt;The session object stores the information about a session (like session key). It may also store other information in the form of session variables. The collection of values stored in session object is called session state.  &lt;p&gt;&lt;u&gt;&lt;/u&gt; &lt;p&gt;&lt;u&gt;State Management&lt;br&gt;&lt;/u&gt;The management of session state is called state management. Different server technologies implement different mechanisms for the state management. ASP.net supports both, client side state management as well as server side state management.  &lt;p&gt;At client side, following techniques are used for state management:&lt;br&gt;- Cookie&lt;br&gt;- Hidden Field&lt;br&gt;- View State&lt;br&gt;- Control State&lt;br&gt;- Query String  &lt;p&gt;At server side, following are the techniques, used for state management:&lt;br&gt;- Application State&lt;br&gt;- Cache Object&lt;br&gt;- Session State&lt;br&gt;- Database  &lt;p&gt;In ASP.net, there are three ways to manage session state:  &lt;p&gt;- In-process session state&lt;br&gt;- Out-of-process session state&lt;br&gt;- database  &lt;p&gt;These states are configured in web.config file's session state element.&lt;br&gt;&amp;lt;SessionState mode="Off | InProc | StateServer | SqlServer | Custome" /&amp;gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;InProc Session State&lt;/strong&gt;&lt;br&gt;&lt;/u&gt;when session state is InProc, objects are stored as live reference in the HttpRuntime Internal Cache. The session state is held in memory.&lt;br&gt;- If worker process or application domain recycles, all session data is lost.  &lt;p&gt;- If a web site is maintained on more than one machine, a user may be redirected to any other machine. when the user returns to the original machine, a fresh empty session is created. So InProc session state will not work here.  &lt;p&gt;- If web gardening is used on a multi processor system, where each worker processor has an affinity for a particular CPU, don't use InProc session state.  &lt;p&gt;Accessing Session Object:&lt;br&gt;the EnableSessionState of @Page directive controls the access to a session object for a page. The different values for EnableSessionState attribute are:&lt;br&gt;- (i) True: read/write access to session object. Acquires a write lock on the session object. No other page, requested from the same session, can access session object.&lt;br&gt;- (ii) False: no access to session object.&lt;br&gt;- (iii) ReadOnly: Only readonly access to session object. Acquires a reader lock on the session object.  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Out-of-process Session State&lt;br&gt;&lt;/strong&gt;&lt;/u&gt;when mode is set to state server in web.config, ASP.net maintains out-of-process session state. Out of process session is maintained by aspnet_state.exe file. It runs as a window service and listenes to TCP port 42424. The port can be changed using the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\Port.&lt;br&gt;The aspnet_state service is not started by default. It can be started using MMC service or by running following command:&lt;br&gt;net start aspnet_state.  &lt;p&gt;To use out-of-process, mode is set to StateServer in config.sys file.&lt;br&gt;&amp;lt;Configurattion&amp;gt;&lt;br&gt;&amp;lt;System.Web&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;SessionState mode="StateServer" StateConnectionString = "tcpip=127.0.0.1:42424" /&amp;gt;&lt;br&gt;&amp;lt;/System.Web&amp;gt;&lt;br&gt;&amp;lt;/Configuration&amp;gt;  &lt;p&gt;Since session state is managed on the local machine, so local host's IP is given. You may use a separate machine as state server. In that case, IP of state server should be given in the StateConnectionString. 42424 is the default port. Any port may be used after changing the registry but it should be open.  &lt;p&gt;Out-of-process session state leaves the worker process (aspnet_wp.exe or w3wp.exe) and enters into the state process (aspnet_state.exe). Therefore out-of-process state can't be stored as reference. The objects are passed between processes in binary serialized form. So any object which is used in out of process session state must be instantiated from a serializable class.  &lt;p&gt;A class can be made serializable in the following way:&lt;br&gt;VB.NET&lt;br&gt;&amp;lt;Serializable()&amp;gt; _&lt;br&gt;Public Class MyClass&lt;br&gt;...&lt;br&gt;End Class  &lt;p&gt;C# &lt;p&gt;&lt;br&gt;[Serializable]&lt;br&gt;public class MyClass{&lt;br&gt;...&lt;br&gt;}  &lt;p&gt;&lt;strong&gt;&lt;u&gt;SQL-Backed Session State&lt;br&gt;&lt;/u&gt;&lt;/strong&gt;skipped for now.  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Cookie-less session state&lt;br&gt;&lt;/u&gt;&lt;/strong&gt;Include cookiless = "UseUri" in web.config file.&lt;br&gt;&amp;lt;SessionState Mode = "InProc" Cookieless = "UseUri" /&amp;gt;  &lt;p&gt;In Cookieless session state session-id is embedded into the URL. it seems to be a directory in the URL path.&lt;br&gt;- The session key consists of ASCII values and visible to everyone. They can be easily tempered.&lt;br&gt;- The session is lost, if a relative URL is invoked directly by typing its address. This is because, in this case session key will not be embedded in to the URL.&lt;br&gt;- To generate URL at server side, HttpResponse.ApplyAppPAthModifier method should be involved. For example&lt;br&gt;Response.Write(Response.ApplyAppPAthModifier("foo/bar.aspx")  &lt;p&gt;View State&lt;br&gt;View State is a encrypted hidden field which contains the key-value pair of the values of controls at a page. ViewState can be enabled or disables using the enableViewState attribute of @Page directive. The web server controls also have this attribute.  &lt;p&gt;Objects or variables can be added to view state manually as follows:&lt;br&gt;ViewState["MyKey"] = myKey  &lt;p&gt;Any object, which is to be added to the view state must be derived from a serializable class.  &lt;p&gt;Since view state is encrypted, a developer cannot look into it. Some tools are available to examine the view state. One such tool called View State Decoder is available at &lt;a href="http://www.pluralsight.com/"&gt;http://www.pluralsight.com&lt;/a&gt;. Some tips on using view state are also available at &lt;a href="http://www.hanselman.com/blog/searchview.aspx/q=viewstate"&gt;www.hanselman.com/blog/searchview.aspx/q=viewstate&lt;/a&gt;. A tool to generate machine key is also available at pluralstate.com/tools.aspx.  &lt;p&gt;&lt;u&gt;Securing View State&lt;br&gt;&lt;/u&gt;The &amp;lt;machinekey&amp;gt; element of web.config is used to assign validation key to view state. A algorithm is used to protect view state.&lt;br&gt;&amp;lt;machineKey&amp;nbsp; ValidationKey = "AutoGenerate, IsolateApps"&lt;br&gt;&amp;nbsp; decryptionKey = "AutoGenerate, IsolateApps"&lt;br&gt;&amp;nbsp; validation = "SHA1" /&amp;gt;  &lt;p&gt;ASP.net automatically generate a 128 bit key. IsolateApps tells ASP.net to generate a unique key for each application using application's id. The available validation methods are SHA1, MD5 and 3DES. SHA1 and MD5 are used for temper-proofing while 3DES is used for encryption.  &lt;p&gt;At the page level, in the &amp;lt;pages&amp;gt; configuration, Auto or Always values can be specified to viewStateEncryptionMode attribute. Auto encrypts the view state only when a control requests encryption using Page.RegisterRequiresViewStateEncryption method. Always specifies that the view state should be encrypted always.  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Series of Events during The Life of A HTTP Request:&lt;/u&gt;&lt;/strong&gt;  &lt;p&gt;Begin Request&lt;br&gt;Authenticate Request&lt;br&gt;&lt;em&gt;determines who the user is&lt;br&gt;&lt;/em&gt;Authorize Request&lt;br&gt;&lt;em&gt;determine rights of user&lt;br&gt;&lt;/em&gt;Resolve Request Cache&lt;br&gt;&lt;em&gt;determine weather request can by-pass additional processing&lt;br&gt;&lt;/em&gt;Acquire Request State&lt;br&gt;&lt;em&gt;session state associated with request is about to be acquired&lt;br&gt;&lt;/em&gt;PreRequest Handler execute&lt;br&gt;&lt;em&gt;application code of page execute at this point. HTTP handler is called&lt;br&gt;&lt;/em&gt;Post Request Handler Execute&lt;br&gt;&lt;em&gt;get fired just after HTTP handler is called&lt;br&gt;&lt;/em&gt;Release Request State&lt;br&gt;&lt;em&gt;session state is stored based on web.config setting&lt;br&gt;&lt;/em&gt;Update Request Cache&lt;br&gt;&lt;em&gt;resulting output is ready to be added to cache&lt;br&gt;&lt;/em&gt;End request&lt;/p&gt;&lt;/blockquote&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:be2545ca-fcc0-4c25-b865-680ccebff227" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/ASP/" rel="tag"&gt;ASP&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/ASP.net/" rel="tag"&gt;ASP.net&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Session/" rel="tag"&gt;Session&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Session%20State/" rel="tag"&gt;Session State&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/ASP.Net%20Session/" rel="tag"&gt;ASP.Net Session&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Yanesh/" rel="tag"&gt;Yanesh&lt;/a&gt; 		&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-2139825012412820639?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/2139825012412820639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/aspnet-session.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2139825012412820639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2139825012412820639'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/11/aspnet-session.html' title='ASP.Net Session'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-2378000095904928686</id><published>2007-10-31T23:40:00.001+05:30</published><updated>2007-10-31T23:40:42.395+05:30</updated><title type='text'>Some cool tips on writing good blog entry</title><content type='html'>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d97ab6a1-c4a1-410c-9708-69c51ff698c1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Blog/" rel="tag"&gt;Blog&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Blogging/" rel="tag"&gt;Blogging&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Writing/" rel="tag"&gt;Writing&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Tips/" rel="tag"&gt;Tips&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Revising/" rel="tag"&gt;Revising&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Good%20Writing/" rel="tag"&gt;Good Writing&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Good%20Blogging/" rel="tag"&gt;Good Blogging&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Scott%20Mitchell/" rel="tag"&gt;Scott Mitchell&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/Yanesh/" rel="tag"&gt;Yanesh&lt;/a&gt; 		&lt;/div&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://yaneshtyagi.spaces.live.com/blog/cns!F66AE167494DDA0!164.entry"&gt;Scott Mitchell&lt;/a&gt; (founder, &lt;a href="http://www.4guysfromrolla.com/"&gt;4 guys from rolla&lt;/a&gt;) published a post on his blog about &lt;a href="http://scottonwriting.net/sowblog/posts/12998.aspx"&gt;writing good blogs&lt;/a&gt;. I read the post and follow the suggested links. After reading through a chain of links, I read lots of material on good blogging. Below is the summary of what I read:  &lt;p&gt;&lt;strong&gt;How To Achieve Ultimate Blog Success In One Easy Step&lt;/strong&gt;(&lt;a href="http://www.codinghorror.com/blog/archives/000983.html"&gt;http://www.codinghorror.com/blog/archives/000983.html&lt;/a&gt;)  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;blockquote&gt; &lt;p&gt;My theory is that lead generation derives from Google rank and that the best way to increase Google rank is to be like a professional fighter: neither jabs nor haymakers are enough. &lt;b&gt;You must be always jabbing and you must regularly throw haymakers&lt;/b&gt;. Blog continuously to keep your hit-rate and link-traffic high and write longer pieces, containing the high-value words associated with your niche, occasionally. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;Fear of Writing &lt;/strong&gt;(&lt;a href="http://www.codinghorror.com/blog/archives/000516.html"&gt;http://www.codinghorror.com/blog/archives/000516.html&lt;/a&gt;)  &lt;blockquote&gt; &lt;p&gt;And that's exactly why people who are afraid they can't write &lt;i&gt;should&lt;/i&gt; be blogging. It's like exercise. No matter how out of shape you are, if you exercise a few times a week, you'll inevitably get fitter. &lt;b&gt;And if you write a small blog entry a few times every week, you're bound to become a better writer.&lt;/b&gt; If you're not writing because you're intimidated by writing, well, you're likely to stay that way forever. &lt;/p&gt;&lt;/blockquote&gt; &lt;h5&gt;Users don't care about you (&lt;a href="http://www.codinghorror.com/blog/archives/000536.html"&gt;http://www.codinghorror.com/blog/archives/000536.html&lt;/a&gt;)&lt;/h5&gt; &lt;blockquote&gt; &lt;p&gt;Unless what you're writing ..  &lt;ul&gt; &lt;li&gt;solves their problem  &lt;li&gt;provides useful information  &lt;li&gt;entertains them  &lt;li&gt;makes them feel like &lt;a href="http://headrush.typepad.com/creating_passionate_users/2005/10/making_happy_us.html"&gt;they rule&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;It's irrational to expect users to care about it. Every time you write, ask yourself, "so what?" If you can't answer that question convincingly, reformulate and try again. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Blogging about Blogging (&lt;/strong&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000297.html"&gt;http://www.codinghorror.com/blog/archives/000297.html&lt;/a&gt;)  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;ul&gt; &lt;li&gt;you have to &lt;b&gt;want to write&lt;/b&gt;  &lt;li&gt;you have to &lt;b&gt;believe you have something to say&lt;/b&gt;  &lt;li&gt;you have to &lt;b&gt;have an interesting way of saying it&lt;/b&gt;  &lt;li&gt;you have to &lt;b&gt;be a decent (not great, but decent) writer&lt;/b&gt;  &lt;li&gt;you have to &lt;b&gt;enable blog comments&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;a href="http://www.neopoleon.com/home/blogs/neo/archive/2005/03/12/14987.aspx"&gt;Rory&lt;/a&gt; explains first three of above point in details in his blog post &lt;a href="http://www.neopoleon.com/home/blogs/neo/archive/2005/03/12/14987.aspx"&gt;"&lt;em&gt;Why do some blogs succeed?&lt;/em&gt;".&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;Writing Tips for Non-Writers Who Don't Want to Work at Writing &lt;/strong&gt;(&lt;a href="http://www.scalzi.com/whatever/004023.html"&gt;http://www.scalzi.com/whatever/004023.html&lt;/a&gt;)  &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;0. Speak what you write: &lt;/strong&gt;If you can't speak it naturally, rewrite it. Simple. &lt;br&gt;&lt;strong&gt;1. Punctuate, damn you:&lt;/strong&gt;  &lt;p&gt;&lt;strong&gt;2. With sentences, shorter is better than longer:&lt;/strong&gt;  &lt;p&gt;&lt;strong&gt;3. Learn to friggin' spell: &lt;/strong&gt;This is particularly the case with basic spelling errors like using "your" when you're supposed to be using "you're" or "its" for "it's" (or in both cases, vice-versa). For every spelling error you make, your apparent IQ drops by 5 points. For every "there, they're, their" type of mistake you make, your apparent IQ drops by 10 points.  &lt;p&gt;&lt;strong&gt;4. Don't use words you don't really know:&lt;/strong&gt;  &lt;p&gt;&lt;strong&gt;5. Grammar matters, but not as much&lt;/strong&gt;  &lt;p&gt;&lt;strong&gt;6. Front-load your point: &lt;/strong&gt;Now, sometimes people write to find out &lt;i&gt;what&lt;/i&gt; their point is; I think that's fine because I do that myself. But most of the time after I've figured out my point, I'll go back and re-write.  &lt;p&gt;&lt;strong&gt;7. Try to write well every single time you write: &lt;/strong&gt;There really is no excuse for writing poorly in one's blog. You'll look stupid for the whole world to see, and it will be archived for as long as humanity remembers how to produce electricity.  &lt;p&gt;&lt;strong&gt;8. Read people who write well: &lt;/strong&gt;Don't just read for entertainment, but also look to see how they do their writing -- how they craft sentences, use punctuation, break their prose into paragraphs, and so on.  &lt;p&gt;&lt;strong&gt;9. When in doubt, simplify: &lt;/strong&gt;Ultimately, people write to be understood (excepting Gertrude Stein and Tristan Tzara, who were intentionally being difficult). Most people are, in fact, capable of understanding. Therefore, if you can't make people understand what you write, most of the time it's &lt;i&gt;not&lt;/i&gt; just because the world is filled with morons, it's also because &lt;i&gt;you&lt;/i&gt; are not being clear. Downshift. People will be happy to know what you're saying.  &lt;p&gt;&lt;strong&gt;10. Speak what you write: &lt;/strong&gt;If you can't make your writing understandable to you, you can't make it understandable to others. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a&gt;&lt;b&gt;Hints for revising&lt;/b&gt;&lt;/a&gt; (&lt;a href="http://www.testing.com/cgi-bin/blog/2004/11/16"&gt;http://www.testing.com/cgi-bin/blog/2004/11/16&lt;/a&gt;)  &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Read your text aloud. &lt;/strong&gt;Reading aloud is one way to get some distance, to separate the piece from your memory of writing it.  &lt;p&gt;&lt;strong&gt;If a sentence is unclear,&lt;/strong&gt; split it.  &lt;p&gt;&lt;strong&gt;If a paragraph is unclear&lt;/strong&gt;, split it. Then Write text to head off the problem, then return to adjust the guilty paragraph.  &lt;p&gt;&lt;strong&gt;If an idea or procedure is complicated&lt;/strong&gt;, add an example.  &lt;p&gt;&lt;strong&gt;After you change a sentence, leave it aside for a while&lt;/strong&gt;, then come back and reread at least the whole paragraph that contains it. Then tweak the sentence to make it fit better into its environment.  &lt;p&gt;&lt;strong&gt;Can you turn that bullet list into one or more paragraphs?&lt;/strong&gt; Bullet lists are, on average, easier for writers but harder for readers. They don't provide transition between two ideas.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-2378000095904928686?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/2378000095904928686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/some-cool-tips-on-writing-good-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2378000095904928686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2378000095904928686'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/some-cool-tips-on-writing-good-blog.html' title='Some cool tips on writing good blog entry'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-599192869030572323</id><published>2007-10-22T23:50:00.001+05:30</published><updated>2007-10-22T23:50:12.828+05:30</updated><title type='text'>HTTP Modules' Events and Their Order of Firing</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Below is the list of Events raised by HttpHandlers. These events are in the sequence of firing. &lt;p&gt;OnBeginRequest&lt;br&gt;OnAuthenticateRequest&lt;br&gt;OnPostAuthenticateRequest&lt;br&gt;OnAuthorizeRequest&lt;br&gt;OnPostAuthorizeRequest&lt;br&gt;OnResolveRequestCache&lt;br&gt;OnPostResolveRequestCache&lt;br&gt;OnPostMapRequestHandler&lt;br&gt;OnAcquireRequestState&lt;br&gt;OnPostAcquireRequestState&lt;br&gt;OnPreRequestHandlerExecute&lt;br&gt;Page_Load Event of the Page&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnPostRequestHandlerExecute&lt;br&gt;OnReleaseRequestState&lt;br&gt;OnPostReleaseRequestState&lt;br&gt;OnUpdateRequestCache&lt;br&gt;OnPostUpdateRequestCache&lt;br&gt;OnEndRequest&lt;br&gt;OnPreSendRequestHeaders &lt;p&gt;I wrote a http handler to check the sequence of execution of event handlers. Below is the program. Two events in the program are commented because these require integration with the IIS pipeline. I used Visual Web Developer 2008 Express Edition Beta 2 to write this program. So may be express edition does not support integration with IIS. I haven't checked it yet. Here is the program: &lt;p&gt;using System; &lt;p&gt;using System.Data; &lt;p&gt;using System.Configuration; &lt;p&gt;using System.Linq; &lt;p&gt;using System.Web; &lt;p&gt;using System.Web.Security; &lt;p&gt;using System.Web.UI; &lt;p&gt;using System.Web.UI.WebControls; &lt;p&gt;using System.Web.UI.WebControls.WebParts; &lt;p&gt;using System.Web.UI.HtmlControls; &lt;p&gt;using System.Xml.Linq; &lt;p&gt;/// &amp;lt;summary&amp;gt; &lt;p&gt;/// Summary description for AddSign &lt;p&gt;/// &amp;lt;/summary&amp;gt; &lt;p&gt;public class AddSign: IHttpModule &lt;p&gt;{ &lt;p&gt;public delegate void MyEventHandler(Object s, EventArgs e); &lt;p&gt;private MyEventHandler _eventHandler = null; &lt;p&gt;public event MyEventHandler MyEvent &lt;p&gt;{ &lt;p&gt;add { _eventHandler += value; } &lt;p&gt;remove { _eventHandler -= value; } &lt;p&gt;} &lt;p&gt;public AddSign() &lt;p&gt;{ &lt;p&gt;// &lt;p&gt;// TODO: Add constructor logic here &lt;p&gt;// &lt;p&gt;} &lt;p&gt;#region IHttpModule Members &lt;p&gt;void IHttpModule.Dispose() &lt;p&gt;{ &lt;p&gt;//throw new NotImplementedException(); &lt;p&gt;} &lt;p&gt;void IHttpModule.Init(HttpApplication context) &lt;p&gt;{ &lt;p&gt;//throw new NotImplementedException(); &lt;p&gt;context.EndRequest += new EventHandler(OnEndRequest); &lt;p&gt;context.AcquireRequestState += new EventHandler(OnAcquireRequestState); &lt;p&gt;context.AuthenticateRequest += new EventHandler(OnAuthenticateRequest); &lt;p&gt;context.AuthorizeRequest += new EventHandler(OnAuthorizeRequest); &lt;p&gt;context.BeginRequest += new EventHandler(OnBeginRequest); &lt;p&gt;context.Disposed += new EventHandler(OnDisposed); &lt;p&gt;context.Error += new EventHandler(OnError); &lt;p&gt;//context.LogRequest += new EventHandler(OnLogRequest); //This operation requires IIS integrated pipeline mode. &lt;p&gt;//context.MapRequestHandler += new EventHandler(OnMapRequestHandler); //This operation requires IIS integrated pipeline mode. &lt;p&gt;context.PostAcquireRequestState += new EventHandler(OnPostAcquireRequestState); &lt;p&gt;context.PostAuthenticateRequest += new EventHandler(OnPostAuthenticateRequest); &lt;p&gt;context.PostAuthorizeRequest += new EventHandler(OnPostAuthorizeRequest); &lt;p&gt;context.PostMapRequestHandler += new EventHandler(OnPostMapRequestHandler); &lt;p&gt;context.PostReleaseRequestState += new EventHandler(OnPostReleaseRequestState); &lt;p&gt;context.PostRequestHandlerExecute += new EventHandler(OnPostRequestHandlerExecute); &lt;p&gt;context.PostResolveRequestCache += new EventHandler(OnPostResolveRequestCache); &lt;p&gt;context.PostUpdateRequestCache += new EventHandler(OnPostUpdateRequestCache); &lt;p&gt;context.PreRequestHandlerExecute += new EventHandler(OnPreRequestHandlerExecute); &lt;p&gt;context.PreSendRequestContent += new EventHandler(OnPreSendRequestContent); &lt;p&gt;context.PreSendRequestHeaders += new EventHandler(OnPreSendRequestHeaders); &lt;p&gt;context.ReleaseRequestState += new EventHandler(OnReleaseRequestState); &lt;p&gt;context.ResolveRequestCache += new EventHandler(OnResolveRequestCache); &lt;p&gt;context.UpdateRequestCache += new EventHandler(OnUpdateRequestCache); &lt;p&gt;} &lt;p&gt;#endregion &lt;p&gt;public void OnEndRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnEndRequest&amp;lt;br /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnAcquireRequestState(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnAcquireRequestState"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnAuthenticateRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnAuthenticateRequest"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnAuthorizeRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnAuthorizeRequest"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnBeginRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnBeginRequest"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnDisposed(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnDisposed"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnError(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnError"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnLogRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnLogRequest"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnMapRequestHandler(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnMapRequestHandler"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostAcquireRequestState(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostAcquireRequestState"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostAuthenticateRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostAuthenticateRequest"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostAuthorizeRequest(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostAuthorizeRequest"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostMapRequestHandler(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostMapRequestHandler"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostReleaseRequestState(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostReleaseRequestState"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostRequestHandlerExecute(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostRequestHandlerExecute"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostResolveRequestCache(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostResolveRequestCache"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPostUpdateRequestCache(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPostUpdateRequestCache"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPreRequestHandlerExecute(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPreRequestHandlerExecute"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPreSendRequestContent(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPreSendRequestContent"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnPreSendRequestHeaders(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnPreSendRequestHeaders"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnReleaseRequestState(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnReleaseRequestState"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnResolveRequestCache(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnResolveRequestCache"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;public void OnUpdateRequestCache(Object s, EventArgs e) &lt;p&gt;{ &lt;p&gt;HttpApplication app = s as HttpApplication; &lt;p&gt;app.Context.Response.Write("OnUpdateRequestCache"); &lt;p&gt;app.Context.Response.Write("&amp;lt;BR /&amp;gt;"); &lt;p&gt;if (_eventHandler != null) &lt;p&gt;_eventHandler(this, null); &lt;p&gt;} &lt;p&gt;}&lt;/p&gt;&lt;/blockquote&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-599192869030572323?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/599192869030572323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/http-modules-events-and-their-order-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/599192869030572323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/599192869030572323'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/http-modules-events-and-their-order-of.html' title='HTTP Modules&amp;#39; Events and Their Order of Firing'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-7279067119177867998</id><published>2007-10-18T23:51:00.001+05:30</published><updated>2009-02-02T13:36:22.219+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Technologies and Family Time'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>Script# - Another Flower in .Net Bouquet</title><content type='html'>&lt;br /&gt;&lt;p&gt;Script# is a compiler that compiles C# code into JavaScript. This sounds great for ASP.Net developers who program into C#. Most of the time, C# programmers don't have good hand in JavaScript.&lt;br/&gt;&lt;br/&gt;With the client machine increasing their processing power constantly, the demand for client side scripting is very high. People talk about a new architecture that would obsolete the server side programming model. Web serve will only server HTML pages with JavaScript. If any server side processing (or database connectivity) is required, web services will fill up the gap. Using JSON, JavaScript will now directly interact with a web service from client side. All UI processing, validations etc. will be done on client side.&lt;br/&gt;&lt;br/&gt;C# and VB.net folks have to worry about that. Either they have to switch to web services or their job will not be safe. &lt;a href="http://www.nikhilk.net/" title="Nikhil Kothari's Weblog"&gt;Nikhil Kothari&lt;/a&gt; also thinks same (though he has not expressed it anywhere). So he decided to bring C# developers on the client side. Nikhil is currently working on a project called &lt;a href="http://www.nikhilk.net/ScriptSharpIntro.aspx" title="Script# Introduction by Nikhil Kothari"&gt;Script#&lt;/a&gt;. In his own words:&lt;br/&gt;&lt;br/&gt;"&lt;em&gt;Script# brings the C# developer experience (programming and tooling) to JavaScript/Ajax world."&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;The project is still in development phase but you can try your hands on it. &lt;a href="http://projects.nikhilk.net/Binaries/ScriptSharp.zip" title="Script# Download"&gt;Download&lt;/a&gt; the Script# and read Nikhil's &lt;a href="http://www.nikhilk.net/ScriptSharpIntro.aspx"&gt;demonstration&lt;/a&gt;. You can also watch a &lt;a href="http://www.nikhilk.net/Content/Video/ScriptSharpIntro.wmv"&gt;video&lt;/a&gt;. Nikhil says:&lt;br/&gt;&lt;br/&gt;"&lt;em&gt;Essentially the Script# compiler is a C# compiler that generates JavaScript instead of IL. A key driving goal of the design is to produce readable JavaScript that you may have authored yourself, and would be ok deploying into real apps.&lt;/em&gt;"&lt;br/&gt;&lt;br/&gt;&lt;span style="TEXT-DECORATION: underline"&gt;&lt;strong&gt;Links&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href="http://www.nikhilk.net/ScriptSharpIntro.aspx"&gt;Introduction to Script#&lt;/a&gt;&lt;br/&gt;&lt;a href="http://projects.nikhilk.net/Binaries/ScriptSharp.zip"&gt;Download Script#&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.nikhilk.net/Content/Video/ScriptSharpIntro.wmv"&gt;Download Script# Video&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.nikhilk.net/"&gt;Nikhil Kothari's Weblog&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;hr/&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/.Net" class="ztag" rel="tag"&gt;.Net&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Client%20Side%20Code" class="ztag" rel="tag"&gt;Client Side Code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/JavaScript" class="ztag" rel="tag"&gt;JavaScript&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Script%23" class="ztag" rel="tag"&gt;Script#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Server%20Side%20Code" class="ztag" rel="tag"&gt;Server Side Code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Tech%20Review" class="ztag" rel="tag"&gt;Tech Review&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Technology" class="ztag" rel="tag"&gt;Technology&lt;/a&gt;, &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-7279067119177867998?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/7279067119177867998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/script-another-flower-in-net-bouquet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7279067119177867998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7279067119177867998'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/script-another-flower-in-net-bouquet.html' title='Script# - Another Flower in .Net Bouquet'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-4925518619459412077</id><published>2007-10-17T23:31:00.000+05:30</published><updated>2007-10-17T23:49:19.899+05:30</updated><title type='text'>A Recipe For killing Internet In India</title><content type='html'>&lt;div style="MARGIN: 0px auto 10px; TEXT-ALIGN: center"&gt;&lt;a href="http://localhost:1944/bc6fa2242711298c33ceb561d9e7bce7/image299.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_" alt="" src="http://localhost:1944/bc6fa2242711298c33ceb561d9e7bce7/image299.jpg?size=400" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-4925518619459412077?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://yaneshtyagi.blogspot.com/2007/10/recipe-for-killing-internet-in-india_17.html' title='A Recipe For killing Internet In India'/><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/4925518619459412077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/recipe-for-killing-internet-in-india.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/4925518619459412077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/4925518619459412077'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/recipe-for-killing-internet-in-india.html' title='A Recipe For killing Internet In India'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-7539108856601196466</id><published>2007-10-17T23:20:00.001+05:30</published><updated>2007-10-17T23:45:36.378+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>A Recipe For Killing Internet In India</title><content type='html'>&lt;div style="PADDING-RIGHT: 5px; PADDING-LEFT: 7px; PADDING-BOTTOM: 2px; WIDTH: 100%; PADDING-TOP: 2px"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;A news published in Times Of India, Oct 17th, 2007 (internet edition)&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:0;"&gt;&lt;span style="font-size:12;"&gt;&lt;span style="font-size:100%;"&gt;A Recipe For Killing Internet In India&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;Standing Committee Goes Against International Norms To Stack Odds Against Net Service Providers, Says Manoj Mitta&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;"&gt;There is a clear and present danger to internet in India। If the recommendations of the parliamentary standing committee were to go through, you might as well pull the shutters down on the net in the country, because the committee seeks to raise the liability of internet service providers for any third party content in a manner that it will become difficult to run the service and stay away from jail.&lt;br /&gt;&lt;br /&gt;This isn't an exaggeration. Over 85% of internet deals with third party content। This includes search engines, mail services, messengers, blogs, communication and community sites. If they were to be held responsible for the sites searched, mails sent, blogs filed or scraps on community sites then service providers would be hauled up by the police for acts they are not even faintly responsible for.&lt;br /&gt;&lt;br /&gt;Why, then, is the committee proposing this insanity? The answer is simple  the committee has failed to understand the internet। Frankly, there's no difference between the phone and the postal service and the net  it's just that one delivers voice or post and the other data. Both deal with third party content which is impossible to verify.&lt;br /&gt;&lt;br /&gt;How would a mail service know, for instance, if two friends exchange copyright material? Or, how would a search engine track if someone accesses sites spreading hatred, or worse, promoting terror? It's all out there  the responsibility of who fetches what should be that of the individual, not the service provider।&lt;br /&gt;&lt;br /&gt;Therefore, what the standing committee is seeking to do is something like making a postal service responsible for every mischievous mail it delivers  perhaps by a drug dealer giving details of a consignment or a student sending photocopies of a book and hence infringing on copyright। Or, something like making a phone service, such as MTNL or BSNL, responsible for every bit of dirty talk or criminal conspiracy over its wires.&lt;br /&gt;&lt;br /&gt;Perhaps the committee is confusing internet with media like TV or print. In the latter, content is either self-generated or by designated news or TV agencies. The content goes through several layers of vetting and checks. This is not true of internet sites that provide mail service, aggregation of communities, picture sharing, etc।&lt;br /&gt;&lt;br /&gt;This is possibly why in its report last month on the Information Technology (Amendment) Bill 2006, the committee headed by Congress MP Nikhil Kumar has called upon the government to abandon the proposal to reduce the liability of service providers or intermediaries in the wake of industry outrage over the 2004 arrest of Baazee।com's CEO for the auction of a CD containing an infamous student porn MMS.&lt;br /&gt;&lt;br /&gt;The bone of contention is Section 79 of the IT Act 2000 which says that no service provider shall be liable for any third party information if he proves that the offence was committed ''without his knowledge or that he had exercised all due diligence'' to prevent the commission of such contravention।&lt;br /&gt;&lt;br /&gt;Since the existing safeguard failed to save &lt;a title="http://baazee.com/" onclick="return top.js.OpenExtLink(window,event,this)" href="http://baazee.com/" target="_blank"&gt;&lt;span title="http://baazee.com/&amp;#10;CTRL + Click to follow link"&gt;Baazee.com&lt;/span&gt;&lt;/a&gt; CEO Avnish Bajaj from being subjected to the ignominy of arrest and detention, the government sought to reduce the liability further in its 2006 Bill. The Bill raises the bar for taking action against ISPs by stipulating that they are not liable unless it is proved that they have conspired or abetted in the commission of the unlawful act. &lt;b&gt;&lt;span style="color:#000000;"&gt;&lt;span style="FONT-WEIGHT: bold;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;Service providers under no obligation in US, EU&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;This is really how the law is in both Europe and in the US। To the industry here, the proposed amendment seemed a fair safeguard। But the standing committee, far from endorsing the change, has recommended that the existing Section 79 should be strengthened by casting ''a definite obligation'' on the service providers to ensure that the third party information was within the parameters of the law especially because ''it is very difficult to establish conspiracy or abetment'' on their part।&lt;br /&gt;&lt;br /&gt;The committee also took objection to the Bill's proposal to relieve the service providers of the burden of demonstrating that they had exercised due diligence to prevent the third parties from misusing online market places and auction sites। ''The committee are of the firm opinion that if explicit provisions about blocking of objectionable material through various means are not codified, expecting self-regulation from the intermediaries, who basically work for commercial gains (sic), will just remain a pipedream,'' it said.&lt;br /&gt;&lt;br /&gt;For all its efforts to make out a case for increasing the liability of service providers, the committee glossed over the fact that the Bill was in tune with the approach adopted by advanced countries that have given sufficient thought before framing their Internet laws. Take, for instance, the relevant law in the European Union. It says that a service provider storing third party information is liable to criminal action only when he ''by intent is storing illegal information or assisting in illegal activities।''&lt;br /&gt;&lt;br /&gt;What is even more contrary to the committee's report is the express clarification in the European law that its provisions ''do not impose a general obligation on service providers to monitor the information, which they transmit, or store on the request of a recipient for the service, nor a general obligation to seek facts or circumstances indicating illegal activities.'' Similarly, in the US, both courts and legislation broadly seek to reduce the liability of service providers on charges such as copyright infringement and defamation।&lt;br /&gt;&lt;br /&gt;The Digital Millennium Copyright Act, for instance, spells out the criteria for establishing liability and makes it difficult to sue service providers vicariously for copyright infringement committed by third parties. So, which way should Indian laws go? The way the advanced countries have gone, or in accordance with the wishes of some misinformed MPs that would spell the death of Internet in India&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/span&gt;TOI Link: &lt;a title="http://epaper.timesofindia.com/Daily/skins/TOI/navigator.asp?Daily=" href="http://epaper.timesofindia.com/Daily/skins/TOI/navigator.asp?Daily=C" login="default&amp;amp;AW=1192642186750"&gt;http://epaper.timesofindia.com/Daily/skins/TOI/navigator.asp?Daily=C&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-7539108856601196466?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/7539108856601196466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/recipe-for-killing-internet-in-india_17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7539108856601196466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/7539108856601196466'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/recipe-for-killing-internet-in-india_17.html' title='A Recipe For Killing Internet In India'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-8045448801706606968</id><published>2007-10-17T22:41:00.001+05:30</published><updated>2007-10-17T22:41:44.428+05:30</updated><title type='text'>Windows Live Mail</title><content type='html'>&lt;br /&gt;&lt;p&gt;Windows Live Mail is Microsoft's successor to both Outlook Express and Windows Mail, the latter of which ships with Windows Vista. Microsoft describes Windows Live Mail as a superset of both of these consumer-oriented email products, and they will only actively develop Windows Live Mail going forward. Windows Live Mail is dramatically nicer than either Outlook Express or Windows Mail, and it includes a lot more useful functionality, especially if you're a Hotmail user. (This applies equally to msn.com and live.com accounts as well.) But Windows Live Mail isn't limited to just Hotmail accounts: This is a full-fledged Internet communications client, with support for POP3 and IMAP email, RSS feeds, and USENET newsgroups.&lt;br/&gt;&lt;br/&gt;Originally envisioned as an ad-supported email client for Hotmail users, Windows Live Mail has evolved over time and is now a much more impressive release as a result. The shipping version of Windows Live Mail--now available in a feature-complete public beta--offers seamless Hotmail/MSN.com/Live.com integration, as expected, POP3 and IMAP email functionality that rivals third party applications such as Mozilla Thunderbird, RSS support, USENET newsgroup support, and integration with various Windows Live services. If you use Hotmail and/or other Windows Live products like Windows Live Messenger, you're going to want to check this one out. Heck, if you use Internet email of any kind, you're going to want to check this one out.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Windows Live Mail sports the new Windows Live look-and-feel, which is heavy on the whites but with high-contrast bluish-green accents. Like newer versions of Outlook, and like the Web-based Windows Live Hotmail, the Windows Live Mail application is visually split into three mail columnar panes, from left to right: Folders, Message list, and Reading pane. Actually, there's an odd fourth pane called Active Search, too, but you can and should turn this off: Active Search is a weird front-end to Microsoft's Live Search service, and its real purpose is to deliver ads and sponsored results.&lt;br/&gt;&lt;br/&gt;In many ways, Windows Live Mail works like Windows Live Hotmail, and if you're familiar with the new version of that Web service, or with traditional email clients like Outlook, you'll have no problem getting up to speed. Architecturally, Windows Live Mail is based on Outlook Express and Windows Mail, so some UI bits, like the Options dialog, and the files Windows Live Mail creates, like the .eml email files, might look familiar. What's old is new again.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I am using Windows Live Mail as my primary email client since a few weeks and have absolutely no issues. I like some of the customization bits: You can color-code the folders for each email account you configure and apply a Windows Live color scheme to the entire application so that it matches your other Windows Live applications and services.&lt;br/&gt;&lt;br/&gt;Speaking of integration, Windows Live Mail is particularly useful if you're a Windows Live Messenger user. It can be configured to automatically log you onto Messenger whenever you launch the mail client. On the flipside, if you see an email alert in Messenger and click it, Windows Live Mail will launch instead of forcing you to use the Web client. The Contacts portion of Windows Live Mail, which is also a native Windows application, integrates your traditional email contacts with your Windows Live Messenger contacts list, too. A Blog button on the application's toolbar lets you publish the current message to your Windows Live Spaces blog.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As a modern email application, Windows Live Mail supports instant search, which works wonderfully. There's also an Outlook-like search folders feature, though I haven't found a way save email searches as dynamic virtual folders. Instead, stock saved search folders, like Unread email, Unread from contacts, and Unread feeds, are available.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So why would you want to use Windows Live Mail instead of the Windows Live Hotmail Web service? First, and most obviously, Windows Live Mail works offline. So you can sit on an airplane or in some other disconnected location, navigate through and read your email, respond to emails, write new emails, and perform other actions that would be impossible with the Web client while offline. Once you're online again, all the pending email is sent and everything is synched up again, just as with Outlook and other traditional email clients.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Windows Live Mail also features email account aggregation, so that you can easily access email from two or more accounts (be them Hotmail/Live.com accounts or any combination of POP3 and IMAP accounts), all from the same location. With Web-based email services, you might need to have a different browser window open for each service.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;From a safety perspective, Windows Live Mail also provides protection against phishing attacks, viruses, and other malware. This works for all account types, so even though your Hotmail account may be protected by server-side AV scanning, your POP3/IMAP accounts might not. And if you're into the Windows Live stuff, the integration pieces are quite interesting as well.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Windows Live Hotmail is free and available for users running Windows XP with Service Pack 2 (SP2) or Vista (any version). If you're currently using Outlook Express or Windows Mail, I strongly recommend upgrading to this product immediately. It is nicer looking, works well with non-Hotmail accounts, and offers much more useful functionality than its predecessors. I like it quite a bit.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/.Net" class="ztag" rel="tag"&gt;.Net&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Tech%20Review" class="ztag" rel="tag"&gt;Tech Review&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Technology" class="ztag" rel="tag"&gt;Technology&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Windows%20Live%20Mail" class="ztag" rel="tag"&gt;Windows Live Mail&lt;/a&gt;, &lt;a href="http://technorati.com/tag/e-mail%20client" class="ztag" rel="tag"&gt;e-mail client&lt;/a&gt;, &lt;a href="http://technorati.com/tag/yanesh%20tyagi" class="ztag" rel="tag"&gt;yanesh tyagi&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-8045448801706606968?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/8045448801706606968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/windows-live-mail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/8045448801706606968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/8045448801706606968'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/windows-live-mail.html' title='Windows Live Mail'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-5041139870852851143</id><published>2007-10-14T23:20:00.001+05:30</published><updated>2007-10-14T23:20:28.904+05:30</updated><title type='text'>Edit in Browser</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Edit any web page in browser without any other software&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is cool!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;GO to any web page, clear the address bar, and paste this:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;javascript:document.body.contentEditable='true'; document.designMode='on'; void 0&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;and hit enter.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Feel free to edit whatever you want on the page!&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-5041139870852851143?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/5041139870852851143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/edit-in-browser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5041139870852851143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/5041139870852851143'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/edit-in-browser.html' title='Edit in Browser'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23680367.post-2985934048076377825</id><published>2007-10-14T23:15:00.001+05:30</published><updated>2007-10-14T23:15:48.259+05:30</updated><title type='text'>Salary Negotiation</title><content type='html'>&lt;br /&gt;&lt;p&gt;OK. that's what we all do it for money… not every one right. This is probably the weakest area for techno savvy guys. They are not good negotiators. Many guys at the first instance smile and say "&lt;strong&gt;NEGOTIABLE SIR&lt;/strong&gt;". So here are some points:-&lt;br/&gt;&lt;br/&gt;√ Do a study of what's the salary trend? For instance have some kind of baseline. For example what's the salary trend on number of year of experience? Discuss this with your friends out.&lt;br/&gt;&lt;br/&gt;√ Do not mention your expected salary on the resume?&lt;br/&gt;&lt;br/&gt;√ Let the employer first make the salary offer. Try to delay the salary discussion till the end.&lt;br/&gt;&lt;br/&gt;√ If they say what you expect ? , come with a figure with a little higher end and say negotiable. Remember never say negotiable on something which you have aimed, HR guys will always bring it down. So negotiate on AIMED SALARY + some thing extra.&lt;br/&gt;&lt;br/&gt;√ The normal trend is that they look at your current salary and add a little it so that they can pull you in. Do your home work my salary is this much and I expect this much so whatever it is now I will not come below this.&lt;br/&gt;&lt;br/&gt;√ Do not be harsh during salary negotiations.&lt;br/&gt;&lt;br/&gt;√ It's good to aim high. For instance I want 1 billion dollars / month but at the same time be realistic.&lt;br/&gt;&lt;br/&gt;√ Some companies have those hidden cost attached in salary clarify that rather to be surprised at the first salary package.&lt;br/&gt;&lt;br/&gt;√ Many of the companies add extra performance compensation in your basic which can be surprising at times. So have a detail break down. Best is to discuss on hand salary rather than NET.&lt;br/&gt;&lt;br/&gt;√ Talk with the employer in what frequency does the hike happen.&lt;br/&gt;&lt;br/&gt;√ Take everything in writing , go back to your house and have a look once with a cool head is the offer worth it of what your current employer is giving.&lt;br/&gt;&lt;br/&gt;√ Do not forget once you have job in hand you can come back to your current employer for negotiation so keep that thing in mind.&lt;br/&gt;&lt;br/&gt;√ Remember the worst part is cribbing after joining the company that your colleague is getting this much. So be careful while interview negotiations or be sportive to be a good negotiator in the next interview.&lt;br/&gt;&lt;br/&gt;√ One very important thing the best negotiation ground is not the new company where you are going but the old company which you are leaving. So once you have offer on hand get back to your old employee and show them the offer and then make your next move. It's my experience that negotiating with the old employer is easy than with the new one….Frankly if approached properly rarely any one will say no. Just do not be aggressive or egoistic that you have an offer on hand.&lt;br/&gt;&lt;br/&gt;Top of all some time some things are worth above money :- &lt;strong&gt;JOB SATISFACTION&lt;/strong&gt;. So whatever you negotiate if &lt;strong&gt;&lt;em&gt;you think you can get JOB SATISFACTION aspect on higher grounds go for it.&lt;/em&gt;&lt;/strong&gt; I think its worth more than money.&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23680367-2985934048076377825?l=yaneshtyagi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yaneshtyagi.blogspot.com/feeds/2985934048076377825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/salary-negotiation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2985934048076377825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23680367/posts/default/2985934048076377825'/><link rel='alternate' type='text/html' href='http://yaneshtyagi.blogspot.com/2007/10/salary-negotiation.html' title='Salary Negotiation'/><author><name>Yanesh Tyagi</name><uri>http://www.blogger.com/profile/03393515815072208304</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16072397267700350255'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>