<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Jeremy Simmons: The Blog</title>
  <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/" />
  <link rel="self" href="http://www.jeremysimmons.net/blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2010-01-11T12:13:42.681995-08:00</updated>
  <author>
    <name>Jeremy Simmons 2005-2009</name>
  </author>
  <subtitle>Four out of Five Coders recommend</subtitle>
  <id>http://www.jeremysimmons.net/blog/</id>
  <generator uri="http://dasblog.info/" version="2.2.8279.16125">DasBlog</generator>
  <entry>
    <title>LogParser samples for the Windows Event Log</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2010/01/11/LogParserSamplesForTheWindowsEventLog.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,58a4b1d4-6fb0-42a7-9ba7-9725ee44254e.aspx</id>
    <published>2010-01-11T12:13:42.681995-08:00</published>
    <updated>2010-01-11T12:13:42.681995-08:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">One of my buddies asked how to do the following
today:<br />
Suggest the size of the Event logs for a Windows 2003 Infrastructure. 
<br />
I don't know if there's a hard recommendation from the mothership in Redmond, but
I have learned that you should figure this out based on your own environment. My mom-and-pop
shop may have fewer entries than your fancy multi-site active directory enterprise.
So, we should just get some data, and infer what we should do. Maybe doing this once
a week for the first month, and then once a month thereafter should suffice.<br /><br />
Microsoft has, for quite some time, produced a log parsing tool known as "Log Parser". 
It's current release (as of June 2006) was version 2.2.  It is available as a
free download from Microsoft at:  <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;displaylang=en"> http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;displaylang=en</a> .  
<br /><br />
The queries I used to get the data of interest would be this.<br /><br />
Get the size of the event log per day for the Application Event log<br />
logparser.exe -i:EVT "SELECT TO_DATE(TimeGenerated), SUM(STRLEN(Message)) FROM Application
GROUP BY TO_DATE(TimeGenerated) ORDER BY TO_DATE(TimeGenerated)" -rtp:-1<br /><br />
Get the number of events per day for the application Event log<br />
logparser.exe -i:EVT "SELECT TO_DATE(TimeGenerated), Count(*) FROM Application GROUP
BY TO_DATE(TimeGenerated) ORDER BY TO_DATE(TimeGenerated)" -rtp:-1<br /><br />
a smart person might put this data into Excel and calculate the average size per entry,
and then draw some conclusions.<br /><br />
Make sure that you record your captured data, your predections, and your actuals so
you can make better predections in the future.<br /><p></p><img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=58a4b1d4-6fb0-42a7-9ba7-9725ee44254e" /></div>
    </content>
  </entry>
  <entry>
    <title>Message Box Error and Solution</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/12/30/MessageBoxErrorAndSolution.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,98c7fedf-ebc4-4e04-a6e3-bad1c433ed5c.aspx</id>
    <published>2009-12-30T13:05:44.2412405-08:00</published>
    <updated>2009-12-30T13:05:44.2412405-08:00</updated>
    <category term="All things Microsoft" label="All things Microsoft" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,AllThingsMicrosoft.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Here's another error I got today while using
Visual Studio 2008<br /><br />
---------------------------<br />
Microsoft Visual Studio<br />
---------------------------<br />
Error connecting to undo manager of source file 'C:\dev\Work\ReportBrowser\ReportBrowserWeb\SiteLayout.Master.designer.cs'.<br />
---------------------------<br />
OK   
<br />
---------------------------<br /><br />
Found a good solution here<br />
http://www.hanselman.com/blog/CommentView.aspx?guid=8bc798ae-da26-4864-b4e3-b68b081b4be1<br /><br />
1) Right-click the designer file and select delete<br />
2) Right-click the aspx file and select Convert to Web Application<br /><br /><p></p><img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=98c7fedf-ebc4-4e04-a6e3-bad1c433ed5c" /></div>
    </content>
  </entry>
  <entry>
    <title>Todays Message Box Error and Solution</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/12/23/TodaysMessageBoxErrorAndSolution.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,c3cca6d9-da16-4685-8499-5d49d339ec49.aspx</id>
    <published>2009-12-23T11:47:21.5200706-08:00</published>
    <updated>2009-12-23T11:47:21.5200706-08:00</updated>
    <category term="All things Microsoft" label="All things Microsoft" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,AllThingsMicrosoft.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've decided to start a new series of articles on how I solve various problems in
