<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>C# on Ash Tewari</title><link>https://www.tewari.info/category/c/</link><description>Recent content in C# on Ash Tewari</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 25 Sep 2026 02:56:11 +0000</lastBuildDate><atom:link href="https://www.tewari.info/category/c/feed.xml" rel="self" type="application/rss+xml"/><item><title>Agentic finetuning using a custom harness</title><link>https://www.tewari.info/2026/09/24/agentic-finetuning-using-a-custom-harness/</link><pubDate>Fri, 25 Sep 2026 02:56:11 +0000</pubDate><guid isPermaLink="false">https://www.tewari.info/?p=1557</guid><description>&lt;p&gt;The goal was to figure out whether a small model running on my own hardware could do the job of intent classification and structured parameter extraction  well enough for one of my use-cases - read a request like &amp;ldquo;add 8 spare tent stakes to the camping box&amp;rdquo; and turn it into something the application can act on.&lt;/p&gt;
&lt;p&gt;I created an agentic fine-tuning and evaluation loop with a custom evaluation harness: an AI agent proposes one change at a time, a custom evaluation harness measures it against a frozen test set, and every run gets appended to a log with its settings, result and next decision. The agent does the all the work of dataset generation, training, evaluation and diagnosis.&lt;/p&gt;</description></item><item><title>Universal Windows Platform Application on Raspberry Pi</title><link>https://www.tewari.info/2020/05/22/universal-windows-platform-application-on-raspberry-pi/</link><pubDate>Sat, 23 May 2020 02:57:40 +0000</pubDate><guid isPermaLink="false">https://www.tewari.info/?p=1206</guid><description>&lt;p&gt;Universal Windows Platform (UWP) provides a common app platform on every device that runs Windows 10. The core APIs in UWP are the same on all Windows devices – including Desktop PC, Mobile Phone, XBox, Hololens, IOT devices and &lt;a href="https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide"&gt;others&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can target specific device capabilities of a device family with &lt;a href="https://docs.microsoft.com/en-us/uwp/extension-sdks/device-families-overview#extension-sdks"&gt;extension SDKs&lt;/a&gt;, but you don&amp;rsquo;t have to do that if you are only using core APIs. Those core APIs include a very &lt;a href="https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/"&gt;impressive&lt;/a&gt; set of UI capabilities. What that means is that you can create a UWP application using C# and XAML which will run on an ARM based processor on Raspberry Pi – because &lt;a href="https://docs.microsoft.com/en-us/windows/iot-core/develop-your-app/buildingappsforiotcore"&gt;Windows 10 IOT Core&lt;/a&gt; runs on that.&lt;/p&gt;</description></item><item><title>Creating Android Apps using C# and Xamarin</title><link>https://www.tewari.info/2015/02/21/creating-android-apps-using-c-and-xamarin/</link><pubDate>Sat, 21 Feb 2015 17:30:25 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/?p=977</guid><description>&lt;p&gt;You can create native Android and iOS applications using C#, with Xamarin. I explored the capabilities of Xamarin tools and the development experience with Xamarin to create an Android version of CensusMapper. CensusMapper displays U.S. Census data on a Map. I created the original application for Windows 8 (WinRT) using C#. I have since converted it to an MVVM (C#) application, HTML/Javascript (WinJS) version and more recently to a &lt;a href="https://www.tewari.info/2014/11/12/universal-apps/"&gt;Universal Windows App&lt;/a&gt; running on Windows Phone 8.1 and Windows 8.1. In that tradition, now it is faithfully ported to run on Android devices, using C# and Xamarin. CensusMapper is available on &lt;a href="https://play.google.com/store/search?q=CensusMapper"&gt;Google Play Store&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Using Layer Diagrams – Keeping your MVVM code from turning into spaghetti</title><link>https://www.tewari.info/2013/11/09/raleigh-code-camp-2013/</link><pubDate>Sat, 09 Nov 2013 20:46:16 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/?p=650</guid><description>&lt;p&gt;&lt;a href="http://codecamp.org/Raleigh" title="Raleigh Code Camp"&gt;Raleigh Code Camp 2013&lt;/a&gt; is wrapping up this afternoon. The venue and the crowd was phenomenal. I really enjoyed &lt;a href="http://codecamp.org/Raleigh/Sessions"&gt;presenting&lt;/a&gt;&amp;ldquo;Using Layer Diagrams - Keeping your MVVM code from turning into spaghetti&amp;rdquo;. Thanks to everyone who attended the presentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.tewari.info/wp-content/codecamp2013.png"&gt;&lt;img loading="lazy" src="https://www.tewari.info/wp-content/codecamp2013.png"&gt;&lt;/a&gt;&lt;a href="https://twitter.com/jsonmez"&gt;John Sonmez&lt;/a&gt;, Our Keynote Speaker, made my day by accepting my request to attend my presentation. It was awesome to have him in the audience and to get feedback from him!&lt;/p&gt;</description></item><item><title>Understanding and Using System.Transactions</title><link>https://www.tewari.info/2012/10/17/understanding-and-using-system-transactions/</link><pubDate>Wed, 17 Oct 2012 16:10:42 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/?p=380</guid><description>&lt;p&gt;These are some resources to help grasp &lt;a href="http://msdn.microsoft.com/en-us/library/vstudio/system.transactions(v=vs.90).aspx" title="System.Transactions Namespace"&gt;System.Transactions&lt;/a&gt; functionality and use it effectively in your projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/vstudio/ee818755(v=vs.100).aspx"&gt;Features Provided by System.Transactions&lt;/a&gt; to &lt;a href="http://msdn.microsoft.com/en-us/library/vstudio/ee818751(v=vs.100).aspx"&gt;create transactional applications&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/vstudio/ee818746(v=vs.100).aspx"&gt;Implementing an Implicit Transaction using Transaction Scope&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;MSDN Magazine Articles by &lt;a href="http://www.johnpapa.net/"&gt;John Papa&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163847.aspx"&gt;ADO.NET and System.Transactions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163527.aspx"&gt;Revisiting System.Transactions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;These are specific to &lt;a href="http://msdn.microsoft.com/en-us/library/vstudio/system.transactions.transactionscope(v=vs.100).aspx"&gt;TransactionScope&lt;/a&gt;(the way to go in most cases):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Here is a practical example of &lt;a href="http://thewayofcode.wordpress.com/2011/12/11/handling-transactions-in-net-using-transactionscope/"&gt;Using TransactionScope to handle transactions in .net&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;This &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc300805.aspx"&gt;article in MSDN Magazine&lt;/a&gt; gets in depth with the way a TransactionScope like functionality can be implemented. Gives you a good understanding of what is happening under the hood when using TransactionScope in some Repository implementations in multi-threaded scenarios.&lt;/li&gt;
&lt;li&gt;This CodeProject article is another example of &lt;a href="http://www.codeproject.com/Articles/31270/A-Transactional-Repository-Implementation-in-NET"&gt;implementing a transactional repository&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There are &lt;a href="http://blogs.msdn.com/b/dbrowne/archive/2010/06/03/using-new-transactionscope-considered-harmful.aspx"&gt;excellent tips here&lt;/a&gt; about configuring TransactionScope when using it with SQL Server.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This is a good resource for &lt;a href="http://www.codeproject.com/Articles/55472/Committable-Transactions-in-C-SQL"&gt;understanding CommitableTransaction&lt;/a&gt; usage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;And this one on the CodeProject has brilliant, in-depth and under-the-hood coverage - &lt;a href="http://www.codeproject.com/Articles/35087/Truly-Understanding-NET-Transactions-and-WCF-Imple"&gt;Truly Understanding .NET Transactions and WCF Implementation&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Using Model-View-ViewModel in WPF Applications</title><link>https://www.tewari.info/2010/01/25/using-model-view-viewmodel-in-wpf-applications/</link><pubDate>Mon, 25 Jan 2010 22:23:39 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/?p=155</guid><description>&lt;p&gt;I am presenting at &lt;a href="http://www.socalcodecamp.com/" title="socalcodecamp website"&gt;SoCalCodeCamp&lt;/a&gt; this weekend (January 30th, 2010) - &lt;a href="http://www.socalcodecamp.com/socalcodecamp/session.aspx?sid=0b2ee44f-595d-4f55-a5d6-2b1293f546d0" title="WPF MVVM Presntation "&gt;Advanced WPF - Using Model-View-ViewModel in WPF Applications&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://www.tewari.info/wp-content/tasklist.png"
alt="tasklist-mockup"/&gt; &lt;figcaption&gt;
&lt;p&gt;tasklist-mockup&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Agenda :&lt;/p&gt;
&lt;p&gt;1. Roles of the M-V-VM triad&lt;/p&gt;
&lt;p&gt;2. Why use M-V-VM ?&lt;/p&gt;
&lt;p&gt;3. Characteristics of the ViewModel&lt;/p&gt;
&lt;p&gt;4. Build a Sample WPF Application using M-V-VM&lt;/p&gt;
&lt;p&gt;Resources :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx" title="MSDN Magazine Article"&gt;MSDN Magazine Article&lt;/a&gt; and Sample Application &lt;a href="http://code.msdn.microsoft.com/mag200902MVVM/Release/ProjectReleases.aspx" title="Download Demo Application Code"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://martinfowler.com/eaaDev/PresentationModel.html" title="MartinFowler.com"&gt;Martin Fowler’s description of the ‘Presentation Model ‘&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codebetter.com/blogs/jeremy.miller/archive/2007/07/25/the-build-your-own-cab-series-table-of-contents.aspx" title="Jeremy Miller's - Build Your CAB"&gt;Jeremy Miller’s ‘Build Your Own CAB’ series&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Job Opening - Windows GUI Developer</title><link>https://www.tewari.info/2009/03/09/job-opening-windows-gui-developer/</link><pubDate>Mon, 09 Mar 2009 21:04:30 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2009/03/09/job-opening-windows-gui-developer/</guid><description>&lt;p&gt;We have a 3-4 month contract position open for a Windows GUI Developer in our group at &lt;a href="http://maps.google.com/maps?q=calabasas,+CA&amp;amp;oe=utf-8&amp;amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;split=0&amp;amp;gl=us&amp;amp;ei=SYK1SbXHGM-jtgf9jaXqDA&amp;amp;sa=X&amp;amp;oi=geocode_result&amp;amp;resnum=1&amp;amp;ct=title" title="calabasas-map"&gt;Calabasas, California&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2+ years experience developing C++/C# Windows thick-client applications&lt;/li&gt;
&lt;li&gt;Expert in GUI development on Windows&lt;/li&gt;
&lt;li&gt;Expert in Object Oriented Analysis and Design (OOA/OOD)&lt;/li&gt;
&lt;li&gt;Deep understanding of client-server software development&lt;/li&gt;
&lt;li&gt;Experience in multithreading, and thread synchronization&lt;/li&gt;
&lt;li&gt;Excellent communication skills (written and verbal)&lt;/li&gt;
&lt;li&gt;Highly organized and detail oriented&lt;/li&gt;
&lt;li&gt;BSCS/BSEE or equivalent&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are interested, &lt;a href="https://www.tewari.info/contact-me/" title="Contact Ash Tewari"&gt;contact me&lt;/a&gt;. The position is available now.&lt;/p&gt;</description></item><item><title>Dial Gauge is a ProgressBar</title><link>https://www.tewari.info/2008/06/10/dial-gauge-is-a-progressbar/</link><pubDate>Wed, 11 Jun 2008 06:49:43 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2008/06/10/dial-gauge-is-a-progressbar/</guid><description>&lt;p&gt;I am not just being philosophical here. In &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663326.aspx" title="MSDN-WPF"&gt;WPF&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163497.aspx" title="Using Templates to Customize WPF Controls"&gt;ControlTemplates&lt;/a&gt; allow you to transform a control&amp;rsquo;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 &amp;ldquo;Dial&amp;rdquo; template. The Dial template was created using &lt;a href="http://www.microsoft.com/expression/products/Overview.aspx?key=blend" title="Microsoft-Expression-Blend"&gt;Microsoft Expression Blend&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&lt;img alt="dial-is-a-progressbar.PNG" loading="lazy" src="https://www.tewari.info/images/dial-is-a-progressbar.PNG"&gt;&lt;/p&gt;
&lt;p&gt;Include the ControlTemplate as a Window.Resource and then assign it to ProgressBar element&amp;rsquo;s Template attribute :&lt;/p&gt;</description></item><item><title>PostSharp with SharpDevelop</title><link>https://www.tewari.info/2008/04/28/postsharp-with-sharpdevelop/</link><pubDate>Tue, 29 Apr 2008 05:04:43 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2008/04/28/postsharp-with-sharpdevelop/</guid><description>&lt;p&gt;&lt;a href="http://sharpdevelop.net/OpenSource/SD/Default.aspx" title="SharpDevelop HomePage"&gt;SharpDevelop3.0&lt;/a&gt; uses &lt;a href="http://en.wikipedia.org/wiki/MSBuild" title="MSBuild on wikipedia"&gt;MSBuild&lt;/a&gt;. 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 &amp;ldquo;Binary - No Installer&amp;rdquo;&lt;a href="http://www.postsharp.org/download/" title="postsharp download"&gt;download&lt;/a&gt;, you will need to import the PostSharp targets into your .csproj file -&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; True
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\code\PostSharp-1.0.8.316-Binary\
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For more details, read the install instructions included in the PostSharp &lt;a href="http://www.postsharp.org/download/" title="postsharp download"&gt;download&lt;/a&gt; and &lt;a href="http://www.postsharp.org/blog/2008/01/under-hood-of-msbuild-integration.html" title="under-hood-of-msbuild-integration"&gt;under-the-hood-of-msbuild-integration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use local PostSharp binaries (relative to your project) , modify your .csproj file as follows -&lt;/p&gt;</description></item><item><title>Using Custom Converter in XAML</title><link>https://www.tewari.info/2008/04/15/using-custom-converter-in-xaml/</link><pubDate>Wed, 16 Apr 2008 05:22:12 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2008/04/15/using-custom-converter-in-xaml/</guid><description>&lt;p&gt;In my previous post : &lt;a href="https://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/" title="wpf-linq-to-sql-sample"&gt;WPF-LINQ To SQL Sample&lt;/a&gt;, 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 -&lt;/p&gt;</description></item><item><title>WPF - LINQ to SQL Sample</title><link>https://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/</link><pubDate>Fri, 07 Mar 2008 07:15:35 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2008/03/07/wpf-linq-to-sql-sample/</guid><description>&lt;p&gt;This exercise in binding a WPF ListView control with LINQ to SQL was a lot of fun ! The following image shows data from &lt;a href="http://www.codeplex.com/MSFTDBProdSamples" title="MSSQL Sample Databases"&gt;AdventureWorks&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Linq2SqlSample1.Png" loading="lazy" src="https://www.tewari.info/images/Linq2SqlSample1.Png"&gt;&lt;/p&gt;
&lt;p&gt;This sample demonstrates :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;LINQ to SQL mapping.&lt;/li&gt;
&lt;li&gt;WPF ListView Control DataBinding.&lt;/li&gt;
&lt;li&gt;Displaying images stored in database as varbinary in WPF control.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The sample code can be downloaded here : &lt;a href="https://www.tewari.info/downloads/Linq2SqlSample.zip" title="Linq2SqlSample.zip"&gt;WPF-LINQ to SQL Sample&lt;/a&gt;
License : &lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"&gt;Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.&lt;/a&gt; &lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"&gt;&lt;img alt="Creative Commons License" loading="lazy" src="http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Customize log4net Output Path</title><link>https://www.tewari.info/2008/03/06/customize-log4net-output-path/</link><pubDate>Fri, 07 Mar 2008 00:56:55 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2008/03/06/customize-log4net-output-path/</guid><description>&lt;p&gt;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&amp;rsquo;s File property in your own Appender class. The following example describes how to route the log files relative to the temp folder :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public class MyOwnAppender : log4net.Appender.RollingFileAppender
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public override string File
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; get
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; return base.File;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; set
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; if (Path.IsPathRooted(value))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; base.File = value;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; else
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; base.File = Path.Combine(Path.GetTempPath(), value);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;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 :&lt;/p&gt;</description></item><item><title>Database Schema Version Control Tool</title><link>https://www.tewari.info/2008/02/18/dbupdater-database-schema-version-control/</link><pubDate>Tue, 19 Feb 2008 03:05:52 +0000</pubDate><guid isPermaLink="false">http://www.tewari.info/2008/02/18/dbupdater-database-schema-version-control/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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 &lt;a href="http://martinfowler.com/articles/evodb.html"&gt;Evolutionary Database Design&lt;/a&gt;. It is a must-read for everyone involved with database development.&lt;/p&gt;</description></item></channel></rss>