<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ViNull, Off the Record : codeplex</title><link>http://devlicio.us/blogs/vinull/archive/tags/codeplex/default.aspx</link><description>Tags: codeplex</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Code Camp Room Planner</title><link>http://devlicio.us/blogs/vinull/archive/2009/06/08/code-camp-room-planner.aspx</link><pubDate>Tue, 09 Jun 2009 00:08:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:47758</guid><dc:creator>Michael C. Neel</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/vinull/rsscomments.aspx?PostID=47758</wfw:commentRss><comments>http://devlicio.us/blogs/vinull/archive/2009/06/08/code-camp-room-planner.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://devlicio.us/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vinull/CCRP_5F00_Main_5F00_2.png"&gt;&lt;img style="border-right-width:0px;margin:0px 10px 10px 0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Code Camp Room Planner" alt="Code Camp Room Planner" src="http://devlicio.us/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vinull/CCRP_5F00_Main_5F00_thumb.png" align="left" border="0" height="174" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I just finished creating a project on &lt;a href="http://codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; for the &lt;a href="http://ccrplanner.codeplex.com/" target="_blank"&gt;Code Camp Room Planner&lt;/a&gt;, a little app I wrote to help me plan the schedule at &lt;a href="http://codestock.org" target="_blank"&gt;CodeStock&lt;/a&gt; 2009.&amp;nbsp; I&amp;rsquo;ve also created some basic &lt;a href="http://ccrplanner.codeplex.com/Wiki/View.aspx?title=Documentation" target="_blank"&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Background: CodeStock is involving attendees in the planning of the conference.&amp;nbsp; We started out with attendees voting on submissions, and used those votes to select sessions and speakers &amp;ndash; the top 20 have &lt;a href="http://codestock.org/Sessions.aspx" target="_blank"&gt;ribbons on the sessions list page&lt;/a&gt;.&amp;nbsp;&amp;nbsp; The next step is asking attendees what sessions from the accepted list did they want to attend.&amp;nbsp; We can use this data to plan a schedule with the least amount of conflicts.&lt;/p&gt;
&lt;p&gt;It sounds simple, until I realized this is a &lt;a href="http://en.wikipedia.org/wiki/P_%3D_NP_problem" target="_blank"&gt;P = NP&lt;/a&gt; type of problem.&amp;nbsp; In simple terms, there are problems that are easy to verify a solution yet hard to calculate one.&amp;nbsp; Imagine you had to select 5 prime numbers that add up to zero (negative primes allowed).&amp;nbsp; This would be easy to verify that a set of 5 primes fulfill the requirements by adding them up &amp;ndash; the trick is in how to figure out what those five numbers are, and if it&amp;rsquo;s even possible.&lt;/p&gt;
&lt;p&gt;The question is if there is a problem, who&amp;#39;s solution is easily checked, does that mean there is a set of steps to find the answer to the solution?&amp;nbsp; Put another way, since I know how to see if one schedule is better than another (by having lower number of conflicts, with the ideal of zero) does that mean there is a method to tell me the best schedule?&amp;nbsp; It&amp;rsquo;s been called the greatest problem of computer science today, but since &lt;a href="http://www.vinull.com/Post/2008/07/21/review-the-annotated-turing-by-charles-.aspx" target="_blank"&gt;Alan Turing&lt;/a&gt; isn&amp;rsquo;t answering his phone I&amp;rsquo;ll have to put off finding the solution until CodeStock 2010.&lt;/p&gt;
&lt;p&gt;So what I did was to schedule sessions by overall popularity, then adjust to see if the total conflicts went up or down.&amp;nbsp; When I started, there were 460 conflicts and I now have it down to 304 (the final schedule is out for review by speakers and should be public Monday).&amp;nbsp; If you download the app you get the CodeStock data as an example &amp;ndash; if you can beat 304 let me know!&amp;nbsp; (Email me the &amp;ldquo;save&amp;rdquo; data, and also let me know your approach)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=47758" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/vinull/archive/tags/conference/default.aspx">conference</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/wpf/default.aspx">wpf</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/codeplex/default.aspx">codeplex</category></item></channel></rss>