my daily programmer lifee. Usually a problem has a distinct message box that shows
up which you can copy the text of with the CTRL + C key combination. I think that
a lot of people search directly for this text, and it woudl be awesome to have it
solved. Maybe I'll even start a website some day to host these solutions so that people
(or in a perfect world the vendor...) can post a solution to them. For today, here's
my problem that I experienced inside of devenv.exe (Visual Studio 2008) today while
trying to use the Server Explorer to add a new Data Connection. 
</p>
        <p>
---------------------------<br />
Server Explorer<br />
---------------------------<br />
Unable to add data connection.
</p>
        <p>
Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The
system cannot find the file specified.<br />
---------------------------<br />
OK   
<br />
---------------------------<br /></p>
        <p>
I was tipped off by this forum post <a href="http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.vstudio.general&amp;tid=89ee0e86-b8fc-40a7-a0e1-51ac4033302e&amp;cat=en_US_38f7e3d1-40bd-4daf-941f-f45d2ff6ff9b&amp;lang=en&amp;cr=US&amp;sloc=&amp;p=1">http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.vstudio.general&amp;tid=89ee0e86-b8fc-40a7-a0e1-51ac4033302e&amp;cat=en_US_38f7e3d1-40bd-4daf-941f-f45d2ff6ff9b&amp;lang=en&amp;cr=US&amp;sloc=&amp;p=1</a></p>
        <p>
to install the SQL Server 2008 Managment Objects and Native Client, which you can
get from here
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&amp;displaylang=en#filelist">http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&amp;displaylang=en#filelist</a>
        </p>
        <p>
Or more specifically, here 
</p>
        <p>
Microsoft SQL Server 2008 Management Objects X86 Package <a href="http://go.microsoft.com/fwlink/?LinkId=123708&amp;clcid=0x409">http://go.microsoft.com/fwlink/?LinkId=123708&amp;clcid=0x409</a></p>
        <p>
Microsoft SQL Server 2008 Native Client X86 Package <a href="http://go.microsoft.com/fwlink/?LinkId=123717&amp;clcid=0x409">http://go.microsoft.com/fwlink/?LinkId=123717&amp;clcid=0x409</a></p>
        <img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=c3cca6d9-da16-4685-8499-5d49d339ec49" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Tortoise SVN behind Proxy</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/12/02/TortoiseSVNBehindProxy.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,db40fd55-ed1c-4163-b66a-2eca2753cb32.aspx</id>
    <published>2009-12-02T07:30:39.6556358-08:00</published>
    <updated>2009-12-02T07:30:39.6556358-08:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Sometimes you're at a building who proxies
their internet connection and you need to get a copy of some code from sourceforge.net.<br /><br />
The Subversion FAQ has great info on this http://subversion.tigris.org/faq.html#proxy<br /><br />
The specific file you want is %APPDATA%\Subversion\servers<br /><br />
Edit the [global] section<br /><br />
# is the comment character. Remove it to enable the following sections<br /><br />
http-proxy-host # the IP address or hostname of the proxy (don't include http or https)<br />
http-proxy-port # the port the proxy service is hosted on 
<br />
http-proxy-username # username (sometimes you need the netBiosDomain\username)<br />
http-proxy-password  # password<br />
http-timeout  # in seconds<br />
http-auth-types # authentication protocols. 
<br /><br /><p></p><img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=db40fd55-ed1c-4163-b66a-2eca2753cb32" /></div>
    </content>
  </entry>
  <entry>
    <title>Databinding to a XmlDataProvider in WPF</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/10/06/DatabindingToAXmlDataProviderInWPF.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,4335905a-431c-47b1-bb7f-696ebb4bf550.aspx</id>
    <published>2009-10-06T08:46:36.3541134-07:00</published>
    <updated>2009-10-06T08:46:36.3541134-07:00</updated>
    <category term="All things Microsoft" label="All things Microsoft" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,AllThingsMicrosoft.aspx" />
    <category term="Code" label="Code" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,Code.aspx" />
    <content type="html">I've resolved to start making the shift to WPF. It's about time. The technology has only been around for a good 3+ years. So far, I'm very excited by what I see. An invaluable reference has been &lt;a href="http://www.amazon.com/Programming-WPF-Chris-Sells/dp/0596510373/"&gt;Programming
