<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.mconstantin.eu.org/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Marius's Personal site</title><link>http://blogs.mconstantin.eu.org/default.aspx?GroupID=2</link><description>Bloggers</description><dc:language>en-US</dc:language><generator>CommunityServer 2.0 (Build: 60404.2676)</generator><item><title>Calculate System Score in Windows 7 when booting from VHD</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2011/02/07/2660.aspx</link><pubDate>Tue, 08 Feb 2011 05:32:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:2660</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;In can you don't already know it, Windows 7 supports booting from VHD, which I'm a&amp;nbsp;big fan&amp;nbsp;of. This way you don't need to worry with partitioning scheme, shuffling around when you want to install additional Windows versions, backup / restore or these kind of issues.&amp;nbsp;&amp;nbsp;Booting from VHD allows you easy migration to Hyper-V if you chose to do so in the future.&lt;/P&gt;
&lt;P&gt;However if you choose to install your OS to a VHD then you need to know that you will loose some things: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Hibernate support.&lt;/STRONG&gt; Unfortunately it seems that there is no way (at least not&amp;nbsp;in the RTM version) to enable that. Sleep support still works fine, but if you need hibernate (or hybrid sleep) then you need to install to a partition.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Calculate System Score&lt;/STRONG&gt;. WinSAT fails to calculate the disk score if your system boots from VHD, because it wouldn't be accurate. Fortunately there is a solution for this. All you need to do is to launch an elevated command prompt and type the following command: 
&lt;DIV&gt;&lt;CODE&gt;winsat formal -drive D&lt;/CODE&gt;&lt;/DIV&gt;I found this while trying to setup an HTPC that needed to run Digital Cable Advisor, and while trying to calculate the system performance score it would crash very badly. It seems that they forgot to check if WinSAT actually completed successfully before parsing the results! &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Hope it helps! &lt;/P&gt;
&lt;P&gt;And if you find a way to enable hibernate while booting from VHD just leave a comment.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=2660" width="1" height="1"&gt;</description></item><item><title>Giving up on Webhost4life</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2010/12/19/2616.aspx</link><pubDate>Sun, 19 Dec 2010 21:41:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:2616</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;After almost 6 years of running my site with Webhost4life where I didn't have a lot of complaints I was kind of forced to move away because they could no longer accomodate my hosting.&lt;/P&gt;
&lt;P&gt;It all started in May of 2010 when suddenly I received an email that my account was moved to a new platform, and there shouldn't be any changes but I should check if everything is all right, just in case. And the journey began! &lt;/P&gt;
&lt;P&gt;None of my sites were working and almost none of my email was migrated to the new platform. As a result I started to open tickets to their support, asking how to do stuff that it used to work in the old platform. Instead of the usual response time of a couple of hours, now they would not respond even for a few days. Asking their live chat about the status of my tickets usually I would get a "somebody will take care of this ticket as soon is possible". In the mean time, no email is flowing, no web site running. Apparently their new infrastructure does not support a lot of things, like a decent catch all, or changing permissions on the file system. A quick look on Bing showed that I was not alone. Actually there was community estabilished at &lt;A href="http://webhost4lifecustomers.ning.com/"&gt;http://webhost4lifecustomers.ning.com/&lt;/A&gt; that shared the pain. Over there I found the suggestion of requesting imediate revert of the settings and be re-enabled on the old platform in order to perform a manual migration. A few days later my email and site was operational again. Great! Or so I thought!&lt;/P&gt;
&lt;P&gt;After a few weeks while scrambling for a solution I receive an email again, stating that I was moved to the new platform! Oh, no, not again! Knowing the drill next day I was again in the business, on the old plaform!&lt;/P&gt;
&lt;P&gt;Trying to assess the damage I realized that I cannot continue to host my site at Webhost4life because that would mean to work around too many limitations and I had to switch away to alternate solutions. As a result at the end of June I canceled my account and Webhost4life and I stopped recommending them because they are too unreliable.&lt;/P&gt;
&lt;P&gt;After canceling my account I realized that I still had 3 months of hosting that I prepaid&amp;nbsp;3 years ago, and I would like to get the money back. I contacted their support team asking to get the prepaid money back. The answer came pretty quick (they know when to be quick) saying that since I had a discount for prepaying for 3 years they would recalculate the fees without discount and I will not get anything back because of that and I am very lucky that they don't ask for more money because after recalculating I would have owed them money. I answered back that under normal circumstanced I would understand this reasoning, however they basically forced me to move elsewhere because they no longer can accomodate my hosting needs. In the end I had to escalate my request to their SVP of sales and&amp;nbsp;customer support, which agreed with me that I should be refunded the remainder of the prepaid hosting. And, this was end of July 2010.&lt;/P&gt;
&lt;P&gt;After a quick exchange of emails I was transferred to somebody from customer support for processing the refund. We concluded that I would like to get a check for the amount and finish this saga. August 3&lt;SUP&gt;rd&lt;/SUP&gt; 2010, I sent back my address where should I get the check and they acknowledged it and this was the last communication from them. No check, no nothing. &lt;/P&gt;
&lt;P&gt;A month passed I asked them about the status of my check. No answer! Another month passed, another inquiry. Nothing! Mail to their SVP of sales and customer support. No answer! Middle&amp;nbsp;of October I sent another mail saying that if I don't hear anything from them in 2 weeks I will report them to BBB. Of course, nothing, no email, no check!&lt;/P&gt;
&lt;P&gt;Here it comes BBB. I reported them and a few days later I receive a call from them worried what happened with the check, maybe it was lost in the mail (yeah, right!) and if they can refund the money on the credit card. A few days later I had the money on my credit card. Finally I finished the business with Webhost4life.&lt;/P&gt;
&lt;P&gt;Conclusion: My recommandation from &lt;A href="http://blogs.mconstantin.eu.org/cchrism/archive/2004/10/07/160.aspx"&gt;Moving to a new home post&lt;/A&gt; is no longer valid. Since Webhost4life was acquired, they are no longer reliable. If you were thinking about switching to them, think again! I think there are a lot of other hosting providers that do a better job. I've heard that Arvixe (&lt;A href="http://www.arvixe.com/"&gt;http://www.arvixe.com/&lt;/A&gt;) is a pretty good hoster. I don't get any financial incentive to recommend them, but they seem nice. Do you own due diligence and ask question about what you care at a hosting provider.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=2616" width="1" height="1"&gt;</description></item><item><title>A new home for Reflector</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2008/08/24/1854.aspx</link><pubDate>Mon, 25 Aug 2008 04:40:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1854</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;A few days ago Red Gate has&amp;nbsp;&lt;A href="http://www.simple-talk.com/opinion/opinion-pieces/the-future-of-reflector-/"&gt;announced&lt;/A&gt; that it acquired Reflector from Lutz Roeder, which is big news given the fact it is kind of core tool for .NET.&lt;/P&gt;
&lt;P&gt;In case you don't know yet Reflector was listed in top 10 of the tools that every .NET developer must have, as can unlock many of the misteries of the .NET Framework and almost every other tool based on .NET. Red Gate announced that it will keep Reflector free so we don't need to worry at least for now and maybe we will find more addins for Reflector and community will be more interested to create for it.&lt;/P&gt;
&lt;P&gt;In my opinion this move was somehow determined by the fact that some of the products from Red Gate's portfolio have now some competition from Visual Studio Team System, but this is the subject of another post.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1854" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/1.aspx">.NET Stuff</category></item><item><title>Sitemap Provider for Communityserver</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2008/02/22/1750.aspx</link><pubDate>Sat, 23 Feb 2008 05:45:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1750</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>A few months ago I was looking for a Sitemap provider for CommunityServer, given that more and more search engines are using this technology to obtain additional information from indexed sites. 
I found &lt;A HREF="http://blog.danbartels.com/archive/2005/08/17/986.aspx"&gt;Dan Bartel's Sitemap provider&lt;/A&gt; which is explained on &lt;A HREF="http://communityserver.org/forums/t/473734.aspx"&gt;Community Server's forum&lt;/A&gt;, and it was incorporated in Community Server 2007 release, or at least that's my understanding.
However it has some significant drawbacks at least for CS 2.0 which I was interested in:
&lt;UL&gt;
&lt;LI&gt;It was not customizable enough. My configuration has two different sites plugged in the same DB, and you could not exclude for example the gallery list for sitemap. Dan Bartel's version put everything it found in the DB in the sitemap index&lt;/LI&gt;
&lt;LI&gt;It worked only on English locale servers&lt;/LI&gt;
&lt;LI&gt;It used an older version of sitemap schema (0.84), instead of a more current version that is used by non-Google search (0.90)&lt;/LI&gt;
&lt;LI&gt;Last modification date wasn't working correctly for blog categories&lt;/LI&gt;
&lt;LI&gt;The name was pretty much hardcoded to GoogleSitemap.aspx&lt;/LI&gt;
&lt;LI&gt;It was listing incorrectly only 10 posts available per blog (by using Individual Blog Post count property)&lt;/LI&gt;
&lt;LI&gt;There are different binary versions depending on CS version and .NET Framework version&lt;/LI&gt;
&lt;/UL&gt;

