tag:blogger.com,1999:blog-95617832024-03-24T01:22:54.007+05:30eshwar's Web WorldWelcome, This gives you a glimpse of all the stuff you want to know and looking for.eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.comBlogger324125tag:blogger.com,1999:blog-9561783.post-1164781286901069222006-11-29T11:51:00.000+05:302006-11-29T11:51:27.046+05:30Your Custom Search Engine It's easy to build a CSE -- no Ph.D. in computer science required. Here's how it works:<br /><ol><li>Visit <a href="http://www.google.com/coop/cse/" target="_blank">http://www.google.com/coop/cse/</a> and select the websites you'd like to include in your search index. <br /></li><li>Then choose to restrict search results to include only those pages and sites, or you can give those pages and sites higher priority and ranking within the larger Google index when people search on your search engine. </li><li>From the CSE site, you can generate the code to place on your site and make the search engine, through an IFRAME, look and feel like your own. If you choose, you can easily link to your current AdSense account so you have a centralized place to manage your Google AdSense relationships. <br /></li><li>Last but certainly not least, you can invite members of your community to contribute to your search engine index, in real time. Simply enter email addresses of people you'd like to contribute and an invitation along with <a href="http://google.com/coop/cse/marker" target="_blank">Google Marker</a> will be sent to your invitees. </li></ol><p>You can check out a few more CSEs in action by visiting our <a href="http://google.com/coop/cse/examples/GooglePicks" target="_blank">featured examples page</a>. You'll see some created by industry experts, bloggers, educators and techies. We're continuing to add <a href="http://googlecustomsearch.blogspot.com/" target="_blank">customization and advanced features</a> to the CSE too. We hope you'll try it out and <a href="http://groups.google.com/group/google-co-op?lnk=lr&hl=en" target="_blank">let us know</a> what you think.</p><p><a title="Your Custom Search Engine " href="http://adsense.blogspot.com/2006/11/your-search-engine-your-way.html" target="_blank" rel="Your Custom Search Engine ">Get more information </a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com177tag:blogger.com,1999:blog-9561783.post-1164635512284361232006-11-27T19:21:00.000+05:302006-11-27T19:21:52.833+05:30Working with .htaccess files<p>.htaccess files provides us with ways to make configuration changes on a per-directory basis. This file works well in Apache Web Server and on Linux/Unix. Also, it works on Windows based system with Apache Web server.</p><p>There are several things that developers, site owners and webmasters can do by using .htaccess file. Let’s look at some of them:</p><ul><li>Prevent directory browsing</li><li>Redirect visitors from one page or directory to another</li><li>Password protection for directories</li><li>Change the default index page of a directory</li><li>Prevent hot-linking of images from your website</li></ul><p>Since .htaccess file allows us to make changes on a per-directory basis, the following are valid places to put the .htaccess file in:</p><p><strong>/.htaccess</strong> [placing in root folder of the site]<br /><strong>/content/.htaccess</strong> [placing in content folder]<br /><strong>/content/html/images/.htaccess</strong> [in the images folder]</p><p><img class="wp-smiley" alt=":idea:" src="http://www.bloghash.com/wp-includes/images/smilies/icon_idea.gif" /> Any command that you place in .htaccess file will affect it’s current directory where it is placed and also it’s sub-directories. You may put a .htaccess file in the root folder such that it will affect the whole site.</p><p><img class="wp-smiley" alt=":idea:" src="http://www.bloghash.com/wp-includes/images/smilies/icon_idea.gif" /> <strong>Make a backup of your .htaccess file [if you have any] before you attempt any of the settings mentioned in this article</strong>. <strong>I must not be held responsible for any consequences that arises due to editing your .htaccess file</strong>. <img class="wp-smiley" alt=";)" src="http://www.bloghash.com/wp-includes/images/smilies/icon_wink.gif" /> </p><h4>Working with .htaccess files</h4><p>For creating and editing purpose, a normal text editor such as notepad will do. Alternatively, you can download a free copy of <a title="PSPad Editor" href="http://www.bloghash.com/2006/11/pspad-feature-rich-free-editor-for-programming/" target="_blank" rel="Working with .htaccess files">PSPad</a> for easy editing. To be able to see files in your FTP software, you must enable settings in your FTP client to see hidden files on the remote server [applicable to your system as well]. When done editing, you can save the file with double quotes in windows. [Save file as “.htaccess”]. This will save the file as .htaccess and will not prompt you for a file name as such. I think you have quite understood these instructions. Let’s move on to some common examples and usages of .htaccess file.</p><h4>Allow/Deny Directory browsing</h4><p>With directory browsing on, people when open a URL from your site with no index page or no pages at all, will see all it’s files and folders.<strong> To prevent such directory viewing</strong>, just place the following line in your .htaccess file.</p><p><strong>IndexIgnore */*</strong></p><p>Many hosting companies, by default deny directory browsing and having said that, just in case you need <strong>to enable directory browsing</strong>, place the following line in your .htaccess file.</p><p><strong>Options +Indexes</strong></p><h4>Redirect visitors from one page or directory to another</h4><p>It’s quite simple. Look at the example lines below and place similar lines in your .htaccess file of the root folder and it will do the rest. [Remember to use permanent keyword in the line to tell the search engines that the old link has moved to the new link]<br /><strong>Syntax</strong>: Redirect permanent [old directory or file name][<strong>space</strong>][new directory or file name]</p><p><strong>Redirect permanent</strong> /olddirectory /newdirectory<br /><strong>Redirect permanent</strong> /olddirectory /somedirectory/newdirectory<br /><strong>Redirect permanent</strong> /oldhtmlfile.htm /newhtmlfile.htm<br /><strong>Redirect permanent</strong> /oldhtmlfile.htm http://your-domain.com/newhtmlfile.htm</p><p>All the above lines are valid. Just remember to replace the file/directory names with actual ones.</p><h4>Change the default index page of a directory or site</h4><p>Almost every hosting company will have index.htm, index.html, index.php, index.asp, default.asp, default.html as the default index page names in their web server settings. So, in case your site or directory does not has a file name which matches a name from the list above, chances are that your visitors will either see a list of all the files and folders [through directory browsing] or will not see anything at all. To change the default index page’s name for a directory or the site, place the following line in the .htaccess file of the root folder <strong>or</strong> the particular directory for which you want to change the index page’s name.</p><p><strong>DirectoryIndex</strong> homepage.htm<br /><strong>DirectoryIndex</strong> somepage.htm</p><p>To have more names, put a space between file names and it will take into considerations all those file names as possible index page names. Which means, if it finds a filename matching a list of names you supplied [in the given order] in .htaccess, then it will open that page as the index page for the directory. The below line, with multiple names, is also a valid usage:</p><p><strong>DirectoryIndex</strong> homapage.html somepage.html myindexpage.html anything.html</p><p><img class="wp-smiley" alt=":idea:" src="http://www.bloghash.com/wp-includes/images/smilies/icon_idea.gif" /> Remember, each entry must be in one line only.</p><h4>Prevening hot-linking of images from your website</h4><p>If your website contains images which people from other websites are linking to and you get charged for the extra bandwidth, then placing the following lines will prevent any such image hot-linking. Most of the hosting companies provide this feature in their control panel itself, such as CPanel. This trick requires mod_rewrite engine to be on in Apache on your web server.</p><p><strong>RewriteEngine on</strong><br /><strong>RewriteCond</strong> %{HTTP_REFERER} !^$<br /><strong>RewriteCond</strong> %{HTTP_REFERER} !^http://(www.)?your-domain.com/.*$ [NC]<br /><strong>RewriteRule</strong> .(gif|jpg)$ - [F]</p><p>In the above code, replace [your-domain] with your actual domain name [without www]</p><h4>Prevent access to your .htaccess file</h4><p>This article would have remained incomplete without mentioning this trick. <img class="wp-smiley" alt=";)" src="http://www.bloghash.com/wp-includes/images/smilies/icon_wink.gif" /> To prevent visitors from viewing your .htaccess file, place the following lines in your file.</p><p><Files .htaccess><br />order allow,deny<br />deny from all<br /></Files></p><p>More information and detailed documentation, visit <a title="htaccess help" href="http://httpd.apache.org/docs/2.2/howto/htaccess.html" target="_blank" rel="Working with .htaccess files">Apache website</a>.</p><p><a title="Working with .htaccess files" href="http://www.bloghash.com/2006/11/beginners-guide-to-htaccess-file-with-examples/" target="_blank" rel="Working with .htaccess files">Get more information </a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com4tag:blogger.com,1999:blog-9561783.post-1164617816188479512006-11-27T14:26:00.000+05:302006-11-27T14:26:56.296+05:30Free online virus scanners which run inside web browser<p>he computer security market is flooded with antivirus software that work but don't come cheap.<br /><br />While viruses remain a threat to our precious data, you need not necessarily invest in expensive antivirus scanners - there are plenty of free options available that may give even some commercial vendors a run for their money.<br /><br />We look at some of the best software available today for keeping your computer free of viruses and other malware. Later we help you decide the one most suitable for you.<br /><br /><b>Free Online Virus Scanners</b> [run inside the web browser to scan your hard drive]<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://housecall.trendmicro.com/" target="_blank" rel="Free online virus scanners which run inside web browser">Trend Micro HouseCall</a> - An online virus scanner that's absolutely free and scans your PC hard drive for any sort of viruses or even spyware. HouseCall allows you to remove detected infections. Works with Firefox and IE. Requires Java.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://us.mcafee.com/root/mfs/scan.asp" target="_blank" rel="Free online virus scanners which run inside web browser">McAfee Freescan</a> - This free virus scanner from McAfee is based on the McAfee VirusScan engine. Should viruses be found, FreeScan prepares a list of infected files and links to information about the viruses on your computer. It also gives you an option to clean your system. Requires IE with ActiveX.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://safety.live.com/site/en-US/center/howsafe.htm" target="_blank" rel="Free online virus scanners which run inside web browser">Windows Live OneCare Scanner</a> - A free antivirus online scanner from Microsoft that cleans your system from viruses and also recommends ways to improve the overall performance. Part of Windows Onecare.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://www.symantec.com/securitycheck/" target="_blank" rel="Free online virus scanners which run inside web browser">Symantec Internet Security</a> - An online virus scanner from the developers of Norton Antivirus 2007 can detect most virus threat but there is no option to delete the virus infected file or repair it. Does not examine compressed files. Requires IE with ActiveX.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://www.bitdefender.com/scan8/ie.html" target="_blank" rel="Free online virus scanners which run inside web browser">BitDefender Online Scanner</a> - Their Free Online Virus Scanner version 8 scans your system's memory, all files, folders and drives' boot sectors - the default options automatically cleans the infected files. Requires IE with ActiveX.<br /><br /><b>Free Anti Virus Software for Windows</b> [Requires Installation]<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://www.avast.com/eng/avast_4_home.html" target="_blank" rel="Free online virus scanners which run inside web browser">Avast! Home Edition</a> - One of the most popular antivirus software, can also be run from Explorer context menu. You can either scan the entire hard drive or selected folders. Ships with an Antivirus screen-saver.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://www.activevirusshield.com/antivirus/freeav/index.adp" target="_blank" rel="Free online virus scanners which run inside web browser">AOL Active Virus</a> - a free virus scanner from AOL based on Kaspersky Antivirus that doesn't require an AOL account to download the software. The software can be configure to check only new and modified files thereby reducing the memory requirements. Also support scanning of incoming and outgoing email messages.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://www.clamwin.com/" target="_blank" rel="Free online virus scanners which run inside web browser">ClamWin Virus Scanner</a> - An opensource antivirus software that is great for running routine antivirus checks on your PC. You need to manually scan a file in order to detect a virus or spyware.<br /><br /><a title="Free online virus scanners which run inside web browser" href="http://free.grisoft.com/doc/2/lng/us/tpl/v5" target="_blank" rel="Free online virus scanners which run inside web browser">AVG 7.5 Free Antivirus</a> - One of most popular free virus scanning software is AVG 7.5 Free Edition (read comments). Initially, there was confusion whether AVG 7.5 would be free like AVG 7.1 but the good news is that AVG 7.5 Free edition is already available for non-commercial, single home computer use. <br /><br /><b>Conclusion: Which one should I choose ?</b> <br /><br />Unlike Desktop antivirus software, online virus scanners do not proactively protect your PC against new virus infections. <br /><br />But if viruses have already entered your hard drive and taken control of your existing desktop scanner program, any of the above listed online virus-scanning services can save your day.<br /><br />If you are a fairly experienced web user who doesn't need an antivirus software to run in the background 24 hours, scan you drive at regular intervals using HouseCall. Others may install the AOL antivirus software which uses the Kaspersky virus definitions database.</p><p><a title="Free online virus scanners which run inside web browser" href="http://feeds.feedburner.com/~r/labnol/~3/53657921/dont-pay-for-virus-protection-get.html" target="_blank" rel="Free online virus scanners which run inside web browser">Get more information </a><br /></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1164274008596991172006-11-23T14:56:00.000+05:302006-11-23T14:56:48.736+05:30MVC Architecture in simple words<b>About MVC</b><br /><p>The model-view-controller (MVC) architecture provides a set of design patterns that help you separate the areas of concern involved in building and running a GUI-based application. The <i>model</i> encapsulates the business logic and persistence code for the application. The model should be as view-technology-agnostic as possible. For example, the same model should be usable with a Swing application, a Struts application, or a JSF application. The <i>view</i> should display model objects and contain presentation logic only. There should be no business logic or controller logic in the view. The <i>controller</i> (along with its attending logic) acts as the mediator between the view and the model. The controller talks to the model and delivers model objects to the view to display. In an MVC architecture the controller always selects the next view.</p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com8tag:blogger.com,1999:blog-9561783.post-1164124571914024722006-11-21T21:26:00.000+05:302006-11-21T21:26:12.016+05:30Use websearch or blogsearch engine<p>Well, there are least five differences between Websearch and Blog search engines listed below: <br /><br />1: A web search engine indexes Blogs, Webpages, Forums, PDFs and even Microsoft Office Documents. Blog Search Engines index only sites that syndicate content as a feed in either RSS or Atom formats. <br /><br />2. Blog Search Engine bots will index your website as soon as you ping them (or notify them about new content on your blog). Search engines spiders are much more lazy (unless you are a PR8 or PR9 website) Infact, it's not even guaranteed that a search engine would index your site.<br /><br />3. Since XML feeds supply data in a more structured format to the blog search engine, you can sort blog search results either by date or relevance. In normal web search engines, results are sorted by page relevance since their bots do not know the exact date when the article was written or published on the web.<br /><br />4. Web Search engines index all parts of your webpage including reader comments, text in the sidebars, etc. On the other hand, most blog search engines index just the text of the blog post that was supplied to them inside the RSS feed. They won't index other elements of the webpage like Archive links, Blogroll, etc.<br /><br />5. Blog Search engines let you restrict the search to a particular author, something not possible with Web Search. <br /><br />Summary: Use a blog search engine when you need information about an event that happened just seconds ago like someone smashed his PS3 on the road.<br /><br />In all other cases, you may prefer using a web search engine.</p><p><a title="Use websearch or blogsearch engine" href="http://labnol.blogspot.com/2006/11/blog-search-vs-web-search-how-are-they.html" target="_blank" rel="Use websearch or blogsearch engine">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com2tag:blogger.com,1999:blog-9561783.post-1163605383219810402006-11-15T21:13:00.000+05:302006-11-15T21:13:03.556+05:30Tips on IE6 and IE7<p>With the release of Internet Explorer 7 the rendering engine of the most widely used browser has changed. Some of our customers reported display issues with our controls. Some of them were bugs in our controls (both in the internal rendering implementation and skins) other were problems with custom defined skins or page layout. In 5 cases out of 10 the problem was due to one of the following reasons:</p><ol><li>IE7 no longer accepts CSS attributes starting with underscore. Using underscores was a widely used CSS hack to circumvent rendering issues in IE6. Here is a quick example to illustrate the underscore hack:<br /><br />The following CSS rule would be applied in IE6 (the background would be red) but wont be applied in IE7 (background stays white):<br /><br /><font face="Courier New"><style><br />.myDiv<br />{<br />_background-color: red;<br />}<br /></style><br /><br /><div class=myDiv>Test Content</div><br /></font></li><li>Width and height are now interpreted according the W3C specification they fix the size of an element and it cannot grow. In IE6 width and height were treated as min-widh and min-height from the W3C specification. In IE6 an element whose width and height properties are set would stretch to accommodate its content (provided the content exceeds the specified dimensions).</li></ol><p></p><p>You can find <a title="Tips on IE6 and IE7" href="http://www.telerik.com/support/kb/article/b454K-tkk-b454T-a.aspx" target="_blank" rel="Tips on IE6 and IE7">here</a> a KB article with more detailed info and screenshots. </p><p><a title="Tips on IE6 and IE7" href="http://www.pheedo.com/click.phdo?i=cfed458a425d41cadcd3341a57e3a02a" target="_blank" rel="Tips on IE6 and IE7">Get more information </a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com3tag:blogger.com,1999:blog-9561783.post-1163526373248782002006-11-14T23:16:00.000+05:302006-11-14T23:16:13.256+05:30ICEFaces powerful AJaX JSF extension framework<p>ICEfaces is a profoundly powerful extension framework for JavaServer Faces which provides excellent Ajax integration with no heavy lifting. Implemented as a JSF RenderKit, you can get started with ICEfaces in your JSF apps quickly and easily. That is the beauty of standards-based development, isn't it? <br /><br />In addition to releasing as open source, ICEsoft has also created <a href="http://icefaces.org/">ICEfaces.org, a new community site to focus on ICEfaces development. </a>You can download the full ICEfaces package, check out their demos and component showcase, and participate in support forums for the tools. </p><p><br /><a href="http://icefaces.org/"><img height="183" alt="ICEFaces powerful AJaX JSF extension framework" src="http://www.javalobby.org/images/postings/icefaces.org.jpg" width="224" align="left" rel="ICEFaces powerful AJaX JSF extension framework" /></a><br /></p><p> </p><p> </p><p> </p><p><br />This is a big day for JSF. I know all eyes are on Sun because of yesterday's news about GPL Java, but trust me that this is also important news which you don't want to overlook. ICEsoft and ICEfaces are very cool, and as open source ICEfaces is more attractive than ever.</p><p><a title="ICEFaces powerful AJaX JSF extension framework" href="http://www.javalobby.org/java/forums/t84309.html" target="_blank" rel="ICEFaces powerful AJaX JSF extension framework">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com5tag:blogger.com,1999:blog-9561783.post-1163526207257892622006-11-14T23:13:00.000+05:302006-11-14T23:13:27.350+05:30Java Robot class<p>Java.awt.Robot class is used to take the control of mouse and keyboard. Once you get the control, you can do any type of operation related to mouse and keyboard through your java code. This class is used generally for test automation. <br /><br />This sample code will show the use of Robot class to handle the keyboard events. If you run this code and open a notepad then this code will write ‘hi budy’ in the notepad. <br />import java.awt.AWTException; <br />import java.awt.Robot; <br />import java.awt.event.KeyEvent; <br /><br />public class RobotExp { <br /><br />public static void main(String[] args) { <br /><br />try { <br /><br />Robot robot = new Robot(); <br />// Creates the delay of 5 sec so that you can open notepad before <br />// Robot start writting <br />robot.delay(5000); <br />robot.keyPress(KeyEvent.VK_H); <br />robot.keyPress(KeyEvent.VK_I); <br />robot.keyPress(KeyEvent.VK_SPACE); <br />robot.keyPress(KeyEvent.VK_B); <br />robot.keyPress(KeyEvent.VK_U); <br />robot.keyPress(KeyEvent.VK_D); <br />robot.keyPress(KeyEvent.VK_Y); <br /><br />} catch (AWTException e) { <br />e.printStackTrace(); <br />} <br />} <br />}</p><p><a title="java.awt.robot class java robot class" href="http://www.javalobby.org/java/forums/t84094.html" target="_blank" rel="java.awt.robot class java robot class">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1163525331132002212006-11-14T22:58:00.000+05:302006-11-14T22:58:51.193+05:30Hide user accounts in Windows XP<p><font size="1">The Windows XP Welcome screen. Pretty pictures for each user account. What a nice thought on Microsoft's part. The only trouble is - I want to create an administrator account, and not have others tempted to try getting into it while they are on my computer.</font></p><p><font size="1">The welcome screen displays all of the local users on the system, except the built-in administrator account that was created during setup. If we want to hide a specific user from the list, we need to create a special value under this registry key:<br /><br />HKEY_LOCAL_MACHINE\Software\Microsoft\Windows<br />NT\CurrentVersion\Winlogon\SpecialAccounts\UserList<br /><br />Under this key you simply create a new DWORD value - the name matches the users name exactly, and the value is one of the following (Decimal format)<br /><br />0 - Hides the user just from the welcome screen<br />1 - The user is shown</font></p><p><font size="1"><a title="Hide user accounts in Windows XP" href="http://www.intelliadmin.com/blog/2006/09/hide-user-accounts-from-windows-xp.html?View=full" target="_blank" rel="Hide user accounts in Windows XP">Know more</a></font></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1163430452295678342006-11-13T20:37:00.000+05:302006-11-13T20:37:32.446+05:30Stikkit a Sticky notes to the browser<p>Stikkit is a beauty web service: It's sticky notes in your browser.</p><p><a href="http://www.stikkit.com/" target="_blank">Stikkit</a> replaces the traditional yellow sticky note with a hyper-powered web version, 3M and Moleskine be damned. Anything that you'd put on sticky notes or in a notebook -- phone numbers, names, appointments, reminders -- can be typed into the site's bare bones interface.</p><p>We've seen digital sticky notes before. Mac OS X and Windows have stickies on the desktop, and websites Nottr (which Scott <a href="http://blog.wired.com/monkeybites/2006/11/nottr_offers_on.html" target="_blank">reviewed</a> this morning) give you a solution to those "Gotta write this down" moments. But Stikkit extends the basic functionality of those tools in an innovative way.</p><p>As you're typing a name and contact information, for instance, Stikkit will give you a little alert at the bottom of the screen that says "Stikkit thinks this is a(n) peep" (meaning people, as in "one of my peeps"). The service can auto-recognize dates and times, contact information and to do lists, and then store them under the corresponding category. There's also a category for bookmarks, so if your stikkit is just a URL and a description, Stikkit files it under bookmarks.</p><p>Stikkits can be tagged with keywords for easy filing and they can be shared with other stikkit users. Other users can comment on your stikkit and save it as their own. </p><p>Bookmarking is extended through the Stikkit bookmarklet for your browser. When you're browsing around and you see a page you want to remember, share or make a note about, click the Stikkit! bookmarklet and a little stikkit box opens up. Annotate, save, and move on. I like that you create the stikkit in an Ajax box, so you never have to leave the page you're on.</p><p>The app has its own shorthand that you have to learn. I had to go into the <a href="http://www.stikkit.com/stikkits/help" target="_blank">FAQ</a> to learn how to apply tags to a stikkit. There are commands, or "hints" that you have to use -- tagging is "tag as" or the @ sign. Also, the category recognition isn't perfect. For example, if you type "yesterday" or "tomorrow" or "saturday" next to a time, Stikkit won't match the proper date with the time. It will just assume your appointment is today unless you give it a hard date. Or, again, use the shorthand.</p><p>Even with its youthful faults, Stikkit is very cool. It works as a notepad, a bookmark service, a calendar, a contacts book. It's really anything you want it to be, and in that respect, it reminded me of <a href="http://www.sbook5.com/" target="_blank">SBook</a> and other open-ended apps with seemingly limitless uses.</p><p>Much like del.icio.us, I can see people using it as a sort of novelty at first, then gradually realizing that it's ruling their lives.</p><p>I first saw the product at the Launch Pad event at this week's Web 2.0 Summit. I remember thinking to myself, "Oh, that's cool. I should make a note to check that out." The irony is that, had I already signed up for Stikkit's public beta, I wouldn't have had to open up my notebook and actually make a note with a pen. I'm such a stooge.</p><p><a title="Stikkit a sticky note to a browser" href="http://feeds.wired.com/~r/MonkeyBites/~3/47704077/dont_write_it_s.html" target="_blank" rel="Stikkit a sticky note to a browser">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com4tag:blogger.com,1999:blog-9561783.post-1163006670511134082006-11-08T22:54:00.000+05:302006-11-08T22:54:30.526+05:30Finding the best price online easily<p><span class="body" id="body">Finding the best price for the gifts you want can drive you crazy at the best of times add a holiday deadline, limited budget and a list as long as Santas, and youve got major stress. Even if you shop online for the sake of convenience, the experience is often bewildering. Who can you trust? Which vendor has the best price? What about customer service?<br /><br />And how can you find the answers to those questions, fast?<br /><br />Online comparison shopping sites like Shopzilla.com, Pricegrabber.com and Shopping.Yahoo.com (all well-regarded services) were designed to solve those problems. Growing numbers of US consumers turn to these sites to help them quickly locate the best prices on a wide variety of products.<br /><br />So how do online price comparison sites work, and how do you use them to find the best deal?<br /><br />Most comparison pricing sites allow you to enter the specific item you want an iPod Nano, lets say and then show you a list of retailers that carry it. Usually, youll see the price that stores are charging for the item and some rating (using stars, checkmarks or smiley faces) of the merchants reliability. If you know exactly what you want, this fast, basic search may be all you need.<br /><br /><strong>The Search<br /></strong><br />But if you need to do some browsing to find what you want, or if you want to see results from more vendors, youll have to look further. Trying a different price comparison site may help. Some have more participating merchants; some focus on specific product categories.<br /><br />For example, try AddAll.com for book price comparisons, AMusicArea.com for music CD comparisons and AMovieArea.com for movie DVD comparisons. Generally speaking, electronics, computers, appliances and techie gadgets are easiest to find at online shopping comparison sites.<br /><br />Be sure to use the search tools sites offer, such as searching by price, zip code, shipping fees, product popularity, product rating, and so on.<br /><br /><strong>The Stores</strong><br /><br />iPod Nanos are sold at hundreds of stores, so why dont you see hundreds of merchants in your comparison shopping price results? Thats because only vendors that pay to be included will come up in your search. The fact that a site is listed (or listed first), does not mean that it is endorsed or that it has even been checked out.<br /><br />This is one of the biggest downsides of using product price comparison sites. If your favorite online retailer(s) do not appear, youll need to do a separate search at their site.<br /><br />Be sure to do your research before buying from stores youve never heard of, or paying a price that seems too good to be true.<br /><br /><strong>The Scoop</strong><br /><br />One of the most useful features of online shopping price comparison sites is that consumers are usually given the option to rate and/or review merchants. Buyers grade vendors on delivery speed, customer service and quality of items.<br /><br />Some sites also award certifications for track records of good customer service, such as BizRate Certified or Trusted Merchant status. (Stores cannot pay for these designations; they must be earned.)<br /><br />Many of the better comparison shopping services also offer product reviews as well.<br /><br />It pays to read the reviews, even if a store (or a product) is generally ranked favorably. You may learn something that helps you make your decision.</span></p><p><span class="body"><a title="Finding the best price online easily" href="http://content-articles.com/article.aspx?i=42583" target="_blank" rel="Finding the best price online easily">Get more information</a></span></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1163006573389369562006-11-08T22:52:00.000+05:302006-11-08T22:52:53.743+05:30Listen to music to energise your soul and brain<p><span class="body" id="body">Music is a form of human expression relayed using variouspattern of sound or tones and sil -ence in terms of pitch,rythm and harmony.music is created by playing instrumentor using vocals to manipulate and transform the emotion of listeners.there was several controversy regarding the definition of music but by all accounts there is no single and intercultural concept defining music.</span></p><p><span class="body">The history of music begins much earlier than the writtendocuments and is still stringed with the development of eachhuman culture.although the earliest records of musical expressi-on are to be found in the Sama Veda of India and in 4000 yearsold cuneiform from Ur.most of our written records and studies deal with the history of music in Western Civilisation that includes different stages of musical period from medieval to 20th century era music.the history of music has been recorded in few.Popular style of music changes from time to time. it also variesfrom culture to culture.at different time different culture emphasised different instruments or techniques to make their music more mesmerising.</span></p><p><span class="body">New trends of music are coming up in themarket which is sure to drag anyone to dance floor.music of different countries or culture are being fuse succesfully giving rise to a different melodious expression.one of such kindis US 'bluegrass' style which contains elements fromAnglo-Irish, Scottish,Irish,German and some African-American instrument and vocal traditions.Music is composed and performedfor many purposes by the musician .it may be used for entertainment, ceremonial,aesthetic and extensively for propaganda.</span></p><p><span class="body">Based on the musical proffession musicians are oftwo types,Amateur musicians and Proffessional musicians.Amateurmusicans compose and perform music for their own pleasure.for the proffessionals it is an income derived motivation seeking contractsand engagements.Performing music is an enjoyable activity both for the musicianand the listener rejuvinating their mind and soul.so,it could besaid that music brings soothing effects to tired brain and aching soul.</span></p><p><span class="body"><a title="Listen to music to energise your soul and brain" href="http://content-articles.com/article.aspx?i=42585" target="_blank" rel="Listen to music to energise your soul and brain">Get more information</a></span></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162920892015355492006-11-07T23:04:00.000+05:302006-11-07T23:04:52.030+05:30Easier memorization techniques to follow<p><span class="body" id="body">Memorization tires most of us. Admit it; wed rather glance on our palm tops or organizers once in a while for convenience. Memorization is something we dont want to deal with for the rest of our lives although we deal with it in school because its something we need to do.<br /><br />Now thats just odd. When we need to do something, we tend to give our best shot at it. Why cant we do the same thing with our simple everyday activities?<br /><br />One effective and interesting way of familiarization and memorization of objects at a particular time or event is to associate them with a journey. The place or location where the journey happens can be stationary but not you, the traveler. You should come across the entire set of objects which are available on the setting you have chosen.<br /><br />We can set the movie house as an example for this memory improvement approach. Before you enter the movie house lobby, you purchase tickets for you and your friend. You know its the ticket booth because you see people falling in line to buy their own tickets. Now, associate the elements you see with what you need to remember. Lets pretend that you need to buy grocery items after seeing a movie. Seeing the long line of moviegoers to the ticket booth is a start. You can make the line of moviegoers going to the ticket booth, purchase chunks of meat instead of tickets. After getting your own meat chunk from the ticket booth, you then proceed to the lobby where you can buy popcorn and drinks served by two food counter clerks. The first clerk is named Ms. Tomato while the other one is named Mr. Lettuce. One has a head like a tomato and the others head looks like lettuce. After ordering, you are then served by Ms. Tomato a bucket of cheese bar instead of pop corn and butter for drinks.<br /><br />After youre satisfied with what you bought, you and your friend proceed to the movie theater and find yourselves a seat. Imagine the seats as giant apples. As you sit back and wait for the movie to start, picture the widescreen in front operated by four grocery clerks pulling the scenes with giant sausages stringed together from the projection screen to make the image move from one picture to another. Now thats one wild imagination to keep you on your toes to remember the grocery items you need. The funnier the story is; the higher chances of remembering each item clearly.<br /><br />From that scenario alone, important objects on the location are observed. You associate the things you see with the location easily since it involves vision, sound, smell, taste, touch and Kinesthesia (or the awareness of body position). All of the strategic points mentioned make Journey System, another memory technique, an easier method in remembering things you need to remember and placing them in a known place for easier memorization without any pressure.</span></p><p><span class="body"><a title="easier memorization techniques to remember" href="http://content-articles.com/article.aspx?i=42353" target="_blank" rel="easier memorization techniques to remember">Get more information</a></span></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162920697825086072006-11-07T23:01:00.000+05:302006-11-07T23:01:37.846+05:30Before applying a credit card know this<p><span class="body" id="body">If you want to have a financial tool which can offer you convenience and flexibility, then it's time to get a credit card. But before filling out that application form, you must be very sure that you're ready to take responsibility over your credit. There are a lot of people out there who ended up with credit card problems because they did not use their card properly and carefully.<br /><br />You have to keep track of your expenses, and be sure to pay for them after the bill arrives. Otherwise, you will only damage your credit rating.<br /><br />If you earn income regularly, eighteen years old or above, then you are qualified to apply for a credit card. There are a lot of credit card companies to choose from, and all of them have enticing offers which are hard to resist. But it doesn't mean though that they will not check your credit history.<br /><br />There are many bureaus engaged in credit reporting, and all of your transactions with regards to credit are recorded. Credit card providers seek the help of these credit bureaus to help them decide how much credit they will extend to a particular card applicant.<br /><br />However, just to make sure that your credit record is accurate, you are free to ask for a copy of it. If there are errors, then you will have time to fix it. If you're a first time applicant and have to established credit history, you can ask a relative or a friend to co-sign your credit card account. Do make sure that you pay your bills on time.<br /><br />If you have a good credit record, then it is already considered a valuable asset. You can use this when you apply for a particular job, home financing, and car loans; a good credit history entails a lot of benefits and is not only used for credit card applications.<br /><br />When you're looking for the perfect card that will suit or meet your needs, you have to consider the following features:<br /><br />-The APR or the annual percentage rate; it is expressed as interest rate for a year and measures the credit cost. However, you should also determine how much rate is charged every billing period.<br /><br />-Some cards have a 'grace period', others don't. A card with a grace period lets you make purchases without immediately being charged an interest. You can keep away from finance charges if you fully pay the balance.<br /><br />-Ask if the issuer charge annual fees because some credit card companies typically charges fifteen to fifty five dollars annually, but there are also credit card issuers who have no annual fees.<br />-Ask details about transaction charges and fees.<br /><br />-The customer service; issuing banks should have toll-free phone numbers where customers can call if they encounter any problem with their credit card.<br /><br />-Card benefits like insurance, card protection, rebates, discounts, and special offers are all additional benefits that most credit card companies provide their clients.<br /><br />After carefully considering all the factors involved as to credit card selection, you can now fill up an application form. You can do it online, just look for the different sites of the credit card issuers.<br /><br />Having a credit card gives us a lot of convenience, security, and flexibility; but it also entails a great deal of responsibility.</span></p><p><span class="body"><a title="Things to know before applying for a credit card" href="http://content-articles.com/article.aspx?i=42369" target="_blank" rel="Things to know before applying for a credit card">Get more information</a></span></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com3tag:blogger.com,1999:blog-9561783.post-1162920559540028402006-11-07T22:59:00.000+05:302006-11-07T22:59:20.116+05:30Choosing right keyword during search<p><span class="body" id="body">Choosing the right keyword is easy, you should ask yourself the following question: If I were to do a search what would I type in to find or search for a website. Getting a right keyword is very important to driving traffic to your website. Choosing the right keyword is critical and writing keyword rich pages is called SEO keyword rich pages. A top 10 position for the right keyword is really like having pure gold in your pocket. Selecting the right keyword is very important for your site. Thus choosing the keywords is of the utmost importance. Putting the in the correct keyword is always an advantage even if it's in the content itself. As in natural search engine optimization, the optimized keyword is critical to the success of your business and your entire campaign. Finding the best keyword is the key to being able to sell boost your website to the next level.<br /><br />If you are serious about driving traffic to your website, then you must be dedicated to finding the right keyword phrases. The Internet is a powerful tool, but try finding the keyword or keyword phrase. Finding the right keyword phrase is an extremely important part of search engine marketing. Why are visitors not finding your website? Finding the best keyword when writing your content is very important, you really need to think of what other people are looking for when searching. There are tools on the web which assist in finding the right keyword, such as Word Tracker and Keyword Elite. Finding the right types of keywords should probably be your first priority. <br /><br />The most important part of search engine optimization is selecting the best keyword phrases or key phrases. With any powerful tool, there is a right way and a few wrong ways to use them. However, selecting the right keyword phrases can be a bit difficult and identifying popular keywords phrases is also a difficult feet. Selecting and implementing it correctly is very time consuming and selecting the right words and phrases is very important. However, what gives many site owners nightmares and great difficulties is figuring out what primary keyword to use. So you can see that proceeding and doing it correctly can help you define your market better and enjoy prominence in it. <br /><br />The right keywords are the fastest path to the relevant information you are after. Do you have relevant content for prospects that are in the early research stages? This is because search engines match each query with the most relevant page and not the site. Experiments with LSI content will prove that lots of targeted content with the correct keyword densities improve rank dramatically. The more relevant the keyword phrase the more relevant your traffic is. <br /><br />Choosing the correct keyword in the list of keywords, the conversions will start increasing. Choosing right keyword is essential. The best way select a right keyword is to imagine what 'exact' phrase the author/webmaster might have used to describe your required information. Tagging the right keyword is very important while posting any pictures with the correct tags also helps. When choosing the best keyword it is very important because to a webmaster if they are going to optimize their website and have there site successful on the search engines.</span></p><p><span class="body"><a title="choosing right keyword during search" href="http://content-articles.com/article.aspx?i=42377" target="_blank" rel="choosing right keyword during search">Get more information</a></span></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162569162538013342006-11-03T21:22:00.000+05:302006-11-03T21:22:43.096+05:30Problem Turning off filter keys<p><font face="Verdana" color="#330000" size="2">I have a lazy habit of resting a finger onf the shift key when I'm pausing between words. If I do that for more than 8 seconds, XP asks if I want to turn on FilterKeys. It does this even if I un-check the "Use FilterKeys" box on the Accessibility settings. The box stays un-checked, but the feature doesn't turn off.</font></p><p><font face="Verdana" color="#330000" size="2"><strong>Solutions </strong></font></p><p><font face="Verdana" color="#330000" size="2"><strong>1. </strong>Select the Two Shift keys simultaneously for around 8–10 seconds. Your problem will be solved. (self experience0.</font></p><p><font face="Verdana" color="#330000" size="2">2. To work around this problem, disable the Shortcut option for Filter keys: <br /> In Control Panel, double-click Accessibility Options.<br /> Under FilterKeys, click Settings. <br /> Under Keyboard shortcut, click to clear the Use shortcut check box</font></p><p><font face="Verdana" color="#330000" size="2">3. Disable all the stupid accessibility keys for good by importing these registry settings...</p><p>;----------------------------------<br />Windows Registry Editor Version 5.00</p><p>;Disable Sticky Keys<br />[HKEY_CURRENT_USER\Control Panel\Accessibility\StickyKeys]<br />"Flags"="506"</p><p>;Disable Filter Keys<br />[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response]<br />"Flags"="122"</p><p>;Disable Toggle Keys<br />[HKEY_CURRENT_USER\Control Panel\Accessibility\ToggleKeys]<br />"Flags"="58"<br />;-------------------------------------<br />Or download it here:<br /><a href="http://magicsynthesis.com/download/disablestupidkeys.reg" rel="nofollow">http://magicsynthesis.com/download/disablestupidkeys.reg</a></p><p>You can get more information from <a title="problem turning off filter keys in windows" href="http://www.hyperorg.com/blogger/mtarchive/002052.html" target="_blank" rel="problem turning off filter keys in windows">this post</a></p></font>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com1tag:blogger.com,1999:blog-9561783.post-1162482980858915742006-11-02T21:26:00.000+05:302006-11-02T21:26:20.980+05:30Different GUI Architecturesraphical user interfaces have become a familiar part of our software landscape, both as users and as developers. Looking at it from a design perspective they represent a particular set of problems in system design - problems that have led to a number of different but similar solutions. <p>Identifying common and useful patterns for application developers to use in rich-client development. Various designs in project reviews and also various designs that have been written in a more permanent way. Inside these designs are the useful patterns, but describing them is often not easy. Take Model-View-Controller as an example. It's often referred to as a pattern, but we don't find it terribly useful to think of it as a pattern because it contains quite a few different ideas. Different people reading about MVC in different places take different ideas from it and describe these as 'MVC'. If this doesn't cause enough confusion you then get the effect of misunderstandings of MVC that develop through a system of Chinese whispers.</p><p>To some extent you can see this essay as a kind of intellectual history that traces ideas in UI design through multiple architectures over the years. Understanding architectures isn't easy, especially when many of them change and die. Tracing the spread of ideas is even harder, because people read different things from the same architecture. In particular <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">the author</a> done an exhaustive examination of the architectures I describe. What <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">the author</a> have done is referred to common descriptions of the designs. If those descriptions miss things out, <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">the author</a> utterly ignorant of that. So don't take <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">the author</a> descriptions as an authoritative description of the architectures. Furthermore there things <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">the author</a> left out or simplified if <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">the author</a> didn't think they were particularly relevant. Read the authors explanation on <a title="Different GUI Architectures" href="http://martinfowler.com/eaaDev/uiArchs.html" target="_blank" rel="Different GUI Architectures">Different GUI Architectures</a></p><p> </p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162315656521551982006-10-31T22:57:00.000+05:302006-10-31T22:57:36.526+05:30Points to remember while branching in version control systems<p>That's basically all you need to know, but here are some other pointers:</p><ul><li>When checking in to the branch, always put the branch name in the comment, so that people can easily tell where the change is happening.</li><li>You can always make a branch from a revision in the past, even far in the past. I've often seen developers fret about needing to create a fixes branch before beginning work on new feature work. You don't have to. Create the fixes branch when you have a fix to put on it, and create it from the last shipped revision, no matter how long ago it was.</li><li>Branches usually have finite lifetimes. For example, a feature branch is obsolete once it has been merged back to the trunk. To keep your branches directory manageable, you can delete the branch when you are done with it. You still have the history of the files in Subversion, and can even retrieve the full branch later if you need it. By deleting the obsolete branches, you let develeopers update from the branches directory without having to wade through unneeded files. </li><li>Subversion's strange rule about needing two revision number even to merge a single changelist prompted me to create this one-line script file: <blockquote class="code"><tt>svn merge -r`expr $2 - 1`:$2 ../trunk $1</tt></blockquote>This lets me specify the branch directory and revision number, and it pulls a single changelist from the trunk to the branch. </li><li>If you need to merge only part of a changeset, you have two choices: one is to not merge at all, but simply edit the files on the branch to match the changes made on the trunk. Alternately, you can merge the entire changeset, then manually revert the files you don't want, or edit files to undo unwanted changes. Remember, the merge command simply edits files in your working tree, so any changes you want to make, you can make by hand.</li></ul><p><a title="Points to remember while branching in version control systems" href="http://www.nedbatchelder.com/text/quicksvnbranch.html" target="_blank" rel="Points to remember while branching in version control systems">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162315585429753702006-10-31T22:56:00.000+05:302006-10-31T22:56:25.440+05:30Different types of branching in version control systems<p>There are many different ways to use branches in software development. In fact, there are enough to fill a <a class="offsite" href="http://www.nedbatchelder.com/blog/200305.html#e20030508T210553">small book devoted to the subject</a>. Don't worry about all of that. There are two branch types which solve most development problems:</p><ul><li>Fixes Branch: while feature work continues on the trunk, a fixes branch is created to hold the fixes to the latest shipped version of the software. This allows you to fix problems without having to wait for the latest crop of features to be finished and stabilized.</li><li>Feature Branch: if a particular feature is disruptive enough or speculative enough that you don't want the entire development team to have to suffer through its early stages, you can create a branch on which to do the work.</li></ul><p>These two types of branches have different use patterns involving branch point, merge policy, and lifetime. We'll examine them each in turn.</p><h3>Fixes branches</h3><p>A fixes branch (or maintenance branch) is used to apply bug fixes to a shipped version of the code. It lets you release follow-on versions of the software with bug fixes without having to incur the risk of shipping partially finished features.</p><p><b>Branching</b>: the branch is created from the revision that actually shipped. This guarantees that no extra changes have accidentally slipped into your maintenance release. Use the -r argument to the svn copy command to ensure that you have the proper starting point. The branch should be named with the version number or revision number it branched from: fixes_v2_1, or fixes1234, for example. </p><p><b>Changes</b>: For the most part, fixes are made on the trunk, then merged to the branch. This is because most fixes are appropriate to the trunk, and are chosen for inclusion in the maintenance release. Occaisionally, you may have to fix a bug in a maintenance release in a way that differs from how you would fix it on the trunk, because of changes in the trunk since you shipped. In that case, make the change directly on the fixes branch.</p><p><b>Merging</b>: Only merge from the trunk to the branch. This is one of the reasons to make fixes on the trunk first. By keeping all the merging in only one direction (trunk to branch), you simplify the process and reduce the possibility of conflicts.</p><p>Merges will be done only for specific changesets, those with the bug fixes that should be included in the maintenance release. The merges will therefore be sparse, picking and choosing only those changes needed. The longer the branch is active, the greater possibility that a merge will not be possible because of conflicts introduced by missing changes from the trunk.</p><p><b>Lifetime</b>: The lifetime of a fixes branch depends on your release model. If you are building a web site or other software that is "shipped" to only one place, the fixes branch will be obsoleted the next time you deploy the trunk. In a more traditional model, the fixes branch will have to stick around for a long time, until you end support for that version of the product. </p><p>A popular variant of the fix branch is a release branch: as development nears the point of releasing, a branch is created for the final polishing. This is fine to do so long as it doesn't violate the trunk-majority rule. If everyone is still working on polishing, and all of that work will be merged back to the trunk, there's no point branching yet.</p><h3>Feature branches</h3><p>A feature branch is used by developers creating a major feature, or one which is speculative, and may not be included in the product. Using one or more feature branch allows your developers to work independently of each other while still using Subversion as a way to share their work within the feature group.</p><p>The feature branch is generally kept up to date with the trunk as work progresses. Once the feature is done, the whole branch is merged back to the trunk.</p><p><b>Branching</b>: the starting point of a features branch is less sensitive than with a fixes branch. When feature work begins, branch from the head, and dive in. Give the branch a descriptive name based on the feature, for example, 3d_ui.</p><p><b>Changes</b>: the changes on the feature branch are whatever work has to happen to implement the feature. Make the changes on the branch and check them in.</p><p><b>Merging</b>: the bulk of the merging on the feature branch will be to bring trunk changes over to keep the feature branch current with the trunk. These merges are a periodic maintenance task on the branch, for example, done once a week or so. </p><p>Subversion doesn't record the history of merging, so to do this periodic trunk update, you have to manually note which revision you are current with. For example, when the branch is created, note the revision:</p><blockquote class="code"><tt>$ svn copy http://svn.myrepo.com/trunk http://svn.myrepo.com/branches/3d_ui<br />Committed revision 1701.<br /></tt></blockquote><p>When the time comes to merge the trunk over, you merge from there, including everything from the latest trunk revision merged, to the head:</p><blockquote class="code"><tt>$ svn update<br />At revision 1812.<br /><br />$ svn merge -r1701:1812 /work/trunk /work/branches/3d_ui<br />U 3d_ui/source/hello.py<br />...<br /><br />$ svn ci -m "[3d_ui] Merged the trunk from 1701 to 1812."<br />Sending 3d_ui/source/hello.py<br />...<br />Transmitting file data ..<br />Committed revision 1813.<br /></tt></blockquote><p>After another interval of work (week, month, whatever is appropriate to your environment), you'll have to merge again to get the recent changes to the trunk. Again, you'll specify a revision range that takes only the changes you haven't already merged:</p><blockquote class="code"><tt>$ svn update<br />At revisioun 1865.<br /><br />$ svn merge -r1812:1865 /work/trunk /work/branches/3d_ui<br />U 3d_ui/source/util.py<br />...<br /><br />$ svn ci -m "[3d_ui] Merged the trunk from 1812 to 1865."<br />Sending 3d_ui/source/util.py<br />...<br />Transmitting file data ..<br />Committed revision 1866.<br /></tt></blockquote><p>The checkin comments are important here, because they are the simplest way to keep track of what the latest merge revision was.</p><p>Eventually, the feature is done, and needs to be merged back to the trunk. Now you will merge all of the revisions from the branch point to the head from the branch back to the trunk:</p><blockquote class="code"><tt>$ svn update<br />At revision 1911.<br /><br />$ svn merge -r1701:1911 /work/branches/3d_ui /work/trunk<br />U /work/trunk/source/hologram.py<br />U /work/trunk/source/volume.py<br />...<br /><br />$ svn ci -m "Merged the 3d_ui branch back to the trunk."<br />Sending /work/trunk/source/hologram.py<br />Sending /work/trunk/source/volume.py<br />...<br />Transmitting file data ..<br />Committed revision 1912.<br /></tt></blockquote><p><b>Lifecycle</b>: at this point, the feature branch is done. You can go back to working on the trunk, or creating a new branch for the next big thing.</p><p><a title="Different types of branching in version control systems" href="http://www.nedbatchelder.com/text/quicksvnbranch.html" target="_blank" rel="Different types of branching in version control systems">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162315436669832682006-10-31T22:53:00.000+05:302006-10-31T22:53:56.696+05:30Branching in subversion <p>Subversion makes branching a simple process. If you set up your repository following the Subversion guidelines, you have a trunk/ directory and a branches/ directory. There's nothing magical about these directories, so if you don't have them, you can put your branch anywhere you like.</p><p>You'll use the svn copy command to copy the trunk as a branch. This doesn't actually copy any files until changes are made, so don't worry about disk space. </p><ol><li>Decide on a name for the branch. It should be short and descriptive, and usable as a directory name. In these examples, it's "mybranch".</li><li>Use the svn copy command to create the branch in the repository by copying the trunk. The arguments are a destination path and a source path. The svn info command may be helpful to remind yourself what your repository path is. Here's an example that creates the mybranch branch from the trunk: <blockquote class="code"><tt>$ svn copy http://svn.myrepo.com/trunk http://svn.myrepo.com/branches/mybranch<br />Committed revision 1701.<br /></tt></blockquote>The change is committed immediately. Because this command uses repository paths, it changed the repository directly, with no effect on your working directory.</li><li>To get a working directory for your branch, you can simply go to your branches/ working directory and update to get the new branch: <blockquote class="code"><tt>$ cd /work/branches<br />$ svn up<br /></tt></blockquote>If you haven't checked out the branches directory, you can use the svn checkout command to get it or just the mybranch directory: <blockquote class="code"><tt>$ mkdir /work/branches<br />$ svn co <a href="http://svn.myrepo.com/branches/mybranch">http://svn.myrepo.com/branches/mybranch</a></tt></blockquote></li></ol><p>That's it. Now you have a directory at /work/branches/mybranch where you can do whatever work you need to do.</p><p>The example above branched from the tip of the trunk (what Subversion calls HEAD). You can also branch from a particular past revision by specifying the -r argument with a revision number. </p><h3>Working</h3><p>Working with your branch is exactly the same as working on the trunk. You use svn update to get the latest code from the repository, you edit files, and you use svn commit to check in code to the repository.</p><p>Subversion doesn't make any fundamental distinction between branches and trunk. All changesets go into the same list of changesets, each with its own sequential revision number. This is because a Subversion revision number represents a revision of the entire repository, not of a single file.</p><p><a title="branching in subversion version control system" href="http://www.nedbatchelder.com/text/quicksvnbranch.html" target="_blank" rel="branching in subversion version control system">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162315120393467972006-10-31T22:48:00.000+05:302006-10-31T22:48:40.400+05:30Principles of branching in version control systemsMany developers are uneasy about branching and merging, even those who consider source control essential. It can be a very complicated process, but it doesn't have to be, and it is a very powerful way to manage development. Here's how to get started with branches in Subversion. <h3>Principles</h3><p>Branching produces a split in a code stream: different developers can be working in alternate universes of the same set of code. Changes are made independently to each stream. Merging brings changes back together to combine the streams. There are a number of reasons why you might want to use branches, and different reasons produce different kinds of branches. </p><p>Branching is a powerful tool in managing development and releases. There are many different styles of branching, but I've only ever needed two: Fixes and Features, which I'll describe below. These are simple, and fill 90% of the need for branching. Don't go overboard with elaborate branches. Purists will develop complex theories and algebras of branching, with baroque policies and criteria. It doesn't have to be complicated.</p><p>One recurring debate is over what goes on the trunk and what goes on the branch. How do you decide what work will happen on the trunk, and what will happen on the branch? Here is my rule: <strong>Branches are for the minority</strong>.</p><p>Using a branch is always more involved than using the trunk, so the trunk should be used by the majority, and the branch should belong to the minority. Subversion is easier than other source control systems in this regard, but the rule still holds: when trying to decide what goes on the trunk and what goes on the branch, put the code that most developers want on the trunk, and put the minority on the branch. </p><p><a title="Principles of branching in version control systems" href="http://www.nedbatchelder.com/text/quicksvnbranch.html" target="_blank" rel="Principles of branching in version control systems">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162314678878285012006-10-31T22:41:00.000+05:302006-10-31T22:41:19.003+05:30Tips to reduce your page load time<p>It is widely accepted that fast-loading pages improve the user experience. In recent years, many sites have started using <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">AJAX</a> techniques to reduce latency. Rather than round-trip through the server retrieving a completely new page with every click, often the browser can either alter the layout of the page instantly or fetch a small amount of HTML, XML, or javascript from the server and alter the existing page. In either case, this significantly decreases the amount of time between a user click and the browser finishing rendering the new content.</p><p>However, for many sites that reference dozens of external objects, the majority of the page load time is spent in separate HTTP requests for images, javascript, and stylesheets. AJAX probably could help, but speeding up or eliminating these separate HTTP requests might help more, yet there isn't a common body of knowledge about how to do so.</p><p>Try some of the following:</p><ul><li><p>Turn on <a href="http://httpd.apache.org/docs/2.0/mod/core.html#keepalive">HTTP keepalives</a> for external objects. Otherwise you add an extra round-trip for every HTTP request. If you are worried about hitting global server connection limits, set the keepalive timeout to something short, like 5-10 seconds. Also look into serving your static content from a different webserver than your dynamic content. Having thousands of connections open to a stripped down static file webserver can happen in like 10 megs of RAM total, whereas your main webserver might easily eat 10 megs of RAM per connection. </p></li><li><p>Load fewer external objects. Figure out how to globally reference the same one or two javascript files and one or two external stylesheets instead of many; try preprocessing them when you publish them. If your UI uses dozens of tiny GIFs all over the place, consider switching to CSS, which tends to not need so many of these.</p></li><li><p>If your users regularly load a dozen or more uncached or uncachable objects per page, consider evenly spreading those objects over four hostnames. This usually means your users can have 4x as many outstanding connections to you. Without HTTP pipelining, this results in their average latency dropping to about 1/4 of what it was before.</p><p>Evenly spreading your images over four hostnames is most easily done with a hash function, like MD5. Rather than loading all of your objects from http://static.example.com/, create four hostnames (e.g. static0.example.com, static1.example.com, static2.example.com, static3.example.com) and use two bits from an MD5 of the image path to select between them.</p><p>Beware that each additional hostname adds the overhead of an extra DNS lookup and an extra TCP three-way handshake. If your users have pipelining enabled or a given page loads fewer than around a dozen objects, they will see no benefit from the increased concurrency and the site may actually load more slowly. The benefits only become apparent on pages with larger numbers of objects. Be sure to measure the difference seen by your users if you implement this.</p></li><li><p>Allow static images, stylesheets, and javascript to be cached by the browser. This won't help the first page load for a new user, but can substantially speed up subsequent ones. </p><p>Set an <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">Expires header</a> on everything you can, with a date days or even months into the future. This tells the browser it is okay to not revalidate on every request, which can add latency of at least one round-trip per object per page load for no reason.</p><p>Instead of relying on the browser to revalidate its cache, if you change an object, change its URL. One simple way to do this for static objects if you have staged pushes is to have the push process create a new directory named by the build number, and teach your site to always reference objects out of the current build's base URL. (Instead of <img src="http://example.com/logo.gif"> you'd use <img src="http://example.com/build/1234/logo.gif">. When you do another build next week, all references change to <img src="http://example.com/build/1235/logo.gif">.) This also nicely solves problems with browsers sometimes caching things longer than they should -- since the URL changed, they think it is a completely different object.</p><p>If you conditionally gzip HTML, javascript, or CSS, you probably want to add a "<A href="http://www.w3.org/protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</A>: private" if you set an Expires header. This will prevent problems with caching by proxies that won't understand that your gzipped content can't be served to everyone. (The Vary header was designed to do this more elegantly, but you can't use it because of IE brokenness.)</p><p>For anything where you always serve the exact same content when given the same URL (e.g. static images), add "Cache-Control: public" to give proxies explicit permission to cache the result and serve it to different users. If a local cache has the content, it is likely to have much less latency than you; why not let it serve your static objects if it can?</p><p>Avoid the use of query params in image URLs, etc. At least the <a href="http://www.squid-cache.org/">Squid cache</a> refuses to cache any URL containing a question mark by default. I've heard rumors that other things won't cache those URLs at all, but I don't have more information. </p></li><li><p>Minimize HTTP request size. Often cookies are set domain-wide, which means they are also unnecessarily sent by the browser with every image request from within that domain. What might've been a 400 byte request for an image could easily turn into 1000 bytes or more once you add the cookie headers. If you have a lot of uncached or uncachable objects per page and big, domain-wide cookies, consider using a separate domain to host static content, and be sure to never set any cookies in it.</p></li><li><p>Minimize HTTP response size by enabling gzip compression for HTML and XML for browsers that support it. For example, the 17k document you are reading takes 90ms of the full downstream bandwidth of a user on 1.5Mbit DSL. Or it will take 37ms when compressed to 6.8k. That's 53ms off of the full page load time for a simple change. If your HTML is bigger and more redundant, you'll see an even greater improvement.</p><p>If you are brave, you could also try to figure out which set of browsers will handle compressed Javascript properly. (Hint: IE4 through IE6 asks for its javascript compressed, then breaks badly if you send it that way.) Or look into Javascript obfuscators that strip out whitespace, comments, etc and usually get it down to 1/3 to 1/2 its original size.</p></li><li><p>Consider locating your small objects (or a mirror or cache of them) closer to your users in terms of network latency. For larger sites with a global reach, either use a commercial <a href="http://en.wikipedia.org/wiki/Content_Delivery_Network">Content Delivery Network</a>, or add a colo within 50ms of 80% of your users and use one of the many <a href="http://en.wikipedia.org/wiki/Global_Server_Load_Balancing">available methods</a> for routing user requests to your colo nearest them.</p></li><li><p>Regularly use your site from a realistic net connection. Convincing the web developers on my project to use a "slow proxy" that simulates bad DSL in New Zealand (768Kbit down, 128Kbit up, 250ms RTT, 1% packet loss) rather than the gig ethernet a few milliseconds from the servers in the U.S. was a huge win. We found and fixed a number of usability and functional problems very quickly.</p></li><li><p><i>(Optional)</i> Petition browser vendors to turn on HTTP pipelining by default on new browsers. Doing so will remove some of the need for these tricks and make much of the web feel much faster for the average user. (Firefox has this disabled supposedly because some proxies and some versions of IIS choke on pipelined requests. But there are workarounds.)</p></li></ul><p>The above list covers improving the speed of communication between browser and server and can be applied generally to many sites, regardless of what web server software they use or what language the code behind their site is written in.</p><p>The techniques of measurement and experimentation can be applied to other sources of latency. For example, try benchmarking common pages on your site with <a href="http://httpd.apache.org/docs/trunk/programs/ab.html">ab</a>, which comes with the <a href="http://httpd.apache.org/">Apache webserver</a>. If your server is taking longer than 5 or 10 milliseconds to generate a page, you should make sure you have a good understanding of where it is spending its time.</p><p><a title="Tips to reduce your page load time" href="http://www.die.net/musings/page_load_time/" target="_blank" rel="Tips to reduce your page load time">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162178982069700922006-10-30T08:59:00.000+05:302006-10-30T08:59:42.086+05:30Using firefox browser without mouse<p>Did you ever want to use your browser without needing a mouse? Most browsers have useful keyboard shortcuts that may help you do basic tasks like opening a new tab or entering a web address. But how do you move from one page to another one without clicking on links.<br /><br />Firefox has a simple trick: press ' (single quote) and you can search through the links from a page by typing a string in the small box from the bottom of the window. So you could type the first characters from the anchor and when the link you want to open has focus, press enter. But what if the page has only links with this anchor "click here"? And what about buttons and image links?<br /><br />Hit-a-Hint is an extension for Firefox that wants to solve this problem. The idea is that you press a magic key and, after that, each link from the page has a unique combination. All you have to do is press the keys attached to that link. Fortunately, the extension uses numbers, so in most cases, you'll type only one or two numeric keys.<br /><br />To install this extension, <a href="https://addons.mozilla.org/firefox/1341/">visit this page</a>.<br /><br />After you restart your browser, you can use the extension this way: press space (space is the magic key) and then one of the unique numbers next your favorite link, while still pressing space. Then release the space key. To open the page in a new tab, press Ctrl before releasing space key.<br /><br />If you don't like keeping space key pressed, you can just press h, type the numeric combination, and then press enter.</p><p><a title="Use firefox browser without mouse" href="http://googlesystem.blogspot.com/2006/10/magic-of-browsing-web-without-mouse.html" target="_blank" rel="Use firefox browser without mouse">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162178911979680182006-10-30T08:58:00.000+05:302006-10-30T08:58:31.986+05:30Microsoft Atlas beta release needs a new development approach with Ajaxhe new <a href="http://ajaxian.com/archives/aspnet-ajax-beta-released" target="_blank">Beta of Atlas has been released</a> and that it isn't called Atlas anymore but ASP.NET Ajax. Lots of changes have been introduced, including the renaming of the <code>$()</code> function to <code>$get()</code> to allow it to work with other Javascript libraries. Maybe it's not quite Beta quality, says Rick Strahl in his recent post entitled <a href="http://west-wind.com/weblog/posts/8282.aspx" target="_blank">More MS Ajax Pain</a>. <p>The truth is we're all still learning how to build, debug, test and support Ajax applications. See the various development tips from Ajax framework developers on how to debug applications festooned with Ajax widgets. New abstraction, inderection and other plumbing will make it easier to develop, but harder to debug and productivity is bound to go down before it goes up. It's been a long time since I've had any direct insight into Microsoft's internal development practices, but I have to believe they are struggling to find qualified Javascript programmers just like everyone else, just as I'm sure they're struggling to extend their unit, system and regression testing processes to cover the far more intricate logic on the browser.</p><p>At the end of the day, it looks to me that MS's approach of incrementally improving ASP.NET will be just good enough to allow them to capture the biggest market share for .NET Ajax. But TibCo GI, Echo2 (when the .NET version comes out), etc., all look to have more interesting offerings, IMHO, even for big corporate players who want to stick to .NET, especially if the productivity of their developers goes up.</p><p><a title="review on microsoft atlas beta release" href="http://blogs.pathf.com/agileajax/2006/10/even_microsoft_.html" target="_blank" rel="review on microsoft atlas beta release">Get more information</a></p>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0tag:blogger.com,1999:blog-9561783.post-1162178638235824832006-10-30T08:53:00.000+05:302006-10-30T08:53:58.246+05:30Find good feeds at Feeds that matter<p>Want to find a few good feeds? Try <a href="http://ftm.umbc.edu/">Feeds That Matter</a>, an interesting grouping of publicly listed feeds at Bloglines:</p><div><div class="imBorderBottom" style="MARGIN-BOTTOM: 15px"><div class="imBorderLeft"><div class="imBorderRight"><div class="imCornerBottomLeft"><div class="imCornerBottomRight"><div class="imCornerTopLeft"><div class="imCornerTopRight"><p class="roundedBorderBQ" id="rbbq0.8358776201423974">There are about 83K publicly listed users on bloglines and they have a combined 2,786,687 feed subscriptions. Roughly 35% of these publicly listed users organize their feeds into folders. On an average there are about 20 feeds per folder. By analyzing this data and combining merging folders that are very similar, we have come up with an automatic way of creating a taxonomy of popular topics and make it easy to find feeds that are most relevant to that topic. </p><p class="roundedBorderBQ"><a title="find good feeds at feeds that matter" href="http://www.lifehacker.com/software/bloglines/find-feeds-that-matter-209796.php" target="_blank" rel="find good feeds at feeds that matter">Get more information</a></p></div></div></div></div></div></div></div></div>eshwarhttp://www.blogger.com/profile/00372561741462677869noreply@blogger.com0