WPF 2nd edition&lt;/a&gt; by Chris Sells. Specifically the appendices. The explination of
Xaml, and the Xaml Extensions removes the veil of confusion from all of the arcane
looking symbols going on in the Xaml code. Thanks for the awesome book Chris! I was
going through an article published in MSDN Magazine, &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163299.aspx"&gt;Data
Binding in WPF&lt;/a&gt; by John Papa. I encountered a very frustrating bug and I felt the
need to let the next developer know about the solution I uncovered. (The next developer
is sometimes me. I do very much love finding my own posts months or years down the
road that help me out). Maybe this will help you out.&lt;br&gt;
&lt;br&gt;
So, I'm building my Xaml out, and I have a perfectly good XmlDataProvider in my Resources.&lt;br&gt;
&lt;pre&gt;&amp;lt;XmlDataProvider x:Key="MoreColors" XPath="/colors"&amp;gt;&lt;br&gt;
&amp;lt;x:XData&amp;gt;&lt;br&gt;
&amp;lt;colors&amp;gt;&lt;br&gt;
&amp;lt;color name="pink"/&amp;gt;&lt;br&gt;
&amp;lt;color name="white"/&amp;gt;&lt;br&gt;
&amp;lt;color name="black"/&amp;gt;&lt;br&gt;
&amp;lt;color name="cyan"/&amp;gt;&lt;br&gt;
&amp;lt;color name="gray"/&amp;gt;&lt;br&gt;
&amp;lt;color name="magenta"/&amp;gt;&lt;br&gt;
&amp;lt;/colors&amp;gt;&lt;br&gt;
&amp;lt;/x:XData&amp;gt;&lt;br&gt;
&amp;lt;/XmlDataProvider&amp;gt;&lt;br&gt;
&lt;/pre&gt;
&lt;p&gt;
I Created the Binding to my Listbox as such.
&lt;/p&gt;
&lt;pre&gt;
&lt;br&gt;
&lt;/pre&gt;
&lt;pre&gt;
&lt;listbox x:name="lbColor" itemssource="{Binding Source={StaticResource Colors},  XPath=color/@name}"&gt;
&lt;/listbox&gt;
&lt;/pre&gt;
&lt;p&gt;
This whole thing is working in the Designer (Visual Studio 2008), but is displaying &lt;b&gt;nothing&lt;/b&gt; at
runtime. I whisk away to the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.data.xmldataprovider.aspx"&gt;MSDN
Documentation for XmlDataProvider&lt;/a&gt; and find this clever little note.
&lt;/p&gt;
&lt;blockquote&gt; The root node of the XML data has an xmlns attribute that sets the XML
namespace to an empty string. This is a requirement for applying XPath queries to
a data island that is inline within the XAML page. In this inline case, the XAML,
and thus the data island, inherits the System.Windows namespace. Because of this,
you need to set the namespace blank to keep XPath queries from being qualified by
the System.Windows namespace, which would misdirect the queries.&lt;br&gt;
&lt;/blockquote&gt;Is it possible that this is the explination to the Debug output I'm seeing
in Visual Studio at runtime?&lt;p&gt;
&lt;/p&gt;
&lt;pre&gt;System.Windows.Data Error: 47 : XmlDataProvider has inline XML that does not explicitly set its XmlNamespace (xmlns="").&lt;/pre&gt;
&lt;p&gt;
I add the missing &lt;code&gt;xmlns=""&lt;/code&gt; to the root xml element (as shown below),
and things begin to work at runtime.
&lt;/p&gt;
&lt;pre&gt;&amp;lt;XmlDataProvider x:Key="MoreColors" XPath="/colors"&amp;gt;&lt;br&gt;
&amp;lt;x:XData&amp;gt;&lt;br&gt;
&amp;lt;colors xmlns=""&amp;gt;&lt;br&gt;
&amp;lt;color name="pink"/&amp;gt;&lt;br&gt;
&amp;lt;color name="white"/&amp;gt;&lt;/pre&gt;
&lt;p&gt;
In searching for the answer to this solution, I also came across this post &lt;a href="http://blog.wouldbetheologian.com/2009/07/why-wpf-databinding-is-awful-technology.html"&gt;Why
WPF databinding is an awful technology&lt;/a&gt;. I hope this is not shared feeling of frustration
many of us receive by wasted hours of our day with the &lt;a href="http://www.google.fr/"&gt;Moteur
de recherche du jour&lt;/a&gt; (&lt;a href="http://www.google.com/"&gt;search engine of the day&lt;/a&gt;).
It's a really useful tool if you can convince it to give you the right answer, and
people have posted about the particular phrase you're looking for.
&lt;/p&gt;
&lt;p&gt;
Good luck reader, with your journey to WPF enlightenment. It has been worth my time.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=4335905a-431c-47b1-bb7f-696ebb4bf550" /&gt;</content>
  </entry>
  <entry>
    <title>How to remove the horizontal scrollbar from a ListView</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/10/01/HowToRemoveTheHorizontalScrollbarFromAListView.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,09e4e24b-0642-461d-bd8a-5eb537133f1d.aspx</id>
    <published>2009-10-01T09:05:19.4392984-07:00</published>
    <updated>2009-10-01T09:05:19.4392984-07:00</updated>
    <category term="All things Microsoft" label="All things Microsoft" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,AllThingsMicrosoft.aspx" />
    <category term="Code" label="Code" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,Code.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