As a result I started to write my own Sitemap provider for Community Server which I'm sharing with the world. My version should solve all the above issues, however it doesn't support Google Ping feature from Dan Bartel's version, firstly because it cannot be implemented just as a ASPX and I didn't need it at all.&lt;P /&gt;
My version consists just from 2 different ASPX pages, which host the source code in them, so if you do not like any aspect of how the sitemap is generated you can tweak it to suit your needs.
In order to install it you just need to copy ASPX files in root of your installation and merge SiteUrls.merge.config file from archive with your SiteUrls.config, keeping in mind that if you don't want some particular types of posts in your index, you just do not put that in your SiteUrls.config.&lt;P /&gt;
For example if you don't want your galleries listed in your sitemap index, then you will remove &amp;lt;url name="GallerySiteMap"&amp;gt; entry.&lt;P /&gt;
This code was tested only with Community Server 2.0, and I might have introduced some dependency to this particular version, but I haven't got a 2.1 installation to test it against. However the modifications should be trivial to make it work against 2.1 version, or even a 2007 version, if you want.&lt;P /&gt;
Any comments welcomed on how this can be improved.&lt;P /&gt;
&lt;HR /&gt;
&lt;span&gt;

&lt;span&gt;CS Sitemap&lt;/span&gt; by 
&lt;a rel="cc:attributionURL" href="http://blogs.mconstantin.eu.org/cchrism/"&gt;Marius Constantin&lt;/a&gt; 

is licensed under a 

&lt;a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/"&gt;Creative Commons 
Attribution Non-Commercial 3.0 License&lt;/a&gt;. 

&lt;span /&gt;
Permissions beyond the scope of this license may be available at 
&lt;a rel="cc:morePermissions" href="http://blogs.mconstantin.eu.org/cchrism/contact.aspx"&gt;http://blogs.mconstantin.eu.org/cchrism/&lt;/a&gt;.

&lt;/span&gt;&lt;P /&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1750" width="1" height="1"&gt;</description><enclosure url="http://blogs.mconstantin.eu.org/cchrism/attachment/1750.ashx" length="4445" type="application/x-zip-compressed" /><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>Sharepoint Hidden Gems</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2007/12/23/1742.aspx</link><pubDate>Sun, 23 Dec 2007 20:45:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1742</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>Sharepoint leverages a lot of things, and developers can focus on their added value instead of figuring out basic stuff like authentication, document storage, search and so on. This makes Sharepoint a great platform to develop on, but it has some hidden tricks that can easy your tasks a lot. If you need more reasons to think about learning Sharepoint then MSDN Magazine has &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/12/EndBracket/default.aspx"&gt;some more reasons&lt;/a&gt;.&lt;P /&gt;
One of the first thing that I want to emphasize is that &lt;strong&gt;Sharepoint is built using ASP.NET&lt;/strong&gt;. What this means for a developer? You can do all the things you can do in ASP.NET, and more! FindControl for example, you can enumerate the list of controls from code behind, Master pages, you name it.&lt;P /&gt;
One of the hidden gems of Sharepoint (at least for developers that want to extend the platform) is the Delegate control. &lt;a href="http://msdn2.microsoft.com/en-us/library/ms463169.aspx"&gt;Delegate Control&lt;/a&gt; works similar to delegates in .NET and basically are placeholders where Sharepoint platform instantiate specific controls depending on the installed features. 
So for example you can provide an alternate implementation of the search box control to display your bells and whistles instead of the default one, which is a great feature if you want to override something you don't like. 
Now comes the better part: Delegate control has another mode where the platform instantiate all the controls with the same id no matter what Sequence number they have, basically allowing adding of generic functionality, without having to implement something you don't want to.&lt;P /&gt;
Example: you want to display your custom magical text in all the pages of your Sharepoint site, no matter what. If you would override &lt;strong&gt;SmallSearchInputBox&lt;/strong&gt; control, then you would be able to display the text, and also you would have to implement the search functionality also. This mode is called &lt;strong&gt;AllowMultipleControls&lt;/strong&gt; and is placed as an attribute for DelegateControl tag.
Now everything is fine, however how do you find such control? Sharepoint was kind enought to provide &lt;strong&gt;AdditionalPageHead&lt;/strong&gt; delegate control in the master page, basically allowing to be able to intercept every single request for that farm or site. In your OnInit/OnLoad event you can filter the request based on your needs and then inject your own control tree, or alter the request as needed.
&lt;P /&gt;
To do that you would create a feature like:


.codeblock, .codeblock pre
{
	font-size: x-small;
	color: black;
	font-family: Consolas, "Courier New", Courier, Monospace;
	background-color: #dddddd;
}

