Posts

Showing posts from May, 2009

HOW TO create a Contact/Feedback form without coding

Typically building a Contact or Feedback form requires some amount of server-side programming as submitted values need to be saved in a database or emailed to a specified address. There are also infrastructure costs associated with running self-hosted database software and email. Zoho Creator offers free readymade configurable templates for a host of forms including Contact or Feedback forms. Once configured, Zoho Creator provides you a code snippet that you can paste into your web pages. When a visitor fills the feedback form, the values are saved to a database that can be accessed online and the values submitted can also be sent to an email address that you specify. I was able to set up a Contact form for this blog within minutes.

Fiddling with Fiddler

Image
I noticed the inconspicuous QuickExec box several months after using Fiddler, the HTTP debugging tool. There is more to Fiddler than what meets the eye. The QuickExec box is a thin black box just above the Fiddler status bar that lets you type commands instead of clicking on the menu options. Just type CLS when you wish to clear the Web Sessions, use ?word to look for a specific word among the Session URLs or filter URLs that are of a specific size using the commands < size and > size. The neXpert 1.1 Performance Tool allows you to type additional commands in the QuickExec box than the pre-defined ones. One of those nifty commands is savesaz filename that let's you save Fiddler Sessions in a Session Archive (.SAZ) file at a specified path. Read more about it in my recent article Fiddler Tips & Tricks . Also see: neXpert - YSlow clone for Fiddler Accidental discoveries

The Internet is for Everyone - Vint Cerf

I came across the transcript of an interesting speech by Vint Cerf , 'the father of the Internet' , on his vision & goals for the Internet. I feel the Internet is among the few wonderful inventions that has had the widest impact on the world. Excerpt from the speech: The Internet is for everyone - but it won't be if we are not responsible in its use and mindful of the rights of others who share its wealth. Let us dedicate ourselves to the responsible use of this new medium and to the proposition that with the freedoms Internet enables comes a commensurate responsibility to use these powerful enablers with care and consideration. For those who choose to abuse these privileges, let us dedicate ourselves to developing the necessary tools to combat the abuse and punish the abuser. Related: A Brief History of the Web

Book Review: Learning jQuery

Image
I "discovered" jQuery a few months ago. jQuery is JavaScript on steroids. I've found it so useful, I've stayed hooked. The website Visual jQuery and the book Learning jQuery : Better Interaction Design and Web Development with Simple JavaScript Techniques by Karl Swedberg ( a jQuery Evangelist ) & Jonathan Chaffer have been extremely useful in helping me understand and appreciate the goodness of jQuery. In my opinion, a good technical book has the following characteristics: Is written in plain English with a conversational tone Has practical reusable examples with scenarios I can relate to Provides adequate background info on crucial concepts This 380-paged book meets that definition. Chapters 1 to 7 cover the basics and key jQuery Library features like HTML document traversing, event handling, animating, and AJAX interactions. The remaining chapters cover the practical uses of jQuery including Plugins, a feature that has bowled me over. Among all the cha

Free print version of Newspapers

Most newspapers round the world have online editions as well. While you get the news, you don't get to see things like Classifieds, Seasonal Sales etc.,. Some newspapers offer a digital edition of the "print" version which can be useful if you need such info and you missed a copy. You also get to choose local edition of different regions. So if you have re-located to a new city, you can still track news of you home city. Here is a compilation of the popular newspapers in Hyderabad (where I stay) & India: Deccan Chronicle (free, registration required) Times of India Hindustan Times (free, registration required) Indian Express (free, registration required) Economic Times Business Standard (free, registration required) Eenadu (free, registration required) Sakshi Also see: Beat the Recession with Tip Jar

HOW TO capture mouse pointer in a screenshot

Image
I recently needed a screenshot of a web page WITH the mouse pointer visible. I did not find the regular Print Screen key, MS Paint, Paint.NET, Cropper, the Snipping tool in Vista to be of of any help. After a little googling, I found info dating back to 1999 that is still relevant. Hans Springer wrote that there are atleast 4 tools that can do this - Hypersnap DX PaintShop Pro SnagIt Hardcopy The first 3 are commercial tools with free trial versions available while the last is freeware. I used SnagIt (which I initially used many years ago) to get my screenshot. If you know of any other tools, please post your comment. Related: Free tools to generate screenshots

