<?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>Developing UX</title>
	<atom:link href="http://developingux.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://developingux.com</link>
	<description>Caleb Jenkins on Silverlight &#124; .NET &#124; Design &#124; Development &#124; Architecture &#124; Community</description>
	<lastBuildDate>Mon, 30 Aug 2010 02:43:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	
	<item>
		<title>.NET on the Cheap &#8211; my slides from OpenCamp</title>
		<link>http://developingux.com/blog/2010/08/29/net-on-the-cheap-opencamp-microsoft-open-source/</link>
		<comments>http://developingux.com/blog/2010/08/29/net-on-the-cheap-opencamp-microsoft-open-source/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 02:33:34 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[CommunityCast Events]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[dallas]]></category>
		<category><![CDATA[opencamp]]></category>
		<category><![CDATA[oss]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=1011</guid>
		<description><![CDATA[.NET on the Cheap &#8211; Microsoft + OSS View more presentations from Caleb Jenkins. I had a great time opening up the .NET track at Open Camp this year. This was sort of a State of the OSS on .NET Talk – if you we’re, thanks for joining us and I hope this was fun [...]]]></description>
			<content:encoded><![CDATA[<div>
<div id="__ss_5085587" style="width: 425px;"><strong><a title=".NET on the Cheap - Microsoft + OSS" href="http://www.slideshare.net/calebjenkins/net-on-the-cheap-microsoft-oss">.NET on the Cheap &#8211; Microsoft + OSS</a></strong><object id="__sse5085587" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=microsoftandoss-slideshare-100829211833-phpapp01&amp;stripped_title=net-on-the-cheap-microsoft-oss" /><param name="name" value="__sse5085587" /><param name="allowfullscreen" value="true" /><embed id="__sse5085587" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=microsoftandoss-slideshare-100829211833-phpapp01&amp;stripped_title=net-on-the-cheap-microsoft-oss" name="__sse5085587" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/calebjenkins">Caleb Jenkins</a>.</div>
</div>
</div>
<p>I had a great time opening up the <a href="http://openca.mp/blog/check_out_dotnet/">.NET track</a> at Open Camp this year. This was sort of a <em>State of the OSS on .NET</em> Talk – if you we’re, thanks for joining us and I hope this was fun and informative!</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F08%2F29%2Fnet-on-the-cheap-opencamp-microsoft-open-source%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/08/29/net-on-the-cheap-opencamp-microsoft-open-source/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Open Source &amp; .NET OpenCamp 2010</title>
		<link>http://developingux.com/blog/2010/08/14/speaking-at-opencamp-2010-dallas/</link>
		<comments>http://developingux.com/blog/2010/08/14/speaking-at-opencamp-2010-dallas/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 21:33:53 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[CommunityCast Events]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[dallas]]></category>
		<category><![CDATA[opencamp]]></category>
		<category><![CDATA[oss]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=1009</guid>
		<description><![CDATA[Later this month I’ll be speaking at Open Camp 2010 in Dallas. I’m really looking forward to attending, participating and speaking at this event! It might not seam like the normal event that would have a Microsoft/.NET track, but I think that is part of what makes it so exciting to me. Open Source and [...]]]></description>
			<content:encoded><![CDATA[<p>Later this month I’ll be speaking at <a href="http://openca.mp/speakers/caleb-jenkins/">Open Camp 2010</a> in Dallas. I’m really looking forward to attending, participating and speaking at this event! It might not seam like the normal event that would have a Microsoft/.NET track, but I think that is part of what makes it so exciting to me. <strong>Open Source and Free are not necessarily the first words that come to mind when people think about the Microsoft Platform</strong>, but the fact is that Microsoft and the Microsoft communities have fostered some of the most vibrant OSS communities and projects. I’m looking forward to highlighting some of the awesome resources and tools that are available.</p>
<div>As a preview, here is one of my slides – hope to <a href="http://openca.mp/speakers/caleb-jenkins/">see you there</a>!</div>
<div></div>
<p><a href="http://developingux.com/wp-content/uploads/2010/08/image2.png"><img style="display: inline; border: 0px;" title="image" src="http://developingux.com/wp-content/uploads/2010/08/image_thumb.png" border="0" alt="image" width="518" height="391" /></a></p>
<p>Be sure to<a href="http://openca.mp/register/"> register soon</a>! &#8211; try the discount code &#8220;<strong>ugdotnetOC10&#8243;</strong></p>
<p>Also&#8230;</p>
<ul>
<li>Go read <a href="http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010/07/13/opencamp-dallas-ocdfw-adds-.net-track.aspx">Shawn Weisfeld&#8217;s post</a></li>
<li>the <a href="http://blogs.msdn.com/b/mvpawardprogram/archive/2010/07/29/jason-kergosien-and-caleb-jenkins-to-speak-at-opencamp.aspx">MVP Blog</a> mention</li>
</ul>
<p>See you there!</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F08%2F14%2Fspeaking-at-opencamp-2010-dallas%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/08/14/speaking-at-opencamp-2010-dallas/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Learning in Public &#8211; what I learned from being heckled at the Dallas Tech Fest</title>
		<link>http://developingux.com/blog/2010/08/02/learning-in-public-and-being-heckled-at-the-dallas-tech-fest/</link>
		<comments>http://developingux.com/blog/2010/08/02/learning-in-public-and-being-heckled-at-the-dallas-tech-fest/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 16:36:44 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[10 Developement Practices]]></category>
		<category><![CDATA[CommunityCast Events]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Proaction]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[dallas]]></category>
		<category><![CDATA[DI]]></category>
		<category><![CDATA[techfest]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=999</guid>
		<description><![CDATA[On Friday I spoke at the 2010 Dallas Tech Fest. This is a great event and I look forward to it every year. This year, I spoke on the 10 Practices that every developer needs to start right now (slides). I also, found out later, that I had the most attended talk of the day [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0px auto 5px; display: block; float: none; border: 0px;" title="image" src="http://developingux.com/wp-content/uploads/2010/08/image.png" border="0" alt="image" width="530" height="274" /> On Friday I spoke at the <a href="http://developingux.com/blog/2010/07/27/dallas-tech-fest/">2010 Dallas Tech Fest</a>. This is a great event and I look forward to it every year. This year, I spoke on the <a href="http://developingux.com/blog/2010/01/06/10-practices-every-developer-needs-right-now/">10 Practices that every developer needs to start right now</a> (<a href="http://www.slideshare.net/calebjenkins/10-practices-that-every-developer-needs-to-start-right-now">slides</a>). I also, found out later, that I had the most attended talk of the day – awesome! One of the things that I cover in that talk are the principals of SOLID – and that’s what I was heckled about.</p>
<p><span id="more-999"></span></p>
<p>The goal of the SOLID principals is to write better, healthier OO code that is easier to test, maintain and develop with. Essentially, SOLID embodies object oriented development done right.</p>
<p>It’s important to note that SOLID is a set of principals that embody the <em>what and the why</em> of certain OO practices. SOLID is really light on the <em>specifics of how</em>. The distinction is important, in that this is part of what allows the SOLID principals to be embraced across various languages and environments including Java, .NET, PHP, Ruby, etc&#8230; So, for example, the Open Close Principal can be achieved through poly-morphism, strategy pattern, IoC, virtual methods, dynamic mix-ins (ruby); the same can be said for the Dependency Inversion Principal – these are two how’s &amp; why’s that tackle the same problem from two different directions. The application of these principals is often very similar.</p>
<p>You can imagine that in that context, it would be difficult to fully embody the full breadth and depth of all of the SOLID principals in a talk where the entire set of SOLID principals were one sub point (two slides) of a 10 point talk.</p>
<p><strong>My goal was to pull out a couple of practical nuggets</strong> to help people embrace the SOLID principals – namely, to code against Interfaces and to adopt a Dependency Injection approach to development. In my opinion, if a developer will take on those two practices – that alone will take them close to embodying about 90% of the SOLID principals.</p>
<h3><strong>Imagine getting the why wrong, but being right on the how</strong>. Let that soak in for a minute.</h3>
<p>It’s like telling your kids to wash their hands or their pants will fall off. It’s a non-sequitur, they are un-related – and yet, people should still wash their hands. That’s what happened on Friday – and what I was heckled for.</p>
<p>I explained the how (what you should do with your code) correctly, but miss-matched the why. I was giving the why of Open Close Principal and Dependency Inversion Principal and attributing it to Liskov Substitution Principal – my mistake.</p>
<p>Should I have been heckled for that? Probably not. Not many people do as much public presenting as I do, and most would find it difficult to handle a heckler – it can throw off your whole talk (especially when you’re only on the 2nd point!) Fortunately, I’ve been doing this for a while, and I don’t think that it threw me off much, as one attendee observed on twitter</p>
<p>
<a href="http://twitter.com/twomice/status/19937838530"><img style="display: inline; margin-left: 0px; margin-right: 0px; margin-bottom:15px; border: 0px;" title="image" src="http://developingux.com/wp-content/uploads/2010/08/image1.png" border="0" alt="image" width="469" height="75" align="right" /></a>
</p>
<h2>Why am I blogging about this?</h2>
<p>First, for transparency. I was wrong in my explanation of LSP (it was a minor sub-point to my talk, and not the overall goal of my talk – but still). Second, I reached out to the person that heckled me via email the following day, and we’re back on good terms. He’s apologized for being inappropriate and we’re having lunch in the next couple of weeks. I honestly didn’t know who it was that heckled me at first,  I found out later and then realized that we had exchanged (positive) emails in the past, and so I reached out to him. Since he is active in the community, and at least a couple of other people recognized him in my session – I felt that it was important to let you all know that we’re all good – and that there were no hurt feelings.</p>
<p>The community is strong, no one is ever right all of the time (gasp!) and it’s important that we continue to move forward as an industry together.</p>
<p>Incidentally, what caused me to go back and re-look at LSP, was not from being heckled, but from a <em>very nice email that someone else sent me after my talk</em> – I really did appreciate that email, so to the person that sent it, thank you.</p>
<p>If you were at the talk that day – I’d love to <a href="http://joind.in/1825">get your feedback</a> on the Joind.in site that <a href="http://joind.in/event/view/419">DallasTechFest</a> is using.</p>
<p>Also, if anyone is interested in looking at my slides (the last 3 slides are all of the image credits) they are &#8211; and have been for some time &#8211; <a href="http://www.slideshare.net/calebjenkins/10-practices-that-every-developer-needs-to-start-right-now">posted on slideshare</a>; if you’re interested in some of the <a href="http://developingux.com/blog/2010/01/06/10-practices-every-developer-needs-right-now/">broader blog posts</a> on this subject, they are posted on my blog including my more complete <a href="http://developingux.com/blog/2010/02/09/solid-development/">write up on SOLID</a> (awaiting a Liskov update!)</p>
<p>Thanks – Happy coding!</p>
<p>Photo credit used in heading – on <a href="http://www.flickr.com/photos/idrewuk/4114729556/sizes/z/in/photostream/">flickr</a> by <a href="http://www.flickr.com/photos/idrewuk/">idrewuk</a> <a href="http://creativecommons.org/licenses/by/2.0/"><img style="margin: 0px; display: inline; border: 0px;" title="Creativecommons_trans" src="http://developingux.com/wp-content/uploads/2010/08/Creativecommons_trans.png" border="0" alt="Creativecommons_trans" width="25" height="25" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F08%2F02%2Flearning-in-public-and-being-heckled-at-the-dallas-tech-fest%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/08/02/learning-in-public-and-being-heckled-at-the-dallas-tech-fest/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Register today for the Dallas Tech Fest</title>
		<link>http://developingux.com/blog/2010/07/27/dallas-tech-fest/</link>
		<comments>http://developingux.com/blog/2010/07/27/dallas-tech-fest/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:20:40 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[CommunityCast Events]]></category>
		<category><![CDATA[Proaction]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[dallas]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=993</guid>
		<description><![CDATA[This Friday I’ll be speaking at the Dallas Tech Fest, and today is the last day to pre-register! Tech Fest’s are unique from other .NET Code Camp style event in that they pull some of the best speakers from a cross section of technologies. This is a great place to come mix it up and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dallastechfest.com"><img style="display: block; float: none; margin-left: auto; margin-right: auto;" src="http://dallastechfest.com/Portals/0/images/346590662.png" alt="Dallas TechFest 2010" /></a></p>
<p>This Friday I’ll be speaking at the <a href="http://dallastechfest.com">Dallas Tech Fest</a>, and <strong>today is the last day to pre-register!</strong> Tech Fest’s are unique from other .NET Code Camp style event in that they pull some of the best speakers from a cross section of technologies. This is a great place to come mix it up and see what’s happening on the “other side of the wall”. This year the Dallas Tech Fest will have featured tracks for .NET, JAVA, PHP, Adobe Flex, ColdFusion, IT Pro and other <a href="http://dallastechfest.com/Agenda/tabid/88/Default.aspx">Mixed Sessions</a>.</p>
<p>This year, my friend and organizer <a href="http://timrayburn.net/">Tim Rayburn</a> has pulled together some elite speakers from across the country like Craig Walls (<a href="http://www.amazon.com/Spring-Action-Third-Craig-Walls/dp/1935182358/">Spring in Action</a>), Ted Neward (as in – The <a href="http://blogs.tedneward.com/">Ted Neward</a>), Mark Piller (famous for his cross platform Adobe/.NET/Java applications), Matt Woodward (IT Specialist for the US Senate) and <a href="http://dallastechfest.com/Speakers/tabid/89/Default.aspx">many many more</a>.</p>
<p>Register today at <a href="http://DallasTechFest.EventBrite.com">http://DallasTechFest.EventBrite.com</a> Use promo code LASTYEAR to save $25.00 – go register now! It’s gonna be awesome.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F07%2F27%2Fdallas-tech-fest%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/07/27/dallas-tech-fest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Computer Setup</title>
		<link>http://developingux.com/blog/2010/07/07/new-computer-setup/</link>
		<comments>http://developingux.com/blog/2010/07/07/new-computer-setup/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 13:08:18 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[buying]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[non-techie]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=988</guid>
		<description><![CDATA[I’m frequently asked about new computers from our friends and family, and I’ve blogged about buying a new computer in the past, but this post is about the common things that you should download and install once you have that new computer, right after you do all of the Windows Updates and un-install all of [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="computer" border="0" alt="computer" src="http://developingux.com/wp-content/uploads/2010/07/computer.png" width="533" height="340" /> </p>
<p>I’m frequently asked about new computers from our friends and family, and I’ve blogged about <a href="http://developingux.com/blog/2010/02/01/buying-a-new-computer/">buying a new computer</a> in the past, but this post is about the common things that you should download and install once you have that new computer, right after you do all of the <a href="http://www.update.microsoft.com">Windows Updates</a> and <strong>un-install all of the “trial” software</strong> that came with your computer. As with anything, you can take this advice or leave it, I’m really curious to know what sort of things you think I need to add to this this. Feel free to add anything that I’ve missed in the comments!</p>
<p><a href="http://www.microsoft.com/security_essentials/"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="logo_mse" border="0" alt="logo_mse" align="left" src="http://developingux.com/wp-content/uploads/2010/07/logo_mse.gif" width="194" height="38" /></a> Microsoft Security Essentials. I won’t go through the discussion about whether or not Mac get viruses, they do; I will however say that you should have anti-virus software installed on your computer. This one is free, built by Microsoft, and works really well. This is the <a href="http://www.microsoft.com/security_essentials/">first thing I install</a> on a new computer. (<strong>note: </strong>You’ll probably need to <em>uninstall</em> whatever “free 90 day trial” antivirus that your new computer came with probably Norton or McAfee)</p>
<p> <span id="more-988"></span>
<p><a href="http://www.mesh.com"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://developingux.com/wp-content/uploads/2010/07/image.png" width="149" height="44" /></a> <a href="http://www.mesh.com">Live Mesh</a>. Mesh is awesome. Install it on every computer that you use. Mesh does three things for you.</p>
<ol>
<li>It Synchronizes files between computers. just pick the folders that you want to have participate in the synchronization, right click and select “add to mesh” </li>
<li>Mesh Synchronizes files to cloud. That is, on of the “computers” that you can synchronize your files to is the mesh.com website. Just log in, select connect to Live Desktop and there you go, your files – available from any computer with an Internet connection. </li>
<li>Mesh let’s you “remote desktop” to any computer that is running mesh. What’s that, forgot to add that file to your mesh folder and now you’re away and need to access it? No problem, remote in to your home computer, add the file to the folder, it’s now available on your laptop. Awesome. </li>
</ol>
<p> <a href="http://get.live.com"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://developingux.com/wp-content/uploads/2010/07/image1.png" width="154" height="43" /></a> Another “essential” on the list of installs is <em>ironically</em>, <a href="http://get.live.com">Windows Live Essentials</a>. With Live essentials you get:
</p>
<ol>
<li>Live Messenger &#8211; you can chat with family, even do video chat and remote assistance with friends and family </li>
<li>Movie Maker &#8211; fyi..this is what I’ve used for every <a href="http://communitycast.wordpress.com/">CommunityCast TV</a> video – it had *some* short comings, but for the most part – will do whatever you need, easily, for making videos </li>
<li>Mail – I’ve honestly never used this for email. I’ve always just used gMail or Outlook. But if I didn’t have Outlook installed – I’d definitely give this a go! </li>
<li>Photo Gallery – this actually does a real nice job organizing your photos, and helps when you need to scan images for expense reports! </li>
</ol>
<p>OK, that’s it for the critical stuff, obviously as a developer, I also install a host of tools that I use on a daily basis, and that will probably make a nice future post (in the mean time, go check out Scott’s <a href="http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx">ultimate developer tools list</a>)… but here are&#160; some of the optional installs for everyone!</p>
<p><a href="http://www.slysoft.com/en/virtual-clonedrive.html"><img style="margin: 0px 10px 0px 0px; display: inline" alt="" align="left" src="http://www.slysoft.com/img/logo/logo_t_vcd.gif" /></a></p>
<p><a href="http://www.slysoft.com/en/virtual-clonedrive.html">Virtual CloneDrive</a> Why this functionality isn’t just baked in to Windows – I will never know. This is just perfect. You have an ISO that you want to use? No problem, just double click it and it will be as if you just stuck the CD/DVD in to your drive. Awesome.</p>
<p>Image Editing – <a href="http://www.gimp.org/">GIMP</a> (requires Java), <a href="http://www.getpaint.net/">Paint.NET</a> (Requires .NET)</p>
<p><a href="http://www.iespell.com/">IE Spell</a> – Spell Check is built in to every browser *except* Internet Explorer</p>
<p>OK, I think that’s the important stuff. Feel free to add your top items in the comments!</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F07%2F07%2Fnew-computer-setup%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/07/07/new-computer-setup/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Top 3 Nerd Video&#8217;s Off All Time</title>
		<link>http://developingux.com/blog/2010/07/04/top-3-nerd-videos-off-all-time/</link>
		<comments>http://developingux.com/blog/2010/07/04/top-3-nerd-videos-off-all-time/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 19:02:16 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[nerd]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=979</guid>
		<description><![CDATA[I was tagged in a video yesterday on Facebook, and I completely related to it. That brings my top 3 best video ever to these. Enjoy.. Ok, I know that the first and last aren&#8217;t really NERD exclusive, but they&#8217;re what I like. &#8230; so, based on that start, what are your top picks? Date [...]]]></description>
			<content:encoded><![CDATA[<p>I was tagged in a video yesterday on Facebook, and I completely related to it. That brings my top 3 best video ever to these. Enjoy..</p>
<p>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="345" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="pageurl=http://www.ebaumsworld.com/video/watch/81024528/&amp;file=http://media.ebaumsworld.com/mediaFiles/video/328979/81024528.mp4&amp;mediaid=81024528&amp;title=Dad Life&amp;tags=dad,life,parody&amp;description=Dozens of dollars&amp;displayheight=325&amp;backcolor=0x0d0d0d&amp;lightoclor=0x336699&amp;frontcolor=0xcccccc&amp;image=http://images.ebaumsworld.com/2010/06/81024528/dads.jpg&amp;username=baddozer" /><param name="src" value="http://www.ebaumsworld.com/player.swf" /><param name="wmode" value="transparent" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="425" height="345" src="http://www.ebaumsworld.com/player.swf" quality="high" wmode="transparent" flashvars="pageurl=http://www.ebaumsworld.com/video/watch/81024528/&amp;file=http://media.ebaumsworld.com/mediaFiles/video/328979/81024528.mp4&amp;mediaid=81024528&amp;title=Dad Life&amp;tags=dad,life,parody&amp;description=Dozens of dollars&amp;displayheight=325&amp;backcolor=0x0d0d0d&amp;lightoclor=0x336699&amp;frontcolor=0xcccccc&amp;image=http://images.ebaumsworld.com/2010/06/81024528/dads.jpg&amp;username=baddozer" bgcolor="#ffffff"></embed></object></p>
<p>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/N9qYF9DZPdw&amp;hl=en_US&amp;fs=1?rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/N9qYF9DZPdw&amp;hl=en_US&amp;fs=1?rel=0" allowfullscreen="true"></embed></object></p>
<p><span id="more-979"></span></p>
<p>
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/nZlqkrg8lQQ&amp;hl=en_US&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/nZlqkrg8lQQ&amp;hl=en_US&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
</p>
<p>
Ok, I know that the first and last aren&#8217;t <em>really</em> NERD exclusive, but they&#8217;re what I like. <img src='http://developingux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8230; so, based on that start, what are your top picks? Date my Avatar? Crazy Frog Thing? Nerdcore Rising? One of the many WOW spoofs that are out there? Red vs Blue? One of the Starwars spoofs? Starwars kid? Something else? What would you go with? Check out some of my <a href="http://developingux.com/topic/video/">other favorite videos</a> for ideas. Have fun!</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F07%2F04%2Ftop-3-nerd-videos-off-all-time%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/07/04/top-3-nerd-videos-off-all-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using RhinoMocks to Test Model View Presenter Events with Lambdas and VB / C#</title>
		<link>http://developingux.com/blog/2010/07/04/rhinomocks-to-test-mvp-events-with-lambdas-vb-cs/</link>
		<comments>http://developingux.com/blog/2010/07/04/rhinomocks-to-test-mvp-events-with-lambdas-vb-cs/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 15:59:20 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[10 Developement Practices]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[rhinomocks]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unittest]]></category>
		<category><![CDATA[vb]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=969</guid>
		<description><![CDATA[This week I had the privilege of leading a custom workshop for a team of developers in Fort Worth, TX. One of the topics that we covered was Writing Testable Code; specifically, we looked at the Model-View-Presenter (MVP) patterns, dependency injection and using RhinoMocks to pull it all together. The one catch was… this group [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://developingux.com/wp-content/uploads/2010/07/rhino_.jpg"><img style="margin: 15px 10px 0px 0px; display: inline; border-width: 0px;" title="rhino_" src="http://developingux.com/wp-content/uploads/2010/07/rhino__thumb.jpg" border="0" alt="rhino_" width="240" height="160" align="left" /></a><br />
This week I had the privilege of leading a custom workshop for a team of developers in Fort Worth, TX. One of the topics that we covered was <em>Writing Testable Code</em>; specifically, we looked at the Model-View-Presenter (MVP) patterns, dependency injection and using <a href="http://ayende.com/projects/rhino-mocks.aspx">RhinoMocks</a> to pull it all together. The one catch was… this group of developers used <a href="http://msdn.microsoft.com/en-us/vbasic/default.aspx">Visual Basic</a>.</p>
<p>I’ve never shied away from VB. In fact, VB6 with classic ASP is where I cut my programming teeth, and VB.NET was my first move to a true <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">OO language</a>. That being said, I work day in and day out with <a href="http://msdn.microsoft.com/en-us/vcsharp/">C#</a>… I’m much more fluent there, and I realized that there were a ton of <a href="http://channel9.msdn.com/posts/Dan/Lucian-Wischik-and-Lisa-Feigenbaum-Whats-new-in-Visual-Basic-10/">new features</a> in VB that I wanted to cover that I wasn’t up to par with, fortunately I was able to call on my network of super smart friends and recruit/hire a fellow <a href="https://mvp.support.microsoft.com/communities/mvp.aspx">MVP’er</a> to help me out for the day (thanks <a href="http://addressof.com/">Cory</a> for doing that 2 days after your wedding!)</p>
<p>One of the things that tripped me up was using Lambdas in VB. Lambdas are especially important if you are going to use a Mocking framework like RhinoMocks (which I do). Doing Lambdas in VB – especially when I was trying to raise an event from a mock – sort of tripped me up…</p>
<p>First – if you are working with Rhino Mocks, you should go have a look at the excellent Wiki. <a title="http://ayende.com/Wiki/Rhino+Mocks+3.5.ashx" href="http://ayende.com/Wiki/Rhino+Mocks+3.5.ashx">http://ayende.com/Wiki/Rhino+Mocks+3.5.ashx</a> I find that a lot of people (read: I had) skip the “documentation” since RhinoMocks is so fluent and straight forward, but it’s definitely worth the read!</p>
<p>Second, if you’ve never raised an event in mock from your test in C# here’s the code:</p>
<pre class="code"><span style="color: silver;">viewMock.Raise(x =&gt; x.CalcShippingRequest += </span><span style="color: #ff8000;">null</span><span style="color: silver;">, </span><span style="color: #ff8000;">this</span><span style="color: silver;">, </span><span style="color: yellow;">EventArgs</span><span style="color: silver;">.Empty);</span></pre>
<pre class="code"></pre>
<p>and in VB:</p>
<p><span id="more-969"></span></p>
<p><span style="color: silver;">view.Raise(</span><span style="color: #ff8000;">Sub</span><span style="color: silver;">(x)</span><span style="color: #ff8000;">AddHandler </span><span style="color: silver;">x.CalcShippingRequest, </span><span style="color: #ff8000;">Nothing</span><span style="color: silver;">, </span><span style="color: #ff8000;">Me</span><span style="color: silver;">, </span><span style="color: #2b91af;">EventArgs</span><span style="color: silver;">.Empty)</span></p>
<p>It’s the “AddHandler” part that kept tripping me up.. that’s basically += in C#.</p>
<h3>Let’s put it all together…</h3>
<p>Here’s the IView interface that the aspx page implements. (notice the VB 10 automatic properties)</p>
<pre class="code"><span style="color: #ff8000;">Public Interface </span><span style="color: #2b91af;">IView
    </span><span style="color: #ff8000;">Property </span><span style="color: silver;">UnitPrice </span><span style="color: #ff8000;">As Decimal
    Property </span><span style="color: silver;">ShippingDistance </span><span style="color: #ff8000;">As Decimal
    Sub </span><span style="color: silver;">DisplayShippingPrice(</span><span style="color: #ff8000;">ByVal </span><span style="color: silver;">price </span><span style="color: #ff8000;">As Decimal</span><span style="color: silver;">)
    </span><span style="color: #ff8000;">Event </span><span style="color: silver;">CalcShippingRequest </span><span style="color: #ff8000;">As </span><span style="color: #2b91af;">EventHandler
</span><span style="color: #ff8000;">End Interface
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The Presenter (providing the UI Logic)</p>
<pre class="code"><span style="color: #ff8000;">Public Class </span><span style="color: #2b91af;">ShippingCalcPresenter
    </span><span style="color: #ff8000;">Dim </span><span style="color: silver;">view </span><span style="color: #ff8000;">As </span><span style="color: #2b91af;">IView

    </span><span style="color: #ff8000;">Public Sub New</span><span style="color: silver;">(</span><span style="color: #ff8000;">ByVal </span><span style="color: silver;">view </span><span style="color: #ff8000;">As </span><span style="color: #2b91af;">IView</span><span style="color: silver;">)
        </span><span style="color: #ff8000;">Me</span><span style="color: silver;">.view = view
        </span><span style="color: #ff8000;">AddHandler </span><span style="color: silver;">view.CalcShippingRequest, </span><span style="color: #ff8000;">AddressOf </span><span style="color: silver;">HandleCalc
    </span><span style="color: #ff8000;">End Sub</span></pre>
<pre class="code"><span style="color: #ff8000;">
    Private Sub </span><span style="color: silver;">HandleCalc(</span><span style="color: #ff8000;">ByVal </span><span style="color: silver;">Sender </span><span style="color: #ff8000;">As Object</span><span style="color: silver;">, </span><span style="color: #ff8000;">ByVal </span><span style="color: silver;">E </span><span style="color: #ff8000;">As </span><span style="color: #2b91af;">EventArgs</span><span style="color: silver;">)
        </span><span style="color: #ff8000;">Me</span><span style="color: silver;">.view.DisplayShippingPrice(view.ShippingDistance + view.UnitPrice)
    </span><span style="color: #ff8000;">End Sub
End Class
</span></pre>
<p>The logic here is simple and contrived… we calculate the Shipping cost based on the Unit price and the Shipping distance (we just add the two… like I said, simple and contrived). Also notice that it’s the event from the view (CalcShippingRequest) that causes the presenter to go in to action, namely, it calls DiplayShippingProce on the view. This could have just as easily been a writable property, but I went with a method instead.</p>
<p>Here is the whole test (VB) AAA Syntax using RhinoMocks</p>
<pre class="code"><span style="color: silver;">&lt;</span><span style="color: #2b91af;">TestClass</span><span style="color: silver;">()&gt;
</span><span style="color: #ff8000;">Public Class </span><span style="color: #2b91af;">ShippingCalcPresenterTest
    </span><span style="color: silver;">&lt;</span><span style="color: #2b91af;">TestMethod</span><span style="color: silver;">()&gt;
    </span><span style="color: #ff8000;">Public Sub </span><span style="color: silver;">ShippingCalcPresenterConstructorTest()
        </span><span style="background: black; color: lime;">'*** Assign ***
</span><span style="color: silver;">        </span><span style="background: black; color: lime;">'view as a Mock object
</span><span style="color: silver;">        </span><span style="color: #ff8000;">Dim </span><span style="color: silver;">view </span><span style="color: #ff8000;">As </span><span style="color: #2b91af;">IView </span><span style="color: silver;">=</span></pre>
<pre class="code"><span style="color: silver;">               </span><span style="color: #2b91af;">MockRepository</span><span style="color: silver;">.GenerateMock(</span><span style="color: #ff8000;">Of </span><span style="color: #2b91af;">IView</span><span style="color: silver;">)()
        </span><span style="background: black; color: lime;">'set View values (user input)
</span><span style="color: silver;">        view.Expect(</span><span style="color: #ff8000;">Function</span><span style="color: silver;">(x) x.ShippingDistance)</span></pre>
<pre class="code"><span style="color: silver;">               .[Return](8).Repeat.Once()
        view.Expect(</span><span style="color: #ff8000;">Function</span><span style="color: silver;">(x) x.UnitPrice)</span></pre>
<pre class="code"><span style="color: silver;">               .[Return](2).Repeat.Once()
        </span><span style="background: black; color: lime;">'Expect Shipping price of 10 to get set in view
</span><span style="color: silver;">        </span><span style="background: black; color: lime;">' -- Presenter Logic: Price = Distance + Price
</span><span style="color: silver;">        view.Expect(</span><span style="color: #ff8000;">Sub</span><span style="color: silver;">(x) x.DisplayShippingPrice(10)).Repeat.Once()
        </span><span style="background: black; color: lime;">'  Inject view Mock in to Presenter
</span><span style="color: silver;">        </span><span style="color: #ff8000;">Dim </span><span style="color: silver;">target </span><span style="color: #ff8000;">As New </span><span style="color: #2b91af;">ShippingCalcPresenter</span><span style="color: silver;">(view)

        </span><span style="background: black; color: lime;">'*** Action ***
</span><span style="color: silver;">        </span><span style="background: black; color: lime;">' Raise event in view... normally this would be a</span></pre>
<pre class="code"><span style="background: black; color: lime;">        ‘ user clicking on a button
</span><span style="color: silver;">        view.Raise(</span><span style="color: #ff8000;">Sub</span><span style="color: silver;">(x) </span><span style="color: #ff8000;">AddHandler </span><span style="color: silver;">x.CalcShippingRequest,</span></pre>
<pre class="code"><span style="color: silver;">             </span><span style="color: #ff8000;">Nothing</span><span style="color: silver;">, </span><span style="color: #ff8000;">Me</span><span style="color: silver;">, </span><span style="color: #2b91af;">EventArgs</span><span style="color: silver;">.Empty)

        </span><span style="background: black; color: lime;">'*** Asserttions ***
</span><span style="color: silver;">        view.VerifyAllExpectations()
    </span><span style="color: #ff8000;">End Sub
End Class
</span></pre>
<p>and again, in C#</p>
<pre class="code"><span style="color: silver;">[</span><span style="color: yellow;">TestClass</span><span style="color: silver;">()]
    </span><span style="color: #ff8000;">public class </span><span style="color: yellow;">ShippingCalcPresenterTest
    </span><span style="color: silver;">{
        [</span><span style="color: yellow;">TestMethod</span><span style="color: silver;">()]
        </span><span style="color: #ff8000;">public void </span><span style="color: silver;">ShippingCalcPresenterConstructorTest()
        {
            </span><span style="background: black; color: lime;">// *** Assign ***
</span><span style="color: silver;">            </span><span style="background: black; color: lime;">// view as a Mock object
</span><span style="color: silver;">            </span><span style="color: #2b91af;">IView </span><span style="color: silver;">view =</span></pre>
<pre class="code"><span style="color: silver;">                    </span><span style="color: yellow;">MockRepository</span><span style="color: silver;">.GenerateMock&lt;</span><span style="color: #2b91af;">IView</span><span style="color: silver;">&gt;();

            </span><span style="background: black; color: lime;">// set view values - user input
</span><span style="color: silver;">            view.Expect(x =&gt; x.ShippingDistance).Return(8).Repeat.Once();
            view.Expect(x =&gt; x.UnitPrice).Return(2).Repeat.Once();

            </span><span style="background: black; color: lime;">// Expected Shipping price of 10 to get set in view
</span><span style="color: silver;">            </span><span style="background: black; color: lime;">// -- Presenter Logic: Price = Distance Price
</span><span style="color: silver;">            view.Expect(x =&gt; x.DisplayShippingPrice(10)).Repeat.Once();

            </span><span style="background: black; color: lime;">// Inject view mock in to Presenter
</span><span style="color: silver;">            </span><span style="color: yellow;">ShippingCalcPresenter </span><span style="color: silver;">target = </span><span style="color: #ff8000;">new </span><span style="color: yellow;">ShippingCalcPresenter</span><span style="color: silver;">(view);

            </span><span style="background: black; color: lime;">// *** Action ***
</span><span style="color: silver;">            </span><span style="background: black; color: lime;">// Raise event in view - normaly this would be a user
</span><span style="color: silver;">            </span><span style="background: black; color: lime;">// clicking on a button
</span><span style="color: silver;">            view.Raise(x =&gt; x.CalcShippingRequest += </span><span style="color: #ff8000;">null</span><span style="color: silver;">,</span></pre>
<pre class="code"><span style="color: silver;">               </span><span style="color: #ff8000;">this</span><span style="color: silver;">, </span><span style="color: yellow;">EventArgs</span><span style="color: silver;">.Empty);

            </span><span style="background: black; color: lime;">// *** Assertion ***
</span><span style="color: silver;">            view.VerifyAllExpectations();
        }
    }
</span></pre>
<p>First we set up the expectations from the view mock (Assign), then we stuff the view mock in to the presenter (system under test) and then we fire off the event (Act) in the view &#8211; this would normally come from a user clicking on something, but in our case, we are simulating the action with a mock. Then we use RhinoMocks VerifyAllExpectations() method to make all of the Assertions that we expected earlier. And there you have it!</p>
<p>Serve hot and enjoy! Happing coding (and testing)!</p>
<p><img src="http://farm1.static.flickr.com/156/334379948_348c301e9e_t.jpg" alt="" /> Photo Credit: Thomas Hawk<img src="http://mirrors.creativecommons.org/google-20061026/cc-logo.png" alt="" width="33" height="23" /></p>
<p><a href="http://www.flickr.com/photos/thomashawk/334379948/in/photostream/">http://www.flickr.com/photos/thomashawk/334379948/in/photostream/</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F07%2F04%2Frhinomocks-to-test-mvp-events-with-lambdas-vb-cs%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/07/04/rhinomocks-to-test-mvp-events-with-lambdas-vb-cs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Speaking at Microsoft in New York City Thursday</title>
		<link>http://developingux.com/blog/2010/06/13/microsoft-in-new-york-city/</link>
		<comments>http://developingux.com/blog/2010/06/13/microsoft-in-new-york-city/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 01:34:08 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[CommunityCast Events]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[10-practices]]></category>
		<category><![CDATA[INETA]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[nyc]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=955</guid>
		<description><![CDATA[This Thursday I’ll be speaking at the New York City .NET Developers Group. I’m looking forward to this talk.. I’ll be covering the 10 Practices that All Developers Should Start Right Now! (based on this 10 Practices for Developers blog series) I recently took on a new client in the travel industry, even though they [...]]]></description>
			<content:encoded><![CDATA[<p>This Thursday I’ll be speaking at the New York City .NET Developers Group.</p>
<p><a href="http://www.nycdotnetdev.com/EventDetail.aspx?f=list&amp;event=6/17/2010"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://developingux.com/wp-content/uploads/2010/06/image.png" border="0" alt="image" width="527" height="65" /></a></p>
<p>I’m looking forward to this talk.. I’ll be covering the <em>10 Practices that All Developers Should Start Right Now! (based on this <a href="http://developingux.com/topic/10-developement-practices/">10 Practices for Developers</a> blog series)</em></p>
<p>I recently <a href="http://developingux.com/2010/05/12/proaction-mentors-and-speaking-events/">took on a new client</a> in the travel industry, even though they are based in Dallas – I am working with their .NET development team in New York. As a part of that I am making my first trek to the big apple. I’m really looking forward to this trip to get to know the dev team that I’ve been working with remotely up until now. I’m also taking advantage of this trip visit the NYC <a href="http://www.meetup.com/NY-Dotnet/">.NET Meetup</a> group and to speak at the local INETA <a href="http://www.nycdotnetdev.com/EventDetail.aspx?f=list&amp;event=6/17/2010">.NET Developers Group</a>.</p>
<p>If you’re going to be in the New York City area this week, be sure to <a href="http://twitter.com/calebjenkins">ping me</a> &#8211; I’d love to meet up with you at one of these events!</p>
<p>Be sure to RSVP!</p>
<ul>
<li><a href="http://www.meetup.com/NY-Dotnet/">NYC .NET Meetup</a> Group</li>
<li><a href="http://www.nycdotnetdev.com/EventDetail.aspx?f=list&amp;event=6/17/2010">NYC .NET Developer’s Group</a></li>
<li><a href="http://www.stephenforte.net/PermaLink,guid,9dcc4e0b-8078-4448-969f-c0e68e8349d6.aspx">Stephen Fort’s Blog</a> announcing Thursday.</li>
</ul>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F06%2F13%2Fmicrosoft-in-new-york-city%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/06/13/microsoft-in-new-york-city/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bing 404 Plugin for WordPress</title>
		<link>http://developingux.com/blog/2010/06/05/bing-404-plugin-for-wordpress/</link>
		<comments>http://developingux.com/blog/2010/06/05/bing-404-plugin-for-wordpress/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 15:10:47 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[Design and UX]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=950</guid>
		<description><![CDATA[Yesterday Microsoft released a new plug-in for WordPress that uses Bing Search to improve your 404 pages. It works by grabbing keywords from the missing URL string and then uses the Bing API to search your site for those keywords. Update: The creator of this plug-in just added a quick start video&#8230; go check it [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday <a href="http://blogs.msdn.com/b/interoperability/archive/2010/06/04/managing-404-page-not-found-error-on-wordpress-with-bing.aspx">Microsoft</a> released a new <a href="http://wordpress.org/extend/plugins/bing-404/">plug-in for WordPress</a> that uses Bing Search to improve your 404 pages. It works by grabbing keywords from the missing URL string and then uses the Bing API to search your site for those keywords.</p>
<p><strong>Update:</strong> The creator of this plug-in just added a quick start video&#8230; <a href="http://www.phparch.com/2010/06/04/wordpress-404-plugin-built-on-bing-wrapper/">go check it out</a>!</p>
<p align="center">So, your <a href="http://developingux.com/dependency-injection-solid">404 page</a> can go from this…  <br /><a href="http://developingux.com/wp-content/uploads/2010/06/bing404_b4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="bing404_b4" src="http://developingux.com/wp-content/uploads/2010/06/bing404_b4_thumb.png" border="0" alt="bing404_b4" width="481" height="262" /></a> <br />(boring WordPress Default 404)</p>
<p align="center">To this…</p>
<p><span id="more-950"></span></p>
<p align="center"><a href="http://developingux.com/wp-content/uploads/2010/06/bing404_after.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="bing404_after" src="http://developingux.com/wp-content/uploads/2010/06/bing404_after_thumb.png" border="0" alt="bing404_after" width="481" height="437" /></a> <br />(better Bing404 page)</p>
<p align="center">and, with a little bit of <em>PHP hacking</em> on my part, to this…    <br /><a href="http://developingux.com/wp-content/uploads/2010/06/bing404_after_pimped.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="bing404_after_pimped" src="http://developingux.com/wp-content/uploads/2010/06/bing404_after_pimped_thumb.png" border="0" alt="bing404_after_pimped" width="481" height="433" /></a> <br />(new and improved <em>pimped out</em> 404 page…)</p>
<p>Go <a href="http://developingux.com/dependency-injection-solid">see for your self</a> (missing page) then go check out…</p>
<li>Official <a href="http://wordpress.org/extend/plugins/bing-404/">Plug-in page</a>.</li>
<li>Official <a href="http://www.bing.com/community/blogs/developer/archive/2010/06/03/bing404-plugin-for-wordpress.aspx">announcement</a> and <a href="http://blogs.msdn.com/b/interoperability/archive/2010/06/04/managing-404-page-not-found-error-on-wordpress-with-bing.aspx">post</a></li>
<li>Technical <a href="http://www.phparch.com/2010/06/04/wordpress-404-plugin-built-on-bing-wrapper/">post from the creator</a> of the plug-in</li>
<li>Bing API <a href="http://www.bing.com/developers/s/API%20Basics.pdf">Technical documentation</a> (pdf)</li>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F06%2F05%2Fbing-404-plugin-for-wordpress%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/06/05/bing-404-plugin-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPad + Velcro = good</title>
		<link>http://developingux.com/blog/2010/06/04/ipad-plus-velcro/</link>
		<comments>http://developingux.com/blog/2010/06/04/ipad-plus-velcro/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 21:26:00 +0000</pubDate>
		<dc:creator>Caleb Jenkins</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Giovanni]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[PvZ]]></category>

		<guid isPermaLink="false">http://developingux.com/?p=942</guid>
		<description><![CDATA[I may not own an iPad&#8230; but thanks for Giovanni&#8217;s &#8220;help&#8220;, my wife now wants one, and I have to admit, after playing Plants vs Zombies on both an iPad and a PC.. the iPad touch is a much better PvZ experience. This video show some of the other things that you *could* to with [...]]]></description>
			<content:encoded><![CDATA[<p>I may not own an iPad&#8230; but thanks for Giovanni&#8217;s &#8220;<a href="http://twitter.com/racheljenkins/status/15056714289">help</a>&#8220;, my wife now <a href="http://twitter.com/racheljenkins/status/14950692391">wants one</a>, and I have to admit, after playing <a href="http://www.popcap.com/games/pvz">Plants vs Zombies</a> on both an iPad and a PC.. the iPad touch is a much better PvZ experience. This video show some of the other things that you *could* to with an iPad&#8230; plus velcro. Enjoy!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="225" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11886557&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="225" src="http://vimeo.com/moogaloop.swf?clip_id=11886557&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/11886557">iPad + Velcro</a> from <a href="http://vimeo.com/user478713">Jesse Rosten</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p> </p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopingux.com%2Fblog%2F2010%2F06%2F04%2Fipad-plus-velcro%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://developingux.com/blog/2010/06/04/ipad-plus-velcro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	<div class="post-cnt">
<p>Caleb Jenkins, is a recognized Silverlight expert, Software Mentor and Coach; he is the Founder and Principal Mentor for <a href="http://proactionmentors.com">Proaction Mentors</a>, he is also a National Speaker for INETA, a Technical Editor for Wrox Press and is a Microsoft MVP. You can follow him on <a href="http://twitter.com/calebjenkins/">Twitter</a> or <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1320550&loc=en_US">subscribe to his blog updates</a>. <br /></p>

<p>Caleb lives in the Dallas, TX area where he continues to date his beautiful wife and busy himself playing Candy Land and xBox 360 with their four incredible children. Eventually he’ll post some of the gazillion interviews that he's recorded on CommunityCast.tv or blog more... or stop speaking of himself in the third person. <a href="/about/">more...</a><br /></p>

<p>If you're still reading this, then take a minute to <a href="http://feeds.feedburner.com/CalebJenkins">subscribe to my RSS feed</a> or sign up to <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1320550&loc=en_US">receive updates by email</a></p></div>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.501 seconds -->
<!-- Cached page served by WP-Cache -->