.codeblock pre { margin: 0em; }
.codeblock .kwrd { color: #0000ff; }
.codeblock .str { color: #006080; }
.codeblock .html { color: #800000; }
.codeblock .attr { color: #ff0000; }
.codeblock .lnum { color: #606060; }

&lt;pre class="codeblock"&gt;
   &lt;strong&gt;Feature.xml&lt;/strong&gt;
&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="utf-8"&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Feature&lt;/span&gt; &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="INVALID!-GUID-0000-0000-000000000000"&lt;/span&gt; 
    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="My Feature Title"&lt;/span&gt;
    &lt;span class="attr"&gt;Description&lt;/span&gt;&lt;span class="kwrd"&gt;="My Description"&lt;/span&gt;
    &lt;span class="attr"&gt;Version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0.0.0"&lt;/span&gt;
    &lt;span class="attr"&gt;Scope&lt;/span&gt;&lt;span class="kwrd"&gt;="Web"&lt;/span&gt;
    &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ElementManifests&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ElementManifest&lt;/span&gt; &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Controls\mycontrol.xml"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ElementManifests&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Feature&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;

&lt;pre class="codeblock"&gt;
   &lt;strong&gt;Controls\mycontrol.xml&lt;/strong&gt;
&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="utf-8"&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Elements&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Control&lt;/span&gt;
      &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="AdditionalPageHead"&lt;/span&gt;
      &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;=&lt;/span&gt;&lt;span class="lnum"&gt;"100"&lt;/span&gt;
      &lt;span class="attr"&gt;ControlClass&lt;/span&gt;&lt;span class="kwrd"&gt;="My.Own.Control.Class"&lt;/span&gt; 
	&lt;span class="attr"&gt;ControlAssembly&lt;/span&gt;&lt;span class="kwrd"&gt;="My.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=................"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Control&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Elements&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;

&lt;pre class="codeblock"&gt;
    &lt;strong&gt;My Code.cs&lt;/strong&gt;
&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;sealed&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; My.Own.Control.Class : Control
{
    &lt;span class="kwrd"&gt;public&lt;/span&gt; My.Own.Control.Class()
    {
    }

    &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnInit(EventArgs e)
    {
		&lt;span class="kwrd"&gt;base&lt;/span&gt;.OnInit(e);

		&lt;span class="kwrd"&gt;if&lt;/span&gt; (some conditions) 
		{
			LiteralControl ctl = &lt;span class="kwrd"&gt;new&lt;/span&gt; LiteralControl();
			ctl.InnerText=&lt;span class="str"&gt;"Hello everyone!"&lt;/span&gt;
			&lt;span class="kwrd"&gt;this&lt;/span&gt;.Controls.Add(ctl);
		}
    }
}
&lt;/pre&gt;
&lt;P /&gt;Also remember to place your control in SafeControls section of web.config like:
&lt;pre class="codeblock"&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;SafeControl&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="My.Assembly"&lt;/span&gt;
 &lt;span class="attr"&gt;Namespace&lt;/span&gt;&lt;span class="kwrd"&gt;="My.Own.Control"&lt;/span&gt; &lt;span class="attr"&gt;TypeName&lt;/span&gt;&lt;span class="kwrd"&gt;="Class"&lt;/span&gt; &lt;span class="attr"&gt;Safe&lt;/span&gt;&lt;span class="kwrd"&gt;="True"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; 
&lt;/pre&gt;
between &amp;lt;SafeControls&amp;gt; and &amp;lt;/SafeControls&amp;gt; tags.&lt;P /&gt;
This technique can be found useful for example if you want to alter the behavior of webpart pages and you don't have control over their base class (for example if they are in a webpart document library).
&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1742" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/9.aspx">Sharepoint</category></item><item><title>Working with Wix - Patching reloaded</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2007/12/15/1730.aspx</link><pubDate>Sat, 15 Dec 2007 20:15:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1730</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>Since my last &lt;a href="http://blogs.mconstantin.eu.org/cchrism/archive/2007/03/02/1087.aspx"&gt;update&lt;/a&gt; some changes have appeared in the steps needed to create a patch using Wix. The good news is that you no longer need MSIMSP to create a patch (and all the hurdles required to obtain MSIMSP).&lt;P /&gt;
&lt;STRONG&gt;Pyro&lt;/STRONG&gt; is the new tool that can be used instead of MSIMSP and streamlines the patch creation process.&lt;P /&gt;
For more information about Pyro and how to use it you can use &lt;A href="http://blogs.msdn.com/astebner/archive/2007/07/17/3922328.aspx"&gt;this link&lt;/A&gt;&lt;P /&gt;
Also &lt;A HREF="http://blogs.msdn.com/astebner/archive/2007/10/26/5700191.aspx"&gt;here&lt;/A&gt; you can find "updated instructions for building patches using the new WiX v3.0 patch building system".&lt;P /&gt;
With this information Wix gains new strength, and &lt;A HREF="http://blogs.msdn.com/pmarcu/archive/2007/11/29/wix-visual-studio-ships-the-wix-toolset.aspx"&gt;it seems&lt;/A&gt; that Wix will be incorporated into Visual Studio Rosario (the one after Visual Studio Team System 2008, just released), instead of existing infrastructure for creating Windows Installer packages.
&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1730" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/1.aspx">.NET Stuff</category></item><item><title>Upgrading from Windows 2000 to Windows 2003</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2007/04/05/1095.aspx</link><pubDate>Fri, 06 Apr 2007 03:33:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1095</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>In the past couple of weeks I've been busy trying to update a Windows 2000 installation to Windows 2003. Apparently something went very wrong, so the upgrade took about a week in total or so, because setup program failed to do some steps apparently required in order to complete the upgrade. &lt;P /&gt;
After running WINNT32.EXE in the working Windows 2000 installation, program asked for a reboot, I agreed and BOOM! blue screen. The famous BSOD stating stop 7F (aka INACCESIBLE_BOOT_DEVICE). Trying to debug the issue via WINDBG and serial cable (yeah, I had to run to COMPUSA, they are closing the stores in my region and get a plain old serial cable) didn't revealed anything terribly wrong. After long sessions of registry compare revealed that the culprit was VIAAGP1.SYS driver. If you are wondering what has to do VIAAGP1 with disk access (INACCESSIBLE_BOOT_DEVICE is directly tied with disk access), well, the only explanation I came up with is that VIAAGP1 is marked in UpperFilters key for the AGP bus which has PCI.SYS as a driver, and apparently VIAAGP1 failure was tearing down the entire PCI bus access.&lt;P /&gt;
If you think it's the end you are terribly wrong. After that, SETUP was crashing with access violation at the "Installing Devices" step. The culprit? Apparently, MS_NDISWANBH instance which is the network monitor filter driver for WAN. &lt;P /&gt;
And after a week of rebooting and debugging, Windows 2003 finally came up, with the fenomenal problem of not starting TCPIP driver. Reinstalling the protocol fixed the issue.&lt;P /&gt;
The short conclusion: now it works fine!&lt;P /&gt;
So if someone face similar problems this is what I've done (standard disclaimers apply, I'm not responsible if anything fails on your machine, make backups, you know the story):&lt;P /&gt;
&lt;UL&gt;&lt;LI&gt;Delete VIAAGP1 from UpperFilters entry in HKLM\SYSTEM\ControlSetxxx\ENUM subtree. More specifically the AGP bus, but there is no standard location. Just search here for VIAAGP1&lt;/LI&gt;
&lt;LI&gt;Delete CDR4_2K entries UpperFIlters from HKLM\SYSTEM\ControlSetxxx\Control\Classes subtree&lt;/LI&gt;
&lt;LI&gt;Delete all the entries for NDISWANBH in HKLM\SYSTEM\ControlSetxxx. This might was the cause for TCPIP driver not starting, however since setup kept crashing I could find a better solution at that moment. You might want to backup all the keys you are deleting, and restore them after the setup completes, YMMV&lt;/LI&gt;
&lt;/UL&gt;&lt;P /&gt;
And a side note: kernel debugging via WinDBG / serial cable at 115200 bps is not that bad. However the best is not to need such a debug.
&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1095" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category></item><item><title>Working with WiX - Patching hints</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2007/03/02/1087.aspx</link><pubDate>Sat, 03 Mar 2007 06:33:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1087</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><description>If you are trying to create MSP files ( aka MSI patches ), one of the best tool I found to create PCP files is &lt;a href="http://wix.sourceforge.net/"&gt;Wix&lt;/a&gt;. The amount of documentation for MSP creation is extremely small in my opinion, most of the required hints are in the Wix documentation. However I want to emphasize some of the steps that might be skipped by mistake:&lt;P /&gt;
&lt;UL&gt;&lt;LI&gt;&lt;B&gt;You need MSIMSP&lt;/B&gt; Wix automates the creation of PCP files only. It's not a one stop shop&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;MSIMSP doesn't work with compressed MSIs&lt;/B&gt;. Yes! It's true, do not try to bend this rule.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P /&gt;
Otherwise the process it's fairly simple. Type the wxs file (using your favorite text editor), compile the file to PCP and run MSIMSP tool after having administrative install MSIs (uncompressed versions).&lt;P /&gt;

A good start to more information about Windows Installer can be found &lt;a href="http://blogs.msdn.com/karinm/archive/2007/02/14/13-great-setup-blogs.aspx"&gt;here&lt;/a&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1087" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/1.aspx">.NET Stuff</category></item><item><title>Clutter free plugin hosts in .NET</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2007/02/04/1078.aspx</link><pubDate>Sun, 04 Feb 2007 21:20:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1078</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;This post is inspired from &lt;A href="http://weblogs.studentclub.ro/aghiondea/archive/2006/06/07/Plugins-si-System-Reflection-Assembly.aspx"&gt;another post&lt;/A&gt;&amp;nbsp;(in Romanian, sorry for the not Romanian speakers), which asks about the usefulness of System.Reflection.Assembly class.&lt;/P&gt;
&lt;P&gt;This class is primarly your one stop shop if you want to implement a plugin host in .NET Framework. The implementation of a plugin host in .NET Framework is somehow different than the old "C/C++" way of implementing by the simple fact that we no longer have header files to ship to the plugin writers in order to describe our interface. But no worry, this doesn't means that it's more complicated to do such a thing in .NET. The closest way to do this is to generate a class library DLL project, that doesn't implement code (or maybe just some utility classes) but to have the definitions of our interfaces. This is the easy way, but in my opinion it's not the cleanest way. If we go this route we will have to ship our "interface" DLL to clients since it's a required dependency. For large projects where you have hundreds of files shipped to client, it might be fine, but for small project where you ship just your host and few plugins the clutter it's less desirable. A clever way to do this is to implement your interfaces in your host project, and make the plugins dependant on your host .exe file. This way you will have always up-to-date dependencies, since you cannot break the host (or, your code won't compile at all). Prior to Visual Studio 2005, you weren't able to add to a project a dependency to another project whose output is a .exe file. This was recognized more or less a bug, since .exe and .dll files doesn't differ at all internally, so the workaround for Visual Studio 2002 and 2003, was to build your project, get the output, rename it to .dll extension, and add the dependency to your plugin project.&lt;/P&gt;
&lt;P&gt;If you are new to plugins in .NET and you come from C/C++ plugins a warning that might save you a lot of time: do not try to reimplement your host interfaces with the same definition in your plugin project, just to remove the intermediary DLL file dependency (the easy way above). IT WON'T WORK. Objects in .NET (interfaces, classes, etc) have the same identity only if they have the same name AND come from the same assembly.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://ib.stalker.ro/"&gt;Someone&amp;nbsp;said&lt;/A&gt;&amp;nbsp;there that is not normal that Visual Studio accepts dependecies to .EXE files. Well, the fact that they prevented explicitly this (I believe, since they were filtering some types of projects) in VS 2002 and 2003, and now it works in 2005, it might mean that some people finds the feature useful. And I come and say why not accept dependencies of .EXE files/projects? &lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1078" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/1.aspx">.NET Stuff</category></item><item><title>Compete for a Visual Studio 2005 Team System Suite and MSDN License</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/11/18/1017.aspx</link><pubDate>Sat, 18 Nov 2006 19:00:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1017</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Yesterday I found that &lt;A href="http://addressof.com/blog/archive/2006/11/09/What-would-you-do-for-a-Visual-Studio-2005-_2800_Team-System_2900_-and-MSDN-license_3F00_.aspx"&gt;Cory at AddressOf has a spare subscription to Visual Studio 2005 Team System Suite with MSDN&lt;/A&gt; and it's giving for free to the one that impress him the most. Now the problem is how I catch his attention to get this subscription.&lt;/P&gt;
&lt;P&gt;To get the things straight, I believe that this subscription is every developers dream, but is way to much, even for a small workshop to get it. What I would do to get it? Not sure about the tangible things, but I can rest him assured that the license will be very well used. I am a big fan of embedded and mobile devices, and I believe they worth the learning investment. Just imagine the possibilities: Windows Mobile applications (developed with Visual Studio 2005 of course), together with Exchange, Biztalk, SQL Server (just to name a few), from the MSDN license, working together bringing productivity to the masses.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1017" width="1" height="1"&gt;</description></item><item><title>New Vista &amp;amp; Office 2007 boxes</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/11/05/1015.aspx</link><pubDate>Mon, 06 Nov 2006 04:17:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1015</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Have you seen the design of Vista and Office boxes? Apparently I'm &lt;A href="http://blogs.msdn.com/stevecla01/archive/2006/11/01/the-new-vista-boxes-mac-like.aspx"&gt;not the only one&lt;/A&gt; that after seeing the Vista and Office 2007 boxes thought that they look like the Office for Mac retail boxes.&lt;/P&gt;
&lt;P&gt;In case you want to know more about Vista, you can use the "&lt;A href="http://windowsvistablog.com/blogs/windowsvista/archive/2006/10/30/announcing-new-packaging-for-windows-vista-and-2007-office-system.aspx"&gt;Windows Vista blog&lt;/A&gt;" to find out, as it's packed with a lot of useful information.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1015" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/6.aspx">Work Related</category></item><item><title>Hacking Community Server</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/10/31/1014.aspx</link><pubDate>Wed, 01 Nov 2006 04:34:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1014</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>If you are having a split configuration where you are hosting the external Community Server site on a different server than the web site that is visible internally but you are sharing the exact same database, or the URL for your blog differs depending if you access it internally or externally, you may find yourself in the situation that Community Server will ping the configured site (or just the links from your post) with the wrong URL. Actually it's not wrong as it is the URL as if you are accessing the site internally, but for all other people outside your firewall this URL doesn't make sense. I have this kind of configuration because I want to post using SSL site, and by default Webhost4life isn't configured for SSL for the subdomains. As a result I found myself in the situation that CS was pinging sites with the administrative URL (SSL), instead of the public URL.
&lt;P&gt;After digging a little bit I didn't found something very relevant and I decided to recompile Community Server to make SiteUrlsData provider aware of absolute URLs. I was ready to send the patch to Community Server team, when while I was browsing for a completely different thing, I found &lt;A href="http://communityserver.org/forums/thread/549149.aspx"&gt;this URL&lt;/A&gt; on the Community Server site, that appeared to be linked to my previous needs. So all my patching process was not required at all because the team thought at this kind of need.
&lt;P&gt;So, if you need this kind of configuration do not search further, all you have is to place for the url tag a new attribute named "navigateUrl" with your absolute location and you are done. Apparently, this is not very well documented since even the guy that was asking about the problem found the answer from the CS support. In my case I modified the URL only for "weblogpostId" key, but you may want to modify it for "weblogpostName" too, depending on your configuration.
&lt;P&gt;Also, the good news is that this week it appeared Service Pack 1 for Community Server 2.1, and they are also working hard for the next release that will be named Community Server 3.0. Since 2.0 works good enough for me, I think I'll wait for the later. &lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1014" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>Reporting Services Uploader</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/10/15/1013.aspx</link><pubDate>Sun, 15 Oct 2006 20:26:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1013</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><description>Quite some time ago I have written a small utility that allows users to upload multiple Reporting Services reports (RDL files) at once to a Reporting Services Server. I have decided to make this utility public as others might find it useful.&lt;p /&gt;  The main problem with Microsoft SQL Reporting Services (either 2000 or 2005) is the lack of capability of uploading or downloading multiple RDL files at once. I know that the RS.exe utility exists, and it's presence is more proeminent in the 2005 version by adding the SQL Management Studio ability to script files of RS.exe, but you cannot upload quickly a locally stored folder full with RDL files, or for example copy a lot of reports from one server to another. That's why I decided to create this utility named RSUploader at this time at the version 0.5. Although I intent to update it a little bit I cannot promise that this will happen or a timeline for it's improvement.&lt;p /&gt;  RSUploader was built using .NET framework and presently the user interface is not the best in the world, but still gets the job done. The minimum requirement is .NET Framework 2.0 and it can connect to Microsoft SQL Reporting Services versions 2000 and 2005. You can download it from &lt;a href="http://blogs.mconstantin.eu.org/cchrism/attachment/1013.ashx"&gt;here&lt;/a&gt;&lt;p /&gt;  Among it's features you can:  &lt;UL&gt;  &lt;LI&gt;Browse the folder structure of Reporting Services&lt;/LI&gt;  &lt;LI&gt;Download all report definitions from one Reporting Services folder&lt;/LI&gt;  &lt;LI&gt;Upload a local folder containing RDL files in a reporting services folder&lt;/LI&gt;  &lt;LI&gt;Delete reports&lt;/LI&gt;  &lt;LI&gt;Hide/Unhide reports&lt;/LI&gt;  &lt;/UL&gt;  In addition to the ZIP archive I also attached a screenshot to know what to expect.&lt;p /&gt;  &lt;img width=632 height=552 src="http://gallery.mconstantin.eu.org/miscellaneous_pictures/images/1012/original.aspx" /&gt;&lt;P/&gt;  In order to successfully use RSUploader you have to type the URL of Reporting Service Web service, usually http://[machine]/ReportServer, do not swap it with the URL of Reporting Service Manager, and also if you are not using Integrated Authentication, type the username and password in the corresponding textboxes, and click Refresh in order to connect to the Reporting Services. Any time you change the URL or user / password you must click on Refresh in order to pick the new location.&lt;p /&gt;  Then expand the folder structure in the left view and in the right view you will have the actual list of reports and datasources. The checkbox in the front denotes the visibility of the item (if it is not checked it means it is hidden). Also you will have fix datasources for reports if you uploaded reports before you created your datasource and the GUID that Reporting Services is using for matching the datasources is not in sync.&lt;p /&gt;  If you find this utility useful please drop a note using the contact form.&lt;P/&gt; Of course, the information in this post and the utility is provided "AS IS" with no warranties, and confers no rights. I am not responsible if any thing doesn't work as expected or for any loss of data.&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1013" width="1" height="1"&gt;</description><enclosure url="http://blogs.mconstantin.eu.org/cchrism/attachment/1013.ashx" length="22828" type="application/x-zip-compressed" /><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/1.aspx">.NET Stuff</category><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category></item><item><title>Running IPv6 on a router near you</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/10/08/1008.aspx</link><pubDate>Mon, 09 Oct 2006 04:54:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1008</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><description>I told you &lt;A href="http://blogs.mconstantin.eu.org/cchrism/archive/2006/10/01/979.aspx"&gt;before&lt;/A&gt; that I updated my WRT54GL router to DD-WRT. One of the neat things of this new firmware is IPv6 support. In case you do not know IPv6 is the next generation of IP protocol, which addresses a major problem nowadays, the fact that IPv4 addresses will most likely to run out in a few years.&lt;P/&gt; The setup is fairly simple, you enable two radio buttons in the DD-WRT web management interface, setup the RADVD and tunnel configuration according to &lt;A href="http://www.dd-wrt.com/wiki/index.php/IPv6"&gt;DD-WRT Wiki&lt;/A&gt; and enable IPv6 on your Windows XP / 2003 box. Simple to say, simple to do, but I ran into a few problems, the main one being the fact that I wasn't able to communicate with anything over IPv6 from computers connected to the router. After a little bit of digging I found out that the scripts and configuration on the DD-WRT wiki were a little bit wrong, and with a minor fix I was able to use IPv6 successfully. This made me to write this post as it might be helpful to someone in the future.&lt;P/&gt; In the original startup script &lt;B&gt;V6IPNET&lt;/B&gt; variable was wrongly computed along with the netmask on &lt;B&gt;V6IP&lt;/B&gt; which I think it should be /48, because 2002:x:y:z:w::1/16 is equivalent of 2002::/16, and the routing table would be wrong as it adds address on br0 interface and route also on br0. Anyway the modified script is presented below, and it works for me:   &lt;DIV&gt;&lt;CODE&gt;&lt;PRE&gt;sleep 5
  WANIP=$(ip -4 addr show dev vlan1 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
  if [ -n "$WANIP" ]  then
   V6IP=$(printf '2002:%02x%02x:%02x%02x::1/48' $(echo $WANIP | tr . ' '))
   ip tunnel add tun6to4 mode sit ttl 255 remote any local $WANIP
   ip link set tun6to4 mtu 1280
   ip link set tun6to4 up
   ip addr add $V6IP dev br0
   ip -6 route add 2002::/16 dev tun6to4
   ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4
   kill -HUP $(cat /var/run/radvd.pid)
  fi  &lt;/PRE&gt;&lt;/CODE&gt;&lt;/DIV&gt;&lt;P/&gt;
Additionally, you may want to modify the RADVD configuration to advertise prefix 0:0:0::/48 instead of 0:0:0:1::/64, to match the above script, but it is not necessary, as 0:0:0:1::/64 it is a subset of 0:0:0::/48.&lt;P/&gt; These modifications were inspired from &lt;A href="http://wiki.openwrt.org/IPv6_howto#head-22390d128ec029d35f54606bfa68964f2d67a717"&gt;OpenWRT wiki&lt;/A&gt;, where I found also an interesting &lt;A href="http://wiki.openwrt.org/IPv6_howto#head-e3a3af5ba5b2a7f8f19e50a41276f883d9374bc4"&gt;configuration tip&lt;/A&gt; on how to make Windows XP more IPv6 friendly, not to discriminate IPv6 protocol by favoring IPv4.&lt;P/&gt; If you are interested in IPv6 (and you should be as the change is near), you can find a lot of links for various operating systems at &lt;A href="http://www.manybytesago.com/index.php?title=IPv6"&gt;ManyBytesAgo&lt;/A&gt;.&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1008" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/8.aspx">Networks related</category></item><item><title>Upgrading the WRT54GL</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/10/01/979.aspx</link><pubDate>Mon, 02 Oct 2006 03:42:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:979</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;As I was &lt;A href="http://blogs.mconstantin.eu.org/cchrism/archive/2006/07/10/906.aspx"&gt;saying&lt;/A&gt; quite some time ago I decided to upgrading my router firmware. Originally, I wanted to buy this particular model, due it's upgradeability to a open source firmware. The upgrade was a little bit postponed due the fact my computer &lt;A href="http://blogs.mconstantin.eu.org/cchrism/archive/2006/09/20/978.aspx"&gt;decided to stop working&lt;/A&gt; so I finally managed to do it. If you ask me which were the primary reasons of the upgrade, well static DHCP allocation and SNMP daemon are in the top list. If Linksys would add these feature in the stock firmware, right now I would not add this post. Static DHCP allocation is a very nice feature these days, as you can reshuffle your network (I mean especially in a more business scenario) without touching all the computers/devices out there, but eliminates the disadvantages of changing the device address without any reasons, or not having a predictable numbering scheme. As I said these are quite important in a business scenario, but even at home if you have more than a few devices it worths. Actually, I had a problem with the stock firmware that if I unplugged the router all the devices would have new addresses that usually are not the same, depending which device was faster to request addresses. &lt;/P&gt;
&lt;P&gt;The next feature I do not think requires much explanation: graphing the network traffic is quite essential in pinpointing potential problems, so here it goes.&lt;/P&gt;
&lt;P&gt;And the lucky winner was DD-WRT after all. I investigated a little bit over OpenWRT, but I decided to go after DD-WRT, since it seemed to me a little bit more interesting. I agree that both distribution have pretty much the same offerings, and even found that they even want to merge to concentrate the effort. &lt;/P&gt;
&lt;P&gt;The upgrade process was plain simple, just followed the &lt;A href="http://www.dd-wrt.com/wiki/index.php/Installation"&gt;Wiki&lt;/A&gt; installation tutorial and in about 10 minutes it was completed. I decided to skip the mini version and go directly to the voip version. I found that works perfectly going directly to the bigger version, with the warning that it might not work for some devices/versions, but apparently if it doesn't work it doesn't brick your router. This being said I very happy with my latest DD-WRT v23 SP2, and it seems very stable to me. So, keep up the good work with DD-WRT!&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=979" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/8.aspx">Networks related</category></item><item><title>Getting my computer back</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/09/20/978.aspx</link><pubDate>Thu, 21 Sep 2006 03:59:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:978</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;After a long time I managed to get my computer working again.Two months ago my mainboard decided to no longer boot Windows, mainly due to expanding capacitors. Originally I didn't know that and I assumed that the hard disk is malfunctioning (being the previous owner of two IBM harddisks have taught me that better safe than sorry, although I didn't lost my data), so I bought a new Western Digital 250GB hard-disk. After waiting almost a week, I found that even if I changed the harddisk, the symptoms are the same, so the this wasn't the cause. I knew that my mainboard capacitors started to expand, but I never thought that the computer will hang and after reboot it will stop working, I assumed that firstly it will start randomly crash and eventually will die, but it turned out that this is not the case. &lt;/P&gt;
&lt;P&gt;So I started to look after new mainboard. I had/have a Socket A Epox board (8KRA2+ if it matters), and I had two options: either find another similar board, or renew my computer to a more recent CPU. After browsing the sites, I could not find a interesting Socket AM2 board (particularly I was looking for a few things: VIA chipset and&amp;nbsp;Firewire on board and no onboard graphics, and don't ask why I want VIA chipset, simply I do not like NVidia on the chipset side, a matter of personal taste), and I searched the Epox Store for another 8KRA2+. Well I found a refurbished 8KRA2+ for a lovely almost 38 bucks. But boy, their S&amp;amp;H is almost 10 dollars. Updating to a AM2 socket would mean a new CPU - ~160$ at that time the cheapest, a new board (not to expensive), a new 1 GB of DDR2 memory, a new graphics board as AGP isn't in style these days and so on. Way out of my budget. So I bought the refurb board and waited to receive it, another few days.&lt;/P&gt;
&lt;P&gt;If you think that this is the happy end you are plain wrong. After receiving the refurb board the nightmare begun. Board started to hang randomly, after a few minutes to few hours. Who knows me might call very well "do not reboot guy", so for me it was pretty annoying to see that the medium time between reboots went down from 12 days to below 7 days in just&amp;nbsp;a week. The hang was so deep, that I had keep the power button pressed for 4 seconds to be able to reset it, as the reset button didn't do it's job while the board locked up. So after another 1 week of diagnosting with Epox support, trying to rule out the possible incompatibility between WD HDD SATA II with the&amp;nbsp;VIA KT600 chipset,&amp;nbsp; I decided to RMA the board. Few days ago I received a new board that works and I'm pretty happy with it. So for almost 55 dollars (including a Fedex&amp;nbsp;ship for RMA) I have my computer working again. I'm not including in this the new HDD, I wanted to upgrade it anyway.&lt;/P&gt;
&lt;P&gt;So right now I should be back in business and blog more frequent.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=978" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category></item><item><title>Linksys WRT54GL</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/07/10/906.aspx</link><pubDate>Tue, 11 Jul 2006 04:40:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:906</guid><dc:creator>cchrism</dc:creator><slash:comments>2</slash:comments><description>&lt;P&gt;In case you don't know Linksys WRT54GL is the actual version of one of the most routers that kept the headlines a couple of years ago, since Linksys used some GPL code in their firmware and eventually they were forced to release firmware sources and as a consequence a myriad of open source projects started based on the bits published the firmware. This means that you are no longer forced to use whatever a manufacturer decide to release to public, and if you do not like some part you can customize it. Basically WRT54GL can run a linux distribution of course trimmed down to fit the small amount of memory available. &lt;/P&gt;
&lt;P&gt;When I builded my wireless network I decided that this router is the best option, so I bought it. I paired it with another Linksys product a BECMU10 cable modem, a very nice thing of this setup is that the cases are builded to be stacked and they use very little space. Anyway, for&amp;nbsp;49,99 $ after mail-in rebate I do not think I can find a better wireless router at least now. The stock firmware is good but not the best so I started looking for alternate open-source projects. Well, as much as open-source fan I would I think that due the nature of the things (they are not making any money) the marketing is quite short, if at all. So, right now I could not find a comparative analysis between all major open-source firmware for WRT54 in order to decide which is best for me.&lt;/P&gt;
&lt;P&gt;At this stage I oscilate between two different projects: DD-WRT and OpenWRT, and I will try to compare them.&amp;nbsp;As far as I've seen&amp;nbsp;in OpenWRT the WPA(2) support is not free so most likely I will go with DD-WRT, apparently this project has a lot of fans, and I should join it. Do you have other opinions?&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=906" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/8.aspx">Networks related</category></item><item><title>Drinking from the firehose - or the latest update on my status</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/05/23/800.aspx</link><pubDate>Tue, 23 May 2006 12:27:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:800</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;If you ever wondered why there isn't a lot of activity on this blog lately, even if I said that I will try to be more active, now I'm ready to share the news. Well, the unexpected hapenned and in the past 4 months I've gone through a relocation process to Redmond, WA, United States, and more specifically to Microsoft. If you ever&amp;nbsp;relocated, even for a few miles, you know that there a lot of things to do, starting from giving notices to landlord and utilities, to packing and shipping things, and most important the order of packing things. Personally I learned the hard-way that if you have two types of freight, one that is faster one that is slower, think not twice, but ten times what you put in the faster freight. Now I'm renting houseware until my slower shippment arrives... A relocation that has left me without a computer and any other stuff for a few months, but otherwise a quite successful relocation.&lt;BR&gt;Until I got here, and I was reading other bloggers posts that said about "drinking from the firehose" I thought: "Yeah, that can'be so bad, I mean they are humans too!". After my first days I realized that this is true, the quantity of information is huge and there is a lot to learn and to find. So, I am a Microsoft employee right now.&lt;/P&gt;
&lt;P&gt;And as of today, a lot of things shipped as Beta2 (released at WINHEC2006):&lt;/P&gt;
&lt;P&gt;WinFX Runtime Components&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4A96661C-05FD-430C-BB52-2BA86F02F595&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=4A96661C-05FD-430C-BB52-2BA86F02F595&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Visual Studio Extensions&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5C080096-F3A0-4CE4-8830-1489D0215877&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=5C080096-F3A0-4CE4-8830-1489D0215877&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Vista:&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/downloads/products/getthebeta/default.aspx#downloadWindowsVista"&gt;http://msdn.microsoft.com/windowsvista/downloads/products/getthebeta/default.aspx#downloadWindowsVista&lt;/A&gt;&lt;BR&gt;You must have MSDN subscription or be part of the Beta program&lt;/P&gt;
&lt;P&gt;Office 2007:&lt;BR&gt;&lt;A href="http://www.microsoft.com/office/preview/beta/getthebeta.mspx"&gt;http://www.microsoft.com/office/preview/beta/getthebeta.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Apparently there are other bits that were shipped today and I didn't know (&lt;A href="http://blogs.msdn.com/mswanson/archive/2006/05/23/605150.aspx"&gt;http://blogs.msdn.com/mswanson/archive/2006/05/23/605150.aspx&lt;/A&gt;). &lt;/P&gt;
&lt;P&gt;And if you will be relocating, and need some advice about what to ship first use the feedback form.&lt;BR&gt;Right now I'm back on track so expect more frequent posting here. Keep tuned!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=800" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/6.aspx">Work Related</category><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category></item><item><title>Upgrading to CS 2.0</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/05/11/771.aspx</link><pubDate>Thu, 11 May 2006 14:10:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:771</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;I've just finished upgrading my site to Community Server 2.0. Well, my opinions are mixed at this point at least from an "administrator" point of view. Although the interface is more complex and with a lot of new features I was kind of puzzled that out of the box the configuration file is kind of damaged. The fix is straightforward, but still... for a piece of software that wants to be RTM is quite annoying. (For more details you can drilldown on &lt;A href="http://communityserver.org/forums/thread/517078.aspx"&gt;Community Server forum&lt;/A&gt;: ). And, yes, &lt;A href="http://weblogs.asp.net/anjanaram/archive/2006/05/07/445429.aspx"&gt;others&lt;/A&gt; were puzzled by this quality of this release, too.&lt;BR&gt;Anyway, I overcomed all the issues and the upgrade was very smooth. Basically, the longest operation was uploading of the new files, and they are quite a lot. Applying the upgrade script worked flawless. In the same step I've switched to ASP.NET 2.0 so I'm pretty much up to date right now. &lt;BR&gt;As a side note, just after updating the installations I've seen on the Community Server site that they are planning for 2.1 release to be available in July 2006. So I should start planning for the new update. &lt;BR&gt;One of the reason of upgrading to 2.0 version is that I found a very nice tool named &lt;A href="http://www.luzern.co.nz/blogs/dev_blog/archive/2006/03/03/868.aspx"&gt;CS Gallery Manager&lt;/A&gt; that can be used to upload multiple pictures in one step. Although it supports CS 1.1 with a small hack, I thought it's better to upgrade. The great thing of CS Gallery Manager is that it supports both rotate and resize on the fly, so you can keep it on the desktop or laptop machine, plug in the SD card of your camera and you are good to go (actually your pictures :) ). &lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=771" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category></item><item><title>GPS &amp;amp; Bluetooth</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/12/07/531.aspx</link><pubDate>Wed, 07 Dec 2005 11:28:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:531</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Being the proud owner of an Orange SPV C500 phone, I decided that it is the time to buy a GPS. After a little bit of digging the Internet, and by the way I haven't seen so far a lot of comparative testing on GPS chipsets, or even implementations, I found an i.Trek M1 GPS receiver, based on Nemerix chipset. I bought it from Semsons, and can be found &lt;A href="http://www.semsons.com/iblgpsre16ch.html"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;When I decided to buy a GPS my main criterias were:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Bluetooth - definitely&lt;/LI&gt;
&lt;LI&gt;No display - in order to decrease the cost&lt;/LI&gt;
&lt;LI&gt;Good battery life&lt;/LI&gt;
&lt;LI&gt;No interpolation made automatically in the chipset - this disqualified Sirf III chipset, even if there were claims that the accuracy is improved&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Given this, i.Trek M1 won the contest claiming 20hours of battery life (which I can say that is pretty accurate), the fact that the battery is identical to Nokia BL-5C (not sure about the exact model, but I should be pretty close about the model) and a pretty good accuracy. I must say that in&amp;nbsp;Manhattan I did have some problems fixing the sattelites, but usually it behaves pretty good. I usually use it in combination with Pocket Streets 2005 and I find it very useful. Even if Pocket Streets does not give routing information, at least when you are a pedestrian and try to find a place can give helpful clues.&lt;/P&gt;
&lt;P&gt;Also this gave me some reasons to try Visual Studio 2005 (Whidbey) at the time of testing still Beta2, to do some mobile testing. So I learned how to communicate with a Bluetooth device, quite simple, if you know to use sockets. I still have to learn how to discover Bluetooth devices, at this time the MAC address of my GPS is harcoded in the application. What did I do? I tried to create a tool similar to GPS Tuner (you can search for it using Google), to give me historic information. I wasn't interested in the graphing features of GPS Tuner, my main interests at least for now are the compass (where I am headed), current speed, maximum speed in this trip, and the distance. So far I managed to communicate with my GPS, and log the data in text files. I still have to work on the user interface, which is not my strongest area. Once I polish the UI, I think I will make it available to people.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=531" width="1" height="1"&gt;</description></item><item><title>Keepalive</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/12/04/530.aspx</link><pubDate>Sun, 04 Dec 2005 14:40:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:530</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Well, Nov 7th passed, Visual Studio 2005&amp;nbsp;(aka Whidbey) was launched, as well as Microsoft SQL Server 2005. Unfortunately, my lack of time is quite severe and I even haven't got time to download the final version. As far as can tell, the change are impressive, even if there are some quite reports that the environment is not so stable. I'm sure that the answer is somewhere in-between. On one side developers want to ship as late as possible to fix as much defects as possible, on the other side customers (that are the developers too) want it as early as possible. At least they announced that Service Pack1 for VS2005 will be shipped quite soon. This means a good thing, that Microsoft is aware that the quality is not as high as they wanted, but they want to fix this.&lt;/P&gt;
&lt;P&gt;Also this post wants to be a keepalive for all of you that are reading my posts. I'm apologizing that I'm not able to keep a regular schedule for posting here, but I'm trying to fix that in the near future. By using comments you can help me finding more time to post here, as I know that some one is just waiting to find new things.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=530" width="1" height="1"&gt;</description></item><item><title>Waiting for Whidbey</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/10/06/487.aspx</link><pubDate>Thu, 06 Oct 2005 08:21:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:487</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;In case if you leave on another planet, let's reiterate the old news: Whidbey launch date is November 7th.&lt;BR&gt;So far I have used Beta2, in a VMWare virtual machine which has 512 MB RAM dedicated, on an Athlon 1800+ CPU, and I am pretty impressed by it's speed. My team-mates say that they want an upgrade to 1GB on their computers when will switch to Whidbey, but I think that the speed won't be very different than Visual Studio 2003.&lt;BR&gt;Anyway, I wait it because it comes with many good things, all the annoying stuff that was present in VS 2002/2003. It will probably come with another round of annoying things, but hey, that's life.&lt;BR&gt;One thing I like a lot, is the fact that the mobile development and desktop development is under the same roof without any additional installations. Still, in Beta2 I tried to develop last week a desktop utility that connects to the mobile to display databases info. Unfortunately I did not find rapi.lib and rapi.h, and had to copy them from a Smartphone SDK. Is this a miss of the Beta2, or it will be also in the final version. On the other hand, ARM emulator simply rocks.&lt;BR&gt;The first thing that I'll do after I install the final release is to have it build for previous frameworks (1.0 &amp;amp; 1.1) and we are all set. &lt;/P&gt;
&lt;P&gt;PS: Today I even found someone from Microsoft asking if there is interest in &lt;A href="http://blogs.msdn.com/clichten/archive/2005/10/05/477506.aspx"&gt;getting this feature of targetting the previous runtimes&lt;/A&gt;.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=487" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/1.aspx">.NET Stuff</category></item><item><title>Completed the upgrade from nGallery to Community Server 1.1</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/10/06/486.aspx</link><pubDate>Thu, 06 Oct 2005 08:09:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:486</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;As you could see I've completed too the migration from nGallery to CommunityServer, without major incidents and data loss.&lt;BR&gt;I've used a &lt;A href="http://weblogs.asp.net/krobertson/archive/2005/03/03/384910.aspx"&gt;migration utility&lt;/A&gt; which is sort of official, of course I found a bug, when migration comments they assumed that Anonymous user has the ID 1000, but this is not anymore true since CommunityServer 1.1 at least (in 1.1 the IDs start at 2000 or 2100).&lt;BR&gt;Also I've noted that this utility when it gots an exception from the CS code, it simply hangs and nothing happens. I had to investigate this since when I was migrating the old gallery, it appeared to stay indefinitely at the second album picture 14th. I thought that it will take a little bit longer, but left it a few hours and nothing happened, and no error message. Well, the code crashed since that was the first picture with a comment (a spam anyway) since it was trying to add as originator of the comment the user with ID 1000, which did not exist (oh yeah, foreign key violation).&lt;BR&gt;Another thing that I did no like, and I think that I will update it manually, the fact that it doesn't keep the original dates, where the picture was added. I think this is a limitation of the fact that this tool uses the existing CS code, which does not offer a posibility to change the date. I will go directly to database sometime in the future to adjust the old pictures, only a little bit over 100 pictures have to be adjusted.&lt;BR&gt;One of the most annoying "feature" is that you cannot import album by album, but all albums go into the same gallery, which is not neccesarly a good thing. Since I was tweaking the code, I've introduced a quick if to ask the user (aka me) if a specific album is imported or not in the selected gallery. This way I was able to migrate 1 album to 1 gallery, and luckily, I had only 7 albums or so. If you have large number of albums this hack will probably cause more headache than solve.&lt;BR&gt;I've used the &lt;A href="http://madgeek.com/Samples/RedirectModule.041119.zip"&gt;url rewriting component&lt;/A&gt; found via&amp;nbsp;&lt;A href="http://bloggingabout.net/blogs/dennis/archive/2005/06/28/7408.aspx"&gt;Dennis van der Stelt&lt;/A&gt;&amp;nbsp;also, to fix all the old links that pointed directly to albums, so Google &amp;amp; friends would be able to pickup changes more rapidly.&lt;/P&gt;
&lt;P&gt;An important feature that is missing in the CS is the bulk upload. I think I'll use CS_FTP to a temporary folder on my desktop, and afterwards upload it to the hosting server, otherwise I will minimize drastically the number of uploaded pictures.&lt;/P&gt;
&lt;P&gt;This being told, you are welcome to see &lt;A href="http://gallery.mconstantin.eu.org/"&gt;my new galleries&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=486" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>Flying back and forth</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/09/29/485.aspx</link><pubDate>Thu, 29 Sep 2005 08:04:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:485</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Note: this is a prerecorded post. It has been started on the La Guardia airport while I was headed to Charlotte, NC&amp;nbsp;(Sep 28).&lt;/P&gt;
&lt;P&gt;Today I've actually flied around 5200 miles from Romania to Charlotte, via New York. I have to go to Charlotte&amp;nbsp;to setup a temporary installation for one of division of our clients. Most likely, I will repeat this experience in about three weeks, when their brand new hardware will show up, to migrate the previous version of my company's tool to the "latest and greatest" version.&lt;/P&gt;
&lt;P&gt;Now it's around 7pm ET, and I am awake for almost 24 hours. I need to sleep, but in the airport it's not a wise ideea, if you have a plane to catch up.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=485" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/6.aspx">Work Related</category></item><item><title>Upgraded to CommunityServer</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/09/08/340.aspx</link><pubDate>Thu, 08 Sep 2005 08:47:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:340</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Since I bought a new camera (more on this later), I decided that nGallery is good but not enough to display pictures. It has some problems with displaying EXIF data, so I said that upgrade worths the time. I downloaded Community Server 1.1 and installed locally to see how smooth is the upgrade. &lt;/P&gt;
&lt;P&gt;For blogs I've used DotText-CS-Converter 2.2 from&amp;nbsp;&lt;A href="http://kevinharder.com/blogs/kevin/archive/2005/06/09/dottext_cs_converter_22.aspx"&gt;http://kevinharder.com/blogs/kevin/archive/2005/06/09/dottext_cs_converter_22.aspx&lt;/A&gt;&amp;nbsp;and it took me around 15 minutes to get my blogs working on CommunityServer. Upgrade was very smooth with no problem. Afterward I tweaked SiteUrls.config file to keep my naming scheme using subdomains and not subfolders (the way CS wants by default). Apparently it didn't broke anything and I'm very happy with this. Still I'll have to check for possible problems. One thing I'm missing is my old Windows XP skin, and I do not know if it will work with minor adjustments for CS. Still searching...&lt;/P&gt;
&lt;P&gt;Tommorow I will update my galleries also, but here is a little bit of working, and I found a bug in the nGallery converter while testing on my local machine.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=340" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item></channel></rss>