When you have a ListView control in Windows Forms, and you don't want the horizontal
scroll bar to show up, you need to set the size of the columns to be the same 'Width'
as the ListView.<br />
What exactly is the 'Width' you should use here? Yes careful reader, I've been quoting
Width because we need to take a closer look at what's going on.<br />
Lets look at a dead simple example to clearly illustrate why this is a concern.<br /><br />
When I create a new Windows Forms application in Visual Studio, I get a standard sized
form. Dragging a ListView control from the toolbox will create a control with the
dimensions defined as 
</p>
        <pre>private void InitializeComponent()
{
   ...
   this.listView1.Size = new System.Drawing.Size(121, 97);
   ...
}</pre>
I added the following code to constructor of the Form after the <code>InitializeComponent()</code> call; <pre>void Form1()
{
   InitializeComponent();
   
   listView1.Columns.Add("Name");
   for (int i = 0; i &lt; 20; i++)
   {
      listView1.Items.Add(new string((char)(i + 33), 10));
   }
   // Naive width
   listView1.Columns[0].Width = listView1.Width;
}</pre><p>
What we end up with looks like the image below.
</p><p><img src="http://www.jeremysimmons.net/blog/content/binary/listview1.PNG" border="0" /></p><p>
This is definately not what we wanted. Even though none of my data is forcing my scroll
behavior, my column definition definitely is. I could change this to use the ClientSize
of the Control, I know that's smaller. The documentation on MSDN for <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientsize.aspx"> Control.ClientSize</a> makes
these remarks about the property. 
</p><blockquote> "The client area of a control is the bounds of the control, minus the
nonclient elements such as scroll bars, borders, title bars, and menus..." </blockquote> This
will work right? I'll just make a quick change to the code, recompile and... drat.
No love. <pre>    // Setting the width on the Column
   //<strike>listView1.Columns[0].Width
= listView1.Width;</strike> //listView1.Columns[0].Width = listView1.ClientSize.Width; 
<br />
}</pre><p>
What is going on here?!<br />
As it turns out, the calculation for ClientSize in the constructor is completely correct.
The control hasn't been drawn yet, and it has no knowledge of whether it will need
to use a vertical scrollbar to display the data. That's just fine control. I know
how to fix you. I know how wide a scroll bar is, and I can figure that out on my own...
Just watch me.
</p><pre>   // Setting the width on the Column
   //<strike>listView1.Columns[0].Width
