<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>chillijam.co.uk &#187; Marc</title>
	<atom:link href="http://chillijam.co.uk/author/Marc/feed/" rel="self" type="application/rss+xml" />
	<link>http://chillijam.co.uk</link>
	<description></description>
	<lastBuildDate>Thu, 26 Jan 2012 15:01:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Silverlight Toolkit ExpanderView &#8211; Flat Objects</title>
		<link>http://chillijam.co.uk/2012/01/26/silverlight-toolkit-expanderview-flat-objects/</link>
		<comments>http://chillijam.co.uk/2012/01/26/silverlight-toolkit-expanderview-flat-objects/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 14:40:27 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C# Snippets]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=382</guid>
		<description><![CDATA[Just one of many ways in which you can bind an ExpanderView control to a collection of simple objects. <a href="http://chillijam.co.uk/2012/01/26/silverlight-toolkit-expanderview-flat-objects/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Before anyone posts, I know this is not the intended usage of the control.  I did, however, have a requirement to show a list of simple objects and some of their properties in an expander view, so I&#8217;m going to explain one of many possible ways to do it.</p>
<p>My ViewModel contains an ObservableCollection&lt;ServiceAddOn&gt;, where my ServiceAddOn class looks like this.</p>
<pre class="brush: csharp; title: ; notranslate">
public class ServiceAddOn : INotifyPropertyChanged
{
    string name;
    string cost;
    DateTime startDate;
    DateTime expiryDate;
    // encapsulation for public access to the 4 locals
    // INotifyPropertyChanged implementation
}
</pre>
<p>Don&#8217;t worry about the encapsulation or INotifyPropertyChanged implementation &#8211; they  are as simple as it gets.</p>
<p>Now, I want to create an ListBox of ExpanderView controls that will display the information like this :</p>
<p><code><br />
My Item Name<br />
- Cost : £123.99<br />
- Start Date : 1/1/2012<br />
- Expiry Date : 1/1/2013<br />
Second Item<br />
ThirdItem<br />
</code></p>
<p>That is where the problems start.  As far as I can tell (with admittedly limited research into the issue) there is no way to bind to properties of an object in both the HeaderTemplate and the ItemTemplate &#8211; something needed to be done to expose these properties as a collection.  Since I was not able to change the inplementation of the ServiceAddOn class, I decided the best way would be to write a converter.  Before starting that, though, I needed a class to hold each of myt exposed properties.  It looks like this :</p>
<pre class="brush: csharp; title: ; notranslate">
public class ExposedProperty
{
    public string Key { get; set; }
    public string Value { get; set; }
}
</pre>
<p>Again, it is about as simple as it gets. <img src='http://chillijam.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now, the converter:</p>
<pre class="brush: csharp; title: ; notranslate">
public class ExposePropertyConverter : IValueConverter
{

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        ServiceAddOn obj = value as ServiceAddOn;
        if (null == obj) return null;
        ObservableCollection&lt;ExposedProperty&gt; values = new ObservableCollection&lt;ExposedProperty&gt;();
        values.Add(new ExposedProperty { Key = &quot;Cost&quot;, Value = obj.Cost });
        values.Add(new ExposedProperty { Key = &quot;Start Date&quot;, Value = obj.StartDate.Date.ToShortDateString() });
        values.Add(new ExposedProperty { Key = &quot;Expiry Date&quot;, Value = obj.ExpiryDate.Date.ToShortDateString() });

        return values;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
</pre>
<p>So now, it is just a case of a bit of plumbing&#8230;</p>
<p>Add the namespace reference to the XAML, and declare a converter instance</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;phone:PhoneApplicationPage
    x:Class=&quot;MyExampleApp.MainPage&quot;
    ...snip...
    xmlns:conv=&quot;clr-namespace:MyExampleApp.Converters&quot;
    ...snip...
    &gt;
    &lt;phone:PhoneApplicationPage.Resources&gt;
        &lt;conv:ExposePropertyConverter x:Key=&quot;GetMyProperties&quot; /&gt;
    &lt;/phone:PhoneApplicationPage.Resources&gt;
</pre>
<p>and then wire up the Listbox / ExpanderView combo&#8230; (note tht my collection of ServiceAddOn objects is called &#8220;DisplayItems&#8221;)</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ListBox ItemsSource=&quot;{Binding DisplayItems}&quot;&gt;
    ...snip standard plumbing...
    &lt;ListBox.ItemTemplate&gt;
        &lt;DataTemplate&gt;
             &lt;toolkit:ExpanderView
                 ItemsSource=&quot;{Binding Converter={StaticResource GetMyProperties}}&quot;
                 Header=&quot;{Binding}&quot;
                 NonExpandableHeader=&quot;{Binding}&quot;
                 Expander=&quot;{Binding}&quot;&gt;
                 &lt;toolkit:ExpanderView.HeaderTemplate&gt;
                     &lt;DataTemplate&gt;
                         &lt;TextBlock Text=&quot;{Binding Name}&quot; /&gt;
                     &lt;/DataTemplate&gt;
                 &lt;/toolkit:ExpanderView.HeaderTemplate&gt;
                 &lt;toolkit:ExpanderView.ItemTemplate&gt;
                     &lt;DataTemplate&gt;
                         &lt;TextBlock&gt;
                             &lt;Run Text=&quot;{Binding Key}&quot; /&gt;
                             &lt;Run Text=&quot; : &quot; /&gt;
                             &lt;Run Text=&quot;{Binding Value}&quot; /&gt;
                         &lt;/TextBlock&gt;
                     &lt;/DataTemplate&gt;
                 &lt;/toolkit:ExpanderView.ItemTemplate&gt;
             &lt;/toolkit:ExpanderView&gt;
        &lt;/DataTemplate&gt;
    &lt;/ListBox.ItemTemplate&gt;
&lt;/ListBox&gt;
</pre>
<p>The &#8220;magic&#8221; happens on line 6, where I bind the ItemsSource of the ExpanderView control to &#8220;{Binding Converter={StaticResource GetMyProperties}}&#8221;.</p>
<p>That&#8217;s it.</p>
<p>Next steps for this may be to make the Converter more generic, and possibly use reflection to get the properties instead of hard coding them, but for now this is good enough.</p>
<p>If you have any comments about a much simpler way to bind to flat, single-level objects in an ExpanderView control. I&#8217;d love to hear them.</p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2012/01/26/silverlight-toolkit-expanderview-flat-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: Snippet Example #1</title>
		<link>http://chillijam.co.uk/2012/01/20/snippet-example-1/</link>
		<comments>http://chillijam.co.uk/2012/01/20/snippet-example-1/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:01:32 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=376</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://chillijam.co.uk/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-376">Password:<br />
<input name="post_password" id="pwbox-376" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2012/01/20/snippet-example-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alter a Pivot controls header template the easy way (WP7)</title>
		<link>http://chillijam.co.uk/2012/01/11/alter-a-pivot-controls-header-template-the-easy-way-wp7/</link>
		<comments>http://chillijam.co.uk/2012/01/11/alter-a-pivot-controls-header-template-the-easy-way-wp7/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 11:01:49 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C# Snippets]]></category>
		<category><![CDATA[Mango]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=369</guid>
		<description><![CDATA[If you want to alter the template for a Windows Phone 7 pivot control&#8217;s header, the simplest way is as follows&#8230; Of course, all this example does is specifically set the colour used for the title and headers to black, &#8230; <a href="http://chillijam.co.uk/2012/01/11/alter-a-pivot-controls-header-template-the-easy-way-wp7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you want to alter the template for a Windows Phone 7 pivot control&#8217;s header, the simplest way is as follows&#8230;</p>
<pre class="brush: csharp; title: ; notranslate">
        &lt;controls:Pivot Title=&quot;Altered Styles&quot;&gt;
            &lt;controls:Pivot.HeaderTemplate&gt;
                &lt;!-- This changes to look of the items headers --&gt;
                &lt;DataTemplate&gt;
                    &lt;TextBlock Text=&quot;{Binding}&quot; Foreground=&quot;Black&quot;/&gt;
                &lt;/DataTemplate&gt;
            &lt;/controls:Pivot.HeaderTemplate&gt;
            &lt;controls:Pivot.TitleTemplate&gt;
                &lt;!-- This changes to look of the pivot overall title --&gt;
                &lt;DataTemplate&gt;
                    &lt;TextBlock Text=&quot;{Binding}&quot; Foreground=&quot;Black&quot;/&gt;
                &lt;/DataTemplate&gt;
            &lt;/controls:Pivot.TitleTemplate&gt;
            &lt;controls:PivotItem Header=&quot;daily&quot;&gt;
                &lt;Grid/&gt;
            &lt;/controls:PivotItem&gt;
            &lt;controls:PivotItem Header=&quot;hourly&quot;&gt;
                &lt;Grid/&gt;
            &lt;/controls:PivotItem&gt;
        &lt;/controls:Pivot&gt;
</pre>
<p>Of course, all this example does is specifically set the colour used for the title and headers to black, but you can do (almost) whatever you like in those templates.  Want to add an image as a bullet?  Go for it.</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;controls:Pivot.HeaderTemplate&gt;
    &lt;DataTemplate&gt;
        &lt;StackPanel Orientation=&quot;Horizontal&quot;&gt;
            &lt;Image Height=&quot;48&quot; Width=&quot;48&quot; Source=&quot;/MyBulletImage.png&quot; /&gt;
            &lt;TextBlock Text=&quot;{Binding}&quot; Foreground=&quot;Black&quot;/&gt;
        &lt;/StackPanel&gt;
    &lt;/DataTemplate&gt;
&lt;/controls:Pivot.HeaderTemplate&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2012/01/11/alter-a-pivot-controls-header-template-the-easy-way-wp7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternating ListBox item background colours in WP7</title>
		<link>http://chillijam.co.uk/2012/01/11/alternating-listbox-item-background-colours-in-wp7/</link>
		<comments>http://chillijam.co.uk/2012/01/11/alternating-listbox-item-background-colours-in-wp7/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 10:34:42 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C# Snippets]]></category>
		<category><![CDATA[Mango]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=364</guid>
		<description><![CDATA[I had a requirement today to implement alternating row colours in a Windows Phone 7 ListBox. After a bit of frustration with searching and only finding answers tht said &#8220;You can&#8217;t do it&#8221;, or that you need to add a &#8230; <a href="http://chillijam.co.uk/2012/01/11/alternating-listbox-item-background-colours-in-wp7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I had a requirement today to implement alternating row colours in a Windows Phone 7 ListBox. After a bit of frustration with searching and only finding answers tht said &#8220;You can&#8217;t do it&#8221;, or that you need to add a property on the model to bind the background to, I eventually hit upon a nugget of common sense on <a href="http://social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/f9e9ce26-d576-45f8-a79d-762176695385" target="_blank">this page</a>.</p>
<p>Basically you need to create a converter class that will handle the alternation of backgrounds for you. It is ridiculously simple once you see it in action.</p>
<p><strong>Step 1 : Create the converter.</strong></p>
<pre class="brush: csharp; title: ; notranslate">
public class AlternateRowColour : IValueConverter
{
bool isAlternate;
SolidColorBrush even = new SolidColorBrush(Colors.Transparent); // Set these two brushes to your alternating background colours.
SolidColorBrush odd = new SolidColorBrush(Color.FromArgb(255, 241, 241, 241));

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
isAlternate = !isAlternate;
return isAlternate ? even : odd ;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
</pre>
<p>Step 2 : Add the converter to the page</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;UserControl
 	...snip...
 	xmlns:conv=&quot;clr-namespace:MyApplication.Converters&quot;
 	...snip...
 	&gt;
	&lt;UserControl.Resources&gt;
		&lt;conv:AlternateRowColour x:Key=&quot;RowColour&quot; /&gt;
	&lt;/UserControl.Resources&gt;
	...snip...
&lt;/UserControl&gt;
</pre>
<p>Step 3 : Bind to the ListBox</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;ListBox ItemsSource=&quot;{Binding}&quot;&gt;
  &lt;ListBox.ItemTemplate&gt;
    &lt;DataTemplate&gt;
      &lt;Grid Background=&quot;{Binding Converter={StaticResource RowColour}}&quot;&gt;
        &lt;!-- layout XAML --&gt;
      &lt;/Grid&gt;
    &lt;/DataTemplate&gt;
  &lt;/ListBox.ItemTemplate&gt;
&lt;/ListBox&gt;
</pre>
<p>And you&#8217;re done.</p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2012/01/11/alternating-listbox-item-background-colours-in-wp7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using LINQ to randomise a list.</title>
		<link>http://chillijam.co.uk/2011/09/22/using-linq-to-randomise-a-list/</link>
		<comments>http://chillijam.co.uk/2011/09/22/using-linq-to-randomise-a-list/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 14:03:32 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[C# Snippets]]></category>
		<category><![CDATA[Linq]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=359</guid>
		<description><![CDATA[This afternoon I needed to select some random items from a collection, and my searching ran into this idea. I modified it a little to do what I needed (Select 4 items at random from a list), and this is &#8230; <a href="http://chillijam.co.uk/2011/09/22/using-linq-to-randomise-a-list/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This afternoon I needed to select some random items from a collection, and my searching ran into this idea.</p>
<pre class="brush: csharp; title: ; notranslate">
Random rnd = new Random();
var randomizedList = from item in list
                     orderby rnd.Next()
                     select item;
</pre>
<p>I modified it a little to do what I needed (Select 4 items at random from a list), and this is what I came up with&#8230;</p>
<pre class="brush: csharp; title: ; notranslate">
Random rnd = new Random();
var MyCollection = (from icon in TheOriginalList orderby rnd.Next() select icon).Take(4));
</pre>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2011/09/22/using-linq-to-randomise-a-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bandwidth Throttling &#8211; WP7</title>
		<link>http://chillijam.co.uk/2011/05/09/bandwidth-throttling-wp7/</link>
		<comments>http://chillijam.co.uk/2011/05/09/bandwidth-throttling-wp7/#comments</comments>
		<pubDate>Mon, 09 May 2011 09:35:58 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=354</guid>
		<description><![CDATA[I have been chasing down a defect in a Windows Phone 7 app that I&#8217;m involved with, but it seems to be bandwidth related. I really need to find a way to limit the bandwidth that the phone emulator is &#8230; <a href="http://chillijam.co.uk/2011/05/09/bandwidth-throttling-wp7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been chasing down a defect in a Windows Phone 7 app that I&#8217;m involved with, but it seems to be bandwidth related.  I really need to find a way to limit the bandwidth that the phone emulator is able to use.</p>
<p>On suggestion from some respected colleagues I used <a href="http://www.fiddler2.com/fiddler2/">Fiddler</a> to try to limit the bandwidth.  There are a <a href="http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx">few extra steps</a> you need to take to enable the emulator&#8217;s use of Fiddler, but once it is up and running you can use the &#8220;Simulate Modem Speed&#8221; option under Rules » Performance to limit the rate of data transmission.  Sadly, though, in my instance the way fiddler handles this is not eally sufficient for me.</p>
<p>The config file for the rule lists the following section :</p>
<pre class="brush: jscript; title: ; notranslate">
var m_SimulateModem: boolean = false;

if (m_SimulateModem){
  // Delay sends by 300ms per KB uploaded.
  oSession[&quot;request-trickle-delay&quot;] = &quot;300&quot;;
  // Delay receives by 150ms per KB downloaded.
  oSession[&quot;response-trickle-delay&quot;] = &quot;150&quot;;
}
</pre>
<p>Looking at the comments, it implies that it will add a delay of 150ms to each KB of data returned.  Sadly, the amount of data I&#8217;m working with is so small that the bandwidth limiting isn&#8217;t able to make any difference.</p>
<p>So, now I&#8217;m looking for alternate ways to achieve my goal, preferably to limit the data coming back on a byte-by-byte basis rather than per KB chunk.  If you have any ideas, please either leave a comment here or get in touch through <a href="http://twitter.com/zombiesheep">Twitter (@ZombieSheep)</a></p>
<p>Thanks a lot. <img src='http://chillijam.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2011/05/09/bandwidth-throttling-wp7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPad 2 : First impressions&#8230;</title>
		<link>http://chillijam.co.uk/2011/04/06/ipad-2-first-impressions/</link>
		<comments>http://chillijam.co.uk/2011/04/06/ipad-2-first-impressions/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 22:05:35 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[tools]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/2011/04/06/ipad-2-first-impressions/</guid>
		<description><![CDATA[(Do they still qualify as &#8220;first impressions&#8221; after owning the device for more than 24 hours?) Yesterday I managed to get my hands on an iPad 2. Bear in mind that I had always thought of the original iPad as &#8230; <a href="http://chillijam.co.uk/2011/04/06/ipad-2-first-impressions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(Do they still qualify as &#8220;first impressions&#8221; after owning the device for more than 24 hours?)</p>
<p>Yesterday I managed to get my hands on an iPad 2. Bear in mind that I had always thought of the original iPad as a good idea, but a bit of a waste of time and money &#8211; I mean, 400 quid for an overgrown iPhone that doesn&#8217;t let you call anyone?  That, though, was before I saw the GarageBand demo.  I saw one video on YouTube and it changed the game for me.  As some of you know, I am often called on the be away from home, so having a very capable 8 track studio in my laptop bag is a big draw.</p>
<p>Anyway, I patiently waited my opportunity to pick up one of the new generation, albeit the bottom of the range 16GB wifi model.  They first thing that struck me was how well it sits in my hands.  That Mr. Ive is a talented designer, and his stuff always looks the part but I hadn&#8217;t realised how natural these devices feel in use.</p>
<p>The bundled apps on the device are pretty good too.  Safari has always been a great browser and the iOS version is no exception.  The mail client took seconds to configure with my main email account, and the app store experience is a joy after using the Windows Phone 7 marketplace for a few months.</p>
<p>So now came the big moment &#8211; installing GarageBand.  I was expecting it to be more difficult than it actually was, for some reason. In the end, I just found the app in the app store, clicked on the buy button, and a couple of minutes later I was up and running with my new (almost) pocket sized studio.  Having used the full version on my MacBook I was familiar with most if the functions, and it took me literally 10 minutes to get a half way decent recording down using just e out of the box instruments.  Adding in the iRig guitar adapter that I bought, I was recording guitar parts that sounded like they had been recorded for a lot more money than I had just shelled out (apart from the dodgy playing, obviously).</p>
<p>So, all in all I&#8217;m extremely happy with the iPad 2.  If you are a friend on Facebook you may well have noticed a few posts to that effect. <img src='http://chillijam.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Now, if you&#8217;ll excuse me, I have to go explore the app store some more to find a good Facebook client&#8230;</p>
<p><a href="http://chillijam.co.uk/wp-content/uploads/2011/04/20110409-032846.jpg"><img src="http://chillijam.co.uk/wp-content/uploads/2011/04/20110409-032846.jpg" alt="20110409-032846.jpg" width=262 height=363 class="alignnone size-full" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2011/04/06/ipad-2-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barenaked Ladies &#8211; Leeds (17/10/10)</title>
		<link>http://chillijam.co.uk/2010/09/20/barenaked-ladies-leeds-171010/</link>
		<comments>http://chillijam.co.uk/2010/09/20/barenaked-ladies-leeds-171010/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 21:09:24 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=314</guid>
		<description><![CDATA[OK, first thing&#8217;s first &#8211; I am not what you&#8217;d call a Barenaked Ladies fan. I have a copy of &#8220;Stunt&#8220;, and I know &#8220;One Week&#8221; (in fact, my band have been trying to work out how to adequately cover &#8230; <a href="http://chillijam.co.uk/2010/09/20/barenaked-ladies-leeds-171010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>OK, first thing&#8217;s first &#8211; I am not what you&#8217;d call a Barenaked Ladies fan.  I have a copy of &#8220;<a href="http://www.amazon.co.uk/Stunt-Barenaked-Ladies/dp/B000007NDA/ref=sr_1_1?ie=UTF8&#038;s=music&#038;qid=1285016919&#038;sr=8-1">Stunt</a>&#8220;, and I know &#8220;One Week&#8221; (in fact, my band have been trying to work out how to adequately cover it for a while now), but that&#8217;s not the point&#8230;.  I went to see them on Friday night in Leeds and was pretty much blown away by them.</p>
<div id="attachment_316" class="wp-caption alignnone" style="width: 310px"><a href="http://chillijam.co.uk/wp-content/uploads/2010/09/BNL.jpg"><img src="http://chillijam.co.uk/wp-content/uploads/2010/09/BNL-300x180.jpg" alt="Obligatory photo from a camera phone" title="Barenaked Ladies - Leeds 17/10/2010" width="300" height="180" class="size-medium wp-image-316" /></a><p class="wp-caption-text">Barenaked Ladies - Leeds 17/10/2010</p></div>
<p>I can hear you asking yourself now &#8220;If you&#8217;re not a fan, why did you go see them?&#8221;  Well, that&#8217;s a fair question, and the answer is simple.  One of my mates *is* a big fan, and won the chance to go meet the band at the pre-show meet-and-greet.  Once again, though, the answer gets a little more complicated &#8211; I didn&#8217;t go along with her, because she&#8217;d already promised the second ticket to another of out mutual friends.  I did, however, offer to drive to take them and pick them up after the show (hey, I&#8217;m a nice guy!).  Anyway, the suggestion was made that I may as well get a ticket and join them, so I did.  (Although quite why I dedicated a whole paragraph to that little story is beyond me)</p>
<p>Anyway &#8211; the gig.  I could ramble on for a while about the support acts, who were great, but I&#8217;m not going to.  I&#8217;m just going to focus on the main event.</p>
<p>As I&#8217;ve already said, I was aware of the band, and some of their work, but in all honesty a lot of the material was new to me.  Did that matter?  Not a bit!  The songs I did recognise were performed exactly as I&#8217;d have wished to see them, and the ones I didn&#8217;t know were catchy enough for it not to matter that this was the first time I&#8217;d heard them.  The standard of musicianship was excellent, as you&#8217;d expect from the headline act.  What I really wasn&#8217;t expecting, though, was the level of engagement with the audience, and the level of humour with which the whole show was presented.  Not &#8220;we&#8217;re trying to be funny&#8221; kind of humour, just a gentle background feeling that I was watching a bunch of guys who were having a whale of a time on stage.  I was standing fairly near the back (right alongside the sound engineer, actually &#8211; the sound is always great there) but I felt drawn in to the show, felt a part of the good feeling in the room, and felt as if I was the one they were here to entertain.  No mean feat, as anyone who&#8217;s been up on a stage will tell you.</p>
<p>So, what&#8217;s the point of this rambling and unfocussed post?  Well, just to tell you that if you get a chance to go see these guys perform you should take it and get out and have a great night&#8217;s entertainment.  Next time they&#8217;re around these parts, I&#8217;ll be going again.  Maybe I&#8217;ll see you there too.</p>
<p>**EDIT** Seems my tweet about this post was <a href="http://twitter.com/Baldy67/statuses/25063355600">re-tweeted by Tyler</a>.  Another example of the band&#8217;s accessibility, I guess. <img src='http://chillijam.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2010/09/20/barenaked-ladies-leeds-171010/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Split a Camel-Cased word into its components</title>
		<link>http://chillijam.co.uk/2010/05/20/split-a-camel-cased-word-into-its-components/</link>
		<comments>http://chillijam.co.uk/2010/05/20/split-a-camel-cased-word-into-its-components/#comments</comments>
		<pubDate>Thu, 20 May 2010 08:00:03 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C# Snippets]]></category>
		<category><![CDATA[Extension Methods]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=304</guid>
		<description><![CDATA[I needed to split a camel-cased word into it&#8217;s component parts, and found the following extension method to help out. It works pretty well.]]></description>
			<content:encoded><![CDATA[<p>I needed to split a camel-cased word into it&#8217;s component parts, and found the following extension method to help out.  It works pretty well.</p>
<pre class="brush: csharp; title: ; notranslate">
public static string SplitCamelCase( this string str )
{
return Regex.Replace( Regex.Replace( str, @&quot;(\P{Ll})(\P{Ll}\p{Ll})&quot;, &quot;$1 $2&quot; ), @&quot;(\p{Ll})(\P{Ll})&quot;, &quot;$1 $2&quot; );
}</pre>
<p><a href="http://chillijam.co.uk/wp-content/uploads/2011/04/20110409-060908.jpg"><img src="http://chillijam.co.uk/wp-content/uploads/2011/04/20110409-060908.jpg" alt="20110409-060908.jpg" height=0 width=0 class="alignnone size-full" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2010/05/20/split-a-camel-cased-word-into-its-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Band</title>
		<link>http://chillijam.co.uk/2010/04/15/new-band/</link>
		<comments>http://chillijam.co.uk/2010/04/15/new-band/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 09:18:34 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[band]]></category>
		<category><![CDATA[Guitars]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://chillijam.co.uk/?p=302</guid>
		<description><![CDATA[After a good few years playing with Hydra, I have started a new band. Four are similar to Hydra in the material we play, but we&#8217;re a four-piece (guitar, bass, drums and vocals) which makes my job as guitarist a &#8230; <a href="http://chillijam.co.uk/2010/04/15/new-band/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After a good few years playing with Hydra, I have started a new band.  <a href="http://4-band.co.uk" target="_blank">Four</a> are similar to Hydra in the material we play, but we&#8217;re a four-piece (guitar, bass, drums and vocals) which makes my job as guitarist a bit more tricky.</p>
<p>Anyway, we have a very small, low-key gig planned for late April &#8211; mainly so we can try out some of our more eclectic material on a real audience.  Hopefully it will go down as well with them as it has done with the band members so far.  Let&#8217;s see, shall we?</p>
<p><a href="http://chillijam.co.uk/wp-content/uploads/2011/04/20110409-032149.jpg"><img src="http://chillijam.co.uk/wp-content/uploads/2011/04/20110409-032149.jpg" alt="4 in rehearsals" class="alignnone size-full" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://chillijam.co.uk/2010/04/15/new-band/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