HOW to log Remote Desktop connection info

Remote Desktop connection is a great utility to access PCs physically away from you with ease. If you are responsible for the security of a Windows machine that can be accessed through Remote Desktop, you have to constantly keep track of the users and their permissions. To monitor activity of users connecting through RDP, you would have to set up an Audit Policy ( see steps ). Once set, Security Event Log will note when a remote user logged on or off. From the Event Viewer, a successful Logon/Logoff can be detected by an Event code of 528 and Logon Type of 10 To allow users to connect through RDP, they have to be added explicitly. However, any member of the Administrators group can connect even if they are not listed . A user who no longer requires access should be removed explicitly or his permissions have to be curtailed to prevent any potential abuse. To selectively or wholly remove users, right-click "My Computer", select "Properties", choose the "Remote&q

Generate Dynamic Tooltips with ASP.NET & jQuery

Image
Let's say you have to scan a web page to find words matching those in a Glossary (that is continuously updated to provide descriptions for keywords), highlight them and show a brief explanation of the term as a tooltip when the mouse hovers over it. I wrote an article recently that shows how to accomplish this requirement using jQuery functions and a jQuery Plugin called SearchHighlight. The job of scanning a web page to find words matching those in a Glossary and highlighting them is done by the jQuery SearchHighlight Plugin . This Plugin basically takes the list of words that we want to match and whenever it finds a matching word in a web page, it wraps the word within a SPAN tag and the style setting for the SPAN gives the highlighted effect. Next, in order to show a dynamic tooltip that SPAN tag's TITLE attribute is used. The content for the TITLE attribute is fetched asynchronously from the Glossary which is a dynamic web page that retrieves keyword descriptions from a da

Browser built-in Web Development tools

