<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.3.1" --><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/" version="2.0">

<channel>
	<title>tewari</title>
	<link>http://www.tewari.info</link>
	<description>Professional Software Development</description>
	<pubDate>Sun, 21 Sep 2008 06:56:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/tewari" type="application/rss+xml" /><item>
		<title>Using NHibernate With SQLite in DbUpdater</title>
		<link>http://www.tewari.info/2008/09/09/using-nhibernate-with-sqlite-in-dbupdater/</link>
		<comments>http://www.tewari.info/2008/09/09/using-nhibernate-with-sqlite-in-dbupdater/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 04:46:39 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[opensource]]></category>

		<category><![CDATA[sql]]></category>

		<category><![CDATA[DbUpdater]]></category>

		<category><![CDATA[sqlite NHibernate]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/09/09/using-nhibernate-with-sqlite-in-dbupdater/</guid>
		<description><![CDATA[DbUpdater (version 1.3 onwards) can be used with sqlite3.
Review the files included in DbUpdater-sqlite3.zip
1. DbUpdater.exe.config must be modified. Note changes to the following keys - exe-file, exe-args, dialect, driver_class, connetion_string.
2. SchemaVersion.hbm.xml must be modified. The &#8216;class&#8217; attributes value for the &#8216;generator&#8217; of &#8216;id&#8217; must be changed to &#8216;identity&#8217;. No other changes are needed here.
3. \SqlScripts\schema-version-table.sql [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tewari.info/dbupdater/">DbUpdater</a> (<a href="http://sourceforge.net/projects/dbupdater/">version 1.3</a> onwards) can be used with <a href="http://www.sqlite.org/">sqlite3</a>.</p>
<p>Review the files included in<a href="http://www.tewari.info/downloads/DbUpdater-sqlite3.zip"> DbUpdater-sqlite3.zip</a></p>
<p>1. DbUpdater.exe.config must be modified. Note changes to the following keys - exe-file, exe-args, dialect, driver_class, connetion_string.<br />
2. SchemaVersion.hbm.xml must be modified. The &#8216;class&#8217; attributes value for the &#8216;generator&#8217; of &#8216;id&#8217; must be changed to &#8216;identity&#8217;. No other changes are needed here.<br />
3. \SqlScripts\schema-version-table.sql is modified. Note that the datatypes of all columns are changed to TEXT, except for SchemaChangeId, which is changed to integer primary key. integer primary key is used for auto-incremented columns in sqlite.<br />
4. \SqlScripts\baseline.sql is modified. Note the use of current_timestamp function. The actual sql syntax in this file must conform to sqlite dialect.<br />
5. All other .sql scripts in \SqlScripts directory are also modified to conform to sqlite dialect.</p>
<p>The following files are expected to be in DbUpdater.exe directory (as configured in the DbUpdater.exe.config file) -</p>
<p>1. sqlite3.exe : <a href="http://www.sqlite.org/download.html">download</a>.<br />
2. System.Data.SQLite.dll : <a href="http://sqlite.phxsoftware.com/">download</a>.<br />
3. createdb.bat file : This file is included. This batch script will call sqlite3.exe to execute sql queries.</p>
<p>Another very useful tool for working with sqlite database files is <a href="http://sqlitebrowser.sourceforge.net/">SQLite Database Browzer</a>.<a href="http://www.tewari.info/wp-content/sqlite-support.html" title="sqlite-support.html"> </a></p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=41&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_41" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/09/09/using-nhibernate-with-sqlite-in-dbupdater/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DbUpdater on SourceForge</title>
		<link>http://www.tewari.info/2008/07/27/dbupdater-on-sourceforge/</link>
		<comments>http://www.tewari.info/2008/07/27/dbupdater-on-sourceforge/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 07:36:35 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[opensource]]></category>

		<category><![CDATA[DbUpdater]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[sourceforge]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/07/27/dbupdater-on-sourceforge/</guid>
		<description><![CDATA[By popular demand, DbUpdater is now up on the sourceforge. Latest download (v1.2) is now available from there.
Copyright &#169; 2008 tewari. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so [...]]]></description>
			<content:encoded><![CDATA[<p>By popular demand, <a href="http://www.tewari.info/dbupdater/" title="DbUpdater : Database Schema Version Control">DbUpdater </a>is now up on the <a href="https://sourceforge.net/projects/dbupdater" title="DbUpdater-on-SourceForge">sourceforge</a>. Latest download (v1.2) is now available from <a href="https://sourceforge.net/project/showfiles.php?group_id=232631" title="DbUpdater-Download">there</a>.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=40&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_40" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/07/27/dbupdater-on-sourceforge/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Internship Position Available</title>
		<link>http://www.tewari.info/2008/06/18/internship-position-available/</link>
		<comments>http://www.tewari.info/2008/06/18/internship-position-available/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 05:39:17 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[career]]></category>

		<category><![CDATA[Intern]]></category>

		<category><![CDATA[internship]]></category>

		<category><![CDATA[job]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/06/18/internship-position-available/</guid>
		<description><![CDATA[We have a position open for a 6 month internship in our group in Calabasas, CA. We do cutting edge Network Performance Analysis work. A candidate with C#/C++/C background on Windows/Linux is preferred. If you are interested, contact me. The position is available now.
Copyright &#169; 2008 tewari. This Feed is for personal non-commercial use only. [...]]]></description>
			<content:encoded><![CDATA[<p>We have a position open for a 6 month internship in our group in Calabasas, CA. We do cutting edge Network Performance Analysis work. A candidate with C#/C++/C background on Windows/Linux is preferred. If you are interested, <a href="http://www.tewari.info/contact-me/" title="Contact-AshTewari">contact me</a>. <span style="text-decoration: line-through">The position is available now</span>.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=39&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_39" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/06/18/internship-position-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dial Gauge is a ProgressBar</title>
		<link>http://www.tewari.info/2008/06/10/dial-gauge-is-a-progressbar/</link>
		<comments>http://www.tewari.info/2008/06/10/dial-gauge-is-a-progressbar/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 06:49:43 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[xaml]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Dial]]></category>

		<category><![CDATA[Gauge]]></category>

		<category><![CDATA[ProgressBar]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/06/10/dial-gauge-is-a-progressbar/</guid>
		<description><![CDATA[I am not just being philosophical here. In WPF, ControlTemplates allow you to transform a control&#8217;s appearance. This is not the same as applying stylesheets. This is an entirely new level of customization. What you see in the screenshot below looks like a Dial but is actually a simple  ProgressBar control wearing a &#8220;Dial&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>I am not just being philosophical here. In <a href="http://msdn.microsoft.com/en-us/netframework/aa663326.aspx" title="MSDN-WPF" target="_blank">WPF</a>, <a href="http://msdn.microsoft.com/en-us/magazine/cc163497.aspx" title="Using Templates to Customize WPF Controls" target="_blank">ControlTemplates </a>allow you to transform a control&#8217;s appearance. This is not the same as applying stylesheets. This is an entirely new level of customization. What you see in the screenshot below looks like a Dial but is actually a simple  ProgressBar control wearing a &#8220;Dial&#8221; template. The Dial template was created using <a href="http://www.microsoft.com/expression/products/Overview.aspx?key=blend" title="Microsoft-Expression-Blend" target="_blank">Microsoft Expression Blend</a> .</p>
<p><img src="http://www.tewari.info/images/dial-is-a-progressbar.PNG" alt="dial-is-a-progressbar.PNG" height="483" width="566" /></p>
<p>Include the ControlTemplate as a Window.Resource and then assign it to ProgressBar element&#8217;s Template attribute :</p>
<pre name="code" class="xml">
        <ProgressBar x:Name="pBar" Template="{StaticResource templateDial}"
                     Minimum="0" Maximum="270" Margin="0" />
</pre>
<p>Of course that is not all. The ControlTemplate must define some named elements of  FrameworkElement type. Charles Petzold has explained it in detail : <a href="http://msdn.microsoft.com/en-us/magazine/cc163497.aspx" title="Charles-Petzold-Using Templates to Customize WPF Controls" target="_blank">MSDN Magazine Article</a>. So, I will not repeat it here.</p>
<p>The sample code can be downloaded here : <a href="http://www.tewari.info/downloads/DialTest.zip" title="DialTest.zip" target="_blank">DialTest.zip</a><br />
License : <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="license">Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.</a></p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=38&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_38" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/06/10/dial-gauge-is-a-progressbar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PostSharp with SharpDevelop</title>
		<link>http://www.tewari.info/2008/04/28/postsharp-with-sharpdevelop/</link>
		<comments>http://www.tewari.info/2008/04/28/postsharp-with-sharpdevelop/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 05:04:43 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[AOP]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[Aspect]]></category>

		<category><![CDATA[MSBuild]]></category>

		<category><![CDATA[PostSharp]]></category>

		<category><![CDATA[SharpDevelop]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/04/28/postsharp-with-sharpdevelop/</guid>
		<description><![CDATA[SharpDevelop3.0 uses MSBuild. Including PostSharp in your build process is transparent if you are doing a global install using PostSharp installer. If you are doing a per-project installation using &#8220;Binary - No Installer&#8221; download, you will need to import the PostSharp targets into your .csproj file -


    True

C:\code\PostSharp-1.0.8.316-Binary\


For more details, read the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sharpdevelop.net/OpenSource/SD/Default.aspx" title="SharpDevelop HomePage" target="_blank">SharpDevelop3.0</a> uses <a href="http://en.wikipedia.org/wiki/MSBuild" title="MSBuild on wikipedia" target="_blank">MSBuild</a>. Including PostSharp in your build process is transparent if you are doing a global install using PostSharp installer. If you are doing a per-project installation using &#8220;Binary - No Installer&#8221; <a href="http://www.postsharp.org/download/" title="postsharp download" target="_blank">download</a>, you will need to import the PostSharp targets into your .csproj file -</p>
<pre name="code" class="xml">
<propertygroup>
    <dontimportpostsharp>True</dontimportpostsharp>
</propertygroup>
<postsharpdirectory>C:\code\PostSharp-1.0.8.316-Binary\</postsharpdirectory>
<import project="$(MSBuildBinPath)\Microsoft.CSharp.targets"></import>
<import project="$(PostSharpDirectory)PostSharp.targets"></import></pre>
<p>For more details, read the install instructions included in the PostSharp <a href="http://www.postsharp.org/download/" title="postsharp download" target="_blank">download </a>and <a href="http://www.postsharp.org/blog/2008/01/under-hood-of-msbuild-integration.html" title="under-hood-of-msbuild-integration" target="_blank">under-the-hood-of-msbuild-integration</a>.</p>
<p>To use local PostSharp binaries (relative to your project) , modify your .csproj file as follows -</p>
<pre name="code" class="xml">
  <PropertyGroup Condition=" Exists('PostSharp\PostSharp.targets') ">
    <DontImportPostSharp>True</DontImportPostSharp>
    <PostSharpDirectory>$(MSBuildProjectDirectory)\PostSharp\</PostSharpDirectory>
  </PropertyGroup>

  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

  <Import Project="$(PostSharpDirectory)PostSharp.targets"
  Condition=" Exists('$(PostSharpDirectory)PostSharp.targets') " />
</pre>
<p>$(MSBuildProjectDirectory) is the directory containing your .csproj file.<br />
\PostSharp\ is the directory containing local PostSharp binaries.</p>
<p>2. You will need to exclude the Aspect class itself from being woven.</p>
<p>If you are following the <a href="http://www.postsharp.org/about/getting-started/" title="getting-started-sample" target="_blank">getting-started sample</a>, see the following example:</p>
<pre name="code" class="csharp">
[Serializable]
[Trace( null, AttributeExclude = true )]
public sealed class TraceAttribute : OnMethodBoundaryAspect
{</pre>
<p>3. Compile your project.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=35&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_35" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/04/28/postsharp-with-sharpdevelop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Custom Converter in XAML</title>
		<link>http://www.tewari.info/2008/04/15/using-custom-converter-in-xaml/</link>
		<comments>http://www.tewari.info/2008/04/15/using-custom-converter-in-xaml/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 05:22:12 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[xaml]]></category>

		<category><![CDATA[Binding]]></category>

		<category><![CDATA[ImageDataConverter]]></category>

		<category><![CDATA[ListView]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/04/15/using-custom-converter-in-xaml/</guid>
		<description><![CDATA[In my previous post : WPF-LINQ To SQL Sample, I had to resort to modifying .dbml file to get the images stored as varbinary into the WPF ListView control. I had to change the Type of image fields to System.Byte[], instead of using System.Data.Linq.Binary. A better way to do this is to use a custom [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous post : <a href="http://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/" title="wpf-linq-to-sql-sample" target="_blank">WPF-LINQ To SQL Sample</a>, I had to resort to modifying .dbml file to get the images stored as varbinary into the WPF ListView control. I had to change the Type of image fields to System.Byte[], instead of using System.Data.Linq.Binary. A better way to do this is to use a custom converter. WPF allows you    to specify custom converter as part of the Binding in .xaml, like this -</p>
<pre name="code" class="xml">
&lt;Image Grid.Row="2"
Source="{Binding Path=ThumbNailPhoto ,
Converter={StaticResource imageConverter}}"&gt;&lt;/Image&gt;</pre>
<p>The custom converter is declared in the same .xaml file as a resource -</p>
<pre name="code" class="xml">
&lt;Window.Resources&gt;
&lt;local:ImageDataConverter x:Key="imageConverter" /&gt;
&lt;/Window.Resources&gt;</pre>
<p>ImageDataConverter is implemented in .xaml.cs file -</p>
<pre name="code" class="csharp">
public class ImageDataConverter : IValueConverter
{
   public object Convert(object value, Type targetType, object parameter,
   System.Globalization.CultureInfo culture)
   {
      byte[] image = ((System.Data.Linq.Binary)value).ToArray();
      return image;
   }

   public object ConvertBack(object value, Type targetType, object parameter,
   System.Globalization.CultureInfo culture)
   {
      throw new NotSupportedException();
   }
}</pre>
<p>The updated sample code can be downloaded here : <a href="http://www.tewari.info/downloads/Linq2SqlSample2.zip" title="Linq2SqlSample2.zip" target="_blank">WPF-LINQ to SQL Sample</a><br />
License : <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="license">Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.</a></p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=34&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_34" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/04/15/using-custom-converter-in-xaml/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WPF - LINQ to SQL Sample</title>
		<link>http://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/</link>
		<comments>http://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 07:15:35 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[LINQ]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[sql]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[AdventureWorks]]></category>

		<category><![CDATA[control]]></category>

		<category><![CDATA[DataBinding]]></category>

		<category><![CDATA[demo]]></category>

		<category><![CDATA[ListView]]></category>

		<category><![CDATA[mapping]]></category>

		<category><![CDATA[sample]]></category>

		<category><![CDATA[Share]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[WPF-LINQ]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/</guid>
		<description><![CDATA[This exercise in binding a WPF ListView control with LINQ to SQL was a lot of fun ! The following image shows data from AdventureWorks sample database displayed in the ListView control. The end result is very admirable, even in this very basic demo. Feeling a complete sense of freedom is unavoidable when working with [...]]]></description>
			<content:encoded><![CDATA[<p>This exercise in binding a WPF ListView control with LINQ to SQL was a lot of fun ! The following image shows data from <a href="http://www.codeplex.com/MSFTDBProdSamples" title="MSSQL Sample Databases" target="_blank">AdventureWorks </a>sample database displayed in the ListView control. The end result is very admirable, even in this very basic demo. Feeling a complete sense of freedom is unavoidable when working with WPF.</p>
<p><img src="http://www.tewari.info/images/Linq2SqlSample1.Png" alt="Linq2SqlSample1.Png" height="390" width="555" /></p>
<p>This sample demonstrates :</p>
<ol>
<li>LINQ to SQL mapping.</li>
<li>WPF ListView Control DataBinding.</li>
<li>Displaying images stored in database as varbinary in WPF control.</li>
</ol>
<p>The sample code can be downloaded here : <a href="http://www.tewari.info/downloads/Linq2SqlSample.zip" title="Linq2SqlSample.zip" target="_blank">WPF-LINQ to SQL Sample</a><br />
License : <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="license">Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.</a></p>
<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="license"><img src="http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png" alt="Creative Commons License" style="border-width: 0pt" /></a></p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=33&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_33" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Customize log4net Output Path</title>
		<link>http://www.tewari.info/2008/03/06/customize-log4net-output-path/</link>
		<comments>http://www.tewari.info/2008/03/06/customize-log4net-output-path/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 00:56:55 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[log4net]]></category>

		<category><![CDATA[tips]]></category>

		<category><![CDATA[output path]]></category>

		<category><![CDATA[RollingFileAppender]]></category>

		<category><![CDATA[startup directory]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/03/06/customize-log4net-output-path/</guid>
		<description><![CDATA[ The default log4net output path is relative to the startup directory of your executable. To customize the output path, you can override the base Appender&#8217;s File property in your own Appender class. The following example describes how to route the log files relative to the temp folder :

   public class MyOwnAppender : [...]]]></description>
			<content:encoded><![CDATA[<p> The default log4net output path is relative to the startup directory of your executable. To customize the output path, you can override the base Appender&#8217;s File property in your own Appender class. The following example describes how to route the log files relative to the temp folder :</p>
<pre name="code" class="csharp">
   public class MyOwnAppender : log4net.Appender.RollingFileAppender
   {
         public override string File
         {
             get
             {
                 return base.File;
             }

            set
            {
                if (Path.IsPathRooted(value))
                {
                    base.File = value;
                }
                else
                {
                    base.File = Path.Combine(Path.GetTempPath(), value);
                }
            }
        }
    }
</pre>
<p>Your log4net config file must be modified so that log4net can locate and use your custom Appender. If MyOwnAppender is in MyNamespace and you have implemented it in MyLoggerLib.dll :</p>
<pre name="code" class="xml">
<appender name="myFileAppender" type="MyNamespace.MyOwnAppender, MyLoggerLib">
</pre>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=30&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_30" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/03/06/customize-log4net-output-path/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Career Advice</title>
		<link>http://www.tewari.info/2008/02/29/career-advice/</link>
		<comments>http://www.tewari.info/2008/02/29/career-advice/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 02:04:11 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[books]]></category>

		<category><![CDATA[career advice]]></category>

		<category><![CDATA[psychology]]></category>

		<category><![CDATA[tips]]></category>

		<category><![CDATA[advice]]></category>

		<category><![CDATA[career]]></category>

		<category><![CDATA[change]]></category>

		<category><![CDATA[Cheese]]></category>

		<category><![CDATA[decisions]]></category>

		<category><![CDATA[free advice]]></category>

		<category><![CDATA[Johnson]]></category>

		<category><![CDATA[life]]></category>

		<category><![CDATA[perception]]></category>

		<category><![CDATA[relevance]]></category>

		<category><![CDATA[Spencer]]></category>

		<category><![CDATA[spencer johnson]]></category>

		<category><![CDATA[who moved my cheese]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/02/29/career-advice/</guid>
		<description><![CDATA[The value of any advice is tied to the degree of its relevance to your particular situation and circumstances. Very specific advice, like legal and medical advice, is very expensive. It is very relevant to the individual&#8217;s situation and therefore quite valuable. The degree of relevance of inexpensive/free advice to your specific circumstances is usually [...]]]></description>
			<content:encoded><![CDATA[<p>The value of any advice is tied to the degree of its relevance to your particular situation and circumstances. Very specific advice, like legal and medical advice, is very expensive. It is very relevant to the individual&#8217;s situation and therefore quite valuable. The degree of relevance of inexpensive/free advice to your specific circumstances is usually very low. Inexpensive/free advice, as in sayings and quotes, but also in everyday personal and business communication, is very generic. The same message is usually perceived differently by different people. Especially when the entire message is very succinct and pithy. Various aspects of the message are accentuated differently as it is filtered through individual perception. Developing a sense of how generic advice applies to your individual situation is invaluable. Experience, observation and reading feeds the awareness. Trying and learning from mistakes is essential. Applying the lessons completes the circle.</p>
<p>The best career advice I ever got was to read Spencer Johnson&#8217;s <a href="http://www.amazon.com/Who-Moved-Cheese-Spencer-Johnson/dp/0091816971" title="Who Moved My Cheese ?" target="_blank">Who Moved My Cheese ?</a> The message in this book is timeless. I had been through many significant changes in my life and I think I have handled those changes quite well. After  reading this book in 2001, I became consciously aware of the existence of change and my own patterns of behavior and  responses to events of change. This awareness has helped me anticipate change, prepare better, make better decisions and handle change more productively.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=21&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_21" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/02/29/career-advice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Database Schema Version Control Tool</title>
		<link>http://www.tewari.info/2008/02/18/dbupdater-database-schema-version-control/</link>
		<comments>http://www.tewari.info/2008/02/18/dbupdater-database-schema-version-control/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 03:05:52 +0000</pubDate>
		<dc:creator>tewari</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[freeware]]></category>

		<category><![CDATA[sql]]></category>

		<category><![CDATA[version-control]]></category>

		<category><![CDATA[best practices]]></category>

		<category><![CDATA[change]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[database schema]]></category>

		<category><![CDATA[Databases]]></category>

		<category><![CDATA[DBMS]]></category>

		<category><![CDATA[DbUpdater]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Evolutionary]]></category>

		<category><![CDATA[free tool]]></category>

		<category><![CDATA[MSSQL]]></category>

		<category><![CDATA[NHibernate]]></category>

		<category><![CDATA[process]]></category>

		<category><![CDATA[schema]]></category>

		<category><![CDATA[schema version]]></category>

		<category><![CDATA[SchemaVersionsLog]]></category>

		<category><![CDATA[Scripts]]></category>

		<category><![CDATA[sql scripts]]></category>

		<category><![CDATA[table]]></category>

		<category><![CDATA[tool]]></category>

		<category><![CDATA[version]]></category>

		<category><![CDATA[version control tool]]></category>

		<category><![CDATA[Versioning]]></category>

		<guid isPermaLink="false">http://www.tewari.info/2008/02/18/dbupdater-database-schema-version-control/</guid>
		<description><![CDATA[It is essential to treat database schema as source code  and apply all the norms and best practices applicable to it. From what I hear  and read, database schema version control is non-existent in too many  projects.
Various techniques to accomplish version control of  database schemas have been discussed and published. Martin [...]]]></description>
			<content:encoded><![CDATA[<p designtimesp="18554">It is essential to treat database schema as source code  and apply all the norms and best practices applicable to it. From what I hear  and read, database schema version control is non-existent in too many  projects.</p>
<p designtimesp="18555">Various techniques to accomplish version control of  database schemas have been discussed and published. Martin Fowler and Pramod  Sadagale has written a comprehensive article on <a href="http://martinfowler.com/articles/evodb.html" designtimesp="18556">Evolutionary Database  Design</a>. It is a must-read for everyone involved with database  development.</p>
<p designtimesp="18562">K. Scott Allen writes in detail about an  excellent system here - <a href="http://odetocode.com/Blogs/scott/archive/2008/02/02/11721.aspx" title="Versioning Databases - Change Scripts" designtimesp="18561">Versioning Databases - Change Scripts</a>. This approach  is sufficiently light-weight (for my taste) and provides complete control over  the whole process.</p>
<p designtimesp="18562">I am providing a free tool here that you can use to  implement this system. It will even create the SchemaVersionsLog table for your  database, if it doesn&#8217;t exist. If you are using this tool with MSSQL Server, you  can get started with very little effort. If you are using a different DBMS, you  can still use this tool. It uses NHibernate to access the SchemaVersionsLog  table. So, any DBMS supported by NHibernate is acceptable, as long as it comes with a command line tool to execute the sql scripts.</p>
<p designtimesp="18562">Download <a href="http://www.tewari.info/dbupdater/" title="DbUpdater : Database Schema Version Control" target="_blank">DbUpdater here</a>.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://www.tewari.info">tewari</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@tewari.info so we can take legal action immediately.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span> [copyright id - 954a2715-799a-4b2f-8010-7db9909b40d8]<p class="akst_link"><a href="http://www.tewari.info/?p=17&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_17" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.tewari.info/2008/02/18/dbupdater-database-schema-version-control/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
