<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-20124361</id><updated>2011-12-13T21:46:00.189-05:00</updated><category term='asp'/><category term='xml'/><category term='education'/><category term='javascript'/><category term='orkut'/><category term='phpBB'/><category term='java'/><category term='personal'/><category term='search engines'/><category term='news'/><category term='php'/><category term='sikhism'/><category term='tips and tricks'/><category term='programming'/><category term='ufl'/><category term='videos'/><category term='web development'/><category term='music'/><category term='mobile phones'/><category term='earn online'/><category term='general'/><category term='gtbit'/><category term='databases'/><category term='movie'/><category term='phishing'/><category term='social networking'/><category term='blogger'/><category term='css'/><category term='web 2.0'/><category term='adsense'/><category term='twitter'/><category term='microsoft'/><category term='windows'/><category term='asp.net'/><category term='technology review'/><category term='.net'/><category term='review'/><category term='google'/><title type='text'>the gsm orbital</title><subtitle type='html'>something new, something different and something exciting for everyone</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default?start-index=101&amp;max-results=100'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>140</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20124361.post-2034848018168135884</id><published>2011-12-13T21:46:00.002-05:00</published><updated>2011-12-13T21:46:00.242-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='databases'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>MySQL: Sort By Column Values</title><content type='html'>In MySQL, sorting the data using columns can easily be done by using the ORDER BY clause. Recently, I came across a requirement where I had to sort the data according to the specific values of a column. For example, if a column has the numbers written as words (one, two, three etc.), the values need to be sorted according to their numerical equivalent rather than the default alphabetical sorting.&lt;br /&gt;&lt;br /&gt;By default, the ORDER BY clause will sort data using alphanumeric sorting. But there is a trick by using the MySQL &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_field" target="_blank"&gt;field(str,str1,str2,str3...)&lt;/a&gt; function to give a different order to the values in the columns. The function finds the position of str in the list of strings str1, str2, str 3...&lt;br /&gt;&lt;br /&gt;Here is an example on how you can combine the field function with the ORDER BY clause:&lt;br /&gt;&lt;pre class="prettyprint"&gt;ORDER BY field(`column_name`, 'One', 'Two', 'Three', 'Four', 'Five')&lt;/pre&gt;The above code will sort the data according to the column values One, Two, Three, Four, Five.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2034848018168135884?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2034848018168135884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2011/12/mysql-sort-by-column-values.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2034848018168135884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2034848018168135884'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2011/12/mysql-sort-by-column-values.html' title='MySQL: Sort By Column Values'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6344070133324666536</id><published>2011-11-11T11:11:00.006-05:00</published><updated>2011-12-12T21:59:17.414-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='databases'/><title type='text'>MySQL: Exporting Selective Columns to CSV</title><content type='html'>There are many to export large data sets from MySQL in CSV. If you need data for the complete database or a table in the database, the 'mysqldump' command is a great solution. But sometimes you might need to just export a subset of columns in the database, filtered by where clause. This can be achieved by using the SELECT ... INTO clause. It lets you specify the columns you need for your CSV and you can easily use aggregate functions (SUM, AVG etc.), WHERE clause, GROUP BY clause, ORDER BY clause etc. to get the appropriate data to be exported. Also, custom CSV delimiters can be specified to be used for the exported data. You would need to have filesystem access to the MySQL server to run this command.&lt;br /&gt; &lt;br /&gt;Here is an example query:&lt;br /&gt;&lt;pre class="prettyprint"&gt;SELECT `column1`, `column2`, `column3` INTO OUTFILE 'c:\\data\\today.csv'&lt;br /&gt;&lt;br /&gt;    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'&lt;br /&gt;&lt;br /&gt;    LINES TERMINATED BY '\n'&lt;br /&gt;&lt;br /&gt;FROM `tablename`&lt;/pre&gt;&lt;br /&gt;For more details and options please refer to the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/select-into.html" target="_blank"&gt;MySQL reference&lt;/a&gt; for the command. &lt;br /&gt;&lt;br /&gt;Another way to export data from MySQL is by using &lt;a href="http://www.mysql.com/products/workbench/" target="_blank"&gt;MySQL Workbench&lt;/a&gt;, which is a free tool to administer MySQL databases. Though, the above command is really helpful if you want to schedule export jobs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6344070133324666536?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6344070133324666536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2011/11/mysql-exporting-selective-columns-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6344070133324666536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6344070133324666536'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2011/11/mysql-exporting-selective-columns-to.html' title='MySQL: Exporting Selective Columns to CSV'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-4892002165504450650</id><published>2011-09-05T17:23:00.004-04:00</published><updated>2011-09-05T17:51:21.618-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>C# Default Arguments [Optional Arguments]</title><content type='html'>Coming from the C++ world, one of the things I missed in C# was the support for Default Arguments. Default arguments are used to create functions which could have a few optional arguments with default values. Thus, you could make overloaded calls to the method without creating different function prototypes if the purpose could by using a default value of one of the parameters. Many other common languages like PHP, VB.NET, JavaScript etc. also support this feature. It was surprising that C# did not support it.&lt;br /&gt;&lt;br /&gt;With C# 4.0 (2010), the support for this feature has been added to the language. The new Optional Arguments in C# 4.0 allows you to specify the default values of parameters in case there values are not provided from the function call. Here's a small example to illustrate the basics of Optional Arguments in C#:&lt;br /&gt;&lt;pre class="prettyprint"&gt;//C#&lt;br /&gt;&lt;br /&gt;// Function with optional arguments&lt;br /&gt;void OptionalArgExample(int reqdField, string opt = "default value")&lt;br /&gt;{&lt;br /&gt;    // do something&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Calling the method with just the required argument&lt;br /&gt;OptionalArgExample(10);&lt;br /&gt;&lt;br /&gt;// Calling the method with both the arguments&lt;br /&gt;OptionalArgExample(10, "some text");&lt;/pre&gt;&lt;br /&gt;For more information, read the &lt;a href="http://msdn.microsoft.com/en-us/library/dd264739.aspx" target="_blank"&gt;MSDN article on Named and Optional Arguments in C#&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-4892002165504450650?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/4892002165504450650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2011/09/c-default-arguments-optional-arguments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4892002165504450650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4892002165504450650'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2011/09/c-default-arguments-optional-arguments.html' title='C# Default Arguments [Optional Arguments]'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-475146447252596369</id><published>2011-09-01T17:00:00.004-04:00</published><updated>2011-09-05T17:26:25.221-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Troubleshooting Remote Desktop's Copy/Paste</title><content type='html'>If you use Window's RDP to remote into your computer or server regularly, you might have noticed that sometimes the Copy and Paste functionality stops working. This functionality is often needed when you work with remote systems as you would frequently want to copy paste text to search for some help; copy some documents which would be easier to read on your computer than on the slow VPN connection you are connected to or maybe if you want to copy something  a backup. Usually, to fix this I have to turn off my session and create a new session, which is really cumbersome. But, recently I found a really easy method to fix this situation &lt;a href="http://brennan.offwhite.net/blog/2007/01/18/fixing-copypaste-for-remote-desktop-sessions/" target="_blank"&gt;here&lt;/a&gt;. Here's what you need to do to six the issue:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open Task Manager (Ctrl+Shift+Esc) on the remote machine.&lt;/li&gt;&lt;li&gt;Find the "rdpclip" process and kill it.&lt;/li&gt;&lt;li&gt;Run "rdpclip" to start it again.&lt;/li&gt;&lt;/ul&gt;Just follow the above steps and your Copy/Paste functionality will start working again between the remote and the host computer. This is a real time-saver when dealing with the issue.&lt;br /&gt;&lt;br /&gt;Another alternate is to use a internet clipboard site like &lt;a href="http://cl1p.net/" target="_blank"&gt;cl1p.net&lt;/a&gt;, which allows you to create a private clipboard which could be accessed from any computer. Also, I've sometimes used GMail to accomplish this by creating a new draft email and opening it from the other host. These methods are also useful if you want to copy data between different computers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-475146447252596369?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/475146447252596369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2011/09/troubleshooting-remote-desktops.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/475146447252596369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/475146447252596369'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2011/09/troubleshooting-remote-desktops.html' title='Troubleshooting Remote Desktop&apos;s Copy/Paste'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8266605822092314557</id><published>2011-04-11T14:02:00.003-04:00</published><updated>2011-04-11T14:14:57.970-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>LINQ IEnumerable object to a DataTable</title><content type='html'>LINQ is really a very powerful tool for working with complex entities and datasets. It provides you with an easy way to map data to Entity classes. But, sometimes it is very helpful to have the results returned by a LINQ query map into a DataTable. If your LINQ returns a collection of DataRow objects, you can do this using the inbuilt &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.copytodatatable.aspx" target="_blank"&gt;DataTableExtensions.CopyToDataTable()&lt;/a&gt; method. However, if your query returns a collection of a custom entity type, you would need to write a utility to do that.&lt;br /&gt;&lt;br /&gt;Below is a method that could be used to convert an IEnumerable entity object to a DataTable:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Convert a Linq IEnumerable object to a DataTable&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;typeparam name="T"&amp;gt;Entity Type&amp;lt;/typeparam&amp;gt;&lt;br /&gt;/// &amp;lt;param name="enumberable"&amp;gt;Linq Resultset&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;Datatable with results&amp;lt;/returns&amp;gt;&lt;br /&gt;public static DataTable LinqToDataTable&lt;T&gt;(this IEnumerable&lt;T&gt; enumberable)&lt;br /&gt;{&lt;br /&gt;    DataTable dt = new DataTable();&lt;br /&gt;&lt;br /&gt;    T first = enumberable.FirstOrDefault();&lt;br /&gt;    if (first == null)  // return if the resultset is empty&lt;br /&gt;        return dt;&lt;br /&gt;&lt;br /&gt;    Type t = first.GetType();&lt;br /&gt;    PropertyInfo[] properties = t.GetProperties();&lt;br /&gt;&lt;br /&gt;    // Adding columns to the datatable from the property info&lt;br /&gt;    foreach (PropertyInfo pi in properties)&lt;br /&gt;    {&lt;br /&gt;        Type pt = pi.PropertyType;&lt;br /&gt;&lt;br /&gt;        // Handling nullable properties in the resultset&lt;br /&gt;        if (pt.IsGenericType &amp;&amp; pt.GetGenericTypeDefinition() == typeof(Nullable&lt;&gt;))&lt;br /&gt;            pt = Nullable.GetUnderlyingType(pt);&lt;br /&gt;                &lt;br /&gt;        dt.Columns.Add(pi.Name, pt);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // Adding rows to the datatable from the enumerable resultset&lt;br /&gt;    foreach (object obj in enumberable)&lt;br /&gt;    {&lt;br /&gt;        DataRow dr = dt.NewRow();&lt;br /&gt;        foreach (PropertyInfo pi in properties)&lt;br /&gt;        {&lt;br /&gt;            object value = (pi.GetValue(obj, null) != null) ? pi.GetValue(obj, null) : DBNull.Value;&lt;br /&gt;            dr[pi.Name] = value;&lt;br /&gt;        }&lt;br /&gt;        dt.Rows.Add(dr);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return dt;&lt;br /&gt;}&lt;/pre&gt;&lt;pre class="prettyprint"&gt;' VB.Net&lt;br /&gt;''' &amp;lt;summary&amp;gt;&lt;br /&gt;''' Convert a Linq IEnumerable object to a DataTable&lt;br /&gt;''' &amp;lt;/summary&amp;gt;&lt;br /&gt;''' &amp;lt;typeparam name="T"&amp;gt;Entity Type&amp;lt;/typeparam&amp;gt;&lt;br /&gt;''' &amp;lt;param name="enumberable"&amp;gt;Linq Resultset&amp;lt;/param&amp;gt;&lt;br /&gt;''' &amp;lt;returns&amp;gt;Datatable with results&amp;lt;/returns&amp;gt;&lt;System.Runtime.CompilerServices.Extension&gt; _&lt;br /&gt;Public Shared Function LinqToDataTable(Of T)(enumberable As IEnumerable(Of T)) As DataTable&lt;br /&gt; Dim dt As New DataTable()&lt;br /&gt;&lt;br /&gt; Dim first As T = enumberable.FirstOrDefault()&lt;br /&gt; If first Is Nothing Then&lt;br /&gt;  ' return if the resultset is empty&lt;br /&gt;  Return dt&lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; Dim t As Type = first.[GetType]()&lt;br /&gt; Dim properties As PropertyInfo() = t.GetProperties()&lt;br /&gt;&lt;br /&gt; ' Adding columns to the datatable from the property info&lt;br /&gt; For Each pi As PropertyInfo In properties&lt;br /&gt;  Dim pt As Type = pi.PropertyType&lt;br /&gt;&lt;br /&gt;  ' Handling nullable properties in the resultset&lt;br /&gt;  If pt.IsGenericType AndAlso pt.GetGenericTypeDefinition() = GetType(Nullable(Of )) Then&lt;br /&gt;   pt = Nullable.GetUnderlyingType(pt)&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  dt.Columns.Add(pi.Name, pt)&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; ' Adding rows to the datatable from the enumerable resultset&lt;br /&gt; For Each obj As Object In enumberable&lt;br /&gt;  Dim dr As DataRow = dt.NewRow()&lt;br /&gt;  For Each pi As PropertyInfo In properties&lt;br /&gt;   Dim value As Object = If((pi.GetValue(obj, Nothing) IsNot Nothing), pi.GetValue(obj, Nothing), DBNull.Value)&lt;br /&gt;   dr(pi.Name) = value&lt;br /&gt;  Next&lt;br /&gt;  dt.Rows.Add(dr)&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Return dt&lt;br /&gt;End Function&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8266605822092314557?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8266605822092314557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2011/04/linq-ienumerable-object-to-datatable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8266605822092314557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8266605822092314557'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2011/04/linq-ienumerable-object-to-datatable.html' title='LINQ IEnumerable object to a DataTable'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6413232038651701509</id><published>2011-03-18T11:53:00.001-04:00</published><updated>2011-04-12T16:55:11.557-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Using ASP.NET AJAX UpdatePanels and jQuery Together</title><content type='html'>There are instances when you would like to use ASP.NET AJAX UpdatePanels and jQuery together on the same page. ASP.NET AJAX’s UpdatePanel does not give you the best performance but the ease of use and direct integration with ASP.NET control often times makes it a very useful control to implement partial page loads on the ASP.NET pages. With the powerful controls of jQuery and the ease of use of the UpdatePanel sometimes it does makes sense to use these two in conjunction. Having said that, as far as possible, you should avoid using multiple JS libraries on the same page to prevent any conflicts between them.&lt;br /&gt;&lt;br /&gt;When you use the UpdatePanel and jQuery controls in the same page, often times the jQuery controls will only work before you do any postback for the UpdatePanel. As soon as the postback results get back to the page the jQuery controls stop working. There is an easy workaround to resolve the situation using the ASP.NET AJAX’s pageLoad() function. This function is similar to the Page_Load event for the ASP.NET page. So, your jQuery’s $(document).ready should be replaced by this method.&lt;br /&gt;&lt;br /&gt;For example, if your current jQuery looks like:&lt;br /&gt;&lt;pre class="prettyprint"&gt;$(document).ready(function() {&lt;br /&gt;   // jQuery code&lt;br /&gt; });&lt;/pre&gt;&lt;br /&gt;To make it not conflict with the UpdatePanel, change it to:&lt;br /&gt;&lt;pre class="prettyprint"&gt;function pageLoad() {&lt;br /&gt;   // jQuery code&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Remember this pageLoad() function is part of the ASP.NET AJAX library.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6413232038651701509?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6413232038651701509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2011/04/using-aspnet-ajax-updatepanels-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6413232038651701509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6413232038651701509'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2011/04/using-aspnet-ajax-updatepanels-and.html' title='Using ASP.NET AJAX UpdatePanels and jQuery Together'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5101502354004705580</id><published>2010-11-30T19:34:00.002-05:00</published><updated>2010-11-30T19:34:00.170-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET GridView': Align Right Numerical Values from Code Behind</title><content type='html'>While creating generic user controls having GridViews, its not easy to format columns based on data the columns will have. The type of the data a column will have is not always known until the data is bounded on to the grid. The data on the GridView looks a lot better, when numerical values, dollar/currency amounts, percentages etc. are aligned to the right of the cells. This could be easily accomplished using the RowDataBound event of the GridView and then matching the cell value to a regular expression to determine if it matches your criteria for alignment.&lt;br /&gt;&lt;br /&gt;Here is a sample implementation for a RowDataBound method for the GridView, which looks for cells having only numbers, comma (,) and a period(.) in the contents and if it finds a match, it aligns it to the right:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;protected void gridViewt_RowDataBound(object sender, GridViewRowEventArgs e)&lt;br /&gt;{&lt;br /&gt;    if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;    {&lt;br /&gt;        // Right align the column if its a numerical value&lt;br /&gt;        for (int i = 0; i &lt; e.Row.Cells.Count; i++)&lt;br /&gt;        {&lt;br /&gt;            if(Regex.IsMatch(e.Row.Cells[i].Text.Trim(), @"^[0-9,.]*$"))&lt;br /&gt;            {&lt;br /&gt;                e.Row.Cells[i].HorizontalAlign = HorizontalAlign.Right;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&gt;&lt;pre class="prettyprint"&gt;' VB.Net&lt;br /&gt;Protected Sub gridViewt_RowDataBound(sender As Object, e As GridViewRowEventArgs)&lt;br /&gt; If e.Row.RowType = DataControlRowType.DataRow Then&lt;br /&gt;  ' Right align the column if its a numerical value&lt;br /&gt;  For i As Integer = 0 To e.Row.Cells.Count - 1&lt;br /&gt;   If Regex.IsMatch(e.Row.Cells(i).Text.Trim(), "^[0-9,.]*$") Then&lt;br /&gt;    e.Row.Cells(i).HorizontalAlign = HorizontalAlign.Right&lt;br /&gt;   End If&lt;br /&gt;  Next&lt;br /&gt; End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;You can change the regular expression depending on what all do you you want to match to align the data to the right.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5101502354004705580?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5101502354004705580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2010/11/aspnet-gridview-align-right-numerical.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5101502354004705580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5101502354004705580'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2010/11/aspnet-gridview-align-right-numerical.html' title='ASP.NET GridView&apos;: Align Right Numerical Values from Code Behind'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5507243150186767396</id><published>2010-09-30T12:06:00.004-04:00</published><updated>2010-09-30T19:33:57.057-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET: Change GridView's Row Color onMouseOver</title><content type='html'>GridView is a good control to display tabular data. Its easy to use GridView's standard built-in templates and have some good formatting with alternate row colrs and other settings. Also, when you have a lot of columns in your table its always handy if the row is highlighted when you put your mouse over to it. GridView does not has that feature built into it, but its really easy to add it by adding some code into the RowDataBound event of the GridView. Here is how the code will look like in the code behind:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)&lt;br /&gt;{&lt;br /&gt;    // Creating hover effects on mouseover event for each row&lt;br /&gt;    if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;    {&lt;br /&gt;        e.Row.Attributes["onmouseover"] = "this.style.background='#D1DDF1';";&lt;br /&gt;&lt;br /&gt;        if ((e.Row.RowIndex % 2) == 0)  // if even row&lt;br /&gt;            e.Row.Attributes["onmouseout"] = "this.style.background='#EFF3FB';";&lt;br /&gt;        else  // alternate row&lt;br /&gt;            e.Row.Attributes["onmouseout"] = "this.style.background='White';";&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;pre class="prettyprint"&gt;' VB.Net&lt;br /&gt;Protected Sub gridView_RowDataBound(sender As Object, e As GridViewRowEventArgs)&lt;br /&gt; ' Creating hover effects on mouseover event for each row&lt;br /&gt; If e.Row.RowType = DataControlRowType.DataRow Then&lt;br /&gt;  e.Row.Attributes("onmouseover") = "this.style.background='#D1DDF1';"&lt;br /&gt;&lt;br /&gt;  If (e.Row.RowIndex Mod 2) Is 0 Then&lt;br /&gt;   ' if even row&lt;br /&gt;   e.Row.Attributes("onmouseout") = "this.style.background='#EFF3FB';"&lt;br /&gt;  Else&lt;br /&gt;   ' alternate row&lt;br /&gt;   e.Row.Attributes("onmouseout") = "this.style.background='White';"&lt;br /&gt;  End If&lt;br /&gt; End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;The code above, adds the 'onmouseover' and 'onmouseout' attributes to each of the table rows in GridView. Make sure you match the onmouseout colors to the colors in your original template. You can also use the '&lt;b&gt;onclick&lt;/b&gt;' attribute instead of 'onmouseover' if you want to &lt;b&gt;change the color on clicking a row&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;This feature could also be potentially implemented on client-side using jQuery and CSS. If you'd like to do it that way, use the 'onmouseover' or 'onclick' event of jQuery to change your row colors and then change them back in the 'onmouseout' event.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5507243150186767396?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5507243150186767396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2010/09/aspnet-change-gridviews-row-color.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5507243150186767396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5507243150186767396'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2010/09/aspnet-change-gridviews-row-color.html' title='ASP.NET: Change GridView&apos;s Row Color onMouseOver'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8017945377962367523</id><published>2010-08-04T16:59:00.004-04:00</published><updated>2010-08-04T17:16:22.725-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET: Setup the Page Title from Web.Sitemap</title><content type='html'>ASP.Net allows you to associate a sitemap file with your project. You can add this file as a Web.Sitemap in the web project. This file could be used with the ASP.Net navigation controls to create menu, tree view or a site map path on your website. One of the other things where this file comes handy is when you want to dynamically assign title to your pages. This is a fairly common requirement when you use master pages and don't want to modify additional parameters on individual pages. Here's the code you should add into your master page's .cs file:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;protected override void OnInit(System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;    base.OnInit(e);&lt;br /&gt;&lt;br /&gt;    // Setting Page Title from SiteMap&lt;br /&gt;    SiteMapNode node = SiteMap.CurrentNode;&lt;br /&gt;&lt;br /&gt;    if (node != null &amp;&amp; !string.IsNullOrEmpty(node.Title))&lt;br /&gt;    {&lt;br /&gt;        Page.Title = "App Name | " + node.Title;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;pre class="prettyprint lang-vb"&gt;' VB.NET&lt;br /&gt;Protected Overrides Sub OnInit(e As System.EventArgs)&lt;br /&gt; MyBase.OnInit(e)&lt;br /&gt;&lt;br /&gt; ' Setting Page Title from SiteMap&lt;br /&gt; Dim node As SiteMapNode = SiteMap.CurrentNode&lt;br /&gt;&lt;br /&gt; If node IsNot Nothing AndAlso Not String.IsNullOrEmpty(node.Title) Then&lt;br /&gt;  Page.Title = "App Name | " + node.Title&lt;br /&gt; End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The above function adds the associated title associated with the url of the page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8017945377962367523?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8017945377962367523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2010/08/aspnet-setup-page-title-from-websitemap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8017945377962367523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8017945377962367523'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2010/08/aspnet-setup-page-title-from-websitemap.html' title='ASP.NET: Setup the Page Title from Web.Sitemap'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6092979380812975679</id><published>2010-03-18T14:07:00.005-04:00</published><updated>2010-03-18T15:09:49.364-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>this.blog was Hibernating, but @gsmodi was Awake</title><content type='html'>It has been a long time since I last posted on this blog - the longest interval between any two consecutive posts on this blog. Posting long posts on the blog has suffered because of the convenience and ease of posting something in less than 140 characters on Twitter (&lt;a href="http://twitter.com/gsmodi" target="_blank"&gt;@gsmodi&lt;/a&gt;). The USP of Twitter is its simplicity. The fact that you can use it from multiple devices and applications still getting all the required functionality makes it stand out.&lt;br /&gt;&lt;br /&gt;This blog now goes into hibernation rather more frequently than anytime in the past. Its just not about me losing interest in blogging or having a busier schedule; its about the plethora of other social networks which take up the time I might have spend on blogging. Facebook and Twitter are the hot suites of this era. I am regular on both the network though seldom like to post on Facebook, but do tweet rather frequently. Still trying to decipher why I don't like to update my status on Facebook but can tweet about just anything (&lt;a href="http://twitter.com/gsmodi/status/8657768279" target="_blank"&gt;related tweet&lt;/a&gt;). I am sure there are many who share the same syndrome. Another network which I frequent is LinkedIn, which I believe is an excellent way for professional networking and getting updates about your contacts.&lt;br /&gt;&lt;br /&gt;The arena of social networks is perpetually being enhanced. If we try to look through the past few years, social networks have evolved marvelously. Everyone wants a share of this huge pie. While Facebook might be leading the race at this time (some people also talk about it as the next big thing after Google), these sites have a history of being overturned by competition. We all have seen the fate of MySpace, Orkut and the likes. Though each have been successful in their times in particular regions of the world, they tend to die out and are superseded by the competition. With Google coming up with Buzz, fresh networks like Tumblr gaining popularity and a plethora of other services which are launched everyday, this would be an interesting space to watch.&lt;br /&gt;&lt;br /&gt;OK, that was a bit about social networks - was not supposed to be in this post, could have written a complete post on that stuff. So, coming back to the main point, should I let this blog die out? I don't think so, I've been maintaining it for over 4 years now. I'll try to be more regular, maybe write shorter posts more frequently and cut down the time to do some research before posting about something. Lets see how that turns out. &lt;br /&gt;&lt;br /&gt;@gsmodi (Twitter) will hopefully still be awake and this.blog would try hard to wake up ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6092979380812975679?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6092979380812975679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2010/03/thisblog-was-hibernating-but-gsmodi-was.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6092979380812975679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6092979380812975679'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2010/03/thisblog-was-hibernating-but-gsmodi-was.html' title='this.blog was Hibernating, but @gsmodi was Awake'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7641832710534477919</id><published>2009-12-27T21:46:00.005-05:00</published><updated>2009-12-27T22:38:10.302-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Program to Compute Large Fibonacci Numbers in Hex</title><content type='html'>Here's a Java program that calculates the n'th Fibonacci number in hexadecimal format, where n could be infinitely long. For those who don't know, Fibonacci series is a series which is calculated by summing up the last two numbers of the series. It starts from 1, 1, 2, 3, 5, 8, 13, 21...&lt;br /&gt;&lt;br /&gt;Large Fibonacci numbers are particularly useful to calculate the Golden Ratio, which can be calculated by using the ratio of the last 2 infinitely large terms of the Fibonacci series. The approximation of the ratio improves as you progress farther in the series. For more interesting mathematical properties read the Wikipedia entry for &lt;a href="http://en.wikipedia.org/wiki/Golden_ratio" target="_blank"&gt;Golden Ratio&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In this program, the hex values are stored in string because of the restrictions posed by the conventional data types. The series is calculated by summing up the last 2 numbers of the series using carry and adding digit by digit. Eg. 8 &amp; 13 can be added by adding 8+3 and have one in unit's place and carry 1 to the ten's place, then adding 1+1 = 2; thus, the answer 21.&lt;br /&gt;&lt;pre class="prettyprint"&gt;public class FibonacciNumber {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;        String h1 = "1";    // First Fibonacci Number&lt;br /&gt;        String h2 = "1";    // Second Fibonacci Number&lt;br /&gt;        String h3 = "";     // Next Fibonacci Number&lt;br /&gt;        String tempResult = "";&lt;br /&gt;        int i1=0, i2=0, i3;&lt;br /&gt;        Long ctr = new Long(0);&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;            // Loop till maximum value of Long&lt;br /&gt;            // Each run calculates the next number&lt;br /&gt;            while (ctr &lt; Long.MAX_VALUE) {&lt;br /&gt;&lt;br /&gt;                i3 = 0;&lt;br /&gt;                h3 = "";&lt;br /&gt;                ctr++;&lt;br /&gt;&lt;br /&gt;                // This loop calculates the sum of the previous numbers digit by digit&lt;br /&gt;                for (int i = h1.length(), j = h2.length(); j &gt; 0; i--, j--) {&lt;br /&gt;&lt;br /&gt;                    if (i &gt; 0) {    // If a digit is left in i&lt;br /&gt;                        i1 = Integer.parseInt(h1.substring(i - 1, i), 16);&lt;br /&gt;                        i2 = Integer.parseInt(h2.substring(j - 1, j), 16);&lt;br /&gt;                        i3 += i1 + i2;&lt;br /&gt;                    } else if (h2.length() &gt; h1.length()) {&lt;br /&gt;                    // When h1 is shorter than h2. Eg. h1=8 h2=11 &lt;br /&gt;                        i2 = Integer.parseInt(h2.substring(j - 1, j), 16);&lt;br /&gt;                        i3 += i2;&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                    tempResult = Integer.toHexString(i3);&lt;br /&gt;&lt;br /&gt;                    if (tempResult.length() == 2)   // Handling carry digit&lt;br /&gt;                    {&lt;br /&gt;                        i3 = Integer.parseInt(tempResult.substring(0,1), 16);&lt;br /&gt;                        h3 = tempResult.substring(1,2) + h3;&lt;br /&gt;                    }&lt;br /&gt;                    else    // No carry digit&lt;br /&gt;                    {&lt;br /&gt;                        i3 = 0;&lt;br /&gt;                        h3 = tempResult.substring(0,1) + h3;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                if (i3 != 0)&lt;br /&gt;                    h3 = tempResult.substring(0,1) + h3;&lt;br /&gt;&lt;br /&gt;                System.out.println(ctr + ": " + h3);&lt;br /&gt;&lt;br /&gt;                h1 = h2;&lt;br /&gt;                h2 = h3;&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;&lt;br /&gt;            System.out.println(ex.toString());&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The output of the program will look like:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;1: 2&lt;br /&gt;2: 3&lt;br /&gt;3: 5&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;244: 3144535de4cae86ae251b1971896d58bf961e6b9d48&lt;br /&gt;245: 4fb72becbf73267006f65a3aa504c57b1e9930e392d&lt;br /&gt;246: 80fb7f4aa43e0edae9480bd1bd9b9b0717fb179d675&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;846: bc35110da32840cce42425afddfe8fde936030e7fda1d532615324be2a410804acef43394c0b512d5e34a2f5e77fbe0e82d80580f4fb592de0232add6f7e6f34127e8eb43165d008fe5&lt;br /&gt;847: 130869a782cc70170bd47e47fb3034ecbbce810b2e7dce2a56c30baa1f3bc359eb13f26ed83e0f4357dbed6c374b79dfcf303e52c94a3996b1dfff19229baa1c0194727a75d25313cd62&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;Can go upto zillions of numbers.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7641832710534477919?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7641832710534477919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/12/program-to-compute-large-fibonacci.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7641832710534477919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7641832710534477919'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/12/program-to-compute-large-fibonacci.html' title='Program to Compute Large Fibonacci Numbers in Hex'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-4803657793595167605</id><published>2009-11-29T16:59:00.004-05:00</published><updated>2009-11-29T17:14:42.592-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>What Do I Tweet About?</title><content type='html'>From the past few months, I've been tweeting a lot (atleast reading a lot of them) and that's one of the reason I've been irregular on my blog. So, here's a cloud showing what I have been tweeting about.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gsmodi.com/blog/images/2009/tweet-cloud.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; width: 458px; height: 625px;" src="http://www.gsmodi.com/blog/images/2009/tweet-cloud.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;Generated using &lt;a href="http://tweetcloud.icodeforlove.com/"&gt;Tweet Cloud&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-4803657793595167605?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/4803657793595167605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/11/what-do-i-tweet-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4803657793595167605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4803657793595167605'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/11/what-do-i-tweet-about.html' title='What Do I Tweet About?'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2509428463196469357</id><published>2009-09-29T20:15:00.004-04:00</published><updated>2009-09-29T20:23:41.418-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Lost Generation</title><content type='html'>&lt;center&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/42E2fAWM6rA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/42E2fAWM6rA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;A nice video depicting some of the characteristics which our generation is adopting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2509428463196469357?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2509428463196469357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/09/lost-generation.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2509428463196469357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2509428463196469357'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/09/lost-generation.html' title='Lost Generation'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7552949208306065291</id><published>2009-08-28T18:18:00.002-04:00</published><updated>2009-08-28T20:26:45.444-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>What to Write and What Not?</title><content type='html'>It has been quite some time since I last posted on my blog. I'm often in a dilemma when it comes to posting something on my blog, especially when posting non-tech stuff. In my previous posts, many a times I've talked about posting more personal stuff out here. Infact, in Jan 2008, I had a complete &lt;a href="http://blog.gsmodi.com/2008/01/2008-blog-will-be-personal-again.html"&gt;post&lt;/a&gt; on this. But alas, there is rarely anything personal on my blog. &lt;br /&gt;&lt;br /&gt;Most of my recent posts make this blog look like a technology blog. Most of these are code samples, tips and tricks, technology reviews etc. One of the reasons for this is that, I kind of use this space for my own reference by posting stuff I might need to use in future. Also, at times, these help others looking for similar stuff (and I get visitors from search engines). &lt;br /&gt;&lt;br /&gt;Coming back to the dilemma about writing blog posts - it’s hard to decide what I want to share on my blog. I can't figure out how to post on the public domain. Many a times, I think about posting some small events and happenings in life. But then I just don't want to write a complete post about it. These personal posts can sometimes take a lot of time as it requires a lot of thought process to put everything together. Most of the times I just feel its not worth the time.&lt;br /&gt;&lt;br /&gt;Some of these personal things just find another place on the web - my &lt;a href="http://twitter.com/gsmodi" target="_blank"&gt;Twitter&lt;/a&gt; account. It’s much easier to tweet stuff rather than writing a large post about it. This is one of the reasons that I post less on my blog. I tweet about a wide variety of stuff, some of which would have been on my blog if there was no Twitter.&lt;br /&gt;&lt;br /&gt;Talking about some social networking sites - there was a time, when I was very frequent on Facebook and Orkut but not any more. I do visit these occasionally, but hardly ever do things like changing my Facebook status. Previously, I've also been active on various forums where I've posted actively; but now a rare visitor to those forums too. For me these online habits evolve over time then go into long hibernation stretches and sometimes wake up for short spells of time.&lt;br /&gt;&lt;br /&gt;Hopefully, in future I'll continue posting more useful stuff on this blog and cut down on these crap posts. Thank you for bearing with me through this post, I know it wasn't a nice read.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7552949208306065291?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7552949208306065291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/08/what-to-write-and-what-not.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7552949208306065291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7552949208306065291'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/08/what-to-write-and-what-not.html' title='What to Write and What Not?'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2816348874240042972</id><published>2009-07-13T19:31:00.004-04:00</published><updated>2009-07-13T20:03:48.572-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET: Format Phone Numbers using RegEx</title><content type='html'>If you have a database having phone numbers in various formats, you would want to display them in a consistent format. A solution to display phone numbers in a standard format without worrying about the format in the database is to use regular expressions to format the phone numbers. &lt;br /&gt;&lt;br /&gt;For implementing this into ASP.NET pages create a class in the App_Code folder of your web application. Create a static(C#) or shared(VB.NET) method in this class which gets the value of the phone number field as object to handle null values of phone numbers in the database. The code for this function is given below:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;public class CommonFunctions&lt;br /&gt;{    &lt;br /&gt;    public static string FormatPhone(object phoneNo)&lt;br /&gt;    {        &lt;br /&gt;        string formattedPhone = phoneNo.ToString;&lt;br /&gt;        // Extracting numbers from the string&lt;br /&gt;        formattedPhone = Regex.Replace(formattedPhone, "[^0-9]", "");&lt;br /&gt;        // The format is in third parameter of the replace function&lt;br /&gt;        formattedPhone = Regex.Replace(formattedPhone, "(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3");&lt;br /&gt;       &lt;br /&gt;        return formattedPhone;&lt;br /&gt;    }   &lt;br /&gt;}&lt;/pre&gt;&lt;pre class="prettyprint lang-vb"&gt;' VB.NET&lt;br /&gt;Public Class CommonFunctions&lt;br /&gt;&lt;br /&gt;    Shared Function FormatPhone(ByVal phoneNo As Object) As String&lt;br /&gt;        Dim formattedPhone As String = phoneNo.ToString&lt;br /&gt;        ' Extracting numbers from the string&lt;br /&gt;        formattedPhone = Regex.Replace(formattedPhone, "[^0-9]", "")&lt;br /&gt;        ' The format is in third parameter of the replace function&lt;br /&gt;        formattedPhone = Regex.Replace(formattedPhone, "(\d{3})(\d{3})(\d{4})", "($1) $2-$3")&lt;br /&gt;        Return formattedPhone&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;End Class&lt;/pre&gt;&lt;br /&gt;The above function first abstracts all the digits from the phone number by using the "[^0-9]" regular expression; all characters which are not numbers are replaced by "". Then the phone numbers are broken into three groups using "(\d{3})(\d{3})(\d{4})" and the groups are then displayed as "($1) $2-$3". Thus, a phone number such as 123.456-7890 will first be converted into 1234567890 and then formatted as (123) 456-7890. You can modify the display format by changing the second replace function. &lt;br /&gt;&lt;br /&gt;You can use this method from any ASP.NET data bound field as follows:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;%# CommonFunctions.FormatPhone(Eval("Phone")) %&gt;&lt;/pre&gt;&lt;br /&gt;Though this example shows the use of this function for ASP.NET pages, it can be used for any .NET based application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2816348874240042972?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2816348874240042972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/07/aspnet-format-phone-numbers-using-regex.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2816348874240042972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2816348874240042972'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/07/aspnet-format-phone-numbers-using-regex.html' title='ASP.NET: Format Phone Numbers using RegEx'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-154547125718068851</id><published>2009-07-09T12:05:00.011-04:00</published><updated>2009-07-13T19:30:02.930-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Free Remote Login Tools</title><content type='html'>Remote login tools allow you to connect to your computer remotely. You get complete control over your desktop and you can work as if you were working on your own machine. The Windows standard "Remote Desktop Connection" tool is one of the best methods to connect to your computer remotely. But its difficult to use when your computer does not has a static IP address, is connected over a LAN or with a DSL modem which uses NAT.&lt;br /&gt;&lt;br /&gt;Here are some tools which I've used for remotely connecting to my computer and should be helpful for others:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mesh.com/" target="_blank"&gt;Live Mesh&lt;/a&gt;:&lt;br /&gt;Live Mesh is one of the best free tools, I've come across. It has great remote desktop capabilities with features similar to the Remote Desktop connection. You would need the Mesh software to be installed on both machine and logged in with a live id. Live Mesh has many more capabilities apart from remote connection. It has a fabulous file synchronization service with 5GB of free storage space. I have been using it for the past 6 months and it has been really superb. Highly recommended if you work at multiple locations. (Also see an earlier post: &lt;a href="http://blog.gsmodi.com/2008/04/mesh-up-your-data-on-live-mesh.html"&gt;Mesh up your Data on Live Mesh&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.teamviewer.com/" target="_blank"&gt;TeamViewer&lt;/a&gt;:&lt;br /&gt;TeamViewer is a simple tool which allows you to remotely connect to a computer and requires a combination of auto-generated id and passcode. You don't even need to install the tool, you can just run the program by selecting the appropriate option in the setup exe. Anyone having access to the id and passcode can run team viewer and remotely access the computer. This tool is good if you need a temporary access to a computer. I prefer this tool for troubleshooting someone's computer. It gives you the complete desktop access of the machine by sending snapshots of the workspace. It supports Windows and Mac.&lt;br /&gt;&lt;br /&gt;These free tools are great alternatives to the paid remote desktop softwares such as &lt;a href="http://www.anrdoezrs.net/click-1887138-10273937?url=https%3A%2F%2Fwww.gotomypc.com%2Ftr%2Faffil%2F2007_Q1%2Fproduct%2Fg25af_stnddlp%3Ftarget%3Dmm%2Fg25af_stnddlp.tmpl+&amp;cjsku=GoToMyPC" target="_blank"&gt;GoToMyPC&lt;/a&gt;&lt;img src="http://www.ftjcfx.com/image-1887138-10273937" width="1" height="1" border="0"/&gt; and other VPN based tools. There are many more free tools available, feel free to post a comment about them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-154547125718068851?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/154547125718068851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/07/free-remote-login-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/154547125718068851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/154547125718068851'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/07/free-remote-login-tools.html' title='Free Remote Login Tools'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6643191603354407113</id><published>2009-07-07T11:35:00.002-04:00</published><updated>2009-07-07T12:03:51.988-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>.NET: Convert Image Formats Programmatically</title><content type='html'>Using the .NET framework, you can easily convert images from one format to another with just a few lines of code. The &lt;span style="font-style:italic;"&gt;System.Drawing&lt;/span&gt; namespace has the functions which help you to load and then save the image in the desired format. The formats supported by the ImageFormat class are: Bmp, Emf, Exif, Gif, Guid, Icon, Jpeg, MemoryBmp, Png, Tiff, Wmf. You can convert an image to any of these formats.&lt;br /&gt;&lt;br /&gt;Here is a simple console application which reads all files in a given directory and converts them into .jpg images. It includes the &lt;span style="font-style:italic;"&gt;System.IO&lt;/span&gt; namespace to read the files in the directory and the &lt;span style="font-style:italic;"&gt;System.Drawing&lt;/span&gt; class for image functions. You would need to add a reference to System.Drawing class in the Console application. Also, make sure you only have images in the directory or specify a check in the code to read only image files.&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Drawing;&lt;br /&gt;&lt;br /&gt;static class Module1&lt;br /&gt;{    &lt;br /&gt;    public static void Main()&lt;br /&gt;    {&lt;br /&gt;        DirectoryInfo dir = new DirectoryInfo("C:\\something");&lt;br /&gt;        &lt;br /&gt;        foreach (FileInfo img in dir.GetFiles) {&lt;br /&gt;            Image _image = Image.FromFile("C:\\something\\" + img.Name);&lt;br /&gt;            _image.Save(img.Name, Imaging.ImageFormat.Jpeg);&lt;br /&gt;        }&lt;br /&gt;    }    &lt;br /&gt;}&lt;/pre&gt;&lt;pre class="prettyprint lang-vb"&gt;' VB.NET&lt;br /&gt;Imports System.IO&lt;br /&gt;Imports System.Drawing&lt;br /&gt;&lt;br /&gt;Module Module1&lt;br /&gt;&lt;br /&gt;    Sub Main()&lt;br /&gt;        Dim dir As New DirectoryInfo("C:\something")&lt;br /&gt;&lt;br /&gt;        For Each img As FileInfo In dir.GetFiles&lt;br /&gt;            Dim _image As Image = Image.FromFile("C:\something\" &amp; img.Name)&lt;br /&gt;            _image.Save(img.Name, Imaging.ImageFormat.Jpeg)&lt;br /&gt;        Next&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;End Module&lt;/pre&gt;&lt;br /&gt;The output files would be written into your 'bin' directory if you execute this code from Visual Studio. If you need to change the output path, you can do so by adding a Path to the Save method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6643191603354407113?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6643191603354407113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/07/net-convert-image-formats.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6643191603354407113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6643191603354407113'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/07/net-convert-image-formats.html' title='.NET: Convert Image Formats Programmatically'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-9037403198260336335</id><published>2009-06-22T22:15:00.009-04:00</published><updated>2009-06-23T00:50:27.908-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET: Changing Nested Controls on Repeater's ItemDataBound</title><content type='html'>ASP.NET Repeater is a great control to display a series of data in a custom formatted style. It gives you independence to choose your data layout rather than going with the standard table layouts of the DataGrid. When using repeaters it may be sometimes useful to modify a display control inside a repeater depending on the value of a DataItem which is bound to the repeater.&lt;br /&gt;&lt;br /&gt;Here's a simple example on how to change value of a control in the repeater on ItemDataBound. The following code checks the value of the  "id" column of the DataRow and checks if it matches with the one passed by query string. If that's the case it then updates a Label for that element.&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-vb"&gt;' VB.NET:&lt;br /&gt;Protected Sub rptr_ItemDataBound(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rptr.ItemDataBound&lt;br /&gt;   If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then&lt;br /&gt;       If ((CType(e.Item.DataItem, System.Data.DataRowView)).Row("id").ToString() = Request.QueryString("id")) Then&lt;br /&gt;           CType(e.Item.FindControl("lblBoolDisplat"), Label).Text = "This value is being requested."&lt;br /&gt;        End If&lt;br /&gt;    End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;pre class="prettyprint"&gt;// C#&lt;br /&gt;protected void rptr_ItemDataBound(object source, System.Web.UI.WebControls.RepeaterItemEventArgs e)&lt;br /&gt;{&lt;br /&gt;    if ((e.Item.ItemType == ListItemType.Item | e.Item.ItemType == ListItemType.AlternatingItem))&lt;br /&gt;    {&lt;br /&gt;        if ((((System.Data.DataRowView)e.Item.DataItem).Row("id").ToString() == Request.QueryString("id")))&lt;br /&gt;        {&lt;br /&gt;            ((Label)e.Item.FindControl("lblBoolDisplat")).Text = "This value is being requested.";&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;For C#, also add: &lt;pre class="prettyprint"&gt;OnDataItemBound="rptr_ItemDataBound"&lt;/pre&gt; on the &amp;lt;asp:Repeater&amp;gt; tag in the ASP.NET page.&lt;br /&gt;&lt;br /&gt;Though this is a very simple example, it is very useful in handling complex data. A similar logic is applied when &lt;span style="font-weight:bold;"&gt;nesting repeaters&lt;/span&gt; in a repeater. A nested repeater could be accessed as a nested control in the same way the label is being accessed in the above code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-9037403198260336335?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/9037403198260336335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/06/aspnet-changing-nested-controls-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/9037403198260336335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/9037403198260336335'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/06/aspnet-changing-nested-controls-on.html' title='ASP.NET: Changing Nested Controls on Repeater&apos;s ItemDataBound'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5597025173436661483</id><published>2009-05-24T15:52:00.005-04:00</published><updated>2009-05-24T16:05:41.987-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phishing'/><title type='text'>Facebook phishing Scams on the Way!</title><content type='html'>I received a message today which had "wwww whiteflash be". Its a phishing scam to extract Facebook login information. Searched twitter and found out multiple domains being used for the scam. Beware of entering any information on the following sites:&lt;br /&gt;&lt;br /&gt;whiteflash.be&lt;br /&gt;mymarket.be&lt;br /&gt;vispace.be&lt;br /&gt;goldbase.be&lt;br /&gt;greenbuddy.be&lt;br /&gt;silvertag.be&lt;br /&gt;picoband.be&lt;br /&gt;&lt;br /&gt;Google and other anti-phising services are yet not updated with these URL's to warn users. In general beware of any links that end with .be. The pages look like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0tjSn4G6q3c/Shmm_lQy1KI/AAAAAAAAAVI/3pyTcSdvToQ/s1600-h/facebook_scam.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 149px;" src="http://4.bp.blogspot.com/_0tjSn4G6q3c/Shmm_lQy1KI/AAAAAAAAAVI/3pyTcSdvToQ/s320/facebook_scam.png" alt="" id="BLOGGER_PHOTO_ID_5339482444488955042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These sites are hosted in China on IP: 211.95.78.98, with the following Whois record:&lt;br /&gt;&lt;br /&gt;Domain:      picoband&lt;br /&gt;Status:      REGISTERED&lt;br /&gt;Registered:  Fri May 22 2009&lt;br /&gt;&lt;br /&gt;Licensee:&lt;br /&gt;  Not shown, please visit www.dns.be for webbased whois.&lt;br /&gt;&lt;br /&gt;Agent:&lt;br /&gt;  Name:      1API GmbH&lt;br /&gt;  Website:   www.1api.net&lt;br /&gt;&lt;br /&gt;Nameservers:&lt;br /&gt;  ns1.everydns.net&lt;br /&gt;  ns2.everydns.net&lt;br /&gt;  ns3.everydns.net&lt;br /&gt;  ns4.everydns.net&lt;br /&gt;&lt;br /&gt;If you have already entered your login information in any of these websites, I would suggest that you change your passwords immediately. Have a safe browsing experience!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5597025173436661483?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5597025173436661483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/05/facebook-phishing-scams-on-way.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5597025173436661483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5597025173436661483'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/05/facebook-phishing-scams-on-way.html' title='Facebook phishing Scams on the Way!'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0tjSn4G6q3c/Shmm_lQy1KI/AAAAAAAAAVI/3pyTcSdvToQ/s72-c/facebook_scam.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-250464722814168318</id><published>2009-05-20T00:12:00.003-04:00</published><updated>2009-05-20T01:00:26.828-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Youtube's Background Image</title><content type='html'>I just saw the background image of YouTube and was amazed to discover that it has all the commonly used graphics on a single image. I don't know how many people have actually noticed that or used this technique, but it looks brilliant to me. Its superb to fit in so much in a png image which is less than 10KB and then using CSS to display the appropriate parts of the image for each div block.&lt;br /&gt;&lt;br /&gt;It is common to use such images for hover buttons, where you just change the position of the image for hover effects. This ensures that you don't have to wait for the hover image to be loaded to see the effect. But, I never ever thought of encompassing all my graphic objects in a single image file and then displace the image as required using the background-position property in CSS. It would definitely make the page load much faster than having to download a plethora of small images which are scattered all around. &lt;br /&gt;&lt;br /&gt;The YouTube background includes the header logo, the favorite rating stars, the button backgrounds, small buttons, gradients etc. Most of the images in this common background are used in all pages of the website and thus, its a good choice to group them all together as a single image and reduce the overall page load time. &lt;br /&gt;&lt;br /&gt;If you want to view the background image, right click on a static background area (the gray header near the search box is a good choice) and select (in Firefox) view background image or (in IE) save background image. I'm sure, you would be surprised to see the huge png image. Alternatively, you might just want to visit this &lt;a href="http://s.ytimg.com/yt/img/master-vfl95681.png" target="_blank"&gt;link&lt;/a&gt; to view the image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-250464722814168318?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/250464722814168318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/05/youtubes-background-image.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/250464722814168318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/250464722814168318'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/05/youtubes-background-image.html' title='Youtube&apos;s Background Image'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6935627042034025398</id><published>2009-05-10T14:38:00.003-04:00</published><updated>2009-05-10T14:38:00.455-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Progress in Video Advertising</title><content type='html'>With the popularity of Youtube and other online video streaming sites, video advertising is increasingly becoming a domain people want to explore. Video advertising is increasingly becoming popular and adds a new dimension to the text and banner based internet advertising. Its a very promising new form of internet advertising.&lt;br /&gt;&lt;br /&gt;A lot of new methods are being developed for this new form of advertising. One of the most interesting ones is in-video advertising. Imagine advertising a product by placing it at an appropriate spot in the video and allow user to click on the product to view details and purchase it. Or just putting an advertisement on a building shown in the video. The video advertisement technologies are emerging to make all these things possible.&lt;br /&gt;&lt;br /&gt;Innovid is one such company which has come out with some great techniques for In-Video advertising creating a brand experience which had not been possible before. They allow you to create videos with user interaction which is super cool. They have one of the most innovative advertising techniques which allows the advertisements to be placed in a streaming video. Check out their &lt;a href="http://www.innovid.com/gallery.php" target="_blank"&gt;gallery&lt;/a&gt; for the ad methods they have developed.&lt;br /&gt;&lt;br /&gt;Another interesting technology is &lt;a href="http://www.zunavision.com/" target="_blank"&gt;Zunavision&lt;/a&gt;, which is developed by Stanford University and allows advertisers to dynamically add image or video in an already existing video. You just select a surface in the video to place your ad and it automatically adjusts the advertisements with the motion of the video. See the following video which describes how this technology works:&lt;br /&gt;&lt;div style="margin:0 auto;text-align:center;"&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CR3tQmxrPo8&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/CR3tQmxrPo8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The future of video advertising seems great and can help monetize the video content people generate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6935627042034025398?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6935627042034025398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/05/progress-in-video-advertising.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6935627042034025398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6935627042034025398'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/05/progress-in-video-advertising.html' title='Progress in Video Advertising'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3938254572309050591</id><published>2009-05-08T18:06:00.003-04:00</published><updated>2009-05-08T18:28:42.445-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Micro-blogging on Twitter</title><content type='html'>The frequency of my posts on the blog have been decreasing over time. With all my buzy schedule, its difficult to update the blog regularly. I've recently started using twitter and have fallen in love with this concept of micro-blogging. Its so much easier to just write a line or two than writing a complete post on something you just saw. Its instant, its simple and its fun.&lt;br /&gt;&lt;br /&gt;I have had lots of things I thought to blog about but most of them never make it out here because I don't have had the time to post them. But now, whenever I see something interesting, I tweet about it. Its also interesting to get almost instant replies about it. I find it better than the Facebook status updates.&lt;br /&gt;&lt;br /&gt;Twitter has been there for a while and is gaining momentum. People have started using it for marketing, job search, networking and much more. There is a lot of spam out there too, but you have control over whom you want to follow and an option to control who should be following you. Your followers are the ones who can read your tweets and you get updates from people whom you are following.&lt;br /&gt;&lt;br /&gt;You can follow me on on twitter: &lt;a href="http://twitter.com/gsmodi" target="_blank"&gt;@gsmodi&lt;/a&gt;. Also, my twitter feed would now be posted on the right column of my blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3938254572309050591?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3938254572309050591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/05/micro-blogging-on-twitter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3938254572309050591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3938254572309050591'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/05/micro-blogging-on-twitter.html' title='Micro-blogging on Twitter'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1054963822412343829</id><published>2009-04-01T15:03:00.008-04:00</published><updated>2009-04-01T19:58:55.497-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>YouTube and GMail on April Fool's Day</title><content type='html'>Today, you might have noticed the flipped YouTube or New GMail! Autopilot on top of your gmail. You might have twisted your screen or head to watch the new YouTube or tried to activate the non-existent autopilot on your settings tab. That's Google making you April Fool. Google always comes up with these amazing things on April Fool's day. &lt;br /&gt;&lt;br /&gt;If you are a web developer, you might be wondering how did they code the flipped version. They would be using javascript to change the character's to a the charset of flipped characters. Here's a &lt;a href="http://snipplr.com/view/4215/flip-your-text-with-charsets/" target="_blank"&gt;code&lt;/a&gt; that shows you an example. &lt;br /&gt;&lt;br /&gt;Here's how a YouTube page looked today:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0tjSn4G6q3c/SdP-VbtKRII/AAAAAAAAATY/dNeCcK9AFNg/s1600-h/aprilfool_youtube.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 231px;" src="http://1.bp.blogspot.com/_0tjSn4G6q3c/SdP-VbtKRII/AAAAAAAAATY/dNeCcK9AFNg/s320/aprilfool_youtube.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5319875229022569602" /&gt;&lt;/a&gt;&lt;br /&gt;The GMail notification:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0tjSn4G6q3c/SdP-m2MNdGI/AAAAAAAAATg/F_xALK8kPTM/s1600-h/aprilfool_gmailheader.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 34px;" src="http://2.bp.blogspot.com/_0tjSn4G6q3c/SdP-m2MNdGI/AAAAAAAAATg/F_xALK8kPTM/s320/aprilfool_gmailheader.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5319875528189899874" /&gt;&lt;/a&gt;&lt;br /&gt;The description of AutoPilot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0tjSn4G6q3c/SdP-tsWgnFI/AAAAAAAAATo/mPSnIWXN-1A/s1600-h/aprilfool_gmaildetail.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_0tjSn4G6q3c/SdP-tsWgnFI/AAAAAAAAATo/mPSnIWXN-1A/s320/aprilfool_gmaildetail.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5319875645807828050" /&gt;&lt;/a&gt;&lt;br /&gt;The April Fool's description of CADIE (used for GMail's autopilot) can be found &lt;a href="http://www.google.com/intl/en/landing/cadie/index.html" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1054963822412343829?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1054963822412343829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/04/youtube-and-gmail-on-april-fools-day.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1054963822412343829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1054963822412343829'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/04/youtube-and-gmail-on-april-fools-day.html' title='YouTube and GMail on April Fool&apos;s Day'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0tjSn4G6q3c/SdP-VbtKRII/AAAAAAAAATY/dNeCcK9AFNg/s72-c/aprilfool_youtube.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5499722298566613692</id><published>2009-03-23T12:08:00.005-04:00</published><updated>2009-04-16T20:25:21.142-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Web Hosting Reviews</title><content type='html'>With so many web hosting companies out there, choosing a reliable web hosting is not an easy task. Today, while choosing a web hosting service you would be glutted with options to choose from. You would have a huge list of web hosts to choose from and it would be challenging to choose the one which best suits your needs. There are various websites where you can find reviews about various web hosts providing you the information you need. It is a good option to compare the plethora of hosting services by reading these &lt;a href="http://webhostinggeeks.com/" target="_blank"&gt;web hosting&lt;/a&gt; reviews.&lt;br /&gt;&lt;br /&gt;For a website, the things you need are domain, hosting and content. Choosing a right domain name is essential and it should be able to reflect the content on the website. But to put this content together you would need to host it a reliable place where it is secure and approachable without any downtime or delay. Your host should ensure fast processing and delivery of the requests on your website.&lt;br /&gt;&lt;br /&gt;There would be a plethora of other factors you would need to consider to choose a good webhost. First and foremost you should look and the tools and technologies supported by the webhost like the platform, scripting support, databases or any other special requirement you might have. Then look at your other requirements, hosting uptime history and pricing aspects. You may find this &lt;a href="http://webhostinggeeks.com/articles/Web_Hosting_Guide.html" target="_blank"&gt;article&lt;/a&gt; by web hosting geeks useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5499722298566613692?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5499722298566613692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/03/web-hosting-reviews.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5499722298566613692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5499722298566613692'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/03/web-hosting-reviews.html' title='Web Hosting Reviews'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6496475422156438695</id><published>2009-03-19T18:55:00.003-04:00</published><updated>2009-03-19T19:15:22.712-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Undo Sending a Message in GMail</title><content type='html'>It often happens that after clicking that send button of the email, we recall that there was something more to be added, a missing attachment or we just regret sending that email. Well, now if you are using GMail and can get a reflex in 5 seconds you can 'Undo' sending a message.&lt;br /&gt;&lt;br /&gt;Google Labs has come up with the 'Undo Send' gadget which will allow you to cancel sending a message for which you have just pushed the Send button. The only catch is that you just have five seconds to take action. To activate this gadget in your GMail account, go to Settings and then select this gadget from the Labs tab.&lt;br /&gt;&lt;br /&gt;This feature was just &lt;a href="http://gmailblog.blogspot.com/2009/03/new-in-labs-undo-send.html" target="_blank"&gt;announced on the GMail blog&lt;/a&gt;. It reads:&lt;br /&gt;"&lt;span style="font-style:italic;"&gt;This feature can't pull back an email that's already gone; it just holds your message for five seconds so you have a chance to hit the panic button. And don't worry – if you close Gmail or your browser crashes in those few seconds, we'll still send your message.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;The feature is definitely great but I believe the interval of 5 seconds is somewhat low. It should have been somewhere around 20-30 seconds or it would had been better if you were given an option to choose a custom time. I would have selected about a minute.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6496475422156438695?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6496475422156438695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/03/undo-sending-message-in-gmail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6496475422156438695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6496475422156438695'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/03/undo-sending-message-in-gmail.html' title='Undo Sending a Message in GMail'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7460371972427248246</id><published>2009-03-06T17:22:00.002-05:00</published><updated>2009-03-06T17:49:36.126-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Did You Know? - Interesting Video</title><content type='html'>Here's a very interesting video, which demonstrates the paradigm shift in technology and globalization over the past few years. It was presented by Richard Sanders, President of Sony BMG International on 4 May 2008 to 150 of the company's top executives gathered in Rome for Sony BMG’s annual Global Management Meeting. It illustrates the demand for changing business processes in these "exponential times".&lt;br /&gt;&lt;br /&gt;So, enjoy this amazing video - &lt;span style="font-style: italic;"&gt;Right Here, Right Now&lt;/span&gt;:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cL9Wu2kWwSY&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/cL9Wu2kWwSY&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;To know more about the producers of the video, &lt;a href="http://thefischbowl.blogspot.com/2008/08/did-you-know-music-industry-remix.html" target="_blank"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7460371972427248246?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7460371972427248246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/03/did-you-know-interesting-video.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7460371972427248246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7460371972427248246'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/03/did-you-know-interesting-video.html' title='Did You Know? - Interesting Video'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1284922316701883946</id><published>2009-02-27T10:55:00.005-05:00</published><updated>2009-04-21T11:57:39.324-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Looking for Drivers?</title><content type='html'>Those who often change operating systems or frequently add/remove peripherals know how difficult is it to find drivers to get everything working smoothly. Each time you need to find a driver you need to go to each device manufacturers website and search through to find the required driver. Wouldn't it be good if there was a place where you could find all the drivers you need? Here's a website I found which has a huge listing of device &lt;a href="http://www.driverssoftware.com/" target="_blank"&gt;drivers&lt;/a&gt; for almost all types of hardware.&lt;br /&gt;&lt;br /&gt;Apart from these listings, you also get free tool which automatically detects outdated drivers and give you the option to update your drivers. This tool searches through your devices and gets you the latest version of the device driver available from the manufacturer. When unable to find the original driver for the peripherals, most people compromise with compatible drivers which sometimes result in system crashes. By scanning through this tool you don't have to worry with these issues anymore.&lt;br /&gt;&lt;br /&gt;So, whether you are trying to update an old system you use for research and need those &lt;a href="http://www.driverssoftware.com/companies.php/intel-drivers/5306" target="_blank"&gt;intel drivers&lt;/a&gt; for it or you need &lt;a href="http://www.driverssoftware.com/companies.php/hp-hewlett-packard-drivers/7209" target="_blank"&gt;hp drivers&lt;/a&gt; for your printer and you have lost the product CD that came with it. Just go through the website and get the driver you need without the hassle of doing all those long searches to find the driver you need.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1284922316701883946?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1284922316701883946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/02/looking-for-drivers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1284922316701883946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1284922316701883946'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/02/looking-for-drivers.html' title='Looking for Drivers?'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3194193616630371695</id><published>2009-01-25T16:41:00.005-05:00</published><updated>2009-01-28T17:40:27.259-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>The 25 Worst Programming Errors</title><content type='html'>The &lt;a href="http://www.sans.org/top25errors/"&gt;SANS Institute&lt;/a&gt; recently released the list of the top 25 worst programming errors. This list is prepared by experts from more than 30 US and international cyber security organizations, which includes Symantec, Microsoft, DHS's National Cyber Security Division among others. It enumerates the most dangerous programming mistakes that lead to critical security vulnerabilities.&lt;br /&gt;&lt;br /&gt;This list is a great read for people involved in software design and development. It not only provides the vulnerabilities caused by these errors, but also provides design and implementation guidelines to prevent these errors. It also provides solutions to rectify these errors. Developers can use these fairly extensive prevention and remediation steps to mitigate or eliminate weakness in their systems.&lt;br /&gt;&lt;br /&gt;The composition is organized in three categories - Insecure Interaction Between Components (9 errors), Risky Resource Management (9 errors) and Porous Defenses (7 errors). Insecure Interaction Between Components includes errors like 'Improper Input Validations' giving attackers a gateway to your application;  'Cross-Site Scripting (XSS)' which can allow an attacker to steal information by using user vulnerabilities. Risky Resource Management identifies vulnerabilities caused due to 'External Control of Critical State Data'; 'Untrusted Search Path' for resources; etc. The Porous Defenses enumerates improper use defensive techniques such as 'Improper Access Control', 'Hard-Coded Password' among others.&lt;br /&gt;&lt;br /&gt;The online version of the list is available out &lt;a href="http://cwe.mitre.org/top25"&gt;here&lt;/a&gt;. You can also download the &lt;a href="http://cwe.mitre.org/top25/pdf/2009_cwe_sans_top_25.pdf"&gt;pdf version&lt;/a&gt; of the document.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3194193616630371695?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3194193616630371695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2009/01/25-worst-programming-errors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3194193616630371695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3194193616630371695'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2009/01/25-worst-programming-errors.html' title='The 25 Worst Programming Errors'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2462426472486457467</id><published>2008-12-01T17:39:00.000-05:00</published><updated>2008-12-31T22:14:48.917-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.Net Login Controls: Custom Membership Provider for SQL Server</title><content type='html'>ASP.Net provides excellent controls for managing user logins in your web application. But some applications require custom database fields and functionality for their user tables. The ASP.NET login controls can be used in these applications by writing a custom membership provider.&lt;br /&gt;&lt;br /&gt;This msdn tutorial guides you on the implementation steps required for &lt;a href="http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx" target="_blank"&gt;implementing a membership provider&lt;/a&gt;. An ODBC based sample implementation can be found &lt;a href="http://msdn.microsoft.com/en-us/library/44w5aswa.aspx" target="_blank"&gt;here&lt;/a&gt;. This shows the sample database schema for implementing a membership provider on MS-Access. The corresponding C#/VB.NET code can be found on: &lt;a href="http://msdn.microsoft.com/en-us/library/6tc47t75.aspx" target="_blank"&gt;How to: Sample Membership Provider Implementation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have modified this custom Membership Provider's ODBC implementation for SQL Server. The file can be downloaded from &lt;a href="http://www.gsmodi.com/blog/downloads/2008/DbMembership.txt" target="_blank"&gt;here&lt;/a&gt;. This file also contains the custom Create Table SQL for the user table. This membership provider should be saved as .cs file and be placed in the 'App_Code' folder. The web.config file should be configured to use this membership provider. This can be done by adding the following between the &amp;lt;system.web&amp;gt; tags:&lt;pre&gt;    &amp;lt;membership defaultProvider="DbMembership"&amp;gt;&lt;br /&gt;      &amp;lt;providers&amp;gt;&lt;br /&gt;        &amp;lt;add name="DbMembership"&lt;br /&gt;             type="DbMembership.DbMembershipProvider"&lt;br /&gt;             connectionStringName="SqlConnectionString"&lt;br /&gt;             enablePasswordRetrieval="true"&lt;br /&gt;             enablePasswordReset="true"&lt;br /&gt;             requiresQuestionAndAnswer="true"&lt;br /&gt;             writeExceptionsToEventLog="true"&lt;br /&gt;             applicationName="AFIRS"/&amp;gt;&lt;br /&gt;      &amp;lt;/providers&amp;gt;&lt;br /&gt;    &amp;lt;/membership&amp;gt;&lt;/pre&gt;After adding this all the ASP.NET login controls will be used according to the functionality specified in the custom membership provider DbMembership.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2462426472486457467?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2462426472486457467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/11/aspnet-login-controls-custom-membership.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2462426472486457467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2462426472486457467'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/11/aspnet-login-controls-custom-membership.html' title='ASP.Net Login Controls: Custom Membership Provider for SQL Server'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8276115447949072965</id><published>2008-11-12T17:02:00.003-05:00</published><updated>2008-12-31T17:26:18.952-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET: Recursively Writing all Form Elements to a Cookie</title><content type='html'>There are instances when you need to write all your form elements on a page to a cookie. Here's a simple recursive function, which will write all form values to cookies with the form ids as the cookie keys:&lt;br /&gt;&lt;pre&gt;   Private Sub AddToCookie(ByVal Parent)   'Add form values to cookies&lt;br /&gt;       For Each c As Control In Parent.Controls&lt;br /&gt;           If (TypeOf c Is TextBox) Then&lt;br /&gt;               Response.Cookies("Order")(c.ID) = CType(c, TextBox).Text&lt;br /&gt;           ElseIf (c.ID = "Product") Then 'Getting value from a DropDownBox&lt;br /&gt;               Response.Cookies("Order")(c.ID) = CType(c, DropDownList).SelectedValue&lt;br /&gt;           End If&lt;br /&gt;           If (c.Controls.Count &gt; 0) Then&lt;br /&gt;               AddToCookie(c)&lt;br /&gt;           End If&lt;br /&gt;       Next&lt;br /&gt;   End Sub&lt;/pre&gt;This function finds all textboxes and a drop-down box on the page and writes it onto a cookie. This function can also be modified for storing values in session variables.&lt;br /&gt;&lt;br /&gt;To retrieve all values of the cookie iteratively, the following code snippet can be used:&lt;br /&gt;&lt;pre&gt;       For cookie As Integer = 0 To Request.Cookies("Order").Values.Count - 1&lt;br /&gt;           lblOrderInfo.Text += Request.Cookies("Order").Values.Keys.Get(cookie) &amp;amp; "  =   "&lt;br /&gt;           lblOrderInfo.Text += Request.Cookies("Order")(Request.Cookies("Order").Values.Keys.Get(cookie)) &amp;amp; "&amp;lt;br/&amp;gt;"&lt;br /&gt;       Next&lt;/pre&gt;This code displays all the elements of the cookie as: &lt;span style="font-family: courier new;"&gt;key = value&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This VB.Net code can be converted to C# by using this &lt;a href="http://www.developerfusion.com/tools/convert/vb-to-csharp/" target="_blank"&gt;converter&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8276115447949072965?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8276115447949072965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/11/aspnet-recursively-writing-all-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8276115447949072965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8276115447949072965'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/11/aspnet-recursively-writing-all-form.html' title='ASP.NET: Recursively Writing all Form Elements to a Cookie'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5612379504622015477</id><published>2008-10-17T15:46:00.002-04:00</published><updated>2008-10-30T16:21:52.285-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft's Web Platform Installers</title><content type='html'>Here's something really exciting for web developers. Microsoft has come up with a &lt;a href="http://www.microsoft.com/web" target="_blank"&gt;web platform installer&lt;/a&gt; for free. It allows you to install IIS 7.0, Visual Web Developer 2008 Express, SQL Server 2008 Express and the .NET Framework. No more painful configuration settings required. The installer automatically configures all these components for a smooth experience and allows you to start working instantly.&lt;br /&gt;&lt;br /&gt;Apart from the platform installer, a web application installer(AI) is also there for you to install the most commonly used open-source web applications. This installer can download and configure frequently used .NET web applications for ecommerce, content management, blogs, forums etc. It automatically downloads the latest version of the applications and provides a seamless integration and configuration on IIS.&lt;br /&gt;&lt;br /&gt;The installers are in their Beta and the future releases will have much more features including support for PHP on IIS 7 and many more applications will be added to the AI. These are similar to XAMP and other installers which install and configure Apache, PHP and MySQL for PHP based web development. So, now we have auto-configure installers for ASP.Net web development. For detailed information about these installers, read about them at &lt;a href="http://channel8.msdn.com/Posts/MSwebinstallers/" target="_blank"&gt;Channel 8&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These packages are part of the &lt;a href="http://www.microsoft.com/web" target="_blank"&gt;Microsoft /web&lt;/a&gt;, which is a site dedicated for providing web resources for the web developers. The site links to many useful articles, event listings, and relevant and valuable conversation from around the Web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5612379504622015477?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5612379504622015477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/10/microsofts-web-platform-installers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5612379504622015477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5612379504622015477'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/10/microsofts-web-platform-installers.html' title='Microsoft&apos;s Web Platform Installers'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5018596020946019063</id><published>2008-09-18T23:43:00.006-04:00</published><updated>2008-09-28T02:57:19.215-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Just Go Through This</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_0tjSn4G6q3c/SN8piP51hjI/AAAAAAAAALg/BRTgsa6Lxos/s1600-h/series-sum.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/SN8piP51hjI/AAAAAAAAALg/BRTgsa6Lxos/s400/series-sum.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5250961358898693682" /&gt;&lt;/a&gt;&lt;br /&gt;This post was for all my friends who think MS in US is fun. Yes, it seems that I am having good fun solving these equations. Do you still think so?&lt;br /&gt;&lt;br /&gt;P.S.: This post has been written on a night prior to an assignment submission date, which was still not completed and I was getting bored doing it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5018596020946019063?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5018596020946019063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/09/just-go-through-this.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5018596020946019063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5018596020946019063'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/09/just-go-through-this.html' title='Just Go Through This'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0tjSn4G6q3c/SN8piP51hjI/AAAAAAAAALg/BRTgsa6Lxos/s72-c/series-sum.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-4109774262734865831</id><published>2008-09-09T12:31:00.002-04:00</published><updated>2008-09-26T00:37:41.992-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Chrome - The Google's Browser</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right;" src="http://4.bp.blogspot.com/_0tjSn4G6q3c/SMc9HybXtuI/AAAAAAAAAKk/3hYDQptFnZg/s320/google_chrome.jpg" alt="" id="BLOGGER_PHOTO_ID_5244227495101183714" border="0" /&gt;Google has finally come out with its much anticipated browser - "&lt;a href="http://www.google.com/chrome" target="_blank"&gt;Google Chrome&lt;/a&gt;". It comes with a clean and simple look with no frills attached. &lt;br /&gt;&lt;br /&gt;Chrome comes with a horde of innovative features. Its just got one box which acts as an address bar, a search bar and a suggestion box. The new tab comes up with the list of the most visited sites, most used search engines, and recently bookmarked pages and closed tabs. Then there are application shortcuts, instant bookmarks, incognito mode, a simple download manager and the list goes on. One of the most intriguing feature is the integrated task manager for the tabs. So, if one of your tab is not responding or eating too much of your resources, you can just exit that tab without affecting the other tabs.&lt;br /&gt;&lt;br /&gt;I have been using it for a week now and find it good. It seems to have combined good features of IE and Firefox and some great additional functionality like task manager to bring out a cool Beta package. Lets see what more will Google offer in its bag. As a web-developer too, I don't think it requires any overhead coding for cross-browser compatibility; though there will be an additional overhead for testing in a new browser.&lt;br /&gt;&lt;br /&gt;Its deemed to be the fastest browser in processing JavaScript according to this &lt;a href="http://news.cnet.com/8301-1001_3-10030888-92.html" target="_blank"&gt;cnet report&lt;/a&gt;. Its been a week since it has been launched and it has started eating up the visitor share of browsers like Firefox and Safari (&lt;a href="http://blog.statcounter.com/2008/09/chrome-whos-losing/" target="_blank"&gt;view detailed report&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;You may read more about the browser on the &lt;a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html" target="_blank"&gt;launch post&lt;/a&gt; on the Google blog. You can download Google Chrome from &lt;a href="http://www.google.com/chrome" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-4109774262734865831?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/4109774262734865831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/09/chrome-googles-browser.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4109774262734865831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4109774262734865831'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/09/chrome-googles-browser.html' title='Chrome - The Google&apos;s Browser'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0tjSn4G6q3c/SMc9HybXtuI/AAAAAAAAAKk/3hYDQptFnZg/s72-c/google_chrome.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6960181540313774063</id><published>2008-08-16T07:34:00.001-04:00</published><updated>2008-08-16T22:00:52.158-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ufl'/><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>First Post from the US of A</title><content type='html'>Here comes my first post from the United States of America. I'm here for my Master's in Computer Engineering at the University of Florida. I reached Gainesville, FL on August 5 making a journey of around 30 hours from New Delhi; with stop overs at New York and Charlotte, NC.&lt;br /&gt;&lt;br /&gt;University of Florida, the "Gator Nation" is a huge university, 4th largest in the US having approx. 50,000 students. Its situated at Gainesville (&lt;span style="font-style: italic;"&gt;pronounced&lt;/span&gt;, gain-s-will), a small town in Florida with a very small population, majorly consisting of university students. A beautiful and clean city, Gainesville has a plush green cover all around. The city has its own bus service - RTS, which is free for all UF students.&lt;br /&gt;&lt;br /&gt;I guess that was enough advertisement stuff and I should move on to my experiences out here in the last 10 days. So, here am I to set up an all new life 1000s of miles away from home. I moved into a new apartment at &lt;a href="http://www.tuscanbend.com/" target="_blank"&gt;Tuscan Bend&lt;/a&gt; with two other housemates. Its a 3BHK apartment fully carpeted, centrally air-conditioned with basic kitchen equipment. The apartment complex has a good gym and a swimming pool. Its connected to the university by the RTS bus service.&lt;br /&gt;&lt;br /&gt;Our first few days went into buying some basic necessities. A large shopping complex, Butler Plaza is at walking distance from our apartment. It has stores of most of the large retail chains - Walmart, BestBuy, Publix, OfficeDepot, Lowe's and a plethora of eating joints. We buy our groceries from Publix and for most of the other stuff we go to Walmart, where we have been paying almost a daily visit, most of them being after midnight till dawn. There is so much variety for everything in stores out here. I remember how difficult it was to select a simple tubelight from Lowe's. There were more than 10 types of tubelights. It was so confusing to select one that we needed the help of a sales assistant who seemed to have a Ph.D in lights. He told us that tubeX is good for general reading, tubeY for working on computer, tubeZ if you wan't to read magazines and so on. It was such a pain deciding which one to take. Also, there's an Indian store nearby where we can get many common Indian stuff like spices, pickles, pulses, sweets etc.&lt;br /&gt;&lt;br /&gt;Out here, I had to start doing things I had seldom or never done before. I lost my cooking virginity. Surviving on sandwiches and burgers was not possible, so had to start cooking. I never knew cutting onions wasn't that difficult ;). Apart from cooking, I have attempted doing almost all the daily household chores. From washing the dishes to cleaning the floor, I have tried them all. Living here is definitely not an easy thing to do.&lt;br /&gt;&lt;br /&gt;Now something about the life outside the apartment. Here in Gainesville, we need to walk a lot. The only mode of public transport is the RTS bus service, which as any other bus service has limited connectivity. The buses are good and air-conditioned with friendly drivers. The university campus is very-very large. Though RTS provides service within the university, still to get around most places we need to walk, walk and walk. As pedestrians we have the first right of way, ie. cars would stop for us to cross the streets at crossings. All roads have bicycle and padestrian paths on the sides. At buzy traffic intersections, we have to press a button to get a signal to walk. Its very well-organized, calm and peaceful city.&lt;br /&gt;&lt;br /&gt;P.S.: There's a lot more to come out here. I would continue writing posts about my experiences at UFL. Its on the special request of my friends in India, who asked me to do so once I reach here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6960181540313774063?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6960181540313774063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/08/first-post-from-us-of.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6960181540313774063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6960181540313774063'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/08/first-post-from-us-of.html' title='First Post from the US of A'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2388839687963391948</id><published>2008-07-18T09:33:00.005-04:00</published><updated>2008-07-28T10:12:29.542-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Auto-Format your Code in Visual Studio</title><content type='html'>Many a times we often come across unformatted code, which is almost impossible to understand. For instance, some lines of code may be indented properly while others might not be. Visual Studio provides a great feature for auto-formatting your unformatted code. Just press &lt;span style="font-family:courier new;"&gt;Ctrl+K&lt;/span&gt; followed by &lt;span style="font-family:courier new;"&gt;Ctrl+D&lt;/span&gt; and voila the code is now in a well-indented, easy to understand format. It works for markup code like HTML, XML etc. as well as for language codes such as C# and VB.&lt;br /&gt;&lt;br /&gt;If you have code like this:&lt;br /&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;val1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;val2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;It can be auto-formatted to:&lt;pre&gt;&lt;br /&gt;    &amp;lt;table&amp;gt;&lt;br /&gt;        &amp;lt;tr&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;&lt;br /&gt;                val1&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;&lt;br /&gt;                val2&amp;lt;/td&amp;gt;&lt;br /&gt;        &amp;lt;/tr&amp;gt;&lt;br /&gt;    &amp;lt;/table&amp;gt;&lt;/pre&gt;&lt;br /&gt;So, next time you copy some code from the net you can easily reformat it by using the key combination. Alternately, you can also use &lt;span style="font-family:courier new;"&gt;Ctrl+K&lt;/span&gt; followed by &lt;span style="font-family:courier new;"&gt;Ctrl+F&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2388839687963391948?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2388839687963391948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/07/auto-format-your-code-in-visual-studio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2388839687963391948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2388839687963391948'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/07/auto-format-your-code-in-visual-studio.html' title='Auto-Format your Code in Visual Studio'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2656940834524627256</id><published>2008-07-09T04:11:00.001-04:00</published><updated>2008-07-09T04:13:04.206-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Using Public Computers Securely</title><content type='html'>If you are using a public computer, the chances are high that your personal information might be at risk. There is a probability that a key-logger might be installed on the machine. Key-loggers are programs, normally used for malicious intends, which log each key stroke of the keyboard. For instance, if you open your computer and type in a url and then enter your username and password, all these would be stored in a special file generated by the key-logger. These programs run in hidden mode and you won’t be able to realize that they are working behind your normal applications.&lt;br /&gt;&lt;br /&gt;So, how do you protect your information from these malicious spywares? A nice way would be to confuse the person reading your personal information. Here are a few tips you might want to follow:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Before entering a URL, open the drop down list of a browser to see if the website is present. Open the website by clicking it. That ways, the key-logger won’t be able to record the website you are browsing.&lt;/li&gt;&lt;li&gt;Don’t enter your username, password, credit card numbers or any other secure information directly on the text boxes provided for these. Instead, open a notepad file and type some random text. Between this random text put your passwords or other information split into multiple parts. Now copy-paste these parts of your information on the website. It would be almost impossible for the person reading the key-logger file to decode any of your information from this file.&lt;/li&gt;&lt;li&gt;A number of banking websites, like icicibank.com and hdfcbank.com have introduced the concepts of virtual keyboards. These also allow a sound level of protection as you need to select your password by selecting the alphabets using the mouse buttons. Always use them for enhanced security.&lt;/li&gt;&lt;/ul&gt;Following these tips can prevent you from potential threats of identity thefts. A little extra effort is certainly worth the extra protection you get.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;P.S.&lt;/span&gt;: Public computers still don’t provide a very high security level. There might be machines which are monitored through virtual networks and video recording of your sessions could be made easily. So, always try to avoid sharing your private information on these systems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2656940834524627256?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2656940834524627256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/07/using-public-computers-securely.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2656940834524627256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2656940834524627256'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/07/using-public-computers-securely.html' title='Using Public Computers Securely'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7134622325881146615</id><published>2008-07-06T14:32:00.007-04:00</published><updated>2008-07-09T04:03:41.604-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>New URL and a New Design</title><content type='html'>I have moved my blog from gsmodi.blogspot.com to blog.gsmodi.com. The blog has been redesigned to give it a great new look and feel.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 5px; float: left;" src="http://bp1.blogger.com/_0tjSn4G6q3c/SHERaU21ORI/AAAAAAAAAJk/6OhllxOxPWw/s400/C%253A.png" border="0" /&gt;&lt;img style="margin: 5px; float: right;" src="http://bp2.blogger.com/_0tjSn4G6q3c/SHERaLI7G3I/AAAAAAAAAJc/sM-3zkv3yZU/s400/blog.gsmodi.com.png" border="0" /&gt;&lt;br /&gt;&lt;p style="margin: 50px; text-align: center;"&gt;» » »&lt;/p&gt;&lt;div style="clear: both;"&gt;&lt;br /&gt;Both these changes were awaited from a long time. I had wished to change my blog domain from a long time. The new domain sounds much better and syncs with my website: &lt;a href="http://www.gsmodi.com/" target="_blank"&gt;www.gsmodi.com&lt;/a&gt;. The blogging platform remains the same, ie &lt;a href="http://www.blogger.com/" target="_blank"&gt;blogger&lt;/a&gt;. I had thought about changing it to wordpress, but blogger allowed complete redirection of my old posts to the new custom domain.&lt;br /&gt;&lt;br /&gt;The blog design needed a makeover from a long time. The new design is a 3 column layout which caters to the more common larger screen sizes. I found this layout &lt;a href="http://btemplates.com/2008/04/25/cold-blue/" target="_blank"&gt;here&lt;/a&gt;. A number of modifications have been made to the layout to make it look better.&lt;br /&gt;&lt;br /&gt;Apart from these, a number of new things have been added to the blog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;E-mail subscription option from &lt;a href="http://www.feedburner.com/" target="_blank"&gt;feedburner&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Custom search engine from &lt;a href="http://www.google.com/cse"&gt;Google&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;A favicon for associating an icon with the bookmarks.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The new subscription widget from Blogger.&lt;/li&gt;&lt;li&gt;Social bookmarking and other sharing button from &lt;a href="http://www.sharethis.com/"&gt;ShareThis&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Tag (Label) cloud whose code can be found &lt;a href="http://blog.frivolousmotion.com/2007/05/how-to-make-awesome-tag-cloud.html"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Do give your feedback about the new layout and these exciting features.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7134622325881146615?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7134622325881146615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/07/new-url-and-new-design.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7134622325881146615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7134622325881146615'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/07/new-url-and-new-design.html' title='New URL and a New Design'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0tjSn4G6q3c/SHERaU21ORI/AAAAAAAAAJk/6OhllxOxPWw/s72-c/C%253A.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1412647203960137228</id><published>2008-06-04T15:29:00.006-04:00</published><updated>2008-06-04T16:42:40.146-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Fuel Price Hike and the Chaos</title><content type='html'>The fuel prices across India were set to rise at midnight. Petrol is to get dearer by Rs. 5, diesel by Rs. 3 and LPG cylinders by Rs. 50 (&lt;a href="http://www.ibnlive.com/news/fuel-prices-hiked-petrol-up-by-rs-5-diesel-by-rs-3/66581-3.html" target="_blank"&gt;news story&lt;/a&gt;). The official announcement was made around noon and soon it became the most common talk of the town. Fuel stations saw hordes of vehicles piling up to get their tanks full.&lt;br /&gt;&lt;br /&gt;The petrol in Delhi would now cost Rs.50.52/litre. The chaos at petrol pumps was inevitable. Everyone was out there to save some bucks. I too went out at around 11:15pm, browsed through a few pumps - some of them were closed, some had put out-of-order notices on half of their vending machines resulting in long queues - finally, found a pump which was operating normally. I was successful in placing my vehicle just before the entry of the pump leaving behind those who were waiting before me.&lt;br /&gt;&lt;br /&gt;I got my tank full and was billed just 10 minutes before midnight, i.e. at 11:50. Thus, was successful in saving Rs. 150 from the 30 litres of petrol I bought. There were others who could not make it to the midnight "deadline" due to the long waiting time.&lt;br /&gt;&lt;br /&gt;The scene at the fuel station was both of chaos and excitement, wherein everyone coveted to fill in their tanks before the price hike. Here are some shots of "the fuel station @ the night before the price hike":&lt;br /&gt;&lt;br /&gt;&lt;p style="clear: both;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0tjSn4G6q3c/SEbzLgZniaI/AAAAAAAAAH4/Sai1no558I8/s1600-h/fuel2.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_0tjSn4G6q3c/SEbzLgZniaI/AAAAAAAAAH4/Sai1no558I8/s320/fuel2.jpg" alt="" id="BLOGGER_PHOTO_ID_5208117398102051234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cars moving into the fuel pump.&lt;/p&gt;&lt;br /&gt;&lt;p style="clear: both;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0tjSn4G6q3c/SEbzLgZniZI/AAAAAAAAAHw/5gmo53FsUG4/s1600-h/fuel1.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_0tjSn4G6q3c/SEbzLgZniZI/AAAAAAAAAHw/5gmo53FsUG4/s320/fuel1.jpg" alt="" id="BLOGGER_PHOTO_ID_5208117398102051218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Queued up to get the  sought after fuel.&lt;/p&gt;&lt;br /&gt;&lt;p style="clear: both;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_0tjSn4G6q3c/SEbzLwZnibI/AAAAAAAAAIA/wUKSaT-lwjI/s1600-h/fuel3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/SEbzLwZnibI/AAAAAAAAAIA/wUKSaT-lwjI/s320/fuel3.jpg" alt="" id="BLOGGER_PHOTO_ID_5208117402397018546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The filling up of the tanks. It took around 10 minutes / car.&lt;/p&gt;&lt;br /&gt;&lt;p style="clear: both;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_0tjSn4G6q3c/SEbzLwZnicI/AAAAAAAAAII/REOW5N3MSx0/s1600-h/fuel4.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/SEbzLwZnicI/AAAAAAAAAII/REOW5N3MSx0/s320/fuel4.jpg" alt="" id="BLOGGER_PHOTO_ID_5208117402397018562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally, payments!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="clear: both; font-size: 0.8em"&gt;Location: Prem Service Station (Moolchand Petrol Pump)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1412647203960137228?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1412647203960137228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/06/fuel-price-hike-and-chaos.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1412647203960137228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1412647203960137228'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/06/fuel-price-hike-and-chaos.html' title='Fuel Price Hike and the Chaos'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0tjSn4G6q3c/SEbzLgZniaI/AAAAAAAAAH4/Sai1no558I8/s72-c/fuel2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-9204423959261903999</id><published>2008-05-17T16:00:00.007-04:00</published><updated>2008-05-22T11:56:18.639-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>The Ephemeral 4 Years</title><content type='html'>Finally, my engineering degree has come to an end. The four years have passed by in the blink of an eye. Now with the completion of the degree, the nostalgia is boggling all around.&lt;br /&gt;&lt;br /&gt;I still remember my first day in college; the ragging by seniors - those 90-degree bending and wishing them - the all white dress-code with no accessories (belts, watches etc) - repeating the same intro in multiple languages multiple times a day - and the other fun stuff... Soon the studies started and in no time we had our first sessionals - then the second - and then the end-sems. &lt;br /&gt;&lt;br /&gt;Semesters came and went - the cycle continued: 1st sessional, 2nd sessional, end-sems. These were the only times for study - that too with one night stand policy before the exams. A week was all we studied during the sem. With virtually nil attendance in classes and no idea of the syllabus - we always landed at the photocopy shop to get the xerox for the notes - or relied on friends to scan and email them - or search for the topics on the Internet - or just leave it, I don't intend to top the exams :P. &lt;br /&gt;&lt;br /&gt;But, college was a lot fun too. Working for DLC (thats, D'LangChaps - the literary society) events and the college fest, GATES are the most memorable times of the college. I would never forget those long meetings - the strategy discussions at Bindra pakore waala - the brainstorming sessions at the 'den' - working till late night in the college - the hide and seek games without any lights - the overnight stays - the sleeping on the chairs - the lunches and dinners at Deepak ka dhaba - the outings, the trips and the videos we shot ;) - and a lot of amusing memories to cherish.&lt;br /&gt;&lt;br /&gt;There were times we attended some classes too. Our favorite activities during lectures included: sleeping - aptly using the free SMS's by chatting with a friend sitting in the next row - playing games on the phone - eating our lunch - discussions on philosophy unrelated to the subjects. The missing of the deadlines - the long library queues - the copying of the assignments - the xeroxing of the files before the practicals - the multiple canteen visits - the visit to the labs for surfing the internet - the seminars and sessions - the projects and the presentations... There's a long list of things we did, but there are restraints on being candid.&lt;br /&gt;&lt;br /&gt;These 4 years were really amazing. These unforgettable years have gone by and what they have left behind are memories, sweet memories...&lt;br /&gt;&lt;br /&gt;P.S.: Here are a few lines on college memories which were circulated via SMS:&lt;br /&gt;Wo College Ki Sidhi Par Pyar Bhari Baate,&lt;br /&gt;Wo Syllabus Ki Tension Wo Exam Ki Raate,&lt;br /&gt;Wo Canteen Ki Party Wo B'day Ki Laate,&lt;br /&gt;Wo Ruthna Manana Wo Bunk Wo Mulaqate,&lt;br /&gt;Wo Lab Wo Library Wo Sona Temporary,&lt;br /&gt;Wo Movie Wo Music Wo Cards K Magic,&lt;br /&gt;Wo Proposal ki Planning me Raat Ka Gujarna,&lt;br /&gt;Fir Class Me Piche Ki Seat Pe Sona,&lt;br /&gt;Wo Library Me Jakar Chehro Ko Padna,&lt;br /&gt;Betuki Baaton Ko Seriously Le Lena,&lt;br /&gt;Na Rahenge ye Din Na Rahengi Wo Raaten,&lt;br /&gt;Bachengi Kuch To Bas Yeh "Yaadein".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-9204423959261903999?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/9204423959261903999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/05/ephemeral-4-years.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/9204423959261903999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/9204423959261903999'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/05/ephemeral-4-years.html' title='The Ephemeral 4 Years'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7528768561120696005</id><published>2008-05-10T14:21:00.000-04:00</published><updated>2008-05-11T14:23:19.271-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Screenshot Utilities for Web Pages</title><content type='html'>I need to take a lot of screenshots of webpages for my presentations, projects and websites. I have been using some easy to use browser screenshot utilities for quite some time now. After observing some friends taking screenshots the hard-way (by coping multiple parts on paint and joining them), I thought it would be wise to share these tools.&lt;br /&gt;&lt;br /&gt;When you take screenshots of webpages from the browser, it is mostly impossible to capture the complete webpage. Also, you might not like the browser window with your shot. There are many utilities to help you solve these problems. Here are a couple of them which I use:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/5648" target="_blank"&gt;FireShot&lt;/a&gt;&lt;/b&gt;: This is an extension for Firefox that can capture the screenshot of the webpage you are viewing in just two clicks. It provides an option to capture the entire web page or only visible part of the page. The captured image opens up in an editor having a set of editing and annotation tools, which let users quickly modify captures and insert text and graphical annotations. Screenshots can be uploaded to server, saved to disk (PNG, GIF, JPEG, BMP), copied to clipboard, e-mailed and sent to external editor for further processing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://thumb-page.sourceforge.net/" target="_blank"&gt;ThumbPage&lt;/a&gt;&lt;/b&gt;: This is a small software application which allows you to generate thumbnails for a webpage. It can be conveniently used to generate thumbnails of any size and type. Thumbnails for multiple pages can be generated together by adding multiple URLs. Its ideally suited for generating icons of the webpages. I have been using this utility for generating thumbnails of my projects, which I've used in the &lt;a href="http://www.gsmodi.com/work.aspx" target="_blank"&gt;work page&lt;/a&gt; on my website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7528768561120696005?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7528768561120696005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/05/screenshot-utilities-for-web-pages.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7528768561120696005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7528768561120696005'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/05/screenshot-utilities-for-web-pages.html' title='Screenshot Utilities for Web Pages'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6239958063546579934</id><published>2008-04-24T13:37:00.006-04:00</published><updated>2008-05-11T14:24:44.233-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Mesh up your Data on Live Mesh</title><content type='html'>Consider this: You are working on a document from the past few days on different machines and now realize that you have different versions of the document on different devices. Its a fractious task to keep a coherent copy of your work while working on multiple systems. Wouldn't it be great if there was a service which could automatically synchronize the files on all your devices.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mesh.com/" target="_blank"&gt;Live Mesh&lt;/a&gt; is a new service which provides you a virtual desktop and enables individuals and organizations to access, manage and share data and applications seamlessly through the web. It allows you to connect all your devices and synchronize the data. It gives you 5GB space to store your data in the "cloud" (data centers on the internet). You can access your data anytime, anywhere on a simple web browser. So, resume your work from where you left it.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/SBDxtl7ymMI/AAAAAAAAAGM/k2eIHOW2hcQ/s320/live_mesh.PNG" alt="" id="BLOGGER_PHOTO_ID_5192916135937480898" border="0" /&gt;&lt;br /&gt;If you think thats awesome, well there are many more features in Live Mesh to be explored. It allows you to remotely access any of the device on your Mesh via the web. You can also share folders on your Live Desktop with your friends or family. Live Mesh updates you about the changes made in your folders. It also facilitates online collaboration through chat and posting messages in a folder.&lt;br /&gt;&lt;br /&gt;Live Mesh has been developed by Microsft on the 'software-and-services' platform. It is currently under Limited Technology Preview and an invitation is required to preview this service. A developer SDK will also accompany this service, which would allow application developers to extend their applications using the amazing features of Live Mesh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6239958063546579934?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6239958063546579934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/04/mesh-up-your-data-on-live-mesh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6239958063546579934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6239958063546579934'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/04/mesh-up-your-data-on-live-mesh.html' title='Mesh up your Data on Live Mesh'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0tjSn4G6q3c/SBDxtl7ymMI/AAAAAAAAAGM/k2eIHOW2hcQ/s72-c/live_mesh.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8495706498285930078</id><published>2008-04-15T10:54:00.003-04:00</published><updated>2008-04-22T11:51:23.349-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='databases'/><title type='text'>Reset Identity Field in MS-SQL</title><content type='html'>There are a lot of occasions when you would need to reset an 'Identity' field in the database table. For doing this in MS-SQL, you just need to execute this statement:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:courier new;"&gt;DBCC CHECKIDENT ('&lt;table_name&gt;', RESEED)&lt;/table_name&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This statement will RESEED the identity field to current maximum value in the column. You may also give a custom reseed value to the column:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:courier new;"&gt;DBCC CHECKIDENT ('&lt;table_name&gt;', RESEED, &lt;new_value&gt;)&lt;/new_value&gt;&lt;/table_name&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Specify an integer number in place of the new_value. For example, to reset the identity column in 'tblA' to the value 20, use:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:courier new;"&gt;DBCC CHECKIDENT ('tblA', RESEED, 20)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8495706498285930078?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8495706498285930078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/04/reset-identity-field-in-ms-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8495706498285930078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8495706498285930078'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/04/reset-identity-field-in-ms-sql.html' title='Reset Identity Field in MS-SQL'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-987043753802719528</id><published>2008-04-02T13:48:00.004-04:00</published><updated>2008-04-02T15:42:27.551-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>BioFuel Debate</title><content type='html'>&lt;span name="KonaFilter"&gt;The scant of fossil fuels has almost led to an energy crisis in the world. Prices of petroleum products are already sky-rocketing, with crude oil costing almost $100/barrel. Scientists world-over are working to produce alternate sources of energy using natural products. &lt;br /&gt;&lt;br /&gt;Biofuel, the kind of fuel produced from organic matter, is one of the best alternative being considered to replace the use of petroleum gas. There is a great on going debate on the efficient use of this fuel. The &lt;a href="http://www.biofueldebate.com" target="_blank"&gt;biofuel&lt;/a&gt; debate forum is community for people interested to discuss on the subject of alternate fuels. It provides a platform for scientists, academia, researchers, clubs or even newcomers who are interested in sharing knowledge and providing opinion for the effective use of biofuel.&lt;br /&gt;&lt;br /&gt;There are many types of biofuels which are being experimented for use in vehicles. These include biogas, bioethanol, biobutanol, biodiesel, straight vegetable oil, and wood gas generator. Among these, biodiesel's use and production are increasing rapidly. Fueling stations make biodiesel readily available to consumers across Europe, and increasingly in the USA and Canada, and a growing number of transport fleets use it as an additive in their fuel. The &lt;a href="http://www.biofueldebate.com/forumdisplay.php?f=13" target="_blank"&gt;biodiesel forum&lt;/a&gt; provides more insights about this efficient fuel.&lt;br /&gt;&lt;br /&gt;Biofuel is considered by some as a means of reducing greenhouse gas emissions and increasing energy security by providing an alternative to fossil fuels. It is considered to be an eco-friendly fuel. But, there may be some adverse impacts about biofuel too. Use of biofuel may lead to increase in food prices used to make these fuel. They may also lead to deforestation, soil erosion and may effect the water resources. There are many such issues being discussed at the &lt;a href="http://www.biofueldebate.com/forumdisplay.php?f=5" target="_blank"&gt;Biofuel impact&lt;/a&gt; forum. Participate in this forum and share how does biofuel effects the world.&lt;br /&gt;&lt;br /&gt;If you would like to learn more about biofuels and alternative energy, do join the &lt;a href="http://www.biofueldebate.com" target="_blank"&gt;Biofuel Debate Forum&lt;/a&gt; (sponsor of this post). Its an active and freely available discussion forum. You can even host your public or private forum free of charge by contacting one of the webmasters.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-987043753802719528?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/987043753802719528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/04/biofuel-debate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/987043753802719528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/987043753802719528'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/04/biofuel-debate.html' title='BioFuel Debate'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2154599646146636938</id><published>2008-03-21T13:51:00.004-04:00</published><updated>2008-03-21T14:59:55.960-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>ChocoDevilz.com</title><content type='html'>Recently, I (along with &lt;a href="http://rasleen.blogspot.com/" target="_blank"&gt;Rasleen&lt;/a&gt;) developed a website for a friend who has started his own chocolate brand, &lt;a href="http://www.chocodevilz.com/" target="_blank"&gt;Choco Devilz&lt;/a&gt;. Being a website for promoting a brand of chocolates, it had to have a look and feel for arousing the gourmets. The task was a bit challenging for me as I had never developed a promotional website.&lt;br /&gt;&lt;br /&gt;We started making a few layout plans on paint, looked for ideas on the web and after long brainstorming sessions settled on the plan of a template which we would be designing. We developed the site structure and wrote the CSS for it. The banner and the graphics were designed next. It was fractious to work with curved blocks both while designing and coding. But, the effect they produce is worth the effort.&lt;br /&gt;&lt;br /&gt;So, here's how it finally looks like:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.chocodevilz.com/" target="_blank"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/R-QDm_DBbOI/AAAAAAAAAGE/iczLJKh5FI0/s320/screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5180269439676935394" /&gt;&lt;/a&gt;&lt;br /&gt;If you wish to give a feedback about &lt;a href="http://www.chocodevilz.com/" target="_blank"&gt;ChocoDevilz.com&lt;/a&gt;, do leave a comment on this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2154599646146636938?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2154599646146636938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/03/chocodevilzcom.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2154599646146636938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2154599646146636938'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/03/chocodevilzcom.html' title='ChocoDevilz.com'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0tjSn4G6q3c/R-QDm_DBbOI/AAAAAAAAAGE/iczLJKh5FI0/s72-c/screenshot.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-787977028281441353</id><published>2008-02-24T03:56:00.003-05:00</published><updated>2008-02-25T05:03:29.200-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Blogger Play</title><content type='html'>&lt;a href="http://play.blogger.com/" target="_blank"&gt;Blogger Play&lt;/a&gt; is a real-time slideshow of photos being posted on blogger. I read about it in a &lt;a href="http://www.mattcutts.com/blog/blogger-play/" target="_blank"&gt;recent post&lt;/a&gt; on Matt Cutts' blog and found it worth sharing.&lt;br /&gt;&lt;br /&gt;Its interesting to see what people are posting about at the moment. You can also read the related blog post on which the image was posted. Though, I have observed that non-English blogs outnumber English blogs, atleast there are more non-English bloggers who post photographs on their blogs. Still, its fascinating to view random images ranging from natural scenes to personal photos and even a few technology reviews too ;) &lt;br /&gt;&lt;br /&gt;It could also prove to be a great resource for my designer friends who keep searching for royalty free images on the web...lol&lt;br /&gt;&lt;br /&gt;Here are some of the kindling images I found using Blogger Play:&lt;br /&gt;&lt;a href="http://g-cc.blogspot.com/2008/02/magyarorszg-tour-2.html" target="_blank"&gt;&lt;img style="width:45%;height:45%;" src="http://4.bp.blogspot.com/_tZ6Z-_JoaqA/R8KCN9gA6OI/AAAAAAAADAY/v3YLKlNXNwM/s320/IMG_0011.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://g-cc.blogspot.com/2008/02/magyarorszg-tour-2.html" target="_blank"&gt;&lt;img style="width:45%;height:45%;" src="http://1.bp.blogspot.com/_tZ6Z-_JoaqA/R8KCMNgA6MI/AAAAAAAADAI/IyMdd4VNpI4/s320/IMG_0004.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://speedlust.blogspot.com/2008/02/volvo-xc60.html" target="_blank"&gt;&lt;img style="width:45%;height:45%;" src="http://3.bp.blogspot.com/_-ZRQrZNu5PU/R8KCRm-IyGI/AAAAAAAAAHs/ZJKb51XK0_0/s320/volvo_xc60_concept-11.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://bengasal.blogspot.com/2008/02/el-canvi-climtic-lefecte-dhivernacle.html" target="_blank"&gt;&lt;img style="width:45%;height:45%;" src="http://4.bp.blogspot.com/_1tNi_oI3S5E/R8KCTERrqtI/AAAAAAAAAAk/504zQVWvVo8/s320/mar.bmp" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have fun viewing these images. But caution, its truly addictive and intriguing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-787977028281441353?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/787977028281441353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/02/blogger-play.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/787977028281441353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/787977028281441353'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/02/blogger-play.html' title='Blogger Play'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_tZ6Z-_JoaqA/R8KCN9gA6OI/AAAAAAAADAY/v3YLKlNXNwM/s72-c/IMG_0011.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-29719560625106461</id><published>2008-02-20T10:19:00.003-05:00</published><updated>2008-02-24T11:01:31.037-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sikhism'/><title type='text'>Why Do You Worry?</title><content type='html'>Do you ever worry? Well, everybody does. So, the question is why do we waste so much of our precious energy worrying? Here's a video by Guruka Singh Khalsa in which he explicates the topic of "worrying" and shows you the way to stop worrying:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align:center"&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3xcphoBiL-A&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/3xcphoBiL-A&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;So, next time whenever you worry, just cerebrate over the thoughts shared in this video.&lt;br /&gt;&lt;br /&gt;Video Credits: &lt;a href="http://www.mrsikhnet.com/" target="_blank"&gt;Gurumustuk Singh&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more Educational Videos by Guruka Singh Khalsa, &lt;a href="http://www.sikhnet.com/s/SikhEducationalVideos" target="_blank"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-29719560625106461?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/29719560625106461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/02/why-do-you-worry.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/29719560625106461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/29719560625106461'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/02/why-do-you-worry.html' title='Why Do You Worry?'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3410160423227150721</id><published>2008-02-01T13:20:00.000-05:00</published><updated>2008-02-04T06:46:22.278-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft offers to purchase Yahoo</title><content type='html'>According to a recent &lt;a href="http://news.bbc.co.uk/1/hi/business/7222114.stm" target="_blank"&gt;BBC news update&lt;/a&gt;, Microsoft has offered to purchase Yahoo for a whopping $44.6bn, which is 62% above Yahoo's closing share price on Thursday. Yahoo is struggling to fight competition with rival Google, but its ambitions have been thwarted in the recent years. Yahoo's exigence is evident from its recent announcement of slashing 1000 jobs.&lt;br /&gt;&lt;br /&gt;The deal would revive Yahoo of its financial crisis. The reaction to the news is clearly indicated by the Yahoo's stock quotes:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0tjSn4G6q3c/R6Npjr2ZYbI/AAAAAAAAAF8/iDMDyV9Dj4s/s1600-h/yhoo.PNG"&gt;&lt;img style="margin: 0px auto; display: block; text-align: center;" src="http://1.bp.blogspot.com/_0tjSn4G6q3c/R6Npjr2ZYbI/AAAAAAAAAF8/iDMDyV9Dj4s/s400/yhoo.PNG" alt="" id="BLOGGER_PHOTO_ID_5162085659683938738" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: right; font-size: 78%;"&gt;Source: &lt;a href="http://finance.yahoo.com/q?s=yhoo" target="_blank"&gt;Yahoo Finance&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Microsoft certainly wants its share of the web. The alliance with Yahoo will help Microsoft to contend with rival Google and forestall its attempt of monopolizing the web. Microsoft has been vying for profits from web for a long time. If this deal works out, it may be a step closer to Steve Ballmer's &lt;a href="http://www.businessweek.com/magazine/content/05_39/b3952008.htm?chan=tc"&gt;ambition&lt;/a&gt; for Microsoft:&lt;br /&gt;&lt;blockquote&gt;We won the desktop. We won the server. We will win the Web. We will move fast, we will get there. We will win the Web.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3410160423227150721?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3410160423227150721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/02/microsoft-offers-to-puchase-yahoo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3410160423227150721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3410160423227150721'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/02/microsoft-offers-to-puchase-yahoo.html' title='Microsoft offers to purchase Yahoo'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0tjSn4G6q3c/R6Npjr2ZYbI/AAAAAAAAAF8/iDMDyV9Dj4s/s72-c/yhoo.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-413578259215071178</id><published>2008-02-01T10:14:00.000-05:00</published><updated>2008-02-01T11:39:50.110-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Printer Supplies for Less</title><content type='html'>Every time the printer runs out of ink, we feel the pinch of the exorbitant prices of printer supplies. Here's a website which offers quality &lt;a href="http://www.carrotink.com/" target="_blank"&gt;ink cartridges&lt;/a&gt; at discount prices.  Carrot Ink offers high quality supplies which are 30-70% less than what printer manufacturers charge. It is the premier direct marketer of money-saving printer supplies and has been in this space from the past 7 years.&lt;br /&gt;&lt;br /&gt;The company offers best quality cartridges which are manufactured under ISO 9001 standards. The output is guaranteed to be as good or even better than the original manufacturer's cartridge. The cartridges are compatible or are re-manufactured original cartridges. The company has a same day shipping policy and also offers next business day delivery. It also has a good customer service via telephone or instant chat. Also, if you are somehow unsatisfied with the product, the company has a no-questions-asked return policy.&lt;br /&gt;&lt;br /&gt;You can find print cartridges for almost all brands and models at Carrot Ink. The printer brands include HP, Epson, Canon, Compaq, Dell, Brother and many others. It doesn't matter whether you are looking for an inkjet cartridge or a toner, you can find it all here. Thermal fax films and papers are also available.&lt;br /&gt;&lt;br /&gt;Finding the right cartridge for your printer is really easy. First select the brand of your printer. Then select the family of your printer belongs to and finally, select the model to get a list of all cartridges available for your printer. For example, to find a cartridge for HP PSC 1315, select the brand: HP, family: PSC and finally the model 1315. So, its now easy to buy the favorite &lt;a href="http://www.carrotink.com/C6656AN-HP-Black-Ink-cartridge-product-13224-14058-24877-23461-Ink-HP.htm" target="_blank"&gt;hp c6656an&lt;/a&gt; black cartridge for the printer. You could have also selected your printer model from the page featuring all &lt;a href="http://www.carrotink.com/brand-HP-inkjet-laser-cartridges.htm" target="_blank"&gt;hp ink cartridges&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, next time when you order your supplies do check out this &lt;a href="http://www.carrotink.com/" target="_blank"&gt;website&lt;/a&gt; for the best prices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-413578259215071178?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/413578259215071178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/02/printer-supplies-for-less.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/413578259215071178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/413578259215071178'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/02/printer-supplies-for-less.html' title='Printer Supplies for Less'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8649499942211137292</id><published>2008-01-31T11:49:00.000-05:00</published><updated>2008-01-31T12:17:33.459-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>.NET Book Zero</title><content type='html'>Here's an excellent resource for those of you who wish to learn .NET. The &lt;a href="http://www.charlespetzold.com/dotnet/" target="_blank"&gt;.NET Book Zero&lt;/a&gt; summarizes all the basics of .NET and C# for the C and C++ programmers who might be coming to .NET for the very first time.&lt;br /&gt;&lt;br /&gt;The book is authored by &lt;a href="http://www.charlespetzold.com/" target="_blank"&gt;Charles Petzold&lt;/a&gt;, who started writing a Chapter Zero for one of his books ( Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation ). That's the chapter with the stuff the reader needs to know before reading Chapter One. However it soon became evident that this Chapter Zero would be very long. It occurred to him that he could extract the material and make it a book on its own, and so he did.&lt;br /&gt;&lt;br /&gt;The book gives an introduction to C# and those topics in .NET that are typically found in all .NET programming. It does require the reader to have some programming experience with a C-family language.&lt;br /&gt;&lt;br /&gt;You can freely download the latest version of the book and the source code from &lt;a href="http://www.charlespetzold.com/dotnet/" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8649499942211137292?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8649499942211137292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/01/net-book-zero.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8649499942211137292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8649499942211137292'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/01/net-book-zero.html' title='.NET Book Zero'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5312758064289074018</id><published>2008-01-24T12:55:00.000-05:00</published><updated>2008-01-25T13:54:59.363-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Today's MS Sessions</title><content type='html'>The Microsoft Student Group in association with the Divine Circle have formulated a program to take up regular technology sessions in our college under the banner - 'Technology Incubation Program'. As part of the program, three short sessions were conducted today.&lt;br /&gt;&lt;br /&gt;I took the first session to introduce the various Microsoft Project Competitions - Imagine Cup, Student2Business Program and the Student RockStar Competition. The session also apprised the students about Channel 8.&lt;br /&gt;&lt;br /&gt;The second session was conducted by &lt;a href="http://technochat.blogspot.com/"&gt;Angad&lt;/a&gt;, who gave an overview the placement process followed by various companies that recruited for on-campus placements. He also briefed the students about the preparation required for placements.&lt;br /&gt;&lt;br /&gt;The third session, 'Win the Web', was aimed at novice developers to aquaint them with the various technologies and trends prevalent on the internet. I introduced the Web 2.0 jargon and summarized the various web technologies - client side, server side, web services and mashups. A short video was played before the session, which showcased the various applications that could be developed using MS technologies.&lt;br /&gt;&lt;br /&gt;The event saw an overwhelming response from the students. More than 150 students attended the sessions, a few of whom kept standing throughout as the seats were full. I commend the audiences for their attentiveness and the interest shown throughout the sessions.&lt;br /&gt;&lt;br /&gt;I would like to congratulate the people who worked hard in organizing and promoting the event. We received a very encouraging feedback about the event and would continue to take up similar sessions.&lt;br /&gt;&lt;br /&gt;The presentations delivered during today's sessions are available for &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://www.gtbit.org/news/viewitem.php?id=11"&gt;download&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5312758064289074018?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5312758064289074018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/01/todays-ms-sessions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5312758064289074018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5312758064289074018'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/01/todays-ms-sessions.html' title='Today&apos;s MS Sessions'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-547070645991125933</id><published>2008-01-09T10:39:00.000-05:00</published><updated>2008-01-13T12:47:45.322-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Channel 8: The New Look</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/R4o9f-YHRLI/AAAAAAAAAFQ/st_R3uIC5bE/s320/channel8.png" alt="" id="BLOGGER_PHOTO_ID_5155000343008330930" border="0" /&gt;&lt;a href="http://channel8.msdn.com" target="_blank"&gt;Channel 8&lt;/a&gt; is now out of beta and has got a brand new look. The new design looks great and is more user friendly. It also loads a lot faster than before as all that bulky graphics have now disappeared.&lt;br /&gt;&lt;br /&gt;The new version also includes a forum. The forums have been named 'Student Union', which is a bit unconventional. To figure out why this name was chosen, you can read this &lt;a href="http://channel8.msdn.com/Forums/StudentUnion/996-Welcome-to-the-Student-Union/" target="_blank"&gt;post&lt;/a&gt; by &lt;a href="http://www.jeffsandquist.com/" target="_blank"&gt;Jeff Sandquist&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For those who don't know what Channel 8 is all about, here's an introduction to the place:&lt;br /&gt;&lt;blockquote&gt;Channel 8 is THE place to be for STUDENTS who want to code, connect and create technology. Stay plugged into tech news and share in the experience with students around the world just like you who want to see their creations come to life. This is also a back door directly into Microsoft just like &lt;a href="http://channel9.msdn.com/" target="_blank"&gt;Channel 9&lt;/a&gt; but from a student point of view. This means access to the inside scoop about our products and life working inside Microsoft and information on cool things coming out. This is your community – a place for you to share your tips and tricks and even your problems. Go check out what others are doing and talk about what you think is cool.&lt;/blockquote&gt;It's great to be a part of Channel 8. &lt;a href="http://channel8.msdn.com" target="_blank"&gt;See you there!&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-547070645991125933?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/547070645991125933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/01/channel-8-new-look.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/547070645991125933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/547070645991125933'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/01/channel-8-new-look.html' title='Channel 8: The New Look'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0tjSn4G6q3c/R4o9f-YHRLI/AAAAAAAAAFQ/st_R3uIC5bE/s72-c/channel8.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7781416729009127910</id><published>2008-01-01T09:00:00.000-05:00</published><updated>2008-01-02T11:46:46.136-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>2008: The Blog will be Personal Again</title><content type='html'>The title of this post might have reminded you of the HP ad campaign, "The computer is personal again"; wherein they claimed to bring in the lost personal element in the "personal computer". In 2008, I plan to do the same for this blog by bringing back the "personal" factor. I contrive to rejuvenate the original theme of this blog - "&lt;span&gt;something new, something different and something exciting for everyone".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Over the past year, this blog has been rendered somewhat as a tech-only blog. The posts were less frequent and mostly constituted of some code snippets or other technology stuff. I seldom had time to post on the blog due to an extremely hectic schedule.&lt;br /&gt;&lt;br /&gt;There were a lot of things which kept me busy in 2007. In the first few months I was occupied with the organization of my college fest held in March. Being the member of the core organizing group and the incharge for sponsorships of the event, kept me busy from Jan through March. In Feb., I was appointed as the Microsoft Student Partner. I attended a couple of MS events, a two-day MSP BootCamp at Gurgaon and took up sessions in my college. I also took the GRE and TOEFL exams in August and have applied for admissions for the MS program in computer science. In the past year, I also had a couple of trips to Amritsar and Jammu respectively. There was a lot to blog about but could not post much due to inadequacy of time.&lt;br /&gt;&lt;br /&gt;In 2008, I hope to post more frequently on this blog and on a wider variety of subjects. With this resolution in mind, I wish all my blog reader's a,&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(0, 0, 102);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Happy New Year 2008&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7781416729009127910?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7781416729009127910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2008/01/2008-blog-will-be-personal-again.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7781416729009127910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7781416729009127910'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2008/01/2008-blog-will-be-personal-again.html' title='2008: The Blog will be Personal Again'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-59825262681191545</id><published>2007-12-16T14:16:00.000-05:00</published><updated>2007-12-16T16:13:40.679-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google's Version of Wikipedia</title><content type='html'>Google is launching a new online tool, Google Knol. In a &lt;a href="http://googleblog.blogspot.com/2007/12/encouraging-people-to-contribute.html"&gt;recent post&lt;/a&gt; on the Google's official blog, Google unveiled "knol" defining it as a unit of knowledge. As per Google, knol aims for encouraging people to contribute knowledge. The tool is currently in its development phase and only a few invited people are trying it.&lt;br /&gt;&lt;br /&gt;The new Google tool seems to be Google's version of Wikipedia, the most popular online reference work. The blog post says,&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;A knol on a particular topic is meant to be the first thing someone who searches for this topic for the first time will want to read. The goal is for knols to cover all topics, from scientific concepts, to medical information, from geographical and historical, to entertainment, from product information, to how-to-fix-it instructions.&lt;/span&gt;"&lt;br /&gt;This is what attracts people to Wikipedia. No doubt Google noticed the high search ranking of Wikipedia on its search reults and created its own edition of Wikipedia. It may be seen as Google's answer to &lt;a href="http://www.wikia.com"&gt;Wikia&lt;/a&gt;, which recently launched a rival &lt;a href="http://search.wikia.com"&gt;search engine&lt;/a&gt; (Wikia is a for-profit organization of  Jimmy Wales, Wikipedia's founder). It also clears &lt;a href="http://www.theage.com.au/news/World/Google-distorts-reality-Austrian-study/2007/12/06/1196812889555.html"&gt;doubts&lt;/a&gt; about possible cooperation between the two companies for higher rankings of the Wikipedia articles.&lt;br /&gt;&lt;br /&gt;Google Knol, ofcourse, features some differences to make it distinct from Wikipedia. The tool is aimed to provide recognition for authors of the content, which is contrary to the anonymous content model followed by Wikipedia. It would be possible to have multiple articles (or knols) on the same topic from different authors. People will be able to submit comments, questions, edits, additional content, and so on.&lt;br /&gt;&lt;br /&gt;Authors could also earn revenue from their knols by adding Google ads. This would definitely give some people a reason to write. But, this may result in spammers creating their knols about popular topics to drive in traffic. Unless, Google enforces a strong spam protection policy for the knols, these posts could become a big problem on the Knol network.&lt;br /&gt;&lt;br /&gt;Google Knol appears to be a one big tool, aggregating the features of Wikipedia, Blogger and Yahoo Answers. The basic concept of having content on every topic and the editing capabilities are similar to that of Wikipedia. The idea of providing identity for the authors and enabling advertisements are analogous to that of Blogger. Yahoo Answers' ability to ask questions, provide answers and rate those answers are also embedded in Knol.&lt;br /&gt;&lt;br /&gt;It would definitely be a difficult job for Google to beat the popularity of Wikipedia. Wikipedia has an well established base of people who start their topic search at Wikipedia and not at Google. Knol will create a new war of content on the internet and it would be interesting to see these big players vying for traffic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-59825262681191545?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/59825262681191545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/12/googles-version-of-wikipedia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/59825262681191545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/59825262681191545'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/12/googles-version-of-wikipedia.html' title='Google&apos;s Version of Wikipedia'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6147980084048325766</id><published>2007-12-16T11:18:00.000-05:00</published><updated>2007-12-16T12:41:57.756-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Cheapest Hotels around the World</title><content type='html'>Are you looking for the best hotel deals online? You search ends at &lt;a href="http://www.cheaperthanhotels.co.uk/"&gt;cheaperthanhotels.co.uk&lt;/a&gt;. Cheap budget hotels to five star luxury hotels, you can find them all here. Browse for more than 35,000 discount deals throughout the year for hotels at all major cities across the world.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cheaperthanhotels.co.uk/"&gt;Cheaperthanhotels&lt;/a&gt; provides all the information you need about the hotels. It allows you to compare these hotels and their prices. You can book the rooms online and receive an instant confirmation of your bookings.&lt;br /&gt;&lt;br /&gt;A few featured European holiday destinations by &lt;a href="http://www.cheaperthanhotels.co.uk/"&gt;cheaperthanhotels&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vienna&lt;/span&gt;&lt;br /&gt;&lt;img style="float: right;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Schloss_Schoenbrunn_Gloriette_DSC02028.JPG/120px-Schloss_Schoenbrunn_Gloriette_DSC02028.JPG" alt="" border="0" /&gt;Vienna, the capital city of Austria is a city having a rich cultural heritage. The city features for the plethora of famous museums, castles, palaces and other distinct architectural marvels. A horde music, theater and opera events are organized in Munich all year round.&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://www.cheaperthanhotels.co.uk/"&gt;Book a hotel in Vienna »&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Berlin&lt;/span&gt;&lt;br /&gt;&lt;img style="float: left;" src="http://upload.wikimedia.org/wikipedia/en/thumb/1/17/Berlin_Mitte_by_night.JPG/180px-Berlin_Mitte_by_night.JPG" alt="" border="0" /&gt;The historic capital of Germany, Berlin is a blend of both modern and historic worlds. Visitors to the city are attracted by its beautiful churches, art galleries and museums. It has a good number of recreational places to keep you busy all throughout your trip. The city also features a diverse nightlife and there are numerous festivals celebrated all through the year.&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://www.cheaperthanhotels.co.uk/"&gt;Book a hotel in Berlin »&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Munich&lt;/span&gt;&lt;br /&gt;&lt;img style="float: right;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Allianz_Arena_Pahu.jpg/200px-Allianz_Arena_Pahu.jpg" alt="" border="0" /&gt;Munich is a large German city and a popular destination for tourists all over the world. You can get around the city to see museums, palaces and castles. The is particularly famous for its sporting facilities and has some architecturally flabbergasting stadiums.&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://www.cheaperthanhotels.co.uk/"&gt;Book a hotel in Munich »&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6147980084048325766?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6147980084048325766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/12/cheapest-hotels-around-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6147980084048325766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6147980084048325766'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/12/cheapest-hotels-around-world.html' title='Cheapest Hotels around the World'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1719778989149040227</id><published>2007-12-03T08:59:00.000-05:00</published><updated>2007-12-03T10:21:28.805-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Add Social Bookmarking Links to Blogger</title><content type='html'>Social Bookmarking has been gaining momentum from a very long time. Its an effective way to improve traffic to your website without costing you a penny. So, if you have good content and feel that people would want to bookmark your page, help them by adding links to bookmark your posts on the various social bookmarking websites.&lt;br /&gt;&lt;br /&gt;Here's how to do it:&lt;br /&gt;&lt;br /&gt;1. Open your Blogger template and select 'Edit HTML'.&lt;br /&gt;2. Check the box which says expand widget templates.&lt;br /&gt;3. Find the HTML element with class name post-footer or any appropriate element where your post footers are placed.&lt;br /&gt;4. Copy paste the following code between the HTML tags:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&amp;lt;a expr:href='"http://digg.com/submit?phase=2&amp;amp;amp;partner=fb&amp;amp;amp;url=" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;+ data:post.url + "&amp;amp;amp;title=" + data:post.title'&amp;gt;Digg this!&amp;lt;/a&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;| &amp;lt;a expr:href='"http://del.icio.us/post?v=4&amp;amp;amp;url=" + data:post.url + "&amp;amp;amp;title=" + data:post.title'&amp;gt;Save on del.ico.us&amp;lt;/a&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;| &amp;lt;a expr:href='"http://www.stumbleupon.com/submit?url=" + data:post.url &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;+ "&amp;amp;amp;title=" + data:post.title'&amp;gt;Stumble it!&amp;lt;/a&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;| &amp;lt;a expr:href='"http://reddit.com/submit?url=" + data:post.url + "&amp;amp;amp;title=" + data:post.title'&amp;gt;Reddit it!&amp;lt;/a&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, improve your search engine rankings and drive in more visitors to your blog by putting these links beside your posts on Blogger.&lt;br /&gt;&lt;br /&gt;Happy Blogging !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1719778989149040227?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1719778989149040227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/12/add-social-bookmarking-links-to-blogger.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1719778989149040227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1719778989149040227'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/12/add-social-bookmarking-links-to-blogger.html' title='Add Social Bookmarking Links to Blogger'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-269936419152420629</id><published>2007-11-29T09:50:00.000-05:00</published><updated>2007-12-03T10:56:20.545-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>ASP.NET: Add a Rich Text Editor on your Website</title><content type='html'>If you need a Rich Text Editor on your ASP.NET website there's some good news for you. &lt;a href="http://blogs.msdn.com/kannans/"&gt;Kannan Sundararajan&lt;/a&gt; has written a Rich Text Editor control which you can directly use on your website. &lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; width: 420px;" src="http://blogs.msdn.com/blogfiles/kirti/WindowsLiveWriter/RichTextEditorishere_B947/WordCopyRTE_thumb.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;The control comes with loads of features which include font styling, emoticons, code blocks and clipboard support. It also enables you to view the html code generated by the editor. You can read more about its features &lt;a href="http://blogs.msdn.com/kirti/archive/2007/11/10/rich-text-editor-is-here.aspx"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The source-code of the control is shared and is available on &lt;a href="http://www.codeplex.com/rte"&gt;CodePlex&lt;/a&gt;. Also, view the &lt;a href="http://rteditor.members.winisp.net/"&gt;live demo&lt;/a&gt; of the RTE control.&lt;br /&gt;&lt;br /&gt;Its a superb control to use with forums, blogs or content management applications. Just add the control to your page and give your users this cool interface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-269936419152420629?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/269936419152420629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/11/aspnet-add-rich-text-editor-on-your.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/269936419152420629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/269936419152420629'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/11/aspnet-add-rich-text-editor-on-your.html' title='ASP.NET: Add a Rich Text Editor on your Website'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3511813014502924698</id><published>2007-11-08T13:43:00.000-05:00</published><updated>2007-11-08T13:59:59.807-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orkut'/><title type='text'>Orkut Diwali Layout</title><content type='html'>Orkut has a special layout this Diwali. The layout could be changed by clicking on the Happy Diwali link near the 'logout' at top-right corner. Here's how my orkut home page looks this Diwali:&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://2.bp.blogspot.com/_0tjSn4G6q3c/RzNaAlbeDII/AAAAAAAAAEY/ABdnI303UKc/s320/www_orkut_com_Home_aspx.PNG" alt="" id="BLOGGER_PHOTO_ID_5130543366598954114" border="0" /&gt;&lt;br /&gt;Looks good, right? See, what was special at &lt;a href="http://gsmodi.blogspot.com/2006/10/orkut-on-diwali.html"&gt;Orkut on Diwali&lt;/a&gt; in 2006.&lt;br /&gt;&lt;br /&gt;I wish all my blog readers,&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(0, 0, 153);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Happy &amp;amp; Prosperous Diwali&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3511813014502924698?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3511813014502924698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/11/orkut-diwali-layout.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3511813014502924698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3511813014502924698'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/11/orkut-diwali-layout.html' title='Orkut Diwali Layout'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0tjSn4G6q3c/RzNaAlbeDII/AAAAAAAAAEY/ABdnI303UKc/s72-c/www_orkut_com_Home_aspx.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1142154127371546628</id><published>2007-11-08T02:11:00.000-05:00</published><updated>2007-11-08T02:34:46.221-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Convert docx files to doc Online</title><content type='html'>You just got an email with a .docx file, which runs on Word 2007 but you don't have it installed on your PC. Here's a solution for you.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zamzar.com/"&gt;Zamar&lt;/a&gt; is a free online file conversion utility which allows you to convert .docx files to .doc files. It also supports interconversion of many other file formats for images, documents, music and videos. Your file is converted in 3 easy steps. Browse the file you want to convert, select the new format and enter your email address. A link for your converted file would be sent to your mailbox within seconds.&lt;br /&gt;&lt;br /&gt;But caution, don't upload any confidential documents as your document is stored on the server and is accessible to any person having the link of the document.&lt;br /&gt;&lt;br /&gt;If you want to add support for Office 2007 file formats for your existing Office 2003, you can download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=941B3470-3AE9-4AEE-8F43-C6BB74CD1466"&gt;Microsoft Office Compatibility Pack&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1142154127371546628?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1142154127371546628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/11/convert-docx-files-to-doc-online.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1142154127371546628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1142154127371546628'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/11/convert-docx-files-to-doc-online.html' title='Convert docx files to doc Online'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6434726049740481751</id><published>2007-10-27T08:59:00.000-04:00</published><updated>2007-10-27T09:49:33.616-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>Random Quotes using ASP.NET and XML</title><content type='html'>I recently created a random quotes generator to be put up on my &lt;a href="http://www.gsmodi.com/"&gt;website&lt;/a&gt;. The code could be used to produce any random text on your website, where the text is defined in a XML file.&lt;br /&gt;&lt;br /&gt;The following is the XML file for use with the code:&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;br /&gt;&amp;lt;quotes&amp;gt;&lt;br /&gt;&amp;lt;quote id="1"&amp;gt;&lt;br /&gt;&amp;lt;text&amp;gt;sample quote&amp;lt;/text&amp;gt;&lt;br /&gt;&amp;lt;author&amp;gt;sample author&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;lt;/quote&amp;gt;&lt;br /&gt;&amp;lt;quote id="2"&amp;gt;&lt;br /&gt;&amp;lt;text&amp;gt;another quote&amp;lt;/text&amp;gt;&lt;br /&gt;&amp;lt;author&amp;gt;another author&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;lt;/quote&amp;gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&amp;lt;quote id="15"&amp;gt;&lt;br /&gt;&amp;lt;text&amp;gt;yet another quote&amp;lt;/text&amp;gt;&lt;br /&gt;&amp;lt;author&amp;gt;quote author&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;lt;/quote&amp;gt;&lt;br /&gt;&amp;lt;/quotes&amp;gt;&lt;/pre&gt;&lt;/span&gt;Save this file as quotes.xml in your ASP.NET project. Now open the page where you would like to place these random quotes. Create 2 labels in the page design with ids '&lt;span style="font-family:lucida grande;"&gt;labelquote&lt;/span&gt;' and '&lt;span style="font-family:lucida grande;"&gt;labelquoteauthor&lt;/span&gt;':&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&amp;lt;asp:Label ID="labelquote" runat="server"&amp;rt;&amp;lt;/asp:Label&amp;rt;&lt;br /&gt;&amp;lt;asp:Label ID="labelquoteauthor" runat="server"&amp;rt;&amp;lt;/asp:Label&amp;rt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, add the following code to the '&lt;span style="font-family:lucida grande;"&gt;Page_Load&lt;/span&gt;' method of this page:&lt;span style="font-family:lucida grande;"&gt;&lt;pre&gt;string strquote;&lt;br /&gt;string strquoteauthor;&lt;br /&gt;Random r = new Random();&lt;br /&gt;int random = r.Next(1, 15);&lt;br /&gt;&lt;br /&gt;XmlTextReader reader = new XmlTextReader(Server.MapPath("quotes.xml"));&lt;br /&gt;while (reader.Read())&lt;br /&gt;{&lt;br /&gt;   if (reader.Name == "quote" &amp;amp;&amp;amp;&lt;br /&gt;              reader.GetAttribute("id") == random.ToString())&lt;br /&gt;   {&lt;br /&gt;       while (reader.Name != "text")&lt;br /&gt;           reader.Read();&lt;br /&gt;       strquote = reader.ReadElementContentAsString();&lt;br /&gt;       while (reader.Name != "author")&lt;br /&gt;           reader.Read();&lt;br /&gt;       strquoteauthor = reader.ReadElementContentAsString();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;labelquote.Text = strquote;&lt;br /&gt;labelquoteauthor.Text = strquoteauthor;&lt;/pre&gt;&lt;/span&gt;In the above code, the while loop reads all the lines of the Xml file and the quote having the specific random id is displayed.&lt;br /&gt;&lt;br /&gt;You can also, make a user control from this code which you can add to each page or the master page of your website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6434726049740481751?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6434726049740481751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/10/random-quotes-using-aspnet-and-xml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6434726049740481751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6434726049740481751'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/10/random-quotes-using-aspnet-and-xml.html' title='Random Quotes using ASP.NET and XML'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1820587051051283874</id><published>2007-10-22T12:54:00.000-04:00</published><updated>2007-10-22T15:14:21.982-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><title type='text'>Web-o-cabulary 2.0</title><content type='html'>With the augmentation of Web 2.0 technologies, a whole new technical jargon has evolved. Internet users are glutted with new terms and wonder about their meanings. So, here's a list of the 'Most Essential Vocabulary for Web 2.0' or 'Web-o-cabulary 2.0'.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AJAX&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Asynchronous JavaScript and XML&lt;/span&gt; is a scripting technique to develop interactive and fast web applications with enhanced functionality. The most commendable feature of AJAX is its ability of partial exchange of data with the server, enabling the changes to appear on the browser without reloading the complete page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;API&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Application Programming Interface&lt;/span&gt; is a code interface over which programmers can built their own applications. APIs make it possible for the programmers to use some great features on the web without any complex coding. Some commonly used APIs include Windows Live APIs for Maps, Rich Media, Photos, Search&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atom&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Atom&lt;/span&gt; is a commonly used syndication format for web feeds. It is based on XML and is supported by most standard feed readers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blog&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Blog&lt;/span&gt; or a &lt;span style="font-style: italic;"&gt;Weblog&lt;/span&gt; is an online journal, which provides an easy to use interface for users to publish content. Blogs enable people to have an online presence without having any technical knowledge.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CSS&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Cascading Style Sheets&lt;/span&gt; is a W3C standard for defining styles of the elements on a web page. It enables the separation of content from the layout, thus providing more flexibility and control of the elements on a web page. Also, it enables layering of the content on the page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Feeds&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Feeds&lt;/span&gt; allow you to get updates from the websites. It allows you to check the recent articles and content from web pages on the internet. A person may subscribe to a news feed to get the latest news right on his desktop.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Folksonomy&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Folksonomy&lt;/span&gt; is the practice of collaboratively categorizing content by tagging the content under various connotations. This method is popularly applied in social bookmarking and tagging webpages and photos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mashup&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Mashups&lt;/span&gt; are a interactive genre of web applications which accumulates data from various sources and conflates it in a single integrated application. Mashup generally collects data from &lt;span style="font-style: italic;"&gt;Feeds&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Web Services&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Microformats&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Microformats&lt;/span&gt; are a set of simple open data formats, which allows the normal data in HTML and XHTML to be categorized by providing annotations in the existing markup. It aims at easier access of information such as contact addresses, locations etc making it easily placeable by the searching softwares.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Perpetual Beta&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Perpetual Beta&lt;/span&gt; is the software stage where the software is launched and is always under constant updates, which could be monthly, weekly or even daily. It follows the principle of &lt;span id="intelliTxt"&gt;"release early and release often", thus a software is released at a premature state and new features are added frequently.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Podcast&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Podcast&lt;/span&gt; is a form of a feed carrying digital media files which could be downloaded or streamed on media players. Online radio is a well comprehensible example of a podcast.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RSS&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Really Simple Syndication&lt;/span&gt; is a collection of feed formats. It is used to syndicate updated content from a website.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SEO&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Search Engine Optimization&lt;/span&gt; is a process of improving your rankings on the search engines by using a set of techniques, which include ameliorating the quality of content and code of the website, placing links at strategic locations on the web and adhering to some web standards.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Silverlight&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Silverlight&lt;/span&gt; is a Microsoft technology to develop Rich Internet Applications, which  run on browsers by downloading a small plugin. It provides enhanced user-experience and media functionalities and is a strong competitor of the Adobe Flash. Silverlight is a subset of Windows Presentation Foundation of the .NET 3.0 framework and is coded using XAML.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Social Bookmarking&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Social Bookmarking&lt;/span&gt; is a folksonomy practice through which users bookmark pages on the web and create custom tags to annotate these pages.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Social Networking&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Social networking&lt;/span&gt; is a method to promote online collaboration of people by creating communities of (net)citizens with similar interests. It is a popular method to connect with friends online.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tagging&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Tagging&lt;/span&gt; is a practice of annotating the web content by creating tags or keywords to identify them. &lt;span style="font-style: italic;"&gt;Also see&lt;/span&gt;: Folksonomy&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Weblog&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;See&lt;/span&gt;: Blog&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web Service&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Web Services&lt;/span&gt; are the modules enable a programmer to use these modules in their programs without actually coding them. It allows machine to machine data transfer between applications in XML format that follow the SOAP standard.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wiki&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Wiki&lt;/span&gt; is a web application which allows you to easily create and edit content on the web. It is used to create collaborative websites and is a great tool for social content creation and organization.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;XAML&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;eXtensible Application Markup Language&lt;/span&gt; is a declarative XML-based language by Microsoft. It is a markup language enabling greater collaboration between designers and developers by providing a common platform for both.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;XHTML&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;eXtensible HyperText Markup Language&lt;/span&gt; is a standard W3C markup language, which is a reformation of HTML adhering to the XML standard.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;XML&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;eXtensible Markup Language&lt;/span&gt; is a markup language which allows users to generate their own tags. It enables creation of structured data that could be easily exchanged over the web.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note&lt;/span&gt;: As most other stuff of Web 2.0, this list is also in the 'perpetual beta' state. This list is bound to future enhancements and modifications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1820587051051283874?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1820587051051283874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/10/web-o-cabulary-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1820587051051283874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1820587051051283874'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/10/web-o-cabulary-20.html' title='Web-o-cabulary 2.0'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-669762752404262499</id><published>2007-10-13T12:53:00.000-04:00</published><updated>2007-10-27T09:40:58.604-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>TechVista New Delhi 2007</title><content type='html'>TechVista, Microsoft Research(MSR) India's annual research symposium, was a splendid event held today at New Delhi with focus on "Computing and Technology- Shaping the Future". Six magnificent scientists from diverse technology domains came under one banner to present some of the most marvelous research and developments in computing.&lt;br /&gt;&lt;br /&gt;The first session of the event started with a talk by &lt;a href="http://www.microsoft.com/presspass/exec/rick/default.mspx"&gt;Dr. Rick Rashid&lt;/a&gt;, Sr. VP, Microsoft Research. Dr. Rashid's presentation was titled "10 Years into the Future". He started by showing some of the science fiction gadgets which are now real, like the data crystal is now a memory stick. He also displayed the concept of Wallet PC as it was in 1999, which we are using now as Windows Mobile. Rick showcased some of the cutting-edge research projects which would have an impact on the world by 2017. He apprised the advances in ubiquitous I/O and predicted that the standard white boards may soon be replaced by LCD boards. He demonstrated the &lt;a href="http://skyserver.sdss.org/"&gt;SkyServer&lt;/a&gt;, which is a fabulous astronomy tool enabling you to view space as you view earth from Google Earth or Live Virtual Earth. It also enables you to create video tours of the the space. Other projects demonstrated in the presentation were &lt;a href="http://research.microsoft.com/sendev/projects/sensecam/"&gt;SenseCam&lt;/a&gt;, a virtual black box for humans; &lt;a href="http://grail.cs.washington.edu/projects/photomontage/"&gt;Digital Photomontage&lt;/a&gt;, a superb tool for photo morping; and a traffic monitoring system in Seattle using data mining for streaming intelligence on mobile devices.&lt;br /&gt;&lt;br /&gt;The next speaker at session one was &lt;a href="http://people.csail.mit.edu/welg/"&gt;Prof. Eric Grimson&lt;/a&gt; of MIT who presented his study on "Computational Applications in Medicine". He showed how image guided surgery could be performed using some advanced computational methods. He explained the construction of structural models using AI. He demonstrated the improvements in MRI technology and Enhanced Reality Visualization.&lt;br /&gt;&lt;br /&gt;The last speaker of session one was &lt;a href="http://www.cse.iitb.ac.in/~krithi/"&gt;Prof. Krithi Ramamritham&lt;/a&gt; from IIT Bombay. His presentation was "LAB&lt;- -&gt;FIELD : A Challenging Journey". He presented a project named 'AQUA' which is an acronym for 'All QUestions Answered'. It is a project where farmers can get all their questions answered by experts through an online system supported by Government agencies. AQUA features cross lingual info retrieval, suggestive search, offline and mobile versions. Prof. Ramamritham demonstrated how the research at lab went to the field and how the requirements from the field came back to the research labs, which again went to the field and a vicious circle followed.&lt;br /&gt;&lt;br /&gt;Session one was followed by a Special Session by Mr. Kapil Sibal, Mr. Craig Mundie, Dr. Rick Rashid and Mr. Srini Koppolu. In this session, Dr. Rahid demonstrated another fabulous software - &lt;a href="http://labs.live.com/photosynth/"&gt;PhotoSynth&lt;/a&gt;, which allows you to create a 3D view from multiple ordinary pictures. Mr. Craig Mundie, Chief Research and Strategy Officer, Microsoft Corporation presented some advancements in computing and showed how the computing pendulum is moving towards multicore processors and software+services technologies. Mr Kapil Sibal, Union Minister of Science &amp; Technology and Earth Sciences, appreciated the technologies and suggested how these could be used in public projects in India. Mr. Srini Koppolu, Managing Director, Microsoft IDC gave a small talk about Microsoft in India. This session was followed by PhD poster presentations, where some great research work was presented by Ph.D. fellows.&lt;br /&gt;&lt;br /&gt;Session two started with the presentation of &lt;a href="http://www.cs.cmu.edu/~mmv/"&gt;Prof. Manuela Veloso&lt;/a&gt;, CMU on "Multi-Robot Intelligence". She demonstrated how multi-robots are programmed STP (Skills, Tactics and Plays) Behavioral Architecture. She discussed details about her research project, CMRoboBits. She also gave video demos of the robots which were programmed using some complex algorithms. This was, no doubts, the most exciting presentation of the day.&lt;br /&gt;&lt;br /&gt;The next presentation was by &lt;a href="http://research.microsoft.com/~tonyhey/"&gt;Dr. Tony Hey&lt;/a&gt;, Corporate Vice President of External Research, Microsoft Research on "The Role of Computing in the Sciences". He demonstrated how advanced computational technologies can solve the problem of data deluge faced by most scientists. He explained that the key steps for information management are data collection; data processing, analysis and visualization; and archiving. He exhibited the use of mashups and eResearch benefiting the scientific community.&lt;br /&gt;&lt;br /&gt;The last speaker of the day was Dr. Michael Kass, Senior scientist, Disney/Pixar and technical Academy award winner. His gave presentation on "Pixar's Production Process" and "Clothing Animation at Pixar". He discussed the details of the animation movie production process at Pixar. He then presented Clothing Animation technologies for which he had also won an Oscar.&lt;br /&gt;&lt;br /&gt;In the end, MSR presented rewards for the PhD poster presentation. Overall, TechVista was fabulous event showcasing some of the most cutting-edge research and developments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-669762752404262499?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/669762752404262499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/10/techvista-new-delhi-2007.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/669762752404262499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/669762752404262499'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/10/techvista-new-delhi-2007.html' title='TechVista New Delhi 2007'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5910524429979105032</id><published>2007-10-08T13:49:00.000-04:00</published><updated>2007-10-08T15:08:48.723-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Add a Google Map to your Website</title><content type='html'>I recently used Google Maps API on my college website. It was somewhat tedious to read the API documentation and figure out how to code a simple map. So, here I'm writing a basic tutorial for adding a location map on your website.&lt;br /&gt;&lt;br /&gt;Start by signing up for an &lt;a href="http://www.google.com/apis/maps/signup.html" target="_blank"&gt;API key&lt;/a&gt;. Go through this &lt;a href="http://www.google.com/apis/maps/documentation/introduction.html#The_Hello_World_of_Google_Maps" target="_blank"&gt;"Hello World" example&lt;/a&gt; of the Google Maps API. For a start, copy this code and run it. The first thing you would need to modify is the following:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:lucida grande;"&gt;map.setCenter(new GLatLng(37.4419, -122.1419), 13);&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;You would need the latitude and longitude of the desired location. To find out the coordinates of your desired location use the &lt;a href="http://maps.google.com/" target="_blank"&gt;Google Map Search&lt;/a&gt;, go to your desired location and right click on the directions option to find the coordinates. The second argument (13) specifies the zoom level of the map.&lt;br /&gt;&lt;br /&gt;The above code would produce the map of the desired location on your browser screen. Now lets see how to add-on some features on your map.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Adding an Info Window&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;An info window is a call-out text from a particular location. To add an info window, just add the following line of code in the &lt;span style="font-family:lucida grande;"&gt;initialize()&lt;/span&gt; method:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:lucida grande;"&gt;map.openInfoWindowHtml(map.getCenter(), "any html formatted text here");&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;You can also add tabbed info windows, which I'm not discussing here to keep this tutorial simple.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Class Reference&lt;/span&gt;: &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GInfoWindow" target="_blank"&gt;GInfoWindow&lt;/a&gt;, &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GInfoWindowTab" target="_blank"&gt;GInfoWindowTab&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Adding Controls&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Controls are a set of buttons which allow you to perform specific functions. To allow users to switch between different Map Types, viz. Map, Satellite and Hybrid; use the following statement in the &lt;span style="font-family:lucida grande;"&gt;initialize()&lt;/span&gt; method:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: lucida grande;"&gt;map.addControl(new GMapTypeControl());&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;You can add various other controls to the Map. To view the complete list of available controls, view the class reference.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Class Reference&lt;/span&gt;: &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GControl" target="_blank"&gt;GControl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Adding a Marker&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;A marker is used to mark a position on the map. For adding a marker on a specific point add the following lines of code  in the &lt;span style="font-family:lucida grande;"&gt;initialize()&lt;/span&gt; method:&lt;br /&gt;&lt;div style="text-align: center; font-family: lucida grande;"&gt;var point = new GLatLng(28.631749, 77.116578);&lt;br /&gt;map.addOverlay(new GMarker(point));               &lt;br /&gt;&lt;/div&gt;The above code places a marker on the desired point. You can also define a custom image as a marker using the GIcon class.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Class Reference&lt;/span&gt;:  &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GMarker" target="_blank"&gt;GMarker&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These are just a few of the features of the Google Map API. These would be sufficient if you are planning to implement a simple location map on your website. For more advanced features of the Google Maps API, refer to the &lt;a href="http://www.google.com/apis/maps/documentation/index.html"&gt;API Documentation&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5910524429979105032?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5910524429979105032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/10/add-google-map-to-your-website.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5910524429979105032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5910524429979105032'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/10/add-google-map-to-your-website.html' title='Add a Google Map to your Website'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-5467963349087854562</id><published>2007-10-01T11:41:00.000-04:00</published><updated>2007-10-27T09:50:28.448-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Generate ASCII Art from Images</title><content type='html'>Here's an interesting code in C# which allows you to generate ASCII Art from your usual text images.&lt;br /&gt;&lt;br /&gt;First a sample:&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://4.bp.blogspot.com/_0tjSn4G6q3c/RwEkuazHUoI/AAAAAAAAAD4/V4bsLf3pOdc/s320/images1.JPG" alt="" id="BLOGGER_PHOTO_ID_5116411031555887746" border="0" /&gt;The above image is produced using normal ASCII characters. It is generated by a C# code written by &lt;a href="http://www.usualdosage.com/"&gt;Matt&lt;/a&gt;. The code renders an image by displaying a set of ASCII characters on the screen.&lt;br /&gt;&lt;br /&gt;This ASCII art is reminiscent of the antediluvian DOS-like programs which created on-screen images using normal text. This code could be handy for people who like to create images for SMS-text messages.&lt;br /&gt;&lt;br /&gt;You can download this code from &lt;a href="http://www.codeproject.com/useritems/ASCII_Imager.asp"&gt;here&lt;/a&gt;. Unzip the files, copy them to a New Website in Visual Studio and compile it to run.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's another sample generated from this code:&lt;br /&gt;&lt;p style="font-family: Lucida Console; font-size: 3px; line-height: 2px; text-align: center;"&gt;&lt;a style="color: rgb(151, 160, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(171, 180, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(169, 175, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(159, 165, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(146, 148, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 162, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(147, 148, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 183, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(173, 176, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 152, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 160, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 171, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(187, 194, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 163, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 157, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(178, 189, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 148, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(177, 193, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(186, 200, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(173, 186, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 158, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 153, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 167, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 136, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 168, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(155, 163, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(178, 186, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 162, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 164, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 170, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(175, 180, 77);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 161, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(185, 188, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(174, 175, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(189, 190, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(188, 189, 70);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(169, 178, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(152, 161, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 145, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 145, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(151, 155, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 184, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 144, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 138, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(190, 193, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(165, 171, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 185, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(171, 178, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 167, 40);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 148, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 167, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(173, 183, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(177, 191, 77);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 182, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(150, 162, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 175, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(171, 179, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(165, 173, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 174, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 149, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 131, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 145, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 139, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 140, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(155, 162, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 163, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 185, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(198, 201, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(190, 193, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(142, 143, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(142, 143, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(165, 166, 49);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(147, 157, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(162, 172, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 189, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(182, 189, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 172, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(189, 194, 78);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(188, 192, 72);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(191, 195, 72);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 140, 12);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 143, 13);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 170, 40);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(146, 155, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 149, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 167, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(185, 197, 87);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(151, 163, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 149, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(142, 155, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 157, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 176, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 175, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 163, 81);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(172, 178, 90);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(183, 189, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 143, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(178, 186, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 171, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(177, 184, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(180, 187, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 155, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 154, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(189, 193, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 165, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 152, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(169, 172, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 182, 67);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(153, 164, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(166, 176, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 172, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(174, 182, 63);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 165, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 163, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 175, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 143, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(190, 196, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 176, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(174, 183, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(183, 193, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 189, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 149, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 157, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 151, 63);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(73, 83, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(53, 61, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 40, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(59, 64, 6);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(112, 117, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 148, 84);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 146, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 130, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 188, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(171, 178, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 132, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 139, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 156, 40);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(169, 176, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 174, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(200, 207, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(128, 132, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 135, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 160, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 157, 44);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(141, 154, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(152, 165, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 146, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(165, 175, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(172, 180, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 169, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(190, 198, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 149, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(118, 126, 5);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(142, 152, 30);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 144, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(130, 142, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(156, 168, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(120, 133, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 131, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(120, 131, 63);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 33, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(48, 53, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(57, 60, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(43, 46, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 43, 8);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(61, 63, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 118, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(180, 185, 119);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 136, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 147, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 176, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 187, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(165, 174, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(182, 191, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 150, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 139, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(175, 179, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 136, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 133, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 141, 30);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(141, 154, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 166, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(156, 166, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 163, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 145, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(105, 114, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 138, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 133, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 137, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 173, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 143, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 137, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(166, 180, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 127, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(70, 82, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(41, 51, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 38, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 34, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(37, 37, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(30, 30, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 27, 11);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(21, 23, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(53, 55, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 137, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(115, 122, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 145, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 180, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 173, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 153, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(177, 186, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(186, 193, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 186, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(190, 196, 86);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 173, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(173, 177, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 174, 64);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(151, 166, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(116, 131, 4);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 156, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(119, 129, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 144, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 141, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(108, 115, 9);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 146, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 162, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 143, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(108, 119, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 161, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 180, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(53, 67, 8);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(14, 28, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(20, 29, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 37, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 22, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(24, 20, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 21, 20);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(40, 39, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(30, 31, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(12, 15, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(55, 61, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 151, 91);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 178, 101);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 147, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 134, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 144, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 146, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 176, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 145, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 145, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(152, 160, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 187, 77);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 175, 63);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(173, 187, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(104, 117, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(159, 172, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(102, 111, 2);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 132, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 146, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(71, 79, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 145, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 110, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 154, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 148, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(108, 119, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(69, 79, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(10, 21, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(33, 44, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(22, 29, 11);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(20, 16, 13);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 28, 30);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 30, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(14, 9, 13);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 24, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(32, 32, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(9, 11, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 40, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(45, 52, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 171, 102);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 162, 81);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 165, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(151, 161, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 95, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(151, 159, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 152, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(147, 154, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 135, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 151, 40);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 165, 53);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(143, 157, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 176, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 174, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 173, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(126, 135, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(82, 91, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 42, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(64, 69, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 94, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(111, 119, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 151, 89);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 109, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 37, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 37, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 33, 20);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(16, 19, 12);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 27, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(7, 0, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(32, 22, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(37, 29, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(7, 2, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 29, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 56, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(13, 17, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 42, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(147, 157, 96);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 107, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 147, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 106, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(100, 109, 20);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(95, 101, 13);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 143, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 163, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 154, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 150, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 189, 77);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(119, 134, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 237, 139);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 150, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 150, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 175, 90);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 152, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 145, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(42, 46, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(58, 64, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(78, 83, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 158, 104);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(41, 46, 6);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(19, 25, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(1, 7, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(17, 21, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(27, 25, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(40, 30, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(76, 62, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 157, 149);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(183, 172, 166);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(40, 31, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(32, 28, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(14, 13, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 32, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 33, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 119, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(121, 132, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(77, 87, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 135, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(104, 113, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(126, 133, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 139, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 141, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 155, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(81, 90, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(120, 132, 22);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(143, 158, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(74, 88, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 146, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 143, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(107, 116, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(106, 112, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 99, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 141, 72);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(121, 123, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(120, 124, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(176, 178, 129);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(20, 21, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(33, 34, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(19, 20, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(13, 12, 20);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 28, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(79, 61, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 117, 98);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 148, 133);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 120, 107);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(126, 114, 102);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 23, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 25, 6);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 39, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 33, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 47, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(105, 114, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 135, 72);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(71, 80, 13);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(91, 98, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(104, 111, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(116, 124, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 143, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(130, 142, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 171, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 138, 33);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(135, 150, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(100, 115, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 180, 100);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(121, 132, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 105, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 147, 77);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 138, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 91, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 143, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(152, 153, 96);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(150, 149, 103);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(23, 23, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 25, 7);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(43, 40, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(22, 19, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(75, 64, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 137, 123);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(183, 155, 133);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 131, 114);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 132, 118);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(159, 143, 130);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 156, 144);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(17, 12, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(27, 27, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 32, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(19, 26, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 150, 98);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(67, 78, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(42, 52, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(71, 79, 20);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 125, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(72, 78, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 108, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 107, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 160, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(90, 101, 7);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(127, 144, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(109, 126, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(90, 104, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 100, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(114, 124, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(73, 80, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 63, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 57, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 140, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(172, 172, 112);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 137, 88);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 35, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(11, 6, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 18, 8);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 29, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(107, 93, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 110, 96);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 133, 113);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 125, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(177, 149, 137);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 110, 102);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(128, 114, 105);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 81, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(7, 4, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(30, 33, 4);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(2, 8, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(50, 59, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(1, 11, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(42, 52, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(22, 31, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(18, 26, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(57, 65, 8);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(79, 89, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 138, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(95, 106, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 165, 83);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(121, 140, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(49, 68, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(92, 108, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 96, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(79, 89, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(78, 86, 13);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(61, 64, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 139, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(178, 178, 108);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(187, 186, 122);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 154, 99);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(41, 36, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 18, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(21, 14, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 44, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 69, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(77, 41, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(85, 44, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 98, 87);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 66, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(47, 19, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 74, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(66, 56, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 33, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(24, 26, 4);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 59, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(114, 122, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 37, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(76, 85, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 34, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 43, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 39, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 62, 2);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(65, 74, 7);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(62, 72, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(130, 140, 69);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(109, 130, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(19, 38, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 76, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(116, 130, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 99, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 132, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 164, 88);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(162, 164, 89);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(174, 174, 100);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(156, 153, 84);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 154, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(30, 24, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 23, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(58, 47, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 70, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(69, 48, 43);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(82, 42, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(104, 56, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(159, 116, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(72, 34, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 83, 85);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(53, 31, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 82, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 28, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 26, 8);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 91, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(122, 129, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 181, 139);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(85, 96, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 40, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(20, 29, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 63, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(103, 112, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(42, 51, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(103, 113, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 93, 32);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(101, 116, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(64, 80, 9);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 73, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 72, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(40, 51, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 147, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(192, 197, 113);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 164, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 165, 82);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(147, 148, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(182, 179, 112);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(45, 40, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(19, 10, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(85, 73, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(92, 78, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(73, 50, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(108, 70, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(118, 74, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 123, 117);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 100, 99);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(66, 36, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 65, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(103, 86, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 74, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 27, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 128, 91);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(156, 164, 117);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 172, 123);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 155, 105);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 48, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 67, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(86, 93, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(58, 66, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 47, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 106, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 122, 69);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(103, 110, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(56, 64, 7);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(84, 93, 30);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 70, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 177, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(111, 122, 30);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(182, 192, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 169, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(155, 163, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 141, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 170, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 33, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 32, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 71, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(119, 105, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 124, 115);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 118, 98);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 98, 78);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(180, 148, 135);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 109, 101);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 112, 108);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 118, 107);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(126, 108, 88);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(54, 41, 7);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(44, 38, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 160, 96);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 132, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(119, 125, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(90, 96, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 145, 89);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(56, 62, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 39, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(70, 77, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(94, 103, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(90, 99, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(68, 77, 30);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(41, 42, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(36, 38, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 141, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 148, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 180, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(175, 187, 87);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 167, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(147, 161, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(147, 159, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(90, 100, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 130, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(25, 24, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(37, 30, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(63, 51, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 101, 88);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(112, 92, 81);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 100, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(77, 49, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 68, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(68, 41, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(122, 97, 90);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 113, 100);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 106, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(52, 39, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(132, 124, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 143, 63);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(150, 153, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 170, 82);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 157, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 136, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(121, 126, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 35, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 38, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(63, 72, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(71, 79, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(40, 48, 7);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(38, 40, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(46, 49, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(193, 200, 133);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 167, 88);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 162, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 154, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 184, 72);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 155, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 154, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 154, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(159, 164, 82);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(159, 158, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(38, 31, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(68, 57, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 72, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 105, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(109, 83, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(77, 49, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(104, 75, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 65, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 114, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(115, 93, 82);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 80, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(59, 48, 2);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(118, 113, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 136, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(130, 134, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 144, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 133, 43);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 144, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 172, 99);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(30, 38, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 69, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 71, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(59, 69, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(18, 28, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(84, 88, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(176, 182, 118);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 144, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 141, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 148, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 140, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 154, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(150, 167, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(150, 163, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 135, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(156, 161, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 135, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 89, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(23, 14, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(49, 36, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(46, 28, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(74, 50, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(116, 89, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 96, 93);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(69, 43, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(61, 37, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(59, 39, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(57, 41, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(45, 35, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(171, 168, 97);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(163, 166, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(170, 177, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 132, 25);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(194, 205, 101);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(109, 121, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(171, 181, 92);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(122, 132, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(44, 54, 2);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 39, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(40, 50, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(34, 44, 9);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(123, 130, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(179, 187, 112);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(82, 91, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(115, 128, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 151, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 142, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 160, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(102, 119, 5);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(126, 139, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 134, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 140, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(114, 115, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 97, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(14, 6, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 17, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(51, 33, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 60, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(73, 48, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(70, 44, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(121, 96, 99);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 74, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(41, 21, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(42, 28, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 123, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 121, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 148, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 135, 26);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 134, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(152, 165, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 137, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 140, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 175, 87);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(26, 39, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(17, 29, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(12, 24, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(15, 27, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(135, 143, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 160, 78);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 150, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 144, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(178, 195, 91);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 163, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(169, 187, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 145, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(109, 124, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 108, 12);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(94, 101, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(81, 84, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(126, 124, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(51, 45, 9);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 19, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(20, 4, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(61, 41, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 77, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 65, 65);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(95, 74, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(52, 31, 28);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(30, 12, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(29, 18, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(71, 65, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 93, 19);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 104, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 148, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 123, 5);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(154, 170, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 155, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 185, 70);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(155, 171, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(145, 159, 97);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(151, 164, 120);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(80, 92, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(35, 47, 7);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(77, 89, 5);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 173, 87);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(131, 144, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 114, 16);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 161, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 146, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 107, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 158, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 105, 6);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 138, 48);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(108, 115, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 155, 92);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(95, 93, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 95, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 18, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 26, 9);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(32, 14, 2);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(56, 36, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(47, 26, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(39, 20, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 14, 6);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(33, 20, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 90, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 146, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(151, 152, 82);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 129, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(114, 125, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 174, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(142, 157, 40);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(115, 133, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 158, 43);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(153, 171, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(78, 93, 24);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 137, 84);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(41, 55, 6);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(21, 35, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(132, 144, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 131, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 176, 85);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(111, 128, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 128, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(85, 103, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 162, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(77, 95, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(133, 148, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 114, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(120, 127, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(106, 110, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 123, 77);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 106, 71);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(70, 63, 37);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(16, 3, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(19, 3, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 10, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 13, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(15, 0, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(50, 36, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 49, 27);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 135, 103);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 158, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(148, 150, 85);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(152, 159, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(115, 126, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(106, 121, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(112, 128, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(76, 94, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 159, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 154, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(119, 135, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(156, 172, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(42, 57, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(28, 43, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(118, 131, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 116, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(52, 67, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(105, 121, 33);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 139, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(103, 122, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(77, 96, 7);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 116, 30);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(122, 136, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 100, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(91, 99, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(102, 106, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(80, 78, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 94, 64);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(112, 104, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(49, 38, 18);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(45, 33, 11);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(22, 10, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(33, 20, 1);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(32, 21, 3);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(18, 7, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 110, 84);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(81, 76, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(189, 187, 146);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(144, 144, 92);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 165, 99);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(143, 151, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 136, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 126, 38);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(90, 105, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(134, 149, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(118, 134, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(128, 144, 69);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 105, 35);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(72, 89, 21);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(31, 48, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(68, 82, 7);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(137, 151, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(138, 152, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(70, 87, 9);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 130, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(49, 65, 0);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 112, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(86, 101, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(64, 76, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(92, 103, 47);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(129, 137, 88);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 228, 188);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(160, 159, 129);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(95, 90, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(91, 84, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 80, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(71, 61, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(61, 52, 23);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(81, 71, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 81, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(82, 74, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 111, 87);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(125, 121, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(201, 200, 169);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(199, 200, 160);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(194, 197, 150);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 118, 61);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 108, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(167, 178, 110);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(136, 148, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 141, 66);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(135, 149, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(121, 137, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(102, 120, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(122, 138, 67);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(65, 82, 11);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(99, 114, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(109, 124, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(64, 79, 14);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(79, 94, 29);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(88, 102, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(80, 95, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(57, 72, 15);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 97, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 125, 79);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 218, 177);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(232, 238, 204);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 206, 179);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(172, 169, 150);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(106, 100, 86);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 133, 123);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 90, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(94, 88, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 77, 45);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 86, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(100, 94, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(105, 99, 77);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 88, 68);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(162, 160, 139);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 209, 188);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 221, 197);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(242, 245, 216);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 219, 186);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(158, 164, 126);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 134, 92);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 109, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 133, 81);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 108, 50);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(128, 140, 74);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(106, 122, 51);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(116, 129, 60);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(48, 63, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 64, 10);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(75, 88, 34);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 111, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(73, 87, 36);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(79, 92, 46);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(62, 75, 32);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(70, 82, 44);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 214, 180);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 230, 201);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(217, 225, 201);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 214, 194);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(217, 219, 205);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(232, 229, 222);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(103, 98, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(92, 84, 82);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(99, 92, 84);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 105, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 85, 56);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(94, 88, 62);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(103, 98, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(124, 119, 100);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(123, 120, 105);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 206, 194);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(228, 228, 218);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(202, 202, 194);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 206, 195);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 222, 209);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(236, 240, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 226, 203);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(139, 145, 117);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(106, 113, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(75, 84, 41);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(94, 105, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(89, 101, 39);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(67, 77, 17);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(22, 33, 0);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(61, 74, 31);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(50, 62, 22);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(83, 95, 57);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 124, 90);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(68, 79, 49);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(176, 189, 163);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(224, 236, 214);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 219, 202);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 212, 199);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(232, 237, 230);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(201, 203, 200);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 221, 221);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(225, 220, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 214, 221);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(127, 117, 125);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(114, 105, 106);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(98, 92, 78);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(78, 76, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(97, 92, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(113, 110, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(146, 142, 131);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 178, 171);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 211, 212);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 207, 212);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(246, 243, 250);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 206, 214);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(226, 225, 231);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(231, 232, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(219, 221, 216);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(219, 225, 213);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(193, 200, 182);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(64, 70, 42);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 94, 53);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(117, 124, 80);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 99, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 103, 59);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(73, 84, 52);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(104, 115, 85);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(58, 68, 43);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(105, 117, 95);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 220, 203);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 223, 212);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 233, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 232, 229);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(226, 231, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(224, 229, 233);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(211, 211, 219);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(216, 214, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 217, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(242, 236, 248);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(187, 179, 192);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 203, 210);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(164, 159, 153);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(149, 145, 134);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(161, 157, 148);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(168, 165, 158);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(197, 193, 190);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(240, 238, 241);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(231, 228, 237);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(218, 216, 230);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 217, 236);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(224, 221, 242);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(195, 193, 214);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(188, 187, 201);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(245, 248, 255);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 224, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 213, 206);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(249, 253, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(107, 111, 86);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(102, 105, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(80, 83, 54);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(110, 113, 84);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(106, 115, 94);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(102, 111, 92);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(63, 74, 58);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(184, 194, 183);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(236, 246, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(228, 238, 237);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(173, 183, 185);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(219, 226, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(218, 222, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(206, 209, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(229, 228, 246);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 204, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(222, 217, 237);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 198, 216);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(212, 203, 222);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 207, 220);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 199, 201);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(196, 192, 189);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(194, 190, 189);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(187, 183, 184);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 205, 211);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(224, 221, 232);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(218, 213, 233);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(218, 214, 239);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 204, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(233, 230, 255);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(235, 232, 255);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(201, 199, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 222, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(219, 222, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 218, 217);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(217, 220, 211);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(184, 184, 172);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(91, 89, 76);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 85, 72);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(95, 93, 80);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(93, 101, 86);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(60, 68, 55);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 217, 208);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(186, 195, 192);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(216, 224, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(212, 221, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 219, 231);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 219, 233);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(206, 209, 226);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(217, 220, 237);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(218, 219, 239);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 219, 237);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 204, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 207, 226);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(225, 220, 240);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(194, 190, 205);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(196, 193, 202);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 203, 208);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(206, 203, 210);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(200, 197, 206);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(226, 224, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 202, 219);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(218, 216, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(229, 226, 253);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 217, 248);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 214, 246);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 220, 251);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(199, 199, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 208, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(199, 201, 214);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 211, 218);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(225, 226, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(222, 222, 220);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(78, 77, 73);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(116, 115, 111);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(87, 86, 82);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(88, 96, 83);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(62, 70, 59);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(181, 187, 183);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(200, 205, 209);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 227, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(195, 201, 215);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 224, 243);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(202, 205, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 211, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 206, 221);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(201, 205, 217);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 209, 222);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(212, 214, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 215, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 212, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 209, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 210, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 206, 219);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 207, 220);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 212, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 217, 232);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(216, 217, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(217, 218, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 221, 242);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 215, 239);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(222, 224, 247);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 220, 244);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 215, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(211, 213, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 207, 226);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(200, 203, 220);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(208, 210, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(201, 201, 209);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(157, 158, 162);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(73, 73, 75);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(75, 75, 77);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(129, 137, 124);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(101, 108, 100);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(194, 200, 198);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(199, 204, 210);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(206, 209, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(197, 200, 219);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(222, 224, 245);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 213, 232);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 208, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(200, 204, 216);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(199, 203, 214);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 209, 218);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(212, 216, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 218, 229);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(211, 214, 229);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 213, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 210, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 206, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 207, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 212, 229);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 217, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 218, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(216, 219, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(219, 222, 241);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 216, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(220, 223, 242);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 217, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 212, 233);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 212, 233);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 206, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(198, 200, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 206, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(223, 225, 237);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(189, 192, 197);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(93, 94, 99);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(56, 57, 61);"&gt;@&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(160, 168, 155);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(141, 148, 140);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 213, 211);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(202, 207, 213);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(191, 194, 209);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 206, 225);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(221, 223, 244);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 217, 236);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(202, 205, 222);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(196, 200, 212);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(196, 200, 211);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 209, 218);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 218, 229);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 219, 230);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 217, 232);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 217, 232);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(207, 210, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(203, 206, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 207, 224);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 212, 229);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(214, 217, 234);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(215, 218, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(216, 219, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(219, 222, 241);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(213, 216, 235);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(216, 219, 238);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(210, 212, 233);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(205, 207, 228);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 211, 232);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(204, 206, 227);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(196, 198, 221);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(198, 201, 220);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 211, 223);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(209, 212, 217);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(140, 141, 146);"&gt;@&lt;/a&gt;&lt;a style="color: rgb(96, 97, 101);"&gt;@&lt;/a&gt;&lt;/p&gt;The image above is displayed by repeatedly using the '@' character of varying colors (you can verify it by copying the above image and pasting it on Notepad).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Tip&lt;/span&gt;: Try playing with the &lt;span style="font-family:courier new;"&gt;font-size&lt;/span&gt; and &lt;span style="font-family:courier new;"&gt;line-height&lt;/span&gt; properties in the CSS file to adjust the image size and sharpness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-5467963349087854562?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/5467963349087854562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/10/generate-ascii-art-from-images.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5467963349087854562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/5467963349087854562'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/10/generate-ascii-art-from-images.html' title='Generate ASCII Art from Images'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0tjSn4G6q3c/RwEkuazHUoI/AAAAAAAAAD4/V4bsLf3pOdc/s72-c/images1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3714937269698343053</id><published>2007-09-29T11:24:00.001-04:00</published><updated>2007-12-13T13:40:39.877-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adsense'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>AdSense: Remove White Space in Search Results</title><content type='html'>&lt;a href="http://www.anrdoezrs.net/click-1887138-10503961" target="_blank" onmouseover="window.status='http://staticpagebuilder.com';return true;" onmouseout="window.status=' ';return true;"&gt;&lt;img src="http://www.lduhtrp.net/image-1887138-10503961" width="125" height="125" alt="Search Engine Marketing - Build Static Pages" border="0" align="right"/&gt;&lt;/a&gt;When you add a Search Box on your website using 'Google AdSense for Search' with the option: "&lt;label style="font-style: italic;" for="targetIframe"&gt;Open results within my own site&lt;/label&gt;", the search results are opened in an iFrame of a very large height. This would cause a large block of white space to appear after the search results. You can remove this extra block of white space by adding the following variable value to your AdSense code on your search results page:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:courier new;"&gt;var googleSearchResizeIframe = true;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;This would adjust the height of the iFrame according to your search results.&lt;br /&gt;&lt;br /&gt;And if you need to specify a minimum height for your search results, include your search code in div tags and use the &lt;a href="http://gsmodi.blogspot.com/2007/02/cross-browser-solution-for-css-min.html"&gt;Cross-Browser solution for CSS min-height&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3714937269698343053?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3714937269698343053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/09/adsense-remove-white-space-in-search.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3714937269698343053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3714937269698343053'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/09/adsense-remove-white-space-in-search.html' title='AdSense: Remove White Space in Search Results'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2621605413265583832</id><published>2007-09-21T13:13:00.000-04:00</published><updated>2007-09-21T14:42:55.341-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>100% File Compression</title><content type='html'>Can you imagine compressing a file by 100%, i.e. compacting a file to 0 bytes? Sounds too astonishing. Well, don't be stupefied when you read that its possible to compress &lt;span style="font-style: italic;"&gt;any&lt;/span&gt; file to 0 bytes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cs.fit.edu/%7Emmahoney/compression/barf.html"&gt;BARF!&lt;/a&gt; or Better Archiver with Recursive Functionality can achieve a file compression of 100% by recursively compressing the file. The BARF compressor will compress &lt;i&gt;any&lt;/i&gt; nonempty file by at least one byte.  Thus, by compressing already compressed files over and over again, it is possible to eventually reduce any file to 0 bytes.&lt;br /&gt;&lt;br /&gt;BARF is free, open source software, released under the GNU GPL. Its code is written in C/C++ and can be downloaded from the BARF &lt;a href="http://cs.fit.edu/%7Emmahoney/compression/barf.html"&gt;webpage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How it Works?&lt;/span&gt;&lt;br /&gt;BARF uses recursive compression to compress the file. BARF compresses the files by using one of the 257 compression algorithms by selecting the best one at each stage of recursion. At each step it adds an extension &lt;span style="font-family:courier new;"&gt;.x or .x??&lt;/span&gt; to the existing filename. This technique ensures that there is no disambiguation while decompressing the files.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I know most of you would like to try this out. But, some of you won't understand the technical jargon on the BARF webpage. So, here are the steps to try out file compression with BARF!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Steps for an Amateur:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download the &lt;a href="http://cs.fit.edu/%7Emmahoney/compression/barf.exe"&gt;barf.exe&lt;/a&gt;(1 MB approx.) file and copy it to C:\Windows\System32.&lt;/li&gt;&lt;li&gt;Open the Command Prompt (Start&gt;Run and type 'cmd').&lt;/li&gt;&lt;li&gt;To compress a file, type: &lt;span style="font-family:courier new;"&gt;barf c &amp;lt;filename&amp;gt;&lt;/span&gt;&lt;br /&gt;To compress multiple files: &lt;span style="font-family:courier new;"&gt;barf c &amp;lt;filename1&amp;gt; &amp;lt;filename2&amp;gt; ...&lt;/span&gt;&lt;br /&gt;To compress all files in the current directory: &lt;span style="font-family:courier new;"&gt;dir/b | barf c&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Repeat the above compression step repeatedly until the file is compressed to 0 bytes or any other desired size. Make sure to append the filename with the extension(.x or .x??) at each step.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To decompress a file, type: &lt;span style="font-family:courier new;"&gt;barf d &amp;lt;filename&amp;gt;.x&lt;/span&gt;&lt;br /&gt;To decompress multiple files: &lt;span style="font-family:courier new;"&gt;barf d &amp;lt;filename1&amp;gt;.x &amp;lt;filename2&amp;gt;.x ...&lt;/span&gt;&lt;br /&gt;To decompress all files in the current directory: &lt;span style="font-family:courier new;"&gt;dir/b | barf d&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Repeat the decompression step until the original file is created. Make sure to remove one level of extension(.x or .x??) at each step.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:85%;"&gt;Note: Replace &amp;lt;filename&amp;gt; with the complete name of the file with its path and extension.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2621605413265583832?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2621605413265583832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/09/100-file-compression.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2621605413265583832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2621605413265583832'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/09/100-file-compression.html' title='100% File Compression'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3907657824617312731</id><published>2007-09-12T15:09:00.000-04:00</published><updated>2007-09-12T15:48:01.916-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile phones'/><title type='text'>Tutorials for Mobile Phone R&amp;D</title><content type='html'>Do you like to do R&amp;D with your cell phones? Hey, I'm not talking about &lt;span style="font-style: italic;"&gt;Research &amp; Development&lt;/span&gt; over here, this R&amp;amp;D stands for &lt;span style="font-style: italic;"&gt;Repairing &amp; Destroying&lt;/span&gt; :-)&lt;br /&gt;&lt;br /&gt;I found an exciting site for all those jerks like me who love to play with the screw drivers - people who enjoy doing R&amp;amp;D (&lt;span style="font-style: italic;"&gt;secondary meaning&lt;/span&gt;) with their mobile phones and other electronic items. Without wasting much of your time (I know by now you would have started anticipating to open up your cellphone), I am giving away this link: &lt;a href="http://www.repair4mobilephone.org/"&gt;www.repair4mobilephone.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The website contains tutorials which would help you to upgrade, repair or disassemble a mobile phone of any brand including Nokia, Sony Ericsson, Motorola, Samsung, LG, HTC among others. The site also has do-it-yourself guides for mobile components like IrDA, Bluetooth, Battery and many other parts and accessories.&lt;br /&gt;&lt;br /&gt;The few tutorials I went through were really good and I also tried a couple of them. Luckily, I was able to screw back the devices (mind it, I already have a good success rate in this).&lt;br /&gt;&lt;br /&gt;And like all other stuff posted on this blog, I don't provide any guarantee on the content provided by third party websites. So, unscrew your cell phone at your own peril...&lt;br /&gt;&lt;br /&gt;Happy R&amp;amp;Ding!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3907657824617312731?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3907657824617312731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/09/tutorials-for-mobile-phone-r.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3907657824617312731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3907657824617312731'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/09/tutorials-for-mobile-phone-r.html' title='Tutorials for Mobile Phone R&amp;D'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7960666813203335411</id><published>2007-09-06T02:12:00.000-04:00</published><updated>2007-09-11T08:41:32.799-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Imagine Cup 2008</title><content type='html'>&lt;a href="http://www.imaginecup.com/"&gt;&lt;img style="margin: 0pt 0pt 3px 3px; float: right;" src="http://2.bp.blogspot.com/_0tjSn4G6q3c/RuJH0V4My5I/AAAAAAAAADw/zCOk8wVaDlw/s200/IC08_Logo_reversed.png" alt="Imagine Cup 2008" id="BLOGGER_PHOTO_ID_5107723891943197586" border="0" /&gt;&lt;/a&gt;Imagine Cup is the annual worldwide technology competition  organized by Microsoft. It provides a platform for young people to apply their imagination, passion, and creativity to technology innovations that can create a better world. Each year competitions at imagine cup are based around a theme, which focuses on building technology solutions for real world issue.&lt;br /&gt;&lt;br /&gt;Imagine Cup 2008, the sixth edition of this premier student technology competition, invites students to step up to the challenge of creating a sustainable environment. The theme for the current edition of Imagine Cup is - "&lt;span style="font-style: italic;"&gt;Imagine a world where technology enables a sustainable environment&lt;/span&gt;". Students get an opportunity to compete in a multifaceted competition that comprises multiple categories, each catering to a different technological or artistic affinity for cash prizes totaling more than $170,000 (U.S.).&lt;br /&gt;&lt;br /&gt;The students can compete in nine competitions set up under three main categories - Technology Solutions, Skills Challenges and Digital Arts, each reflecting this year’s theme. Technology solutions comprises of Software Design, Embedded Development and Game Development. Skill challenges include Project Hoshimi Programming Battle, IT - Information technology and Algorithms. Digital Arts enables students to compete in Photography, Short Film and Interface Design challenges.&lt;br /&gt;&lt;br /&gt;The world cup finals of Imagine Cup 2008 would be held in Paris, France. You can register for any of the nine competitions at: &lt;a href="http://www.imaginecup.com/"&gt;www.imaginecup.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7960666813203335411?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7960666813203335411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/09/imagine-cup-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7960666813203335411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7960666813203335411'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/09/imagine-cup-2008.html' title='Imagine Cup 2008'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0tjSn4G6q3c/RuJH0V4My5I/AAAAAAAAADw/zCOk8wVaDlw/s72-c/IC08_Logo_reversed.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1140608555829749056</id><published>2007-08-17T13:03:00.000-04:00</published><updated>2007-08-17T13:39:49.435-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>ShopWiki: A Wiki with a Difference</title><content type='html'>Remember the last time you looked for a product online. You must have browsed through multiple websites before settling for a deal on the product of your choice. Still, there would be a belief, that there exists a website which would have offered the same product for a lower price. But, you have wasted enough time searching for this best deal and don't want to fret about that extra money spent.&lt;br /&gt;&lt;br /&gt;Now, don't you think there should be a website which could search products through various shopping websites, a site which could offer you the best deal and giving you the confidence that you really got the "Best Deal". That's exactly what &lt;a href="http://www.shopwiki.com/"&gt;ShopWiki&lt;/a&gt; does. It crawls more than 180,000 online stores and ascertains that you get what you are looking for at the best price. Also, it allows its members to review the products on the wiki.&lt;br /&gt;&lt;br /&gt;ShopWiki allows you to narrow your searches as per your needs. It allows you to search products between different prizes, stores, brand, color and many other parameters. The site also sports buying and gift guides to help you find that perfect gift. Another great feature of the site is the Video Reviews. Users can submit their video reviews of the products in addition to the standard text review on the wiki.&lt;br /&gt;&lt;br /&gt;ShopWiki offers products under various categories. I found the &lt;a href="http://www.shopwiki.com/wiki/Electronics"&gt;electronics&lt;/a&gt; section really interesting. Compare your favorite iPods and MP3 Players at the &lt;a href="http://www.shopwiki.com/wiki/Personal+Audio+and+Video"&gt;personal audio &amp;amp; video&lt;/a&gt; category. You will really be amazed to see the variety available. For the photographers out there, check out the latest in &lt;a href="http://www.shopwiki.com/wiki/Cameras+and+Photography"&gt;cameras and photography&lt;/a&gt;. There are a plethora of products to choose from - books, music, laptops, clothing to name a few. Just browse the site to see what's in store for you.&lt;br /&gt;&lt;br /&gt;ShopWiki is all set to revolutionize the way we search and shop for products on the internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1140608555829749056?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1140608555829749056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/08/shopwiki-wiki-with-difference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1140608555829749056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1140608555829749056'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/08/shopwiki-wiki-with-difference.html' title='ShopWiki: A Wiki with a Difference'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8354906336929393347</id><published>2007-07-28T16:15:00.000-04:00</published><updated>2007-07-28T16:56:23.155-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Hide Files in a JPG Image</title><content type='html'>Here's another method to hide your files from others without using any software (&lt;span style="font-style: italic;"&gt;previous trick&lt;/span&gt;: &lt;a href="http://gsmodi.blogspot.com/2007/06/lock-folder-without-using-software.html"&gt;Lock Folders without using a Software&lt;/a&gt;). You can hide your files on the guise of an image file.&lt;br /&gt;&lt;br /&gt;Just follow these simple steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Take any image file, say image.jpg&lt;/li&gt;&lt;li&gt;Select the files you want to hide and compress them with any file compression tool (&lt;a href="http://www.rarlab.com/"&gt;WinRAR&lt;/a&gt;, &lt;a href="http://www.winzip.com/"&gt;WinZip&lt;/a&gt; etc).&lt;/li&gt;&lt;li&gt;Place the image file and the compressed file in the same folder.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open the command prompt (Start Menu&gt;Run and then type 'cmd').&lt;/li&gt;&lt;li&gt;Navigate to the directory where you have stored the files (&lt;span style="font-style: italic;"&gt;using the 'CD' command, &lt;/span&gt;&lt;a href="http://unixhelp.ed.ac.uk/tasks/cd1.html"&gt;examples&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Now, type the following command:&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;copy \b image.jpg + compressedfile.ext&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(replace compressedfile.ext with the archive you make with the correct extension, eg .rar, .zip)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Done, you have embedded the compressed file in an image file using binary copy (&lt;span style="font-family: times new roman;"&gt;copy /b&lt;/span&gt;). But, how to recover this file? Its simple. Follow these steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open this image file in the same compression tool which you used to create the compressed file.&lt;/li&gt;&lt;li&gt;Select the option to extract this file.&lt;/li&gt;&lt;li&gt;You will see the files that you had embedded with this image.&lt;/li&gt;&lt;/ol&gt;Though, this method may not be as secure as protecting your files using complex cryptographic techniques, still it provides a simple alternative to protect your personal files on your computer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8354906336929393347?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8354906336929393347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/07/hide-files-in-jpg-image.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8354906336929393347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8354906336929393347'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/07/hide-files-in-jpg-image.html' title='Hide Files in a JPG Image'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3718170995551737589</id><published>2007-07-14T05:31:00.000-04:00</published><updated>2007-07-14T06:07:26.471-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Blogger in Draft</title><content type='html'>Blogger has launched a special version of blogger where people may use new features before they are added to the regular version. This special version is named: &lt;a href="http://draft.blogspot.com/"&gt;Blogger in Draft&lt;/a&gt;. The features here are in beta version and are updated regularly.&lt;br /&gt;&lt;br /&gt;In this version, Blogger has currently launched Video Uploads, Podcasts, Polls and Search Box. Video Uploads allow you to directly upload videos to Google Video and post it on your blog. You can also podcast these videos. Polls allow you to create polls on your blog, which are added as a page element in your blog. Search Box uses Google's &lt;a href="http://google.com/coop/cse/"&gt;Custom Search Engine&lt;/a&gt; to search across your blogs and any outgoing links. The search results are displayed using AJAX on the top of your current page.&lt;br /&gt;&lt;br /&gt;Blogger intends to introduce many more features in draft soon, which would eventually be added to the regular Blogger. All these new features will immensely enhance the functionality of Blogger. To get user feedback, Blogger in Draft maintains a &lt;a href="http://bloggerindraft.blogspot.com/"&gt;blog&lt;/a&gt;, where people can post comments about these features.&lt;br /&gt;&lt;br /&gt;To use the Blogger in Draft with your Blogger account, log-in to: &lt;a href="http://draft.blogger.com/"&gt;http://draft.blogger.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Read more about the Blogger in Draft, &lt;a href="http://bloggerindraft.blogspot.com/2007/06/what-is-blogger-in-draft.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3718170995551737589?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3718170995551737589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/07/blogger-in-draft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3718170995551737589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3718170995551737589'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/07/blogger-in-draft.html' title='Blogger in Draft'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-155234604226681441</id><published>2007-07-07T15:14:00.000-04:00</published><updated>2007-07-12T14:20:43.699-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='earn online'/><title type='text'>Blogvertise: Let your Posts Earn</title><content type='html'>Are you a blogger who reviews a lot of stuff on your blog? Well, if you are one, you would definitely like to get some benefits for your critiques. But the problem is that, how do you connect to these advertisers. So, here's a solution: &lt;a href="http://www.blogsvertise.com/?rid=b4485 "&gt;Blogvertise&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Blogvertise connects Advertisers and Bloggers for their mutual benefit. There are lots of Advertisers out there who would like to create a buzz about their products by getting featured on Blogs. Likewise, there are many Bloggers who would like to dedicate a few posts on their blogs for monetary benefits. Blogvertise provides a perfect solution for both.&lt;br /&gt;&lt;br /&gt;Bloggers can earn between $4 to $25 for each post they write for Blogvertise. All posts have to be approved before they qualify for payments. Payments are made through PayPal after 30 days of your posts being approved.&lt;br /&gt;&lt;br /&gt;Check if your blog &lt;a href="http://www.blogsvertise.com/publisher_rules.php"&gt;qualifies&lt;/a&gt; to join Blogvertise. If it does, &lt;a href="http://www.blogsvertise.com/reg/index.php?rid=b4485 "&gt;click here to register&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-155234604226681441?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/155234604226681441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/07/blogvertise-let-your-posts-earn.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/155234604226681441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/155234604226681441'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/07/blogvertise-let-your-posts-earn.html' title='Blogvertise: Let your Posts Earn'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-2249224827575087238</id><published>2007-07-02T10:02:00.000-04:00</published><updated>2007-07-02T10:52:05.832-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adsense'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Adsense Ads with Rounded Corners</title><content type='html'>Google has recently added support for &lt;span style="font-weight: bold;"&gt;rounded corners&lt;/span&gt; for it AdSense Ad Units. There are two variants for rounded corners: &lt;span style="font-style: italic;"&gt;slightly rounded&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;very rounded&lt;/span&gt;, the latter having the sharper curve.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0tjSn4G6q3c/RokJFJZqHxI/AAAAAAAAACo/WcJkc07NzPs/s1600-h/Rounded_Corners.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_0tjSn4G6q3c/RokJFJZqHxI/AAAAAAAAACo/WcJkc07NzPs/s320/Rounded_Corners.PNG" alt="" id="BLOGGER_PHOTO_ID_5082603638491848466" border="0" /&gt;&lt;/a&gt;To sport these ad-units on your website, login to your AdSense account and select the most suited "Corner Style" from a list of &lt;span style="font-style: italic;"&gt;Square corners&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;Slightly rounded corners&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Very rounded corners&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Alternatively, you may add one of the following attributes to your AdSense code:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:times new roman;"&gt;google_ui_features = “rc:10″;&lt;/span&gt; for very rounded corners&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:times new roman;"&gt;google_ui_features = “rc:6″;&lt;/span&gt; for slightly rounded corners&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:times new roman;"&gt;google_ui_features = “rc:0″;&lt;/span&gt; square corners&lt;/li&gt;&lt;/ul&gt;These rounded ad units go well with many web templates that sport rounded corners, a feature common in Web2.0 style sites.&lt;br /&gt;&lt;br /&gt;Still not using AdSense? Start monetizing your website, click on the Google Adsense button at the right pane of this blog to get started.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-2249224827575087238?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/2249224827575087238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/07/adsense-ads-with-rounded-corners.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2249224827575087238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/2249224827575087238'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/07/adsense-ads-with-rounded-corners.html' title='Adsense Ads with Rounded Corners'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0tjSn4G6q3c/RokJFJZqHxI/AAAAAAAAACo/WcJkc07NzPs/s72-c/Rounded_Corners.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7517938724786097129</id><published>2007-06-29T15:34:00.000-04:00</published><updated>2007-06-29T16:01:41.657-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><title type='text'>Recent Posts hack for Blogger</title><content type='html'>As a Blogger on BlogSpot, you may wish to add a 'Recent Posts' tab in your navigation bar. But, the new Blogger doesn't provide any widgets for this. Don't worry, there's a hack for this. All you need to do is add your own feed to your blog.&lt;br /&gt;&lt;br /&gt;Here are the steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open your Blog's Template(Layout) page.&lt;/li&gt;&lt;li&gt;Click on 'Add a Page Element' and select the 'Feed' widget.&lt;/li&gt;&lt;li&gt;Your Blog's feed URL will be:&lt;br /&gt;http://[yourblog].blogspot.com/atom.xml&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(Make sure your blog feeds have been activated under the 'Settings' tab)&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Rename the tile as 'Recent Posts' and customize the number of feed elements you wish to add.&lt;/li&gt;&lt;li&gt;Save the template changes and you're done.&lt;/li&gt;&lt;/ol&gt;You can experience the outcome of the hack on the right navigation panel of my blog. Just look for the heading 'Recent Posts'.&lt;br /&gt;&lt;br /&gt;Enjoy this 'Recent Posts' hack in Blogger and do leave a comment if you like this hack.&lt;br /&gt;&lt;br /&gt;Happy Blogging!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7517938724786097129?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7517938724786097129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/06/recent-posts-hack-for-blogger.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7517938724786097129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7517938724786097129'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/06/recent-posts-hack-for-blogger.html' title='Recent Posts hack for Blogger'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6269731043237543152</id><published>2007-06-20T12:46:00.000-04:00</published><updated>2007-06-22T10:06:01.747-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Silverlight: Light Up the Web</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://www.microsoft.com/silverlight/images/logo_main_sl.gif" alt="" border="0" /&gt;&lt;a href="http://www.microsoft.com/silverlight" target="blank"&gt;Microsoft Silverlight&lt;/a&gt; is a new plug-in for next generation media experiences and interactive web applications. It integrates multimedia, graphics, animations and interactivity into a single runtime providing a rich user-experience.&lt;br /&gt;&lt;br /&gt;Silverlight intends to compete with Adobe Flash offering a plethora of Rich Media Applications Tools for its .NET developer community. Silverlight applications are not language specific and can be programmed using AJAX, C#, VB, Python, Ruby and many others. It can be easily integrated with existing web-applications.&lt;br /&gt;&lt;br /&gt;Silverlight SDK is available for the developers and can be downloaded from the Silverlight &lt;a href="http://www.microsoft.com/silverlight"&gt;website&lt;/a&gt;. Silverlight media interfaces can be designed using &lt;a href="http://www.microsoft.com/expression"&gt;Microsoft Expression Studio&lt;/a&gt;, which incorporates some great designing tools. The forthcoming version of Visual Studio codenamed "Orcas" supports development of Silverlight applications.&lt;br /&gt;&lt;br /&gt;Unlike Flash, Silverlight applications are not pre-compiled before distribution. These are rather represented as XAML (eXtensible Application Markup Lanhuage). This makes these searchable and indexable by the search engines, overcoming a major obstruction for webmasters refraining to use flash in their webpages.&lt;br /&gt;&lt;br /&gt;Currently in Beta, Silverlight is only supported on Windows and MacOS. It is cross-browser compatible and renders equally well on all browsers (support for Opera coming soon).&lt;br /&gt;&lt;br /&gt;Check out the silverlight official website, &lt;a href="http://www.microsoft.com/silverlight/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Get connected with the Silverlight developer community, &lt;a href="http://www.silverlight.net/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6269731043237543152?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6269731043237543152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/06/microsoft-silverlight-light-up-web.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6269731043237543152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6269731043237543152'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/06/microsoft-silverlight-light-up-web.html' title='Microsoft Silverlight: Light Up the Web'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3126317917820424195</id><published>2007-06-06T15:24:00.000-04:00</published><updated>2007-06-06T15:50:04.866-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips and tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Lock Folders without using a Software</title><content type='html'>Here's an interesting trick to bluff people about the contents of a folder. Just try this out:&lt;br /&gt;&lt;br /&gt;1. Type the following text in a new text document:&lt;br /&gt;&lt;span style="font-family: times new roman;font-family:times new roman;" &gt;ren Printers.{2227A280-3AEA-1069-A2DE-08002B30309D}  &amp;lt;original folder&amp;gt;&lt;/span&gt;&lt;br /&gt;2. Save this as a &lt;span style="font-family:courier new;"&gt;.bat&lt;/span&gt; file in the destination of the original folder.&lt;br /&gt;3. Execute this file.&lt;br /&gt;&lt;br /&gt;Your &lt;span style="font-family:courier new;"&gt;&lt;original&gt;&lt;/original&gt;&lt;/span&gt; will change into the folder named &lt;span style="font-family:courier new;"&gt;Printers&lt;/span&gt; with the printer folder icon. When you'll open this folder the Printers System Folder would be opened instead of your original folder. So, you successfully locked the folder without any hint of a folder being hidden inside it.&lt;br /&gt;&lt;br /&gt;Seems interesting, isn't it? But, now how to unlock this folder. Again, just follow these simple steps:&lt;br /&gt;&lt;br /&gt;1. Type the following text in a new text document (&lt;span style="font-style: italic;"&gt;different from above&lt;/span&gt;):&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;ren&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;  &amp;lt;original folder&amp;gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; Printers.{2227A280-3AEA-1069-A2DE-08002B30309D}&lt;/span&gt;&lt;br /&gt;2. Save this as a &lt;span style="font-family:courier new;"&gt;.bat&lt;/span&gt; file in the destination of the original folder.&lt;br /&gt;3. Execute this file and get back your original folder with all its contents.&lt;br /&gt;&lt;br /&gt;You may use this trick with different Windows System Folders. Just replace the &lt;span style="font-family:times new roman;"&gt;Printers.{2227A280-3AEA-1069-A2DE-08002B30309D}&lt;/span&gt; with the following:&lt;br /&gt;&lt;span style="font-family: times new roman;font-family:courier new;" &gt;Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: times new roman;font-family:courier new;" &gt;History.{FF393560-C2A7-11CF-bff4-444553540000}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: times new roman;font-family:courier new;" &gt;Network Connections.{992CFFA0-F557-101A-88EC-00DD010CCC48}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Though these locks are not as secure as your password protected locks, but still its a quick and easy way to hide your files from the eyes of others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3126317917820424195?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3126317917820424195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/06/lock-folder-without-using-software.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3126317917820424195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3126317917820424195'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/06/lock-folder-without-using-software.html' title='Lock Folders without using a Software'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-383685317484251123</id><published>2007-05-30T14:17:00.000-04:00</published><updated>2007-06-02T07:07:31.313-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Surface</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right;" src="http://3.bp.blogspot.com/_0tjSn4G6q3c/Rl3NBDKja3I/AAAAAAAAABw/xSi2oeHe8dY/s320/ms-surface.JPG" alt="" id="BLOGGER_PHOTO_ID_5070434173402180466" border="0"&gt;Microsoft introduces a great new technology, &lt;a href="http://www.microsoft.com/surface/"&gt;Microsoft Surface&lt;/a&gt;. It is the first commercially available surface computing product by Microsoft. Microsoft Surface turns an ordinary tabletop into a vibrant surface and alleviates user interaction with digital content. Its an innovation that will change the way people shop, dine, entertain and live. Its a cool way to interact with a device through natural gestures, touch and physical objects.&lt;br /&gt;&lt;br /&gt;The origin of surface dates back to 2001, when Stevie Bathiche of Microsoft Hardware and Andy Wilson of Microsoft Research began brainstorming concepts for an interactive table. Their vision was to mix physical and virtual worlds to provide visual and interactive experience. Since then, the idea has gone through various phases and resulted in the evolution of Microsoft Surface.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0tjSn4G6q3c/Rl3OPjKja5I/AAAAAAAAACA/8xLRnFhzE7s/s1600-h/ms-surfaceimage004.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_0tjSn4G6q3c/Rl3OPjKja5I/AAAAAAAAACA/8xLRnFhzE7s/s200/ms-surfaceimage004.jpg" alt="" id="BLOGGER_PHOTO_ID_5070435522021911442" border="0"&gt;&lt;/a&gt;Surface defines the new-age user experience and breaks boundaries  between the actual and the virtual world. It defines limitless possibilities for taking interaction with digital media to a whole new level. Imagine sitting with a friend, sharing digital photos as you would do in a physical world, sliding them across the table with a flick of a finger. How about sitting in a restaurant, browsing a virtual menu on the table with all details of the dishes and ordering your favorite dish by just tapping your finger.&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold;"&gt;What exactly is Surface Computing?&lt;/font&gt;&lt;br /&gt;&lt;font size="1"&gt;(source: Microsoft Surface Fact Sheet)&lt;/font&gt;&lt;br /&gt;Surface computing breaks down traditional barriers between people and technology, changing the way people interact with all kinds of everyday content, from photos to maps to menus. The intuitive user interface works without a traditional mouse or keyboard, allowing people to interact with content and information by using their hands and natural movements. Users are able to access information either on their own or collaboratively with their friends and families, unlike any experience available today. Surface computing features four key attributes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;font style="font-weight: bold;"&gt;Direct interaction&lt;/font&gt;. Users can actually “grab” digital information with their hands and interact with content through touch and gesture, without the use of a mouse or keyboard.&lt;/li&gt;&lt;li&gt;&lt;font style="font-weight: bold;"&gt;Multi-touch contact&lt;/font&gt;. Surface computing recognizes many points of contact simultaneously, not just from one finger as with a typical touch screen, but up to dozens and dozens of items at once. &lt;/li&gt;&lt;li&gt;&lt;font style="font-weight: bold;"&gt;Multi-user experience&lt;/font&gt;. The horizontal form factor makes it easy for several people to gather around surface computers together, providing a collaborative, face-to-face computing experience.&lt;/li&gt;&lt;li&gt;&lt;font style="font-weight: bold;"&gt;Object recognition&lt;/font&gt;. Users can place physical objects on the surface to trigger different types of digital responses, including the transfer of digital content.&lt;/li&gt;&lt;/ul&gt;&lt;font style="font-weight: bold;"&gt;What Next?&lt;/font&gt;&lt;br /&gt;Surface computing is a new computing field and is still in the initial stages of development. With continuing research and innovations, a large number of applications can be envisioned with surface computers. The application areas of surface computing are diverse ranging from product marketing to digital entertainment and gaming among others. This could just turn out to be the next big thing in technological innovations.&lt;br /&gt;&lt;br /&gt;Microsoft Surface would be showcased at various international events all through the year. It is expected to hit the market by Winter 2007.&lt;br /&gt;&lt;br /&gt;To experience Microsoft Surface, visit the official Microsoft Surface website at: &lt;a href="http://www.surface.com/"&gt;www.surface.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-383685317484251123?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/383685317484251123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/05/microsoft-surface.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/383685317484251123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/383685317484251123'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/05/microsoft-surface.html' title='Microsoft Surface'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0tjSn4G6q3c/Rl3NBDKja3I/AAAAAAAAABw/xSi2oeHe8dY/s72-c/ms-surface.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6106454528350633100</id><published>2007-05-13T07:44:00.000-04:00</published><updated>2007-06-02T07:07:10.982-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Yahoo WebMessenger</title><content type='html'>Yahoo has introduced the &lt;a href="http://webmessenger.yahoo.com/"&gt;browser version&lt;/a&gt; for its popular IM program, Yahoo Messenger. The messenger allows you to IM from any browser and also supports Windows Live contacts.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://1.bp.blogspot.com/_0tjSn4G6q3c/RkcBGktlO4I/AAAAAAAAABY/Jw8c5m582QM/s400/yahoowebmsngr.JPG" alt="" id="BLOGGER_PHOTO_ID_5064017518447115138" border="0" /&gt;The online version, still in its Beta, has a great User Interface and currently supports limited IM features like customized status message, searchable chat history, font selection etc. You can also search your contacts, see their online status and add new contacts. It opens a new tab for each conversation in the same window. It is built using Adobe's Flex 2 and needs Flash Player to run.&lt;br /&gt;&lt;br /&gt;The online messenger is a great tool for people who don't have access to the desktop messenger client from their work places/schools. It is a great replacement for &lt;a href="http://www.meebo.com/"&gt;Meebo&lt;/a&gt;, which is a third party tool.&lt;br /&gt;&lt;br /&gt;It can be accessed at &lt;a href="http://webmessenger.yahoo.com/"&gt;http://webmessenger.yahoo.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6106454528350633100?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6106454528350633100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/05/yahoo-webmessenger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6106454528350633100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6106454528350633100'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/05/yahoo-webmessenger.html' title='Yahoo WebMessenger'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0tjSn4G6q3c/RkcBGktlO4I/AAAAAAAAABY/Jw8c5m582QM/s72-c/yahoowebmsngr.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-3316236678885580291</id><published>2007-05-01T05:57:00.000-04:00</published><updated>2007-06-02T07:07:20.454-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>MSDN Flash Newsletter</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right;" src="http://www.developerknowledgedrive.com/images/msdn02.jpg" alt="" border="0" /&gt;Check out a real cool e-newsletter from Microsoft. The &lt;a href="http://www.developerknowledgedrive.com/register.aspx?RFID=127842" target="_blank"&gt;MSDN Flash&lt;/a&gt;, helps broaden your knowledge base by delivering essential developer news directly to you in one information-dense newsletter.&lt;br /&gt;&lt;br /&gt;Sign up for the FREE MSDN Flash fortnightly e-newsletter from Microsoft and&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Stay abreast of the latest information and technical know-how&lt;/li&gt;&lt;li&gt; Get updates on Microsoft announcements and events for developers&lt;/li&gt;&lt;li&gt; Receive pointers to webcasts, virtual labs and other ‘on your own time’ interactive learning resources&lt;/li&gt;&lt;/ul&gt;       &lt;br /&gt;In addition to this you could get lucky, by participating in the 'Developer Knowledege Drive' and win lots of prizes like USB MP3 Pens and leather key chains, by simply referring your friends. There's also the grand prize – a super cool XBOX 360!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developerknowledgedrive.com/register.aspx?RFID=127842" target="_blank"&gt;Click here&lt;/a&gt; to subscribe to the free MSDN Flash!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-3316236678885580291?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/3316236678885580291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/05/msdn-flash-newsletter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3316236678885580291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/3316236678885580291'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/05/msdn-flash-newsletter.html' title='MSDN Flash Newsletter'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7064957222093634915</id><published>2007-04-28T09:34:00.000-04:00</published><updated>2007-06-02T07:07:00.436-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='search engines'/><title type='text'>Got a PageRank of 2</title><content type='html'>Finally, my blog is a little famous now. The Goggle PageRank of my blog is now 2, increased by 2 points (&lt;span style="font-style: italic;"&gt;earlier it was 0... &lt;/span&gt;&lt;span style="color: rgb(0, 0, 222);"&gt;&lt;span style="font-weight: bold;"&gt;:-(&lt;/span&gt;&lt;/span&gt; ). Eventually, I have started getting some traffic from Google.&lt;br /&gt;&lt;br /&gt;Thanks to all those who linked to my blog and the people who regularly visit (&lt;span style="font-style: italic;"&gt;sometimes read too&lt;/span&gt;... &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 222);"&gt;:-)&lt;/span&gt; &lt;/span&gt;) my blog.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A little about Google PageRank:&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;PageRank is a link analysis algorithm that assigns a numerical weighting to each element of a hyperlinked set of documents, such as the World Wide Web, with the purpose of "measuring" its relative importance within the set. The algorithm may be applied to any collection of entities with reciprocal quotations and references. The numerical weight that it assigns to any given element E is also called the PageRank of E and denoted by PR(E).&lt;/span&gt;" - source: &lt;a href="http://en.wikipedia.org/wiki/PageRank"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The PageRank determines the position of a website on search results. It is measured on a 10-point scale. The higher the page-rank the better is the placement of the website on the search results.&lt;br /&gt;&lt;br /&gt;PageRank is calculated on the basis of the number of votes a site gets from other websites, ie. how many sites link to that site. A link from page A to page B is counted as a vote for B by A. But, apart from the volume of links, Google also analyzes the quality of the pages which cast the vote. Votes cast by pages that are themselves "important" weigh more heavily and help to make other pages "important".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7064957222093634915?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7064957222093634915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/04/got-page-rank-of-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7064957222093634915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7064957222093634915'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/04/got-page-rank-of-2.html' title='Got a PageRank of 2'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-654676099090837222</id><published>2007-04-26T04:14:00.000-04:00</published><updated>2007-06-02T07:06:48.145-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Now thats a new generation UI</title><content type='html'>Ever imagined navigating through a website without even pressing a single mouse button? Here's a site that lets you navigate by just hovering over the links: &lt;a href="http://www.dontclick.it/"&gt;www.dontclick.it&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right;" src="http://4.bp.blogspot.com/_0tjSn4G6q3c/RjBmwEtlO3I/AAAAAAAAABI/l_2xMg4gJAA/s200/dontclick.JPG" alt="" id="BLOGGER_PHOTO_ID_5057655357621746546" border="0" /&gt;The site has been developed in flash and presents to you a great User-Interface (UI). It provides a unique user experience of browsing through the web. You don't need to click to browse through different links.&lt;br /&gt;&lt;br /&gt;The project claims to be a work of a hypothetical 'Institute for Interactive Research'. It reviews the user habits and records the number of accidental or intentional clicks a user makes which surfing the website.&lt;br /&gt;&lt;br /&gt;DontClick.it is actually a non-commercial project by a Design Student of University Essen-Duisburg, Germany. Do visit this cool &lt;a href="http://www.dontclick.it/"&gt;website&lt;/a&gt; for a great User Experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-654676099090837222?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/654676099090837222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/04/now-thats-new-generation-ui.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/654676099090837222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/654676099090837222'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/04/now-thats-new-generation-ui.html' title='Now thats a new generation UI'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0tjSn4G6q3c/RjBmwEtlO3I/AAAAAAAAABI/l_2xMg4gJAA/s72-c/dontclick.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-4195562841084560448</id><published>2007-04-21T02:15:00.000-04:00</published><updated>2007-06-02T07:06:35.634-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Build a Toolbar for Free</title><content type='html'>Ever wanted to create a toolbar for your site/blog visitors or your community but don't have the technical knowledge to build it, here's a solution. &lt;a href="http://www.kqzyfj.com/click-1887138-10471265" target="_top" onmouseover="window.status='http://www.conduit.com/?vararrivalid=cj';return true;" onmouseout="window.status=' ';return true;"&gt;Conduit&lt;/a&gt; offers you to create a Free Community Toolbar for your website with loads of exciting features.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kqzyfj.com/click-1887138-10471265" target="_top" onmouseover="window.status='http://www.conduit.com/?vararrivalid=cj';return true;" onmouseout="window.status=' ';return true;"&gt;Conduit&lt;/a&gt; offers a simple method to create your toolbar. Just register yourself and get started. Follow a few simple steps in the wizard and your toolbar is ready for download. The toolbar is cross-browser compatible and can be auto-updated after installation.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jdoqocy.com/click-1887138-10379076" target="_top" onmouseover="window.status='http://www.godaddy.com';return true;" onmouseout="window.status=' ';return true;"&gt;&lt;img src="http://www.lduhtrp.net/image-1887138-10379076" alt="Go Daddy Domains $8.95 and Lower! 125x125 " align="right" border="0" height="125" width="125" /&gt;&lt;/a&gt;The toolbar is fully customizable. It allows you to add your own company logo and your site components. It also allows you to add prebuilt components including search box, pop-up blocker, RSS reader, news feeds, message ticker, real time messaging among others. You can also add a Live Chat component which allows your users to be engaged and chat with each other.&lt;br /&gt;&lt;br /&gt;A toolbar is a wise marketing investment for your website/blog. It increases your user loyalty and engages your users. It allows you to connect with your users 24/7. It helps in site promotion and increases traffic.&lt;br /&gt;&lt;br /&gt;So, create your free toolbar today, &lt;a href="http://www.jdoqocy.com/click-1887138-10471270" target="_top" onmouseover="window.status='http://www.conduit.com/?vararrivalid=cj';return true;" onmouseout="window.status=' ';return true;"&gt;click here&lt;/a&gt;.&lt;img src="http://www.tqlkg.com/image-1887138-10471270" border="0" height="1" width="1" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-4195562841084560448?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/4195562841084560448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/04/build-toolbar-for-free.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4195562841084560448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/4195562841084560448'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/04/build-toolbar-for-free.html' title='Build a Toolbar for Free'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6162657472769115290</id><published>2007-03-31T00:21:00.000-04:00</published><updated>2007-06-02T07:06:21.788-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gtbit'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Windows Vista Launch Event at GATES 2k7</title><content type='html'>Microsoft Windows Vista Launch Event was organized on March 28, 2007 during GATES 2k7, the Annual fest of GTBIT. (&lt;span style="font-style: italic;"&gt;Read more about GATES 2k7 in the &lt;/span&gt;&lt;a style="font-style: italic;" href="http://gsmodi.blogspot.com/2007/03/gates-2k7-march-27-29-2007.html"&gt;previous post&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_0tjSn4G6q3c/RhFNZG7ECeI/AAAAAAAAAA4/dQl3sjy7MQA/s200/Picture%2813%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5048901751009446370" border="0" /&gt;The Windows Vista session was presented by Mr. Akshaya Sharma, Microsoft Student Partner Lead (North India). It featured an orientation of the newly launched Windows Vista and was attented by students of various colleges of Delhi.&lt;br /&gt;&lt;br /&gt;The 45min long presentation very well articulated the key features of Windows Vista including the Aero User Interface, Predictive Search, Ready Boost, Security Features among others. The features were well demonstrated using real-time examples.&lt;br /&gt;&lt;br /&gt;The presentation was followed by a short quiz, wherein a few random questions were asked from the audience. The winners were awarded with DVDs of Microsoft Visual Studio Express Edition and one lucky winner got a full licensed version of the Windows Vista Business Edition.&lt;br /&gt;&lt;br /&gt;This was the first event organized by me as a Microsoft Student Partner. Another Windows Vista event was also organized during GATES 2k7, in which the participants were given a certain set of problems to be solved on Windows Vista. The problems included some system administration tasks, widows sidebar modification etc. The winners of this event got 100% discount coupons on Microsoft Cetifications. Both these events received a very encouraging feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6162657472769115290?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6162657472769115290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/03/windows-vista-launch-event-at-gates-2k7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6162657472769115290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6162657472769115290'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/03/windows-vista-launch-event-at-gates-2k7.html' title='Windows Vista Launch Event at GATES 2k7'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0tjSn4G6q3c/RhFNZG7ECeI/AAAAAAAAAA4/dQl3sjy7MQA/s72-c/Picture%2813%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-1836947250572829132</id><published>2007-03-30T20:30:00.000-04:00</published><updated>2007-06-02T07:06:07.059-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gtbit'/><title type='text'>GATES 2k7 (March 27-29, 2007)</title><content type='html'>GATES 2k7, an acronym for '&lt;span style="font-weight: bold;"&gt;G&lt;/span&gt;TBIT's &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;nnual &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;echno-cultural &lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;vent for creative &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;ouls', achieved new landmarks and was a huge success. This 3 day fest showcased over 50 events, which included Technical, Managerial, Literary, Cultural and Sports Events. The event saw an overwhelming response from the student fraternity with a footfall of more than 5000 people.&lt;br /&gt;&lt;br /&gt;The Technical arena included events like TPP, H/w S/w Presentation, Programming, Web-Designing etc. The major spotlight of the Technical events were the Robotics events, Royal Rumble and Robo GP. These events were introduced for the first time in GATES and saw a huge participation from prestigious engineering colleges of north India, including IIT Kharagpur, IIT Delhi, DCE, NSIT and various colleges of IPU.&lt;br /&gt;&lt;br /&gt;The arcade of Managerial and Literary events constituted some great events including B-Plan, Bulls-n-Bears, Case Study, Mockabulary, GD, LAN Gaming, Quizzical... The event that stole the show was Apprentice, a replication of a popular TV show by Donald Trump.&lt;br /&gt;&lt;br /&gt;Other attractions of the fest were the numerous Cultural and Sports events. The major cultural events included Street Play, Nach Baliye, One Act Play, Folk Dance, Vocals, Boogie Fever, Battle d Rap... The sports events which drew huge participation were Footsal and Basketball.&lt;br /&gt;&lt;br /&gt;GATES 2k7 also featured a Microsoft Windows Vista Launch Event. The event was presented by Mr. Akshay Sharma, MSP-Lead, Microsoft Corporation (India) Ltd. The presentation included a feature overview of Windows Vista. (more on that in my next blog post...)&lt;br /&gt;&lt;br /&gt;The event was supported by our numerous sponsors: Coca-Cola, Dettol, Bausch&amp;amp;Lomb, Wisdom Mart, Networkers Home, Career Launcher, Punjab National Bank, Unique Infoways, Micro Computers, FunTown, McGrawHill Education and Traditional Value.&lt;br /&gt;We also partnered with Sparsh to help raise funds for the NGO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-1836947250572829132?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/1836947250572829132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/03/gates-2k7-march-27-29-2007.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1836947250572829132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/1836947250572829132'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/03/gates-2k7-march-27-29-2007.html' title='GATES 2k7 (March 27-29, 2007)'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8925463381373153213</id><published>2007-03-04T07:07:00.000-05:00</published><updated>2007-06-02T07:05:38.055-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Web 2.0 ... The Machine is Us/ing Us</title><content type='html'>Here's a Must watch Video for all web enthusiasts. A very well depicted evolution of the Web.&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6gmP4nk0EOE"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/6gmP4nk0EOE" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Credits: Michael Wesch, Kansas State University&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8925463381373153213?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8925463381373153213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/03/web-20-machine-is-using-us.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8925463381373153213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8925463381373153213'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/03/web-20-machine-is-using-us.html' title='Web 2.0 ... The Machine is Us/ing Us'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-7814974106350859024</id><published>2007-02-27T11:11:00.000-05:00</published><updated>2007-03-03T11:22:12.954-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Windows Vista and Office 2007 Launch for Developers</title><content type='html'>Microsoft is conducting a series of events for launching Windows Vista and Office 2007 for Developers. The launch is being conducted in five cities, viz. New Delhi, Hyderabad, Chennai, Bangalore and Mumbai. Today, the launch was conducted at Hotel Park Royal Intercontinental, New Delhi.&lt;br /&gt;&lt;br /&gt;The day started-off with an introduction to the marvellous new features of Windows Vista and Office 2007, specifically its fresh security features and the fantastic aero user interface. The security features in the new Windows Vista is widely enhanced compared to its predecessor, Windows XP. Aero is the new whimsical user interface that is incorporated in Windows Vista. Aero is an acronym for Authentic, Energetic, Reflective and Open. You would be astonished viewing the complete features of the Aero interface &lt;a href="http://www.microsoft.com/windows/products/windowsvista/features/experiences/aero.mspx"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This introduction was followed by 5 demonstration sessions for developers, which gave them an insight to the new development features supported by these products. Windows Vista stands on three pillars, viz. Content, Confidence and Clarity. All development features in these new products add strength to these basic pillars of Vista.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session 1&lt;/span&gt;:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Building differentiated user experiences with Windows Vista&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Windows Vista allows you to build visually stunning applications by using its UI component Aero. This session gave an introduction to UI programming using Aero on the .NET 3.0 platforms. .NET 3.0 ships with the new O.S. and is an enhancement for the older .NET 2.0, the major change being the inclusion of Aero element programming.&lt;br /&gt;Windows Vista also incorporates a sidebar on the right-side of the desktop. The sidebar features user-created applications, which can be easily created using JScript, HTML and XML.&lt;br /&gt;Code samples for predictive search and text-to-speech system using SSML were also discussed during the session.&lt;br /&gt;The session was presented by &lt;a href="http://devfun.blogspot.com/"&gt;Deepak G&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session 2:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Building Secure, Reliable and Performant Applications with Windows Vista&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This session focused on the security, reliability and performance parameters of the application to be developed on the latest Windows platform. The enhanced Vista features include a better Kernel Transaction Manager(KTM) and User Access Control (UAC).&lt;br /&gt;Windows Vista allows you to extend your RAM with a USB Flash Drive, whose I/O transfer rate is almost 10x faster than the conventional hard disk. It also has a better file system management process which does predictive paging for the most frequently used programs. Overall, this leads to better performance and low battery consumption.&lt;br /&gt;The session was presented by &lt;a href="http://vineetgupta.spaces.live.com/"&gt;Vineet Gupta&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session 3:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Building Connected Applications with Windows Vista&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.NET 3.0 introduces the Windows Communication Foundation (WCF) API, which significantly enhances the Web-Services feature of .NET 2.0 using the SOAP format to communicate between processes. This WCF API provides an excellent platform to easily develop powerful Client-Server applications. For such applications, you need to make one server application and one host application, which requests services from the server using Contracts.&lt;br /&gt;This highly informative session was presented by &lt;a href="http://www.thinkingms.com/pandurang/"&gt;Pandurang Nayak&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session 4:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Connecting Users with Data in New Ways with the Office 2007 Systems&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This session gave an introduction to the Office 2007 system. One of the most-exciting features of Office 2007 is the use of open-source XML. All office documents stored in *.docx format can be converted into XML files by changing the file extension to *.zip.&lt;br /&gt;Office 2007 also introduces a whole new range of Office Business Applications (OBA), which allows you to create remarkable business applications using the Office Technologies and Visual Studio. SharePoint Server, a part of the Office Package incorporates a powerful data mining tool which can easily mine data through an Excel Worksheet, SQL Database or any other data source and can represent the data in the form of decision trees, workflows and graphs.&lt;br /&gt;This session was demonstrated by &lt;a href="http://blogs.sqlxml.org/VinodKumar/"&gt;Vinod Kumar&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session 5:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Building Collaboration Solutions using the Office 2007 System&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Collaboration tools could be easily build using the Office 2007 System. The SharePoint Server provides an easy method to build basic collaboration solutions without the need for writing any code. Customized workflows and forms can be made to extend the basic services of the SharePoint Server.&lt;br /&gt;This session was also presented by &lt;a href="http://blogs.sqlxml.org/VinodKumar/"&gt;Vinod Kumar&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After these 5 great sessions it was time for some goodies from Microsoft. Microsoft presented the Office 2007 evaluation CDs to all the attendees.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-7814974106350859024?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/7814974106350859024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/02/windows-vista-and-office-2007-launch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7814974106350859024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/7814974106350859024'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/02/windows-vista-and-office-2007-launch.html' title='Windows Vista and Office 2007 Launch for Developers'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6113202458954330130</id><published>2007-02-12T10:42:00.000-05:00</published><updated>2007-12-13T13:33:23.095-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Cross-Browser solution for CSS min-height</title><content type='html'>You must have tried to put your footer at the bottom of the page when the page content is less. The best possible solution that strikes here is to use the CSS &lt;span style="font-family:courier new;"&gt;min-height&lt;/span&gt; property. But alas, this is not compatible with Internet Explorer.&lt;br /&gt;&lt;br /&gt;One option could have been to postion the footer to the bottom by specifying the following snipplet of code.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; postion: absolute; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; bottom: 0;&lt;/span&gt;&lt;br /&gt;But, it won't work for bigger pages. In this case, the footer would stick to the bottom of the screen and not bottom of the page content.&lt;br /&gt;&lt;br /&gt;So, here's a simple hack which could solve your purpose:&lt;br /&gt;&lt;a href="http://www.anrdoezrs.net/click-1887138-10503961" target="_blank" onmouseover="window.status='http://staticpagebuilder.com';return true;" onmouseout="window.status=' ';return true;"&gt;&lt;img src="http://www.lduhtrp.net/image-1887138-10503961" width="125" height="125" alt="Search Engine Marketing - Build Static Pages" border="0" align="right"/&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;br /&gt;min-height:450px;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;  height:auto !important;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt; height:450px;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just add this code to the div element above the footer. This code would work perfectly work on both Firefox and IE. Firefox would simply accept the &lt;span style="font-family:courier new;"&gt;min-height&lt;/span&gt; property. While, IE will ignore this property and would render the element according to the &lt;span style="font-family: courier new;"&gt;height&lt;/span&gt; property. The keyword &lt;span style="font-family: courier new;"&gt;auto&lt;/span&gt; will automatically extend the height as per the contents of the page. &lt;span style="font-family: courier new;"&gt;!important&lt;/span&gt; is used to set a higher priority to this line of code, so that it is executed when height of the page exceeds 450px.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6113202458954330130?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6113202458954330130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/02/cross-browser-solution-for-css-min.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6113202458954330130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6113202458954330130'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/02/cross-browser-solution-for-css-min.html' title='Cross-Browser solution for CSS min-height'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-8034232494150237699</id><published>2007-02-03T05:21:00.000-05:00</published><updated>2007-02-03T05:24:25.398-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Interesting!!!</title><content type='html'>The person who invented this sentence is either a Vocabulary GENIUS or is absolutely JOBLESS.&lt;br /&gt;&lt;br /&gt;Why?&lt;br /&gt;&lt;br /&gt;You'll soon find out!!!&lt;br /&gt;&lt;br /&gt;Read the sentence below carefully...&lt;br /&gt;&lt;br /&gt;"I do not know where family doctors acquired illegibly perplexing handwriting nevertheless, extraordinary pharmaceutical intellectuality counterbalancing&lt;br /&gt;indecipherability, transcendentalizes intercommunications incomprehensibleness".&lt;br /&gt;&lt;br /&gt;This is a sentence where the nth word is N letters long.&lt;br /&gt;&lt;br /&gt;e.g. 3rd word is 3 letters long, 8th word is 8 letters long and so on...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S: This is not my own creation and is copied from a forwarded e-mail. Found it good enough to share on this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-8034232494150237699?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/8034232494150237699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/02/interesting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8034232494150237699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/8034232494150237699'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/02/interesting.html' title='Interesting!!!'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-6138874633803924532</id><published>2007-01-28T12:03:00.000-05:00</published><updated>2007-02-03T05:25:10.831-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>Hiding the Blogger NavBar in the New Blogger</title><content type='html'>You might want to hide your NavBar on your blog in the New Blogger. I hide the NavBar on &lt;a href="http://top3webhosts.blogspot.com/"&gt;Top3WebHosts&lt;/a&gt; by using the following CSS style:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;#b-navbar {height:0px;visibility:hidden;display:none}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the new version of Blogger this is possible by changing the code to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;#navbar-iframe {height:0px;visibility:hidden;display:none}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This code should be included in the &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;&lt;/span&gt; tag of your Blogger Template.&lt;style&gt; &lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-6138874633803924532?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/6138874633803924532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2007/01/hiding-blogger-navbar-in-new-blogger.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6138874633803924532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/6138874633803924532'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2007/01/hiding-blogger-navbar-in-new-blogger.html' title='Hiding the Blogger NavBar in the New Blogger'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-116712639492892115</id><published>2006-12-30T04:44:00.000-05:00</published><updated>2007-02-03T05:25:32.829-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Time's Person of the Year: YOU</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/4987/1999/1600/669282/you.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/4987/1999/200/504638/you.jpg" alt="" border="0" /&gt;&lt;/a&gt;In the year 2006, ‘YOU’ have been rated as the Time Magazine’s Person of the Year. ‘You’ are the people having a great passion for the World Wide Web. ‘You’ have been searching for an identity on the internet. ‘You’ try to make an impression on the internet. ‘You’ try to leave your mark on the internet. ‘You’ are the people who speak out their hearts on their blogs, post movies for others to watch, try to elaborate the intellectual resources on the internet, or just collaborate with others for social networking.&lt;br /&gt;&lt;br /&gt;‘You’ are trying to make yourself heard. The numerous blogs hosted by Blog*Spot, Wordpress or MSN Spaces depict your views and feelings. The YouTube videos you post surpass all cultural divides and give an opportunity to divulge yourself. These technologies give you a new medium to convey your thoughts and make it heard to others.&lt;br /&gt;&lt;br /&gt;‘You’ are the people volunteering to create large intellectual wealth on the internet. ‘You’ are the people who write open-source softwares, contribute to the compendium of knowledge Wikipedia, share your bookmarked links with others on del.icio.us; thus, making internet an easy to locate information hub.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/4987/1999/1600/850871/you1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/4987/1999/200/212457/you1.jpg" alt="" border="0" /&gt;&lt;/a&gt;‘You’ are narrowing the geographical distances and making a new global community of people. You interact with people with similar interests, find activity partners, make new business contacts or find a date, all on the World Wide Web. The year 2006 saw a huge expansion of the popular social networking sites like MySpace or Orkut. These sites have given a new approach for the people to socialize with others.&lt;br /&gt;&lt;br /&gt;Lev Grossman of the Time Magazine states, “&lt;span style="font-style: italic;"&gt;This is an opportunity to build a new kind of international understanding, not politician to politician, great man to great man, but citizen to citizen, person to person.&lt;/span&gt;” This all has been facilitated with the evolution the World Wide Web, particularly Web2.0.&lt;br /&gt;&lt;br /&gt;Web2.0 is the new generation of the internet. It is focused on adding another dimension to the internet by giving it a ‘human’ edge. It has given rise to some really powerful applications that are user-friendly and allow a common human being to introduce himself on the internet. The Web2.0 revolution has transformed websites from being isolated information silos to becoming sources of content and functionality, thus creating a more organized network of websites on the internet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To read Time Magzine’s complete story, &lt;a href="http://www.time.com/time/magazine/article/0,9171,1569514,00.html"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-116712639492892115?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/116712639492892115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/12/times-person-of-year-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116712639492892115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116712639492892115'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/12/times-person-of-year-you.html' title='Time&apos;s Person of the Year: YOU'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-116690447593013786</id><published>2006-12-23T14:01:00.000-05:00</published><updated>2007-02-03T05:29:58.659-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><category scheme='http://www.blogger.com/atom/ns#' term='search engines'/><title type='text'>Ms. Dewey</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/4987/1999/1600/139329/msdewey_loading.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 185px; height: 241px;" src="http://photos1.blogger.com/x/blogger/4987/1999/320/428147/msdewey_loading.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.msdewey.com/"&gt;Ms. Dewey&lt;/a&gt;: A beautiful young girl welcoming you to a search site asking you to &lt;span style="font-style: italic;"&gt;just tell her&lt;/span&gt; what she can do for you. A rather impatient girl asking about your presence whenever you sit ideal. She takes some time to think and then finds the answers for your query.&lt;br /&gt;&lt;br /&gt;Ms. Dewey is a really entertaining search engine. The site loads with an intro which will vary each time you load it. You put the search term in the regular search box. She would start thinking about your query and makes you wait. Results would be returned in a small popup with Ms. Dewey explaining about it. She changes her mood often. She looks mischievous, happy, sad, bored and sometimes embarrassed, adding to all the fun.&lt;br /&gt;&lt;br /&gt;Ms. Dewey is developed by a San Francisco based design firm, &lt;a href="http://www.evolutionbureau.com/"&gt;Evolution Bureau&lt;/a&gt; for Microsoft. It is a flash-based search engine, which uses the &lt;a href="http://www.live.com/"&gt;Windows Live&lt;/a&gt; search results. An actress helps you out with finding search results adding a "human face" to the online search. It depicts the capabilities of the search engines today. It is another great application of the elite Web 2.0 club. Its a fabulous campaign by Microsoft to promote its Windows Live services.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/4987/1999/1600/330065/msdewey.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/4987/1999/400/704788/msdewey.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.msdewey.com"&gt;Click here&lt;/a&gt; to visit Ms. Dewey.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/status6/sets/72157594404196838/show/"&gt;Click here&lt;/a&gt; to view a SlideShow of images featuring Ms. Dewey.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-116690447593013786?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/116690447593013786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/12/ms-dewey.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116690447593013786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116690447593013786'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/12/ms-dewey.html' title='Ms. Dewey'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115575440180583555</id><published>2006-11-24T05:53:00.000-05:00</published><updated>2007-02-03T05:30:45.657-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology review'/><title type='text'>Wikimapia - Let's describe the whole Earth!</title><content type='html'>&lt;a href="http://wikimapia.org/#y=25000000&amp;amp;x=10000000&amp;z=2&amp;amp;l=0&amp;amp;m=a"&gt;Wikimapia&lt;/a&gt; is a Web 2.0 project to describe the whole planet Earth. It was created by Alexandre Koriakine and Evgeniy Saveliev, inspired by Google maps and Wikipedia.&lt;br /&gt;&lt;br /&gt;Its a great place where you can tag the world map as easily as you can edit the Wikipedia. You can also view Wikimapia places on Google Earth.&lt;br /&gt;&lt;br /&gt;So, try out this service and "Let's describe the whole Earth!".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115575440180583555?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115575440180583555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/11/wikimapia-lets-describe-whole-earth.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115575440180583555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115575440180583555'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/11/wikimapia-lets-describe-whole-earth.html' title='Wikimapia - Let&apos;s describe the whole Earth!'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-116144570550585952</id><published>2006-10-21T03:37:00.000-04:00</published><updated>2007-02-03T05:31:01.708-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orkut'/><title type='text'>Orkut on Diwali</title><content type='html'>&lt;img style="margin: 0px auto 10px; text-align: center; display: block; cursor: pointer;" src="http://photos1.blogger.com/blogger/4987/1999/320/india_holiday.jpg" alt="" border="0" /&gt;&lt;br /&gt;This Diwali, Orkut had a special way to wish it visitors a Happy Diwali with this special logo. Ofcourse, Indians are 3rd largest users of Orkut in the world after Brazil and USA.&lt;br /&gt;&lt;br /&gt;P.S.: You can view Orkut demographics &lt;a href="http://www.orkut.com/MembersAll.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-116144570550585952?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/116144570550585952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/10/orkut-on-diwali.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116144570550585952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116144570550585952'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/10/orkut-on-diwali.html' title='Orkut on Diwali'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-116023992809988890</id><published>2006-10-07T12:52:00.000-04:00</published><updated>2007-02-03T05:31:22.773-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Web 2.0 and Google</title><content type='html'>The internet started with a bunch of small, nice looking, clean websites. Then some more nicer websites were evolved. A few user services like e-mails were added. Websites primarily consisted of static content with some graphics and animations. The &lt;span style="font-style: italic;"&gt;dot com &lt;/span&gt;boom of the late 1990s gave birth to many internet services, such as eShopping, eCommunities etc. Many new organizations came up and grew in this &lt;span style="font-style: italic;"&gt;dot com&lt;/span&gt; revolution.&lt;br /&gt;&lt;br /&gt;Then, with the advance in time, came the need to do more, do better and grow on the web. It was this motivation that lead to the development of Web 2.0. This phrase was coined by O'Reilly Media in 2004 and refers to the second generation of web-based services. The technologies in Web 2.0 add a new dimension to the Internet. Internet, no longer, is just an isolated silo of mere content, but has evolved into a highly efficient tool which provides incredible functionality to end users.&lt;br /&gt;&lt;br /&gt;Web 2.0 applications include blogs, wikis, podcasts, RSS feeds, web APIs, web standards, online web services among others. This is the latest buzzword among various technological communities. Currently, the Web 2.0 standard is not clearly defined and it is difficult make a distinction of a Web 2.0 service. A Web 2.0 website typically involves the use of technologies such as AJAX (Asynchronous JavaScript and XML), CSS (Cascading Style Sheets), XHTML (eXtensible Hyper Text Markup Language), RSS (Really Simple Syndication), Webservice APIs (Application Programming Interface) etc. The key elements of Web 2.0 are supported on the Web Communication protocols such as SOAP (&lt;span style=""&gt;Simple Object Access Protocol), which enable information exchange between different applications.&lt;br /&gt;&lt;br /&gt;The web industry is in a race to take full advantage of these new technologies. The major players include Google, Yahoo and Microsoft. There is a heated competition between these companies to come up with the best web-based services. Many other companies such as eBay, FeedBurner, Wikipedia etc are also using the Web 2.0 platform.&lt;br /&gt;&lt;br /&gt;Google, the leading search engine, is using the Web 2.0 technologies extensively for creating new services for the users. It offers a horde of services based on the Web 2.0 platform including its popular eMail service GMail. Google also offers services such as Froogle (online shopping cart), Analytics (Website Statistics), Page Creator (WebPage builder), Personalized Home, Maps, Groups, Orkut, Blogger etc which are some of the elite members of the Web 2.0 club.&lt;br /&gt;&lt;br /&gt;Google earns most of its revenue from its advertisement program, AdSense. It uses Web 2.0 technologies to display advertisements relevant to the content of the website. It provided Google with a business model, which helped website owners to earn money inturn boosting its own revenue. Google AdSense is one of the most trusted advertisement program on the internet. Advertisers can display their ads using the Google AdWords service.&lt;br /&gt;&lt;br /&gt;This is not the end of Google services. Google Labs, which develops most of the Google services recently came up with an online Spreadsheet package similar to MS-Excel. The advantage of this package is that a spreadsheet can be edited in real-time by multiple users. Google has recently acquired an online WordProcessor, Writely. Writely also supports multi-user, real-time editing. Additionally, it also allows you to transfer documents from your desktop and post your documents directly to your blog. Its a great upgrade from the good old MS-Word. Though, it may not include all the fancies of the MS-Word package but remember most of these services are currently in their beta phase.&lt;br /&gt;&lt;br /&gt;Google is a company which is exploring the Web 2.0 technology the fullest. There may be a time when Google comes up with its own Operating System based on the Web 2.0 platform. We are living in the era where our lives have been 'Googleized' and 'Google&lt;span style="font-style: italic;"&gt;giri&lt;/span&gt;' would certainly prevail.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;P.S.&lt;/span&gt;: This document has been typed on &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a title="Writely" href="http://www.writely.com"&gt;Writely&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, the online word processor by Google, built on Web 2.0 platform. It was a great experience to type and publish this post directly to my blog.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-116023992809988890?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/116023992809988890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/10/web-20-and-google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116023992809988890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116023992809988890'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/10/web-20-and-google.html' title='Web 2.0 and Google'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-116030627404386767</id><published>2006-10-06T13:11:00.000-04:00</published><updated>2007-02-03T05:27:32.002-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><title type='text'>Building Your First Website</title><content type='html'>&lt;p&gt;So you have browsed the web for a while. Seen what is available on the internet and what you can do with it. Now you want to make your own website or want to improve an existing one. This article features the various tips and tricks for development and maintenance of a fully featured website.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;Planning&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Before building a website you should know the purpose of the website. Start by planning about the content and features of your site. Depending upon it, choose a language to program it. If you just need a simple content based site programming in HTML/DHTML would serve the purpose but for a site which require user to input information and to save it you need to use server-side programming languages like PHP, ASP, CGI, SSI, JSP and database support like MySQL, MS-SQL, MS-Access.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Domain Name &amp; Hosting&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Once you have planned the website, its time to choose a domain name and a web hosting service. A domain name should be easy to remember and should depict the topic of the website. There are many websites which register a domain name for a fee. If you want a domain name which is already registered you can use the Whois Lookup service to find out the owner of the domain.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;After registering the domain name you should register with a web server which would host your site. To choose a web hosting service keep in mind the features you require and the programming languages you would use. Also, estimate the amount of space you would require. Usually, there is a fee depending on the features and the space you need. But there are many servers who provide you free hosting, generally placing advertisements on your website.&lt;br /&gt;&lt;a href="http://top3webhosts.blogspot.com"&gt;You can check some hosting providers here&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;br /&gt;&lt;b&gt;Organizing Information&lt;/b&gt; &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Before actually designing the website you should organize the contents of your website. See what content comes where, what should be the sections and sub-sections, where should the user enter the site. The page through which the user enters the website is known as homepage and is generally named as '&lt;i&gt;index.htm&lt;/i&gt;' or '&lt;i&gt;index.html&lt;/i&gt;'.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Designing&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Once you have organized your content start with the designing of the website. First, design the navigation system of your website. A good navigation system should contain all relevant links on all pages of the website. A navigation system could be made using CSS or JavaScript. &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Now, start designing the pages of your website. While designing the pages keep in mind the consistency in design of all the pages. All pages should have the same colour scheme and a similar layout. Also, they should contain links to all major sections of your website.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Uploading the Files&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;All set with your website, its time to upload the file on the internet for others to view. There are many ways to upload the files which vary according to your webhost. An FTP (File Transfer Protocol) is the best and the easiest way to upload your files. Just copy and paste your files on the webserver. Most hosting providers provide you with an easy to use Control Panel to upload files and manage your website. Helm (&lt;i&gt;for Windows&lt;/i&gt;) and cPanel (&lt;i&gt;for Linux&lt;/i&gt;) are some of the good ones.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Testing&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Before spreading the word about your website you should test the performance of your website. Check all links on your website. Check the appearance of your site under different browsers, internet connections and monitor resolutions. If your website uses databases and server-side scripting, check the performance of your script thoroughly to provide a good user experience.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Spreading the Word&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;Once your website is ready to use its time to spread the word. There are many ways to do so. You must submit your websites to popular search engines or use services to do so. Try to exchange links of your website with other webmasters. It would help you increase your rankings. Also, post a link to your website in common interest newsgroups, forums, directories etc. You can also try some PPC (Pay-Per-Click) ad programs in which you pay for the number of hits you get. Also other conventional advertising methods like newpapers, television, banner ads etc. may be used.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Maintenance&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;This is the most important part for running a successful website. You must check that your content and design is upto date. Update your website regularly. See what your competitors are offering and try to stay ahead of them. Survey your visitors about their experience on your website and always try to improve.&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Monetizing Your Website&lt;/b&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;You would have worked hard to design and develop your website. So, why not make some bucks from it. Many commercial establishments would pay you for linking to their website. You may register with ad programs like Google Adsense, which display ads relevant to the content of your website. Also, many sites offer affiliate programs, which pay you high commissions if your visitors buy their products.&lt;/p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;P.S.: This is an year old article written by me, modified to sublit for the college magazine. The old version is available &lt;a href="http://gsmodi.5gigs.com/tips/firstsite.htm"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-116030627404386767?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/116030627404386767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/10/building-your-first-website.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116030627404386767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/116030627404386767'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/10/building-your-first-website.html' title='Building Your First Website'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115779077560517308</id><published>2006-09-09T04:11:00.000-04:00</published><updated>2007-02-03T05:27:50.757-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><title type='text'>Top 3 WebHosts</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://top3webhosts.blogspot.com/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4987/1999/200/top3webhosts.jpg" alt="" border="0" /&gt;&lt;/a&gt;I have designed a new website which features the top 3 webhosts on the internet. It has been created for all those people who are looking for hosting solutions for their websites. A lot of research has been done to select these three webhosts.&lt;br /&gt;&lt;br /&gt;I decided to create this website on blogger. I modified the blogger template to cater my needs and got a great template working on blogger. Modifying a blogger template is an easy task if you understand the custom tags, like &amp;lt;MainOrArchivePage&amp;gt;, &amp;lt;ItemPage&amp;gt;, &amp;lt;Blogger&amp;gt;. Once you study these tags you just need to write the right code between the right tags.&lt;br /&gt;&lt;br /&gt;The site also includes links of websites which provide website templates and scripts. It also includes links to sites which offer the cheapest domain names deals on the internet.&lt;br /&gt;&lt;br /&gt;Do visit this website at: &lt;a href="http://top3webhosts.blogspot.com/"&gt;http://top3webhosts.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115779077560517308?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115779077560517308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/09/top-3-webhosts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115779077560517308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115779077560517308'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/09/top-3-webhosts.html' title='Top 3 WebHosts'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115571814294643846</id><published>2006-08-16T04:21:00.000-04:00</published><updated>2007-12-13T13:51:28.265-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phishing'/><title type='text'>Hacking Yahoo IDs?</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);"&gt;UPDATE: Please don't try this without reading the entire post... I'm trying to make you people aware of this scam... But I have observed that many people are thinking that this stuff is true and trying it out... Please do read the complete post and &lt;span style="font-weight: bold;"&gt;DO NOT TRY THIS&lt;/span&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kqzyfj.com/click-1887138-10459469" target="_blank" onmouseover="window.status='http://www.surveyadventure.com';return true;" onmouseout="window.status=' ';return true;"&gt;&lt;img src="http://www.ftjcfx.com/image-1887138-10459469" width="125" height="125" alt="" border="0" align="right"/&gt;&lt;/a&gt;You must have come across something like this:&lt;br /&gt;&lt;br /&gt;------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;How to Hack a Yahoo ID&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Hey FRIENDS...&lt;br /&gt;A Cool Technique for HACKING YAHOO Passwords...&lt;br /&gt;Just follow the following small set of instructions:&lt;br /&gt;&lt;br /&gt;Click on Compose Mail Button. Write a mail to ppsswwdatabase@yahoo.co.in with subject as Lost Password.&lt;br /&gt;&lt;br /&gt;In the mail write your yahoo id in the first line.&lt;br /&gt;In the second line write your name and last name with one single space in between, it should be exactly the same as you gave at the time of registration.&lt;br /&gt;Write your password in the third line.&lt;br /&gt;Leave one line blank&lt;br /&gt;In the fifth line write the Yahoo Id of the person whose password you want to know.&lt;br /&gt;In the sixth line write his full name.&lt;br /&gt;&lt;br /&gt;An Example is shown below:&lt;br /&gt;&lt;br /&gt;To: ***********@yahoo.com&lt;br /&gt;Subject: Lost Password&lt;br /&gt;&lt;br /&gt;peter_123@yahoo.co.in (Your Yahoo Id)&lt;br /&gt;Peter Matthew (Your Name)&lt;br /&gt;mexico (Your Password)&lt;br /&gt;&lt;br /&gt;mike@yahoo.com (Yahoo Id of the person)&lt;br /&gt;Micheal Andy (Person's name given at the time of registration)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You will receive a mail from Yahoo having the inquired person's password. This works by confusing the server which mistakenly consider you as one of the Yahoo Administrators, enquiring for a Lost Password. Though there are many other ways for hacking passwords, but they do not work. Enjoy this loop-hole till Yahoo rectifies it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jdoqocy.com/click-1887138-10490225" target="_blank" onmouseover="window.status='http://www.box.net';return true;" onmouseout="window.status=' ';return true;"&gt;&lt;img src="http://www.awltovhc.com/image-1887138-10490225" width="250" height="250" alt="Ditch the disks - Get Box.net" border="0" align="right"/&gt;&lt;/a&gt;This piece of text would definitely entice you to try it out. Once to try it, you have send your own password to the hacker eagerly waiting for it. The fraudster had created a false e-mail address '&lt;span style="font-size:85%;"&gt;ppsswwdatabase@yahoo.co.in&lt;/span&gt;' to get your password.&lt;br /&gt;&lt;br /&gt;So, another form of phishing is introduced by these hackers (&lt;span style="font-style: italic;"&gt;technically&lt;/span&gt;, crackers),  &lt;span style="font-weight: bold;"&gt;SOCIAL PHISHING&lt;/span&gt;, socially luring the people to try something out and reveal their personal information.&lt;br /&gt;&lt;br /&gt;This enticed me too, but fortunately, I didn't try it coz it seemed like a scam to me. But a few friends tried this and alas, lost their passwords.&lt;br /&gt;So people, &lt;span style="font-weight: bold;"&gt;BEWARE!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115571814294643846?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115571814294643846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/08/hacking-yahoo-ids.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115571814294643846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115571814294643846'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/08/hacking-yahoo-ids.html' title='Hacking Yahoo IDs?'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115476016898437947</id><published>2006-08-05T02:11:00.000-04:00</published><updated>2007-02-03T05:32:10.066-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>The Common Notepad Bug</title><content type='html'>You must have heard about Notepad bugs, like '&lt;a href="http://gsmodi.blogspot.com/2006/06/another-wierd-windows-bug.html"&gt;Bush hid the facts&lt;/a&gt;' and many such lines, where after saving and reopening the file, the text is converted into rectangular boxes. After examining some more lines, I found that this is a bug which exists for all 4-3-3-5 letter combinations.&lt;br /&gt;&lt;br /&gt;Try it for yourself:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span id="_ctl5__ctl0_ArticleText"&gt;Open Notepad&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="_ctl5__ctl0_ArticleText"&gt;Type 'AAAA BBB CCC DDDDD' (or any other 4-3-3-5 letter combination)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Save it as whatever you want&lt;/li&gt;&lt;li&gt;Close it, and re-open it&lt;/li&gt;&lt;/ol&gt;This is an easter egg worth trying.&lt;br /&gt;&lt;br /&gt;P.S.: Another funny line: 'this app can break'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115476016898437947?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115476016898437947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/08/common-notepad-bug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115476016898437947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115476016898437947'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/08/common-notepad-bug.html' title='The Common Notepad Bug'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115435997801270840</id><published>2006-07-31T11:14:00.000-04:00</published><updated>2007-02-03T05:28:12.984-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sikhism'/><title type='text'>Sikher - Open Source Gurbani Searcher</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4987/1999/1600/sikher.0.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/4987/1999/320/sikher.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.sikher.com/"&gt;Sikher&lt;/a&gt;, the first-ever Open Source Gurbani Researcher is being developed, which will make understanding and reading Gurbani simple through translations and transliterations in multiple languages. The fact that the project is open-source means, that it would be FREE&lt;span style="font-style: italic;"&gt;ly &lt;/span&gt;available for downloading and any developer can contribute to its development by downloading its source code.&lt;br /&gt;&lt;br /&gt;Sikher is a cross-platform desktop program designed to archive, search &amp; display the Sikh scriptures using advanced functions. It shall allow the common person to be able to understand and read the messages contained in the Sikh scriptures through translations and transliterations in multiple languages, thereby breaking the language and geographical barrier between Gurbani and the world forever.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For the developers&lt;/span&gt;: The features Sikher possesses shall also be of interest to the Open Source community because Sikher is a highly versatile, powerful, visually appealing and functional program. Sikher combines the power of Java, Swing, Unicode and XML to create a powerful, robust and high performance application.&lt;br /&gt;&lt;br /&gt;Do support this unique project through any of the following ways:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Bookmarking&lt;/i&gt; &lt;a href="http://www.sikher.com/" title="Add Sikher to Your Favourites"&gt;http://www.sikher.com/&lt;/a&gt; in your favouritesJoining&lt;/li&gt;&lt;li&gt;&lt;i&gt; as a developer or translator&lt;/i&gt; in the &lt;a href="http://sikher.sourceforge.net/section/developers" title="Join as a Sikher Developer or Translator"&gt;Developers&lt;/a&gt; sectionPutting&lt;/li&gt;&lt;li&gt;&lt;i&gt; a link to Sikher&lt;/i&gt; on your website or blog using promotional images and text found in the &lt;a href="http://sikher.sourceforge.net/section/support" title="Support Sikher with Promotions &amp; Donations"&gt;Support&lt;/a&gt; sectionDownloading&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;/i&gt; the Sikher 'Look &amp;amp; Feel' Version from &lt;a href="http://sikher.sourceforge.net/section/downloads" title="Download the Sikher 'Look &amp;amp; Feel' Version"&gt;hereBuying&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt; a product&lt;/i&gt; from &lt;a href="http://www.cafepress.com/sikher" title="The Sikher Online Donation Shop"&gt;The Sikher Online Donation ShopDonating&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;/i&gt; any amount of money directly here to Sikher &lt;a href="https://sourceforge.net/donate/index.php?group_id=117096" title="Donate Any Amount Directly to Sikher"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115435997801270840?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115435997801270840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/07/sikher-open-source-gurbani-searcher.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115435997801270840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115435997801270840'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/07/sikher-open-source-gurbani-searcher.html' title='Sikher - Open Source Gurbani Searcher'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115337752402960227</id><published>2006-07-20T02:38:00.000-04:00</published><updated>2007-02-03T05:33:05.934-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>Yipee! BlogSpot Accessible</title><content type='html'>Finally, BlogSpot is accessible. The first site i opened today at my office where i'm doing summer training was my blog. And was really excited to see that my blog is accessible now. Posted this on Orkut and got another confirmation that it is working on Airtel, Banglore. I just could not resist to write a post about this and share my experiences of the past two days.&lt;br /&gt;&lt;br /&gt;For the past two days, I spent all my time on the internet just getting updates and posting my comments on this issue. I was really shocked when I came to know that BlogSpot has been banned. Even my profile on Orkut contained the message 'BlogSpot banned in India'. I even wrote an e-mail to the President of India and was just planning to file an RTI.&lt;br /&gt;&lt;br /&gt;All this was actually due to the mistake of Indian ISPs. The govenment only ordered them to ban 3 blogs on BlogSpot, while the ISPs banned the full blogspot.com domain. The reason being the technology they use. They were not able to block certain sub-domains which is not very hard to do (I can say that because a similar technology is also use4d in my college where they have blocked just certain subdomains of portals like yahoo).&lt;br /&gt;&lt;br /&gt;Now the fact lies that we can finally access BlogSpot. So, time to party and have fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115337752402960227?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115337752402960227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/07/yipee-blogspot-accessible.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115337752402960227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115337752402960227'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/07/yipee-blogspot-accessible.html' title='Yipee! BlogSpot Accessible'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20124361.post-115322458747664188</id><published>2006-07-18T04:38:00.000-04:00</published><updated>2007-02-03T05:33:22.567-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>BlogSpot Banned in India</title><content type='html'>First the news: "&lt;span style="font-style: italic;"&gt;The central government, reeling under fierce criticism of its response to the Mumbai blasts, has struck a blow at the online community by issuing orders to block blogs across the country. &lt;/span&gt;" - &lt;a href="http://economictimes.indiatimes.com/articleshow/1767836.cms"&gt;Economic Times&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This piece of news has shook the bloggers across the country. Apparently, the Department of Telecommunication (DoT) has directed all ISPs to block certain websites including some at blogspot.com and geocities.com. Though you can still access your blogger dashboard and post new posts but you won't be able to read any blogs hosted on blogspot.com.&lt;br /&gt;&lt;br /&gt;Some ISP officials confirm that they have received a confidential list of sites to be banned. But, there is still no conforming report that all blogs are ordered to be banned in India.&lt;br /&gt;&lt;br /&gt;The news of blogspot being blocked was manifestly released by &lt;a href="http://www.gonomad.com/traveltalesfromindia/2006/07/what-is-up-with-blogspot-blogger-sites.html"&gt;Mridula&lt;/a&gt;, when her ISP spectranet showed a "Site BLOCKED !!!" notice on opening blogspot blogs yesterday. Though I was able to &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;access blogspot till last night on my Airtel connection but started facing problems from today morning.&lt;br /&gt;&lt;br /&gt;This situation is similar to the one that exists in Pakistan and China. In Pakistan blogspot was banned after the Danish cartoon incident, while in China only limited access to internet is available. Does, the Government of India wants to play the same game in India. What about Freedom to Expression?&lt;br /&gt;&lt;br /&gt;So, what can be done? You can file a RTI application under the Right to Information act 2005. For details on how to file an RTI, &lt;a href="http://pkblogs.com/nonedone/2006/07/blogger-has-been-blocked-in-india.html"&gt;click here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you want to access your blog despite of the ban, visit www.pkblogs.com, a site by Pakistani bloggers to help them view their blogs despit the ban. For example, you can access my blog by typing &lt;a href="http://www.pkblogs.com/gsmodi"&gt;www.pkblog.com/gsmodi&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S.: View the comments to dis post for any updates regarding this issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20124361-115322458747664188?l=blog.gsmodi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.gsmodi.com/feeds/115322458747664188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.gsmodi.com/2006/07/blogspot-banned-in-india.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115322458747664188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20124361/posts/default/115322458747664188'/><link rel='alternate' type='text/html' href='http://blog.gsmodi.com/2006/07/blogspot-banned-in-india.html' title='BlogSpot Banned in India'/><author><name>Gurpreet Singh Modi</name><uri>http://www.blogger.com/profile/16786250333251640920</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_0tjSn4G6q3c/SlkNNHsKslI/AAAAAAAAAog/VlB8BTZHKjs/S220/for-blog.jpg'/></author><thr:total>9</thr:total></entry></feed>
