<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0">

<channel>
	<title>Veera Sundar</title>
	
	<link>http://veerasundar.com/blog</link>
	<description>Java, Web and Design</description>
	<lastBuildDate>Tue, 03 Nov 2009 18:09:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/veerasundar/dreamz" type="application/rss+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">veerasundar/dreamz</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>15+ Creative Java applications based on Netbeans Platform</title>
		<link>http://veerasundar.com/blog/2009/11/15-creative-java-applications-based-on-netbeans-platform/</link>
		<comments>http://veerasundar.com/blog/2009/11/15-creative-java-applications-based-on-netbeans-platform/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 18:05:05 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[platform]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=958</guid>
		<description><![CDATA[If you think Netbeans is just an IDE that helps you to build Java/PHP/C++ applications, then change your thoughts. There are numerous GUI applications are built upon the Netbeans platform. Here are some of the creative Netbeans platform based applications for you.
Puzzle GIS &#8211; Maps in your IDE
Puzzle is a Java Geographic Information Systems (GIS) [...]]]></description>
			<content:encoded><![CDATA[<p>If you think <strong>Netbeans </strong>is just an IDE that helps you to build Java/PHP/C++ applications, then change your thoughts. There are numerous GUI applications are built upon the Netbeans platform. Here are some of the <strong>creative Netbeans platform</strong> based applications for you.</p>
<h2>Puzzle GIS &#8211; Maps in your IDE</h2>
<p><strong>Puzzle</strong> is a Java Geographic Information Systems (GIS) development platform built on top of the NetBeans Platform. The main goal of Puzzle GIS is to create a free, production ready and competitive tool as a valid alternative to commercial software.</p>
<p><center><a href="http://puzzle-gis.codehaus.org/"><img  class="aligncenter" title=" - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt=" - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/puzzle.png" width="100%" /></a></center></p>
<h2>OpenMap Twitter Application</h2>
<p>OpenMap Twitter application is an application started in China, with the aim to create a desktop application that integrates OpenMap and Twitter.</p>
<p><center><a href="http://kenai.com/projects/openmaptwitter"><img  class="aligncenter" title="OpenMap Twitter Application - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="OpenMap Twitter Application - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/openmaptwitter.jpg" width="100%" /></a></center></p>
<h2>Analyzer</h2>
<p>Analyzer is Java application for batch file analysis, created at the Faculty of Mathematics and Physics of Charles University in Prague, Czech Republic.The application was developed for XML data but it has no limitations in usage for other types, so it can generally work with any type of document. In addition, Analyzer provides download support which means that analyzing methods can ask for additional documents from the web.</p>
<p><center><a href="http://urtax.ms.mff.cuni.cz/anaxml/"><img  class="aligncenter" title="Analyzer - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="Analyzer - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/analyzer.png" width="100%" /></a></center></p>
<h2>AIOTrade</h2>
<p>AIOTrade is a free, open-source stock technical analysis platform.The tool&#8217;s pluggable architecture is ideal for extensions such as indicators and charts. AIOTrade is a 100% Java stand-alone application built on the NetBeans Platform. The source code is organized as a NetBeans module-suite project.</p>
<p><center><a href="http://aiotrade.com/"><img  class="aligncenter" title="AIOTrade - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="AIOTrade - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/aiotrade.png" width="100%" /></a></center></p>
<h2>FeedReader</h2>
<p>A sample application on the NetBeans Platform, by Rich Unger, used by beginners to the NetBeans Platform while learning about development workflow and API usage. The application is bundled with NetBeans IDE and is found in the Samples category in the New Project wizard.</p>
<p><center><a href="http://platform.netbeans.org/tutorials/nbm-feedreader.html"><img  class="aligncenter" title="FeedReader - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="FeedReader - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/feedreader.png" width="100%" /></a></center></p>
<h2>TimeKeeper</h2>
<p>TimeKeeper is a time recording, accounting, and reporting application designed for the special needs of consultants and programmers in distributed environments. It supports projects of any structure with an unlimited amount of involved companies and project members.</p>
<p><center><a href="http://www.hermannmatthes.de/timekeeper/"><img  class="aligncenter" title="TimeKeeper - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="TimeKeeper - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/timekeeper.png" width="100%" /></a></center></p>
<h2>CashForward</h2>
<p>CashForward provides intuitive ways to track household cash flow and to create and compare spending plans. Although built to offer ease of use for first-time budgeters, CashForward will offer longtime money management software users an intuitive and simple interface for handling family finances.</p>
<p><center><a href="http://code.google.com/p/cashforward/wiki/DeveloperDocs"><img  class="aligncenter" title="CashForward - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="CashForward - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/cashForward.png" width="100%" /></a></center></p>
<h2>BlueMarine</h2>
<p>BlueMarine is an open-source application for digital photo workflow. The blueMarine project provides you with an all-in-one tool for managing your photos, from the shoot up to archiving and beyond. BlueMarine is expandable, platform-independent, and includes specific support for different photographers&#8217; communities, as well as the latest technologies.</p>
<p><center><a href="http://bluemarine.tidalwave.it/"><img  class="aligncenter" title="BlueMarine - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="BlueMarine - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/blueMarine.jpg" width="100%" /></a></center></p>
<h2>Ekspos Image Viewer</h2>
<p>Ekspos is a platform independent Java image viewer from Kiyut Software Indonesia.It supports most popular image format: JPEG, PNG, and GIF, where an additional image format can be added through a Java ImageIO plugin. It consists of 2 parts: a shell browser and a viewer. The Shell browser allows you to navigate your image collection and you&#8217;ll be able to browse images in tree, detail, list, icon and thumbnail view. The viewer provide a progressive view of images with zoom and pan capability.</p>
<p><center><a href="http://www.kiyut.com/products/ekspos/index.html"><img  class="aligncenter" title="Ekspos Image Viewer - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="Ekspos Image Viewer - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/ekspos.png" width="100%" /></a></center></p>
<h2>JFugue Music NotePad</h2>
<p>The JFugue Music NotePad is an open-source project aiming to provide a simple stand-alone application for composing music and generating MIDI files visually. The underlying functionality provided by this application comes from its reliance on the JFugue API, a simple yet powerful set of classes for playing and saving MIDI files. The user interface that is built on top of this API is based on the NetBeans Platform.</p>
<p><center><a href="https://nbjfuguesupport.dev.java.net/source/browse/*checkout*/nbjfuguesupport/www/binary/mnotepad_8April2008.zip"><img  class="aligncenter" title="JFugue Music NotePad - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="JFugue Music NotePad - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/music-notepad.png" width="100%" /></a></center></p>
<h2>MP3 Manager</h2>
<p>MP3 Manager is a music player created by Kai Toedter on top of the NetBeans Platform. It is a showcase of many of the NetBeans Platform features. Intentionally Kai did not focus on business logic, that&#8217;s why he chose to create a very simple application, a little MP3 Manager. Another purpose of this application is that new NetBeans Platform developers can take a look at some example implementations of common use cases.</p>
<p><center><a href="http://max-server.myftp.org/trac/netbeans-mp3m"><img  class="aligncenter" title="MP3 Manager - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="MP3 Manager - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/mp3m.png" width="100%" /></a></center></p>
<h2>Stock Trader Game</h2>
<p> When you begin playing the game, you&#8217;re given a limited amount of money and the goal is to buy low and sell high in order to build your fortune. News stories affect the price of stock and are published at the beginning of each trading day.</p>
<p><center><a href="http://jnb.ociweb.com/jnb/jnbOct2005.html"><img  class="aligncenter" title="Stock Trader Game - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="Stock Trader Game - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/traderGame.png" width="100%" /></a></center></p>
<h2>ThinkingRock</h2>
<p>ThinkingRock is a free, platform-independent Java application for collecting and processing your thoughts. This simple and easy-to-use tool follows the Getting Things Done (GTD) methodology from the best-selling book by David Allen.</p>
<p><center><a href="http://www.thinkingrock.com.au/"><img  class="aligncenter" title="ThinkingRock - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="ThinkingRock - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/thinking-rock-netbeans-rcp.jpg" width="100%" /></a></center></p>
<h2>Java HotSpot Client Compiler Visualizer</h2>
<p>Java HotSpot Client Compiler Visualizer is a tool which displays the graphs of the client compiler. It records intermediate states of the graph during the compilation of a method. The user can then navigate through the graph and apply rule-based filters that change the appearance of the graph.The tool calculates an approximation of the control flow to cluster the nodes of the graph into blocks. Using a visual representation of the data structures speeds up debugging and helps understand the code of the compiler.</p>
<p><center><a href="http://netbeans.dzone.com/articles/becoming-a-netbeans-platform-t"><img  class="aligncenter" title="Java HotSpot Client Compiler Visualizer - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="Java HotSpot Client Compiler Visualizer - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/hotspot.gif" width="100%" /></a></center></p>
<h2>Java VisualVM</h2>
<p>Java VisualVM is a light-weight visual tool that combines a variety of existing JDK software tools for application profiling and monitoring. Use it to monitor a Java application&#8217;s memory consumption and threads, profile performance and memory allocation, analyze thread dumps, heap dumps, core dumps, and much more.</p>
<p><center><a href="https://visualvm.dev.java.net/"><img  class="aligncenter" title="Java VisualVM - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="Java VisualVM - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/visualvm-profiling.png" width="100%" /></a></center></p>
<h2>Last, but not the least, Netbeans IDE</h2>
<p>NetBeans IDE is a free, open-source Integrated Development Environment for software developers. You get all the tools you need to create professional desktop, enterprise, web, and mobile applications with the Java language, C/C++, and even dynamic languages such as PHP, JavaScript, Groovy, and Ruby.</p>
<p><center><a href="http://www.netbeans.org/"><img  class="aligncenter" title="Netbeans IDE - Creative Java application based on Netbeans Platform" border="0" hspace="0" alt="Netbeans IDE - Creative Java application based on Netbeans Platform" src="http://i187.photobucket.com/albums/x201/talktoveera/nb.png" width="100%" /></a></center></p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=958&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F11%2F15-creative-java-applications-based-on-netbeans-platform%2F&amp;linkname=15%2B%20Creative%20Java%20applications%20based%20on%20Netbeans%20Platform">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/" title="Log4j MDC (Mapped Diagnostic Context) : Example code">Log4j MDC (Mapped Diagnostic Context) : Example code</a></li><li><a href="http://veerasundar.com/blog/2009/10/log4j-mdc-mapped-diagnostic-context-what-and-why/" title="Log4j MDC (Mapped Diagnostic Context) : What and Why">Log4j MDC (Mapped Diagnostic Context) : What and Why</a></li><li><a href="http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/" title="How to create a new log file for each time the application runs?">How to create a new log file for each time the application runs?</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-additivity-what-and-why/" title="Log4j Tutorial: Additivity &#8211; what and why?">Log4j Tutorial: Additivity &#8211; what and why?</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-how-to-send-log-messages-to-different-log-files/" title="Log4j Tutorial : How to send log messages to different log files?">Log4j Tutorial : How to send log messages to different log files?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/11/15-creative-java-applications-based-on-netbeans-platform/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Log4j MDC (Mapped Diagnostic Context) : Example code</title>
		<link>http://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/</link>
		<comments>http://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 17:32:40 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[log4j]]></category>
		<category><![CDATA[mdc]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=952</guid>
		<description><![CDATA[As a continuation of my previous post about Log4j MDC (Mapped Diagnostic Context), here&#8217;s a fully working code sample explaining the concept. This is a simple example where we have a one servlet and one filter. The filter intercepts each and every request and put the user name in the MDC.
The Simple Servlet Class

package com.veerasundar.code.log4jmdc;

import [...]]]></description>
			<content:encoded><![CDATA[<p>As a continuation of my previous post about <a title="Log4j MDC (Mapped Diagnostic Context) : What and Why" href="http://veerasundar.com/blog/2009/10/log4j-mdc-mapped-diagnostic-context-what-and-why/">Log4j MDC (Mapped Diagnostic Context)</a>, here&#8217;s a fully working code sample explaining the concept. This is a simple example where we have a one servlet and one filter. The filter intercepts each and every request and put the user name in the MDC.</p>
<h2>The Simple Servlet Class</h2>
<pre class="brush:java">
package com.veerasundar.code.log4jmdc;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

/**
 * A good-for-nothing servlet which is just writing few messages to the logger
 * object. Since we've configured in the log4j.properties file to include the
 * userName, taken from MDC, every message will be appended with the user name
 * that is set from the AuthenticationFilter
 *
 * @author veerasundar.com/blog
 */
public class Log4jMdcDemo extends HttpServlet {

	private static Logger logger = Logger.getLogger(Log4jMdcDemo.class);

	private static final long serialVersionUID = 1L;

	public Log4jMdcDemo() {
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doService(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doService(request, response);
	}

	protected void doService(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		logger.info("This is  demo for the Log4j MDC concept");
		logger.info("From Veerasundar.com/blog");
		logger.debug("Just some sample messages");
	}
}
</pre>
<h2>A Filter to put the user name in MDC for every request call</h2>
<pre class="brush:java">
package com.veerasundar.code.log4jmdc;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.log4j.MDC;

/**
 * An example authentication filter which is used to intercept all the requests
 * for fetching the user name from it and put the user name to the Log4j Mapped
 * Diagnostic Context (MDC), so that the user name could be used for
 * differentiating log messages.
 *
 * @author veerasundar.com/blog
 *
 */
public class AuthenticationFilter implements Filter {

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {

		try {
			/*
			 * This code puts the value "userName" to the Mapped Diagnostic
			 * context. Since MDc is a static class, we can directly access it
			 * with out creating a new object from it. Here, instead of hard
			 * coding the user name, the value can be retrieved from a HTTP
			 * Request object.
			 */
			MDC.put("userName", "veera");

			chain.doFilter(request, response);

		} finally {
			MDC.remove("userName");
		}

	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
	}

	@Override
	public void destroy() {
	}

}
</pre>
<h2>Web.xml file to glue together Servlet and Filter</h2>
<pre class="brush:xml">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;web-app id=&quot;WebApp_ID&quot; version=&quot;2.4&quot;
	xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot;&gt;
	&lt;servlet&gt;
		&lt;description&gt;
		&lt;/description&gt;
		&lt;display-name&gt;Log4jMdcDemo&lt;/display-name&gt;
		&lt;servlet-name&gt;Log4jMdcDemo&lt;/servlet-name&gt;
		&lt;servlet-class&gt;com.veerasundar.code.log4jmdc.Log4jMdcDemo&lt;/servlet-class&gt;
	&lt;/servlet&gt;
	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;Log4jMdcDemo&lt;/servlet-name&gt;
		&lt;url-pattern&gt;/Log4jMdcDemo&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;

	&lt;filter&gt;
		&lt;filter-name&gt;AuthFilter&lt;/filter-name&gt;
		&lt;filter-class&gt;com.veerasundar.code.log4jmdc.AuthenticationFilter&lt;/filter-class&gt;
	&lt;/filter&gt;

	&lt;filter-mapping&gt;
		&lt;filter-name&gt;AuthFilter&lt;/filter-name&gt;
		&lt;url-pattern&gt;/*&lt;/url-pattern&gt;
	&lt;/filter-mapping&gt;

&lt;/web-app&gt;
</pre>
<h2>Log4j.properties file which uses the data present in MDC</h2>
<pre class="brush:java">

# sample log4j.properties file, explaining log4j MDC concept
# author: veerasundar.com/blog

log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout

#note the %X{userName} - this is how you fetch data from Mapped Diagnostic Context (MDC)
log4j.appender.consoleAppender.layout.ConversionPattern = %-4r [%t] %5p %c %x - %m - %X{userName}%n

log4j.rootLogger = DEBUG, consoleAppender
</pre>
<p>I hope that code explains the concept of MDC. Do let me know if you have any questions/suggestions in the comments.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=952&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F11%2Flog4j-mdc-mapped-diagnostic-context-example-code%2F&amp;linkname=Log4j%20MDC%20%28Mapped%20Diagnostic%20Context%29%20%3A%20Example%20code">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/10/log4j-mdc-mapped-diagnostic-context-what-and-why/" title="Log4j MDC (Mapped Diagnostic Context) : What and Why">Log4j MDC (Mapped Diagnostic Context) : What and Why</a></li><li><a href="http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/" title="How to create a new log file for each time the application runs?">How to create a new log file for each time the application runs?</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-additivity-what-and-why/" title="Log4j Tutorial: Additivity &#8211; what and why?">Log4j Tutorial: Additivity &#8211; what and why?</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-how-to-send-log-messages-to-different-log-files/" title="Log4j Tutorial : How to send log messages to different log files?">Log4j Tutorial : How to send log messages to different log files?</a></li><li><a href="http://veerasundar.com/blog/2009/07/log4j-tutorial-how-to-send-the-log-messages-to-a-file/" title="Log4j Tutorial : How to send the log messages to a File">Log4j Tutorial : How to send the log messages to a File</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Fans – Get ready to gear up for celebrating 5 years of Firefox</title>
		<link>http://veerasundar.com/blog/2009/10/firefox-fans-get-ready-to-gear-up-for-celebrating-5-years-of-firefox/</link>
		<comments>http://veerasundar.com/blog/2009/10/firefox-fans-get-ready-to-gear-up-for-celebrating-5-years-of-firefox/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:18:49 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[celebration]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox5]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=944</guid>
		<description><![CDATA[The much loved Firefox browser is going to complete its 5 years on coming November 9th. In order to celebrate this milestone, the Mozilla team had kicked off a campaign, themed on the Firefox and Light. The campaign is named as &#8220;Light the World with Firefox&#8221; and Mozilla team invites the developers around the world [...]]]></description>
			<content:encoded><![CDATA[<p>The much loved Firefox browser is going to <a title="Light the World with Firefox - celebrating five years of Firefox" href="http://blog.mozilla.com/blog/2009/10/27/light-the-world-with-firefox/">complete its 5 years</a> on coming November 9th. In order to celebrate this milestone, the Mozilla team had kicked off a campaign, themed on the Firefox and Light. The campaign is named as <strong>&#8220;Light the World with Firefox&#8221; </strong>and Mozilla team invites the developers around the world for putting up a creative use of Firefox logo and Light.</p>
<p>Here&#8217;s <strong>what you need to do</strong> : come up with a creative use of Firefox logo with the Light and share your pictures/videos in Flickr with the tag <strong>Firefox5</strong>.</p>
<p><strong>And the reward? </strong>the submissions will be featured on a special Firefox 5 celebration site and the best ones will be rewarded with Firefox valuables.</p>
<p>Alternatively, you can wear a <a title="Firefox 5 years - Twibbon" href="http://twibbon.com/cause/Firefox-5th-Anniversary">twibbon </a>and join a <a title="Firefox 5 years - Facebook Group" href="http://www.facebook.com/group.php?gid=151116234684">Facebook group</a>, if you do not wish to take part in the creative contest!</p>
<p>So, why waiting? Lets get started to celebrate <strong>5 years of Firefox!</strong></p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=944&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Ffirefox-fans-get-ready-to-gear-up-for-celebrating-5-years-of-firefox%2F&amp;linkname=Firefox%20Fans%20%26%238211%3B%20Get%20ready%20to%20gear%20up%20for%20celebrating%205%20years%20of%20Firefox">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/10/firefox-3-6-to-support-web-open-font-format/" title="Firefox 3.6 to support Web Open Font Format">Firefox 3.6 to support Web Open Font Format</a></li><li><a href="http://veerasundar.com/blog/2009/08/firefox-3-6-alpha-version-is-now-available-for-download/" title="Firefox 3.6 Alpha version is now available for download">Firefox 3.6 Alpha version is now available for download</a></li><li><a href="http://veerasundar.com/blog/2009/07/mozilla-releases-a-critical-patch-for-firefox-3-5/" title="Mozilla releases a critical patch for Firefox 3.5">Mozilla releases a critical patch for Firefox 3.5</a></li><li><a href="http://veerasundar.com/blog/2009/07/downloadable-fonts-in-firefox-35/" title="Downloadable fonts in Firefox 3.5">Downloadable fonts in Firefox 3.5</a></li><li><a href="http://veerasundar.com/blog/2009/07/closing-the-last-tab-in-firefox-35/" title="Closing the last tab in Firefox 3.5">Closing the last tab in Firefox 3.5</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/firefox-fans-get-ready-to-gear-up-for-celebrating-5-years-of-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log4j MDC (Mapped Diagnostic Context) : What and Why</title>
		<link>http://veerasundar.com/blog/2009/10/log4j-mdc-mapped-diagnostic-context-what-and-why/</link>
		<comments>http://veerasundar.com/blog/2009/10/log4j-mdc-mapped-diagnostic-context-what-and-why/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 08:48:47 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[log4j]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[mdc]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=937</guid>
		<description><![CDATA[I hope that Log4j does not need any introduction and I assume that you already have basic understanding of Log4j. If not, I&#8217;ll recommend you to first read this Log4j Tutorial, to get a understanding.
That said, now I&#8217;ll start with MDC or Mapped Diagnostic Context. Don&#8217;t get scared with this name! MDC is not that [...]]]></description>
			<content:encoded><![CDATA[<p>I hope that <em>Log4j</em> does not need any introduction and I assume that you already have basic understanding of Log4j. If not, I&#8217;ll recommend you to first read this <a title="Log4j Tutorial" href="http://veerasundar.com/blog/2009/07/log4j-tutorial-adding-log4j-logging-to-your-project/">Log4j Tutorial</a>, to get a understanding.</p>
<p>That said, now I&#8217;ll start with MDC or <em>Mapped Diagnostic Context</em>. Don&#8217;t get scared with this name! MDC is not that tough. It&#8217;s a simple yet useful concept. Before I explain what is MDC, lets assume that we are going to develop a simple web application with one servlet <em>&#8216;MyServlet&#8217;</em> servicing requests from multiple clients. And, this servlet uses log4j framework for logging. A file appender has been defined for this servlet, so all the log messages will be logged into a text file.</p>
<p>With the above said configuration, all the log messages from <em>MyServlet </em>will go into a single log file. And when this servlet is serving <strong>more than one clients</strong> <strong>at the same time</strong>, the log statements will be mixed and there&#8217;s  no way to differentiate which log statement is belongs to which client&#8217;s processing. This&#8217;ll make it difficult to trace and debug if any processing error occured in <em>MyServlet </em>life cycle.</p>
<h2>How to differentiate log statements with respective to each clients?</h2>
<p>To avoid the log statements mix-in, we could add a <em>user name</em> (or some other data which will be unique to each client) to our log statements. To do this, we have to make sure that we pass this <em>user name </em>data explicitley to each and every log statements, which is a tedious and repetitive work. But, no need to worry! Log4j has an excellent way to overcome this. It&#8217;s called as <strong>MDC or Mapped Diagnostic Context.</strong></p>
<h2>So, What is Log4j MDC (Mapped Diagnostic Context)</h2>
<p>To put is simple, the MDC is a map which stores the context data of the particular thread where the context is running. To explain it, come back to our simple application &#8211; every client request will be served by different thread of the <em>MyServlet</em>. So, if you use log4j for logging, then each thread can have it&#8217;s own MDC which is  <strong>global to the entire thread.</strong> Any code which is part of that thread can easily access the values that are present in thread&#8217;s MDC.</p>
<p>So, how do we make MDC to differentiate logging statements from multiple clients? Simple : Before starting any business process in your code, get the user name (for our Servlet, we can get it from <em>request </em>object) and put that into MDC. Now the <em>user name </em>will be available to the further processing. In your <em>log4j.properties </em>while defining the &#8216;conversionPattern&#8217;, add a pattern <strong>%X{key} </strong>to retrievce the values that are present in the MDC. The key will be &#8216;userName&#8217; in our example. It&#8217;s like getting a value from a Session object.</p>
<p>In my next post, I&#8217;ll give the source code for the same example that I used in this post. So, <a title="Subscriibe to this blog feed" href="http://veerasundar.com/blog/feed">keep Watching!</a></p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=937&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Flog4j-mdc-mapped-diagnostic-context-what-and-why%2F&amp;linkname=Log4j%20MDC%20%28Mapped%20Diagnostic%20Context%29%20%3A%20What%20and%20Why">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/" title="Log4j MDC (Mapped Diagnostic Context) : Example code">Log4j MDC (Mapped Diagnostic Context) : Example code</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-additivity-what-and-why/" title="Log4j Tutorial: Additivity &#8211; what and why?">Log4j Tutorial: Additivity &#8211; what and why?</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-how-to-send-log-messages-to-different-log-files/" title="Log4j Tutorial : How to send log messages to different log files?">Log4j Tutorial : How to send log messages to different log files?</a></li><li><a href="http://veerasundar.com/blog/2009/07/log4j-tutorial-adding-log4j-logging-to-your-project/" title="Log4j Tutorial : Adding Log4j logging to your project">Log4j Tutorial : Adding Log4j logging to your project</a></li><li><a href="http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/" title="How to create a new log file for each time the application runs?">How to create a new log file for each time the application runs?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/log4j-mdc-mapped-diagnostic-context-what-and-why/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beware of this fraudulent email that offers you a Job at Wipro and asks you 7000 bucks!</title>
		<link>http://veerasundar.com/blog/2009/10/beware-of-this-fraudulent-email-that-offers-you-a-job-at-wipro-and-asks-you-7000-bucks/</link>
		<comments>http://veerasundar.com/blog/2009/10/beware-of-this-fraudulent-email-that-offers-you-a-job-at-wipro-and-asks-you-7000-bucks/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 16:53:43 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[off-topic]]></category>
		<category><![CDATA[email-fraud]]></category>
		<category><![CDATA[wipro]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=894</guid>
		<description><![CDATA[There are hundreds of SPAM emails that hit my Gmail box everyday, but this one got my attention. The email offered me a job at Wipro and asked me to deposit RS 7850 for getting the job offer(what the heck!). I&#8217;m quoting the exact lines from the email that I&#8217;d received.
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
Dear Applicant
This is inform you [...]]]></description>
			<content:encoded><![CDATA[<p>There are hundreds of SPAM emails that hit my Gmail box everyday, but this one got my attention. The email offered me a job at Wipro and asked me to deposit RS 7850 for getting the job offer(what the heck!). I&#8217;m quoting the exact lines from the email that I&#8217;d received.</p>
<blockquote><p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Dear Applicant<br />
This is inform you that your  Resume has been short listed from Naukri.com and after our hrd had been short list you in the company ,so read carefully the attachment file .</p>
<p>Thank you<br />
Sonali puri<br />
WIPRO INFOTECH INDIA</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p></blockquote>
<p>And here are the two offer letters (images!?) that I&#8217;d received (click on the image to read it clear).</p>
<p style="text-align: center;"><a href="http://i187.photobucket.com/albums/x201/talktoveera/WIPRO.jpg"><img class="alignnone" style="float:left;" title="fraudulent offer letter" src="http://i187.photobucket.com/albums/x201/talktoveera/WIPRO.jpg" alt="" width="300" /></a> <a href="http://i187.photobucket.com/albums/x201/talktoveera/WIPRO1.jpg"><img class="alignnone" title="fraudulent offer letter" src="http://i187.photobucket.com/albums/x201/talktoveera/WIPRO1.jpg" alt="" width="300" /></a></p>
<p style="text-align: left;">And some funny things that I noticed in this SPAM/fraud email:</p>
<ul>
<li>It says that my profile got selected, with out me applying for it. Looks like the so-called-recruiter is desperate to hire people!</li>
<li>Who in the world sends the offer letter as JPEG images!? The sender of the email must be proficient in MS Paint.</li>
<li>If you read the offer letter (or image, whatever it is!), you could easily spot lots of grammatical errors. The only point behind this email was to make the person pay the money and all the sentences in that letter revolved around this point.</li>
<li>It asks me to deposit RS 7850 to some bank account. I really want to know what&#8217;s the math behind the amount RS 7850. Why not a 6000 or 7000!? Why exactly is it 7850!? <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>The Wipro logo in the attached images. Just by looking at the logo you can know that this is a fraudulent email. It seems like the sender didn&#8217;t get a good Wipro at better resolution in the net. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li>The letter has several email addresses but none of which belongs to the <em>@wipro.com </em>address space. Funny, isn&#8217;t it? And the sendes claims he/she works at Wipro as a HR!!</li>
</ul>
<p>How the sender of this email thinks that there&#8217;ll be anyone who&#8217;ll fall for his/her tricks? Are we so dumb, not to identify this kinda emails? Better luck next time, Guys!</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=894&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Fbeware-of-this-fraudulent-email-that-offers-you-a-job-at-wipro-and-asks-you-7000-bucks%2F&amp;linkname=Beware%20of%20this%20fraudulent%20email%20that%20offers%20you%20a%20Job%20at%20Wipro%20and%20asks%20you%207000%20bucks%21">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/10/google-friend-connect-an-invite-to-join-my-community/" title="Google Friend Connect : An invite to join my community ">Google Friend Connect : An invite to join my community </a></li><li><a href="http://veerasundar.com/blog/2009/10/books-and-some-more-books/" title="Books and some more books">Books and some more books</a></li><li><a href="http://veerasundar.com/blog/2009/09/tales-from-mangalore-the-coastal-city-of-karnataka/" title="Tales from Mangalore &#8211; The Coastal City of Karnataka">Tales from Mangalore &#8211; The Coastal City of Karnataka</a></li><li><a href="http://veerasundar.com/blog/2009/09/introducing-the-new-theme-for-my-blog/" title="Introducing the new theme for my blog">Introducing the new theme for my blog</a></li><li><a href="http://veerasundar.com/blog/2009/09/google-adsense-payment-recieved/" title="Google Adsense payment recieved :-)">Google Adsense payment recieved :-)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/beware-of-this-fraudulent-email-that-offers-you-a-job-at-wipro-and-asks-you-7000-bucks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Friend Connect : An invite to join my community</title>
		<link>http://veerasundar.com/blog/2009/10/google-friend-connect-an-invite-to-join-my-community/</link>
		<comments>http://veerasundar.com/blog/2009/10/google-friend-connect-an-invite-to-join-my-community/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 12:21:10 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[off-topic]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[friend-connect]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=884</guid>
		<description><![CDATA[
Ever since I started this blog, I used to get feedback from my readers through comments and Emails. Some are positive, some are negative and some asking me to clarify some doubts in my posts and some personal stuffs too. As of today, this blog has a total count of 637 comments for 150 posts, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-891" title="community" src="http://veerasundar.com/blog/wp-content/uploads/2009/10/community.jpg" alt="community" width="400" height="169" /></p>
<p>Ever since I started this blog, I used to get feedback from my readers through comments and Emails. Some are positive, some are negative and some asking me to clarify some doubts in my posts and some personal stuffs too. As of today, this blog has a total count of <strong>637 comments for 150 posts</strong>, which is not bad count for a Java blog, I think.</p>
<p>A blog&#8217;s success lies in the <strong>community</strong> that the blog creats and the <strong>interaction</strong> between it&#8217;s community. On the later part, my blog is doing quite well, providing the readers the option to voice your opinion through comments. I&#8217;ve seen in some of the blogs where the authors delibarately rejects any comments, even a valid one, just for keeping the page rank up. But, I&#8217;ve never done any such things in this blog, because your opinion is as important as of mine. I thank all my readers for giving valuable feedback through comments and Emails.</p>
<p>Now I&#8217;ve started focusing on  the first part of <strong>creating community</strong>. Google has a widget named <strong>Friend Connect</strong>, for helping the blog authors to build a community for their blog. I&#8217;ve added this widget to my blog, which you can see in the <strong>top right section of the sidebar</strong>. So, when you join this site, you&#8217;re automatically subscribing to the feed of this blog and apart from that your gravatar will be shown on the FriendConnect widget of this blog.</p>
<p>Consider this post as an <strong>open invite</strong> to join my community. And, if you like, few other ways to get in touch: <a title="Follow me on Twitter" href="http://twitter.com/vraa">Twitter</a> | <a title="Subscriibe to this blog feed" href="http://veerasundar.com/blog/feed">RSS Feed</a></p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=884&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Fgoogle-friend-connect-an-invite-to-join-my-community%2F&amp;linkname=Google%20Friend%20Connect%20%3A%20An%20invite%20to%20join%20my%20community">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/09/google-adsense-payment-recieved/" title="Google Adsense payment recieved :-)">Google Adsense payment recieved :-)</a></li><li><a href="http://veerasundar.com/blog/2009/10/beware-of-this-fraudulent-email-that-offers-you-a-job-at-wipro-and-asks-you-7000-bucks/" title="Beware of this fraudulent email that offers you a Job at Wipro and asks you 7000 bucks!">Beware of this fraudulent email that offers you a Job at Wipro and asks you 7000 bucks!</a></li><li><a href="http://veerasundar.com/blog/2009/10/google-wave-experience/" title="Google Wave Experience">Google Wave Experience</a></li><li><a href="http://veerasundar.com/blog/2009/10/why-google-wave-invites-are-not-sent-immediately/" title="Why Google Wave Invites are not sent immediately?">Why Google Wave Invites are not sent immediately?</a></li><li><a href="http://veerasundar.com/blog/2009/10/google-wave-screenshots-and-invites/" title="Google Wave &#8211; Screenshots and Invites">Google Wave &#8211; Screenshots and Invites</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/google-friend-connect-an-invite-to-join-my-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 3.6 to support Web Open Font Format</title>
		<link>http://veerasundar.com/blog/2009/10/firefox-3-6-to-support-web-open-font-format/</link>
		<comments>http://veerasundar.com/blog/2009/10/firefox-3-6-to-support-web-open-font-format/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 17:29:18 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox3.6]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[woff]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=878</guid>
		<description><![CDATA[Remember when Firefox 3.5 was released, it added support for the downloadable font in Firefox!? It gave the web developers the flexibility to use any font as they wish, with out worrying about the availability of that custom font in user&#8217;s system. They just need to mention the URL of the font in their CSS [...]]]></description>
			<content:encoded><![CDATA[<p>Remember when Firefox 3.5 was released, it added <a title="Downloadable font support in Firefox" href="http://veerasundar.com/blog/2009/07/downloadable-fonts-in-firefox-35/">support for the downloadable font in Firefox</a>!? It gave the web developers the flexibility to use any font as they wish, with out worrying about the availability of that custom font in user&#8217;s system. They just need to mention the URL of the font in their CSS definitions and the browser (FF) will download the font and renders the page. Firefox 3.5 supported the linking of TrueType and OpenType fonts alone.</p>
<p>From Firefox 3.6 onwards, Mozilla adds the ability to link <strong><a title="Mozilla Supports Web Open Font Format" href="http://blog.mozilla.com/blog/2009/10/20/mozilla-supports-web-open-font-format/">Web Open Font Format (WOFF)</a></strong> from your CSS files. The WOFF is mostly similar to the OpenType/TrueType fonts, except that its in compressed format. So, it reduces the download time.</p>
<h2>How to link Web Open Font Format in your pages?</h2>
<p>If you want to use Web Open Font Format, the way to link is similar to linking other downloadable font format. You mention it in @font-face tag. Below is the sample code for linking Web Open Font Format:</p>
<pre lang="css">@font-face {
  font-family: MyFont;
  src: url(my-font.woff) format("woff");
}

body{
  font-family:MyFont,Arial;
}</pre>
<p>WOFF is going to be supported from Firefox 3.6 onwards. In the meantime, you can test it in <a title="Firefox Nightly Builds" href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">Firefox Nightly builds</a>, if you want to see how it works.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=878&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Ffirefox-3-6-to-support-web-open-font-format%2F&amp;linkname=Firefox%203.6%20to%20support%20Web%20Open%20Font%20Format">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/08/firefox-3-6-alpha-version-is-now-available-for-download/" title="Firefox 3.6 Alpha version is now available for download">Firefox 3.6 Alpha version is now available for download</a></li><li><a href="http://veerasundar.com/blog/2009/10/firefox-fans-get-ready-to-gear-up-for-celebrating-5-years-of-firefox/" title="Firefox Fans &#8211; Get ready to gear up for celebrating 5 years of Firefox">Firefox Fans &#8211; Get ready to gear up for celebrating 5 years of Firefox</a></li><li><a href="http://veerasundar.com/blog/2009/07/mozilla-releases-a-critical-patch-for-firefox-3-5/" title="Mozilla releases a critical patch for Firefox 3.5">Mozilla releases a critical patch for Firefox 3.5</a></li><li><a href="http://veerasundar.com/blog/2009/07/downloadable-fonts-in-firefox-35/" title="Downloadable fonts in Firefox 3.5">Downloadable fonts in Firefox 3.5</a></li><li><a href="http://veerasundar.com/blog/2009/07/closing-the-last-tab-in-firefox-35/" title="Closing the last tab in Firefox 3.5">Closing the last tab in Firefox 3.5</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/firefox-3-6-to-support-web-open-font-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upgrading to Reliance Broadband plus from the old Reliance Netconnect</title>
		<link>http://veerasundar.com/blog/2009/10/upgrading-to-reliance-broadband-plus-from-the-old-reliance-netconnect/</link>
		<comments>http://veerasundar.com/blog/2009/10/upgrading-to-reliance-broadband-plus-from-the-old-reliance-netconnect/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 16:26:13 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[broadband]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[netconnect]]></category>
		<category><![CDATA[reliance]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=874</guid>
		<description><![CDATA[I was amongst the first few members who took the Reliance Netconnect 1x connection, when it got introduced in my locality. It was around 2.5 years back. From then  I was using Reliance Netconnect and I was pretty much satisfied with its performance. Mainly because I was not using internet for any download purpose. [...]]]></description>
			<content:encoded><![CDATA[<p>I was amongst the first few members who took the Reliance Netconnect 1x connection, when it got introduced in my locality. It was around 2.5 years back. From then  I was using Reliance Netconnect and I was pretty much satisfied with its performance. Mainly because I was not using internet for any download purpose. So, the slow speed 1x connection was suffice, then.</p>
<p>Recently a big change has happened in Indian Broadband sector. All major wireless internet providers have introduced new wireless broadband schemes. Tata has brought <a title="Tata Photon Plus is a new Mobile Broadband Service. Tata Photon+ - the next generation technology offers a great mobile internet connectivity solution. With Tata Photon Plus you now have access to the internet at never before speeds" href="http://www.tataindicom.com/HSIA-photon-usb.aspx">Photon+</a>, Airtel has <a title="Airtel Broadband Services, India's most preferred high-speed Internet service, redefines your Internet experience. It is fast, fun, convenient and cost effective." href="http://www.airtel.in/wps/wcm/connect/airtel.in/Airtel.In/Home/ForYou/Broadband+Internet/">Airtel Broadband</a> and Reliance introduced <a title="Reliance Broadband+" href="http://www.rcom.co.in/Communications/rcom/RNetconnect/netconnect_broadband.html">Broadband Plus</a>. All are wireless broadband connections with USB modem.</p>
<p>I was not sure whether it was a coincident or not that ever since Reliance Broadband plus came into picture, my already-slower existing Netconnect went slower than the usual speed. May be it could be the strategy from Reliance to force the old connection users to the Broadband plus. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Whatever it is, I decided to switch to broadband. The increased speed was one reason. And, Reliance gave an RS 250/month offer to all user who <strong>upgrade their 1x connection to broadband</strong>.  So, if your plan costs you 850/month, you only needs to pay 600. And this offers is valid for one year. So the total money comes around RS 3000. But the USB modem costs only RS 3500. So, you almost get your money back (with a catch of 1 year waiting time, anyway!). Pretty good deal, though.</p>
<p>So, I switched to Reliance Broadband plus and have been using it for the past two weeks. I&#8217;m very pleased with the speed it gives. The signal strength is pretty good in my locality, so I&#8217;m almost getting the higher bandwidth speed at all the times. The upload speed is also very good, even though I don&#8217;t upload much. The Reliance dialer has a slick UI, which is not at all connected anyway with the speed/performance. But, I like to mention about the UI here. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you are in India and want to get a wireless broadband connection, <strong>I&#8217;ll recommend Reliance Broadband Plus </strong>to you.</p>
<p>If you are using any other broadband connection (such as Photon+, etc), feel free to comment on their performance. I&#8217;ll be happy to hear about them too.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=874&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Fupgrading-to-reliance-broadband-plus-from-the-old-reliance-netconnect%2F&amp;linkname=Upgrading%20to%20Reliance%20Broadband%20plus%20from%20the%20old%20Reliance%20Netconnect">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/10/google-wave-experience/" title="Google Wave Experience">Google Wave Experience</a></li><li><a href="http://veerasundar.com/blog/2009/08/bhuvan-indias-geomapping-online-portal-screenshots/" title="Bhuvan &#8211; India&#8217;s GeoMapping online Portal [Screenshots]">Bhuvan &#8211; India&#8217;s GeoMapping online Portal [Screenshots]</a></li><li><a href="http://veerasundar.com/blog/2009/07/xampp-apache-mysql-php-perl-environment-in-windows/" title="XAMPP &#8211; Apache, MySQL, PHP, Perl environment in Windows ">XAMPP &#8211; Apache, MySQL, PHP, Perl environment in Windows </a></li><li><a href="http://veerasundar.com/blog/2009/05/download-internet-explorer-8-optimized-version-for-google/" title="Download Internet Explorer 8 &#8211; optimized version for Google">Download Internet Explorer 8 &#8211; optimized version for Google</a></li><li><a href="http://veerasundar.com/blog/2009/04/mockup-screens-a-review/" title="Mockup Screens &#8211; A Review">Mockup Screens &#8211; A Review</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/upgrading-to-reliance-broadband-plus-from-the-old-reliance-netconnect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ignited PHP development with CodeIgniter</title>
		<link>http://veerasundar.com/blog/2009/10/ignited-php-development-with-codeigniter/</link>
		<comments>http://veerasundar.com/blog/2009/10/ignited-php-development-with-codeigniter/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 17:29:03 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=871</guid>
		<description><![CDATA[If you were diligently following my blog for some time, I hope you must have read my earlier post about PHP Development with CodeIgniter. I wrote that post a long back, to say exactly, 10 months back. I was planning for a series on CodeIgniter, but had to stop with just one post, due to [...]]]></description>
			<content:encoded><![CDATA[<p>If you were diligently following my blog for some time, I hope you must have read my earlier post about <a title="PHP development with CodeIgniter : Getting Started [1]" href="http://veerasundar.com/blog/2009/01/php-development-with-codeigniter-getting-started-1/">PHP Development with CodeIgniter</a>. I wrote that post a long back, to say exactly, 10 months back. I was planning for a series on CodeIgniter, but had to stop with just one post, due to my official workload. After that I didn&#8217;t get much time to visit that article, until last week.</p>
<p>When I asked for a <a title="Best PHP framework to work with" href="http://veerasundar.com/blog/2009/01/choosing-a-php-framework-to-work-with/">best PHP framework</a>, I got mixed views on various PHP frameworks, such as <a title="CakePHP - PHP framework" href="http://cakephp.org/">CakePHP</a>, <a title="Zend - PHP Framework" href="http://framework.zend.com/">Zend</a>, <a title="Symfony - PHP framework" href="http://www.symfony-project.org/">Symfony</a>, etc. But, later I <a title="CodeIgniter framework" href="http://veerasundar.com/blog/2009/01/chose-a-php-framework-codeigniter/">chose CodeIgniter</a> mainly because of it&#8217;s very <a title="CodeIgniter documentation" href="http://codeigniter.com/user_guide/">detailed documentation</a>. I was new to PHP then, so the detailed documentation of CodeIgniter helped me to get started quickly with PHP development.</p>
<p>So, enough of CI praising. Just wanted to say that I again started with my PHP side project. Needless to say, I&#8217;m building this app using CodeIgniter framework and I&#8217;m enjoying the every bit of the development. Will be announcing about my project, soon once it&#8217;s in some shape. And, i&#8217;ll be restarting the CodeIgniter post series, too. So, <a href="http://veerasundar.com/blog/feed">keep watching</a> this blog!</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=871&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Fignited-php-development-with-codeigniter%2F&amp;linkname=Ignited%20PHP%20development%20with%20CodeIgniter">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/01/chose-a-php-framework-codeigniter/" title="Chose a PHP framework &#8211; Codeigniter">Chose a PHP framework &#8211; Codeigniter</a></li><li><a href="http://veerasundar.com/blog/2009/01/php-development-with-codeigniter-getting-started-1/" title="PHP development with CodeIgniter : Getting Started [1]">PHP development with CodeIgniter : Getting Started [1]</a></li><li><a href="http://veerasundar.com/blog/2009/01/choosing-a-php-framework-to-work-with/" title="Choosing a PHP framework to work with">Choosing a PHP framework to work with</a></li><li><a href="http://veerasundar.com/blog/2009/07/job-trends-for-the-popular-languages-java-c-and-php/" title="Job trends for the popular languages &#8211; Java, C++ and PHP">Job trends for the popular languages &#8211; Java, C++ and PHP</a></li><li><a href="http://veerasundar.com/blog/2009/06/how-to-show-your-latest-tweet-in-your-home-page/" title="How to show your latest tweet in your home page?">How to show your latest tweet in your home page?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/ignited-php-development-with-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave Experience</title>
		<link>http://veerasundar.com/blog/2009/10/google-wave-experience/</link>
		<comments>http://veerasundar.com/blog/2009/10/google-wave-experience/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 16:54:39 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=865</guid>
		<description><![CDATA[I&#8217;ve been using Google Wave for the past three days. There wasn&#8217;t much to wave other than the great Indian wave thread that is currently going on, which is the attempt to connect with all Indian wavers. So, if you&#8217;re an Indian and are in Wave, lemme know, I&#8217;ll add you that list, if you [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Google Wave for the past three days. There wasn&#8217;t much to wave other than the <strong>great Indian wave </strong>thread that is currently going on, which is the attempt to connect with all Indian wavers. So, if you&#8217;re an Indian and are in Wave, lemme know, I&#8217;ll add you that list, if you wish. Anyway, that&#8217;s not the point of this post. I wanted to share what I felt with Google Wave in the past three days:</p>
<ul>
<li><strong>Wave, surely, is an innovative concept: </strong>Yes, it is. Email + Communicator + Wiki will give you the Google Wave. It excites me to see what happened to to my wave, who edited it and when they edited my wave &#8211; all these information are tracked by Wave and displayed to the wave users.</li>
<li><strong>Use it as Gmail or Google Chat: </strong>Wave is more fun when you have friends to wave with, as said by Google Wave team. Yes! without your <em>online </em>friends, Wave is nothing but Gmail. You create a wave, add your friend, who is offline and save it, like sending your email in Gmail. But, if your friend is online, then Wave becomes an Google Chat application. Your friend can reply <em>instantly </em>to your wave messages now,</li>
<li><strong>When you have bigger to list, Wave is just a chaos: </strong>Yes! Wave become unmanageable when you are adding too many people to your Wave to list. This is because anyone can edit anywhere in the Wave message and you need to read the entire message again and again in order to read what has changed. Just takes too much of time! And in such scenarios, its difficult to follow the conversations too.</li>
<li><strong>I wish Wave had a better way to show the unread message in a Wave:</strong> Currently Wave is displaying a green color border line in the unread message in your wave. But, at first sight, its difficult to get that this is unread message. Instead of just a line, I would prefer some kind of background color changes (or any noticeable formatting) to the unread messages. This will reduce my searching time for the unread message in a Wave.</li>
</ul>
<p>And, please note that this post is not to blame Google Wave application. The <strong>Wave team surely did a great job</strong> in bringing up such a concept and the application. I understand that Wave is still under construction and I think that any feedback on Google Wave will definitely improve the quality and usability of Wave.</p>
<p>You are welcomed to share your views on Wave!</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=865&type=feed" alt="" /><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fveerasundar.com%2Fblog%2F2009%2F10%2Fgoogle-wave-experience%2F&amp;linkname=Google%20Wave%20Experience">Bookmark this article</a><h3  class="related_post_title">Related Articles</h3><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/10/why-google-wave-invites-are-not-sent-immediately/" title="Why Google Wave Invites are not sent immediately?">Why Google Wave Invites are not sent immediately?</a></li><li><a href="http://veerasundar.com/blog/2009/10/google-wave-screenshots-and-invites/" title="Google Wave &#8211; Screenshots and Invites">Google Wave &#8211; Screenshots and Invites</a></li><li><a href="http://veerasundar.com/blog/2009/09/google-chrome-frame-enabling-html-5-in-internet-explorer/" title="Google Chrome Frame : enabling HTML 5 in Internet Explorer">Google Chrome Frame : enabling HTML 5 in Internet Explorer</a></li><li><a href="http://veerasundar.com/blog/2009/05/lets-wave-hi-to-google-wave/" title="Lets wave hi to Google Wave">Lets wave hi to Google Wave</a></li><li><a href="http://veerasundar.com/blog/2009/10/google-friend-connect-an-invite-to-join-my-community/" title="Google Friend Connect : An invite to join my community ">Google Friend Connect : An invite to join my community </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/10/google-wave-experience/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