Image
The latest versions of new browsers contain powerful Web Development tools that are a boon to web developers. IE 8 has Developer Tools (keyboard shortcut F12), Safari 3 on Windows has a feature called Web Inspector & related Developer utilities accessible from the Develop option in the Menu and in Opera 9.6, Developer Tools (also called Dragonfly ) is available from the Tools menu under Advanced option. Firefox 3 however contains just a Error Console that outputs validation errors and warnings exhibited by CSS and JavaScript connected to a loaded web page and the Firebug extension which offers more elaborate features for the web developer has to be installed explicitly. These tools offer great insight about how well performing the web pages that we have built are. I like the Network Timeline option (part of Web Inspector) in Safari 3 that not only shows a HTTP Waterfall chart but also the sizes of various elements (images, scripts etc) of a web page that we want to inspect. (click

asp:menu fix for IE8

The asp:menu control makes building a website Menu simple. It is a powerful control that has over 75 properties which can be applied declaratively to construct complex static and dynamic menus. Despite it's ease of use, it has a few deficiencies that ASP.NET developers should be aware of. There are known issues with it in IE 8 and Safari browsers. Thankfully, there is a official patch for IE 8 and workaround for Safari to correct the rendering issues. Related: HOW TO suppress the popout arrow on the menu while using ASP.NET 2.0 Menu control HOW TO build a simple Tab Menu Control

HOW TO Find and Replace Characters Using Regular Expressions in Visual Studio

Image
There was a question on ASP.NET Forums to find a pattern using regular expressions to match the following strings in code within Visual Studio - href="ProgramInformation.aspx?ID=TX" href="ProgramInformation.aspx?ID=NY" so that they can be replaced with the following strings - href="javascript:SetStateCode('TX')" href="javascript:SetStateCode('NY')" Most editors support regular expressions to find and replace characters. Visual Studio supports it as well but has it's own regular expression dialect . Tagged expressions aid replacements in a regular expression search by extracting a specific set of characters that are required to be manipulated. In a single find/replace, you can have up to 9 tagged expressions. To tag our search criteria, we place {} around the criteria. For the above requirement, we have to capture just the value of ID from the URL set to the HREF property and use it to build another string. To accomplish this

100 Interview Questions & Answers For Software Developers

Sammy Larbi has provided "off-the-top-of-my-head answers" to Jurgen Appelo's list of 100 interview questions for software developers covering the following topics - Construction Algorithms Data Structures Testing Requirements Functional Design Technical Design Maintenance Configuration Management Project Management This is useful material for job aspirants. Also see: Coding Interview Tips Cloud Computing - Questions & Answers SQL Server Questions and Answers SQL Azure Q & A - 1 ASP.NET MVC 4 Questions and Answers JavaScript Questions & Answers - 1   JavaScript Questions & Answers - 2   TFS - Questions & Answers

10 Performance Secrets for SQL Server Developers

Michael K. Campbell highlights 10 common performance problems to avoid in the latest edition of SQL Server Magazine: Failure to Properly Configure AWE (Address Windowing Extensions) Memory Usage by not enabling SQL Server to use more than 2GB of RAM. Failure to Normalize Failure to Use Clustered Indexes Failure to Optimize by ignoring the impact of statistics, indexes etc Failure to Create SARGable Queries (SARG - Search ARGument) Wasted Network Bandwidth due to SQL Server's chatty behavior Improper Use of Cursors Failure to Use Full-Text Indexing where SARGable queries aren’t possible Failure to Use Multiple Data Files. Microsoft recommends a ratio of roughly 0.25 to 1 data file per file group per processor. Failure to Properly Size Data Types

HOW TO generate a Heat Map with Google Chart API

Image
Google Chart API is a welcome addition to the list of free charting tools for ASP.NET developers, the other notable ones being Microsoft Chart controls for .NET Framework 3.5 , WebChart and NPlot . The Google Chart API supports 9 types of charts (and variations within them liked Stacked Bar etc) but except for Line, Bar, Pie, Radar charts and Scatter plots, the rest including Venn diagrams, Maps, Google-o-meters, QR codes are possibly not charts in the strictest sense of the word. The important thing about this API is that it is URL based . This means no installation of any components is required. The settings & data for the charts are provided though querystring fields and values. As the image is generated by Google's servers, you save on processing and bandwidth. This API option may be suitable for simple scenarios. Google allows 250,000 API calls per day. Geographic heat maps help visualize location-based data by highlighting trends, anomalies and distributions across a

Get IE6 to retire

Web development gurus Steve Souders , PPK , Scott Hanselman have all been bothered about why IE 6 hasn't retired yet. IE6 is a pain. It’s slow. It doesn’t behave well. Things that work in other browsers break in IE6. Hours and hours of web developer time is spent just making things work in IE6. Why do web developers spend so much time just to make IE6 work? Because a large percentage of users are still on IE6. There have been numerous suggestions on what developers can do to make end-users upgrade to newer versions of IE. The best way however seems to be what Microsoft has initiated. A notification will be sent through Automatic Update about IE8. On Windows XP and Server 2003, the update will be High-Priority. On Windows Vista and Server 2008 it will be Important. IE8 will not automatically install on machines. Users must opt-in to install IE8. Organizations that use Windows Server Update Services (WSUS) and Systems Management Server (SMS) will soon be able to deploy IE8 in the

Search Engine Wars

Mike Markson, VP of Marketing for Blekko, cites instances of Google stealing the thunder off search engine players ..... * This past Tuesday, Wolfram Alpha announces its structured data search product. On the same day, Google announced its new structured data product. * July 28, 2008, so called Google killer Cuil launched its search engine. It claimed that their index of 120B documents was 3x that of any search engine. Three days before though, Google announced it knew of 1 trillion URL's. * June 3, 2008, Wikia Search launched a feature that allows users to add and delete URL's to search results. July 16, 2008, Google announced that it is bucket testing similar features. The features went live a few months later. * February 25, 2009, Cuil announced it is integrating longer snippets into its results. March 24, 2009, Google announced...you guessed it....longer snippets. and finally closes his argument with .... I guess the fact that there are zero switching costs for search engi