= listView1.Width;</strike> //<strike>listView1.Columns[0].Width = listView1.ClientSize.Width;</strike> listView1.Columns[0].Width
= listView1.ClientSize.Width - SystemInformation.VerticalScrollBarWidth; }</pre><p>
Ha! Take that ListView. Now my column displays perfectly, and I have no Horizontal
ScrollBar to contend with. Just to prove it to you, I'm going to check how wide it
should be after the form shows up, to make sure I'm right...
</p><pre>      //<strike>listView1.Columns[0].Width = listView1.Width;</strike> //<strike>listView1.Columns[0].Width
= listView1.ClientSize.Width;</strike> Debug.Print("ListView is {0} px wide and has
a client width of {1} px", listView1.Width, listView1.ClientSize.Width); Debug.Print("VerticalScrollBarWidth:
{0}", SystemInformation.VerticalScrollBarWidth); Debug.Print("Calculated width: {0}",
listView1.ClientSize.Width - SystemInformation.VerticalScrollBarWidth); listView1.Columns[0].Width
= listView1.ClientSize.Width - SystemInformation.VerticalScrollBarWidth; this.Load
+= new EventHandler(Form1_Load); } void Form1_Load(object sender, EventArgs e) { Debug.Print("Loaded
width: {0}", listView1.ClientSize.Width - SystemInformation.VerticalScrollBarWidth);
} </pre>
Debug Output: <pre>ListView is 121 px wide and has a client width of 117 px
VerticalScrollBarWidth: 17
Calculated width: 100
Loaded width: 100
</pre><p>
Uh-oh. I have a bad feeling. It seems like the Width of the ClientSize after the control
has been painted is different than before it was painted. Could it be that when the
VerticalScrollBar is painted, the control does in fact know how much room it has left
to use to paint on the screen?! Isn't that in fact, exactly what the Remarks of the
ClientSize property told me? Do the numbers above not in fact make perfect sense!?
Is 117 - 17 = 100?! Yes... sigh. Perhaps I should have meditated on the implications
that the remarks on MSDN were accurate from the begging. 
</p><blockquote> "The client area of a control is the bounds of the control, <strong>minus
the nonclient elements such as scroll bars, borders, title bars, and menus</strong>..." </blockquote><p>
As it turns out, the correct time to set the width of a ListView Column is AFTER you've
determined that there will be scrollbars painted on the control.
</p><img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=09e4e24b-0642-461d-bd8a-5eb537133f1d" /></div>
    </content>
  </entry>
  <entry>
    <title>Get the current username and domain for the currently authenticated SQL Server user for Windows Integrated Authentication</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/09/28/GetTheCurrentUsernameAndDomainForTheCurrentlyAuthenticatedSQLServerUserForWindowsIntegratedAuthentication.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,f644f8f1-157b-4a59-ad27-94ee978dc654.aspx</id>
    <published>2009-09-28T12:58:31.0361881-07:00</published>
    <updated>2009-09-28T12:58:31.0361881-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
The title of this post declares the intent of the code below
</p>
        <p>
        </p>
        <pre>DECLARE @Domain VARCHAR(50);
DECLARE @Account VARCHAR(50);
SET @Domain = SUBSTRING(SYSTEM_USER, 0, CHARINDEX('\', SYSTEM_USER));
SET @Account = SUBSTRING(SYSTEM_USER, CHARINDEX('\', SYSTEM_USER) + 1, LEN(SYSTEM_USER) - CHARINDEX('\', SYSTEM_USER));
SELECT @Domain + '\' +@Account AS samAccountName;</pre>
        <img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=f644f8f1-157b-4a59-ad27-94ee978dc654" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Memories from MSDN Unleashed: The Best of PDC event</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/01/28/MemoriesFromMSDNUnleashedTheBestOfPDCEvent.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,339466b2-abc5-4812-8384-7de731e521c7.aspx</id>
    <published>2009-01-28T08:42:35.0822707-08:00</published>
    <updated>2009-01-28T08:42:35.0822707-08:00</updated>
    <category term="All things Microsoft" label="All things Microsoft" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,AllThingsMicrosoft.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I went to the MSDN Unleashed: The Best of
PDC event at ConfigureSoft. <a href="http://blog.davidyack.com/">David Yack</a> and <a href="http://blogs.msdn.com/bags/">Rob
Bagby</a> were presenting on the topics originally presented at PDC<br /><ul><li>
What to expect with C# 4.0</li><ul><li>
It's really just the distilled content that has been <a href="http://code.msdn.microsoft.com/csharpfuture/">available
since October</a>. You could hear it straight from <a href="http://channel9.msdn.com/pdc2008/TL16/">Anders</a> himself.
Dave did an awesome job though.<br /></li></ul><li>
The Silverlight Control Toolkit 
<br /></li><ul><li>
Microsoft is releasing code out of band for <a href="http://www.codeplex.com/Silverlight">Silverlight</a> for
those who wish to live on the edge<br /></li></ul><li>
REST with WCF and the WCF REST Starter Kit</li><ul><li>
Creating a REST-ful web service is dead simple using WCF. Add to it the starter kit
and you get all sorts of free goodies out of the box to making even more dead simple.
Once again, "It Just Works"<br /></li></ul><li>
Overview of Windows Azure (“The Cloud OS”) and Azure Services 
</li><ul><li>
Azure = a cloud operating system + a set of developer services. Somethings you just
gotta have a platform to write scalable apps on without worrying about the infrastructure. 
<br /></li></ul></ul>
We got some awesome "Rest in WCF" t-shirts with a photo of Rob's dog on it. I'm going
to have to hang it on the wall so everyone will ask why I have a sleeping dog on a
shirt. It's all because of Representational State Transfer of course! 
<br /><br />
Rob had some very funny lines I will quote often in the future as well.<br /><br /><blockquote>Like the guy on the Ginsu knife commercial says, But that's not all you
get<br /></blockquote><blockquote>...that's a potentially marriage limiting maneuver...<br /></blockquote>Thanks for the great presentation gentlemen. Thanks to Microsoft for
continuing these events. They're a great way to digest the information.<br /><img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=339466b2-abc5-4812-8384-7de731e521c7" /></div>
    </content>
  </entry>
  <entry>
    <title>MSBuild fail on specific days</title>
    <link rel="alternate" type="text/html" href="http://www.jeremysimmons.net/blog/2009/01/21/MSBuildFailOnSpecificDays.aspx" />
    <id>http://www.jeremysimmons.net/blog/PermaLink,guid,88dd418c-c27c-4a52-b441-6e3010684b6d.aspx</id>
    <published>2009-01-21T10:20:59.635-08:00</published>
    <updated>2009-01-21T10:23:51.62032-08:00</updated>
    <category term="All things Microsoft" label="All things Microsoft" scheme="http://www.jeremysimmons.net/blog/CategoryView,category,AllThingsMicrosoft.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently did a MSBuild script for a colleage to zip some files and move them to
a file server and email them to two recipients.<br />
The script should only run on a specific day (Sunday), and fail with an error if it
is not that day.<br />
Using the <a href="http://msbuildtasks.tigris.org/">MSBuild Community Tasks Project</a> from <a href="http://www.tigris.org/">Tigris</a> makes
this a trivial exercise.
</p>
        <pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"&gt;

  &lt;Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/&gt;

  &lt;Target Name="Build"&gt;
    &lt;Time&gt;
      &lt;Output TaskParameter="DayOfWeek" PropertyName="DayOfWeek" /&gt;
    &lt;/Time&gt;
    &lt;Message Text="It's Monday!" Condition=" '$(DayOfWeek)'=='Monday' "/&gt;
    &lt;Message Text="It's Tuesday!" Condition=" '$(DayOfWeek)'=='Tuesday' "/&gt;
    &lt;Error Code="1" ContinueOnError="false" Condition="'$(DayOfWeek)'=='Monday'" Text="Stop everything, it's monday!"/&gt;
    &lt;Message Text="Everything is ok"/&gt;
  &lt;/Target&gt;
&lt;/Project&gt;
</pre>
        <img width="0" height="0" src="http://www.jeremysimmons.net/blog/aggbug.ashx?id=88dd418c-c27c-4a52-b441-6e3010684b6d" />
      </div>
    </content>
  </entry>
</feed>