<rss version="2.0">
  <channel>
    <title>Fresh Logic Studios</title>
    <link>http://blogs.freshlogicstudios.com/</link>
    <copyright>Copyright Fresh Logic Studios</copyright>
    <generator>Fresh Logic Studios Blogs</generator>
    <description>Fresh Logic Studios Blogs</description>
    <item>
      <title>Storage Limit Increased to 1GB on Fresh Logic Studios - Folders</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=195b6b08-8a62-4fc5-a009-68ac71f4790b</link>
      <description><![CDATA[<div style="float:right; margin:10px">
<a href="http://www.freshlogicstudios.com/Products/Folders/">
<img src="http://folders.freshlogicstudios.com/Download.ashx?Id=089d7c99-dc77-4e87-b8a3-279f4a0b92c9" /></a>
</div>
<P>We've increased the amount of storage on <A href="http://www.freshlogicstudios.com/Products/Folders/">Folders</A> from 128MB to 1GB per user.</P>
<P>How can we&nbsp;allocate that much storage&nbsp;for all those Fresh Logic Studios members? The truth is we can't. But it's also true that MANY more people are using Fresh Logic Studios for <A href="http://atlas.freshlogicstudios.com/">Atlas</A> alone, and have yet to experience one of the better online file storage user interfaces on the web.</P>
<P>So fill it up, and tell your friends... and if we run out of space we promise we'll figure out how to get more.</P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=195b6b08-8a62-4fc5-a009-68ac71f4790b</comments>
      <pubDate>Thu, 26 Jun 2008 11:07:04 GMT</pubDate>
    </item>
    <item>
      <title>Automating Your ASP.NET Build and Deploy Process with Hudson</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=87a1c0f7-a75e-4f1a-8d3a-6c52c6ad9f46</link>
      <description><![CDATA[<DIV style="FLOAT: right; MARGIN: 10px"><A href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.freshlogicstudios.com%2fPosts%2fView.aspx%3fId%3d87a1c0f7-a75e-4f1a-8d3a-6c52c6ad9f46"><IMG alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.freshlogicstudios.com%2fPosts%2fView.aspx%3fId%3d87a1c0f7-a75e-4f1a-8d3a-6c52c6ad9f46" border=0></A> </DIV>
<P><A href="http://en.wikipedia.org/wiki/Continuous_Integration">Continuous integration</A> describes a set of software engineering practices that speed up the delivery of software by decreasing integration times.</P>
<P><A href="http://en.wikipedia.org/wiki/Hudson_%28software%29">Hudson</A> is a continuous integration tool written in Java.&nbsp;Our experience has shown that with <A href="https://hudson.dev.java.net/servlets/ProjectDocumentList?folderID=5818&amp;expandFolder=5818&amp;folderID=0">Hudson's growing list of .NET capable plugins</A> it has become a compeling alternative to <A href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET">CruiseControl.NET</A>, <A href="http://draconet.sourceforge.net/">Draco.NET</A>, and other continuous integration servers&nbsp;to come out of the .NET community.</P>
<P>What makes Hudson so great?&nbsp;It's web based GUI not only monitors your build projects, it configures them. No need for hand editing XML files!</P>
<P>Let us walk you through how we build and deploy our ASP.NET web applications using Hudson.&nbsp; <EM>(minor gripe: Hudson's UI is made for a fairly wide web browser)</EM></P>
<P><STRONG></STRONG>&nbsp;</P>
<P><STRONG>Step 1: Source Code Checkout</STRONG></P>
<P><STRONG><IMG src="http://folders.freshlogicstudios.com/Download.ashx?Id=821ba0ae-304b-45bf-a2bc-7dc813c0bc4b"></STRONG></P>
<P>We use Hudson's built in SVN source code management feature to grab our latest code.&nbsp; Alternatively you can use CVS, or install plugins for a variety of systems including Visual Source Safe, Perforce, Mercurial, Git, etc.</P>
<P>&nbsp;</P>
<P><STRONG>Step 2: Build</STRONG></P>
<P><IMG src="http://folders.freshlogicstudios.com/Download.ashx?Id=169bafec-2ab7-47d2-9ecc-f6e05468ab61"></P>
<P>The MSBuild plugin allows Hudson to run MSBuild scripts.&nbsp; Note that we're asking Hudson to call three targets in our MSBuild file (Build, Clean, Upload).&nbsp;These targets look something like this:</P><!-- code formatted by http://manoli.net/csharpformat/ -->
<STYLE type=text/css>
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: Consolas, "Courier New", Courier, Monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }
</STYLE>
<PRE class=csharpcode><SPAN class=kwrd>&lt;?</SPAN><SPAN class=html>xml</SPAN> <SPAN class=attr>version</SPAN><SPAN class=kwrd>="1.0"</SPAN> <SPAN class=attr>encoding</SPAN><SPAN class=kwrd>="utf-8"</SPAN>?<SPAN class=kwrd>&gt;</SPAN>
<SPAN class=kwrd>&lt;</SPAN><SPAN class=html>Project</SPAN> <SPAN class=attr>xmlns</SPAN><SPAN class=kwrd>="http://schemas.microsoft.com/developer/msbuild/2003"</SPAN><SPAN class=kwrd>&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>UsingTask</SPAN> <SPAN class=attr>AssemblyFile</SPAN><SPAN class=kwrd>="$(MSBuildExtensionsPath)\Tasks\FreshLogicStudios.Experiments.FtpTask.dll"</SPAN> <SPAN class=attr>TaskName</SPAN><SPAN class=kwrd>="FtpTask"</SPAN> <SPAN class=kwrd>/&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>PropertyGroup</SPAN><SPAN class=kwrd>&gt;</SPAN>
        <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>ProductName</SPAN><SPAN class=kwrd>&gt;</SPAN>atlas.freshlogicstudios.com<SPAN class=kwrd>&lt;/</SPAN><SPAN class=html>ProductName</SPAN><SPAN class=kwrd>&gt;</SPAN>
    <SPAN class=kwrd>&lt;/</SPAN><SPAN class=html>PropertyGroup</SPAN><SPAN class=kwrd>&gt;</SPAN>
  <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>Target</SPAN> <SPAN class=attr>Name</SPAN><SPAN class=kwrd>="Build"</SPAN><SPAN class=kwrd>&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>MSBuild</SPAN> <SPAN class=attr>Projects</SPAN><SPAN class=kwrd>="..\..\Framework\Source\Framework.sln"</SPAN> <SPAN class=attr>Properties</SPAN><SPAN class=kwrd>="Configuration=Release"</SPAN> <SPAN class=kwrd>/&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>MSBuild</SPAN> <SPAN class=attr>Projects</SPAN><SPAN class=kwrd>="..\..\Sdk\Source\Sdk.sln"</SPAN> <SPAN class=attr>Properties</SPAN><SPAN class=kwrd>="Configuration=Release"</SPAN> <SPAN class=kwrd>/&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>MSBuild</SPAN> <SPAN class=attr>Projects</SPAN><SPAN class=kwrd>="$(ProductName).sln"</SPAN> <SPAN class=attr>Properties</SPAN><SPAN class=kwrd>="Configuration=Release"</SPAN> <SPAN class=kwrd>/&gt;</SPAN>
  <SPAN class=kwrd>&lt;/</SPAN><SPAN class=html>Target</SPAN><SPAN class=kwrd>&gt;</SPAN>
  <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>Target</SPAN> <SPAN class=attr>Name</SPAN><SPAN class=kwrd>="Cleanup"</SPAN><SPAN class=kwrd>&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>FtpTask</SPAN> <SPAN class=attr>Action</SPAN><SPAN class=kwrd>="Cleanup"</SPAN> <SPAN class=attr>Address</SPAN><SPAN class=kwrd>="ftp.freshlogicstudios.com</SPAN>" <SPAN class=attr>LocalDir</SPAN><SPAN class=kwrd>="$(ProductName)"</SPAN> <SPAN class=attr>Password</SPAN><SPAN class=kwrd>="bigboy"</SPAN> <SPAN class=attr>RemoteDir</SPAN><SPAN class=kwrd>="\$(ProductName)"</SPAN> <SPAN class=attr>UserName</SPAN><SPAN class=kwrd>="user"</SPAN> <SPAN class=kwrd>/&gt;</SPAN>
  <SPAN class=kwrd>&lt;/</SPAN><SPAN class=html>Target</SPAN><SPAN class=kwrd>&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>Target</SPAN> <SPAN class=attr>Name</SPAN><SPAN class=kwrd>="Upload"</SPAN><SPAN class=kwrd>&gt;</SPAN>
    <SPAN class=kwrd>&lt;</SPAN><SPAN class=html>FtpTask</SPAN> <SPAN class=attr>Action</SPAN><SPAN class=kwrd>="Upload"</SPAN> <SPAN class=attr>Address</SPAN><SPAN class=kwrd>="ftp.freshlogicstudios.com"</SPAN> <SPAN class=attr>DirectoryExclusionFilter</SPAN><SPAN class=kwrd>=".svn|obj|Properties|Web References"</SPAN> <SPAN class=attr>FileExclusionFilter</SPAN><SPAN class=kwrd>="*.cs|*.csproj*|*.pdb"</SPAN> <SPAN class=attr>LocalDir</SPAN><SPAN class=kwrd>="$(ProductName)"</SPAN> <SPAN class=attr>Password</SPAN><SPAN class=kwrd>="bigboy"</SPAN> <SPAN class=attr>RemoteDir</SPAN><SPAN class=kwrd>="\$(ProductName)"</SPAN> <SPAN class=attr>UserName</SPAN><SPAN class=kwrd>="user"</SPAN> <SPAN class=kwrd>/&gt;</SPAN>
    <SPAN class=kwrd>&lt;/</SPAN><SPAN class=html>Target</SPAN><SPAN class=kwrd>&gt;</SPAN>
<SPAN class=kwrd>&lt;/</SPAN><SPAN class=html>Project</SPAN><SPAN class=kwrd>&gt;</SPAN></PRE>
<P>&nbsp;</P>
<P><STRONG>Step 3: Deploy</STRONG></P>
<P>We've setup the last two tasks of the MSBuild file&nbsp;to delete the current contents of our web server then deploy the ASP.NET web application's files using FTP.&nbsp; MSBuild (nor Hudson for that matter) seem to support FTP out of the box.&nbsp; We've used a HEAVILY modified version of <A href="http://www.digizzle.com/Projects/FtpTask/Default.aspx">this FtpTask project</A>.</P>
<P>Our modifications include bug fixes to simply make the FTP transport work, plus the additional directory/file exclusion features you see in the MSBuild XML syntax above.&nbsp; You'll certainly want to skip those ".svn" folders during deployment, and there's no reason to upload the C# code behind files.</P>
<P>Simply add the directories and files you want to be excluded&nbsp;during the upload process (pipe delimited) to the DirectoryExclusionFilter and FileExclusionFilter attributes of the FtpTask.&nbsp; Wildcards supported.</P>
<P>You can <A href="http://folders.freshlogicstudios.com/Download.ashx?Id=6c82caad-21de-4654-bb4a-e210d24a9389">download the FtpTask binary here</A>.&nbsp; Copy it to "c:\Program Files\MSBuild\Tasks" and you should be good to go.</P>
<P><EM></EM>&nbsp;</P>
<P><EM>Thanks to Evan Cowden of </EM><A href="http://www.nuparadigm.com/"><EM>NuParadigm</EM></A><EM>&nbsp;for showing me this fantastic tool!</EM></P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=87a1c0f7-a75e-4f1a-8d3a-6c52c6ad9f46</comments>
      <pubDate>Mon, 23 Jun 2008 21:12:31 GMT</pubDate>
    </item>
    <item>
      <title>Twitter</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=c9864428-5fa8-463c-a8cc-4a9de32452ab</link>
      <description><![CDATA[Increase in Tweets means less blogs posts.&nbsp; Follow us on Twitter @ <A href="http://twitter.com/smiller">http://twitter.com/smiller</A>.]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=c9864428-5fa8-463c-a8cc-4a9de32452ab</comments>
      <pubDate>Tue, 17 Jun 2008 14:26:18 GMT</pubDate>
    </item>
    <item>
      <title>Xobni, Way Cooler Than We Thought</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=a13be283-c70c-40e7-b764-04f97c0b6bfe</link>
      <description><![CDATA[<DIV style="FLOAT: right; MARGIN: 10px"><IMG src="http://folders.freshlogicstudios.com/Download.ashx?Id=6e214e18-e620-4650-b737-01888942a4ac"> </DIV>
<P>We installed <A href="http://www.xobni.com/">Xobni</A> tonight.</P>
<P>Pretty much cooler than we thought it was going to be.&nbsp; With every email we received today we were intrigued with the statistics it was able to mine.</P>
<P>Not sure that the search offers anything more than the default Outlook 2007 behavior.&nbsp; We supposed it's nice to search both people and mail at the same time, but don't think that's much of a value add.</P>
<P>The "Email Received" heat graph is an awesome feature.&nbsp; Just wish that the axes were a little more defined.&nbsp;&nbsp;We only have a rough idea at first glance which of the 4 bars in the chart actually correspond to 6 AM.</P>
<P>Love the rank feature.&nbsp; You will too, and the results will probably surprise you.</P>
<P>The phone numbers are accurate.&nbsp; Most of our were pulled from our stored contacts, but we did see a couple that were scraped from email signatures.&nbsp; It would be awesome to see Xobni parter with a telephony provider so that you could click the phone number to place a call, like the <A href="http://www.google.com/help/faq_clicktocall.html">Google Click-to-Call feature</A>.</P>
<P>According to Xobni Analytics the majority of our email traffic happens on Tuesdays... around 2pm.</P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=a13be283-c70c-40e7-b764-04f97c0b6bfe</comments>
      <pubDate>Wed, 11 Jun 2008 21:14:07 GMT</pubDate>
    </item>
    <item>
      <title>AT&amp;T Predicts Future</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=bf77f5f2-c4b2-4b3e-a4ea-2598688d777e</link>
      <description><![CDATA[Turns out, AT&amp;T's predictions made back in 1993 weren't too far off.&nbsp; <A href="http://www.youtube.com/watch?v=TZb0avfQme8">Check out their old school "You Will" marketing campaign.</A>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=bf77f5f2-c4b2-4b3e-a4ea-2598688d777e</comments>
      <pubDate>Tue, 03 Jun 2008 22:54:10 GMT</pubDate>
    </item>
    <item>
      <title>Totally Awesome Google AJAX Libraries API</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=f96afa1b-f96c-435f-9ba6-f88fdd4612d0</link>
      <description><![CDATA[<P>Run the jQuery, prototype, script.aculo.us, MooTools, and/or dojo JavaScript libraries using Google's bandwith with the <A href="http://code.google.com/apis/ajaxlibs/documentation/">Google AJAX Libraries API</A>.</P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=f96afa1b-f96c-435f-9ba6-f88fdd4612d0</comments>
      <pubDate>Wed, 28 May 2008 15:29:13 GMT</pubDate>
    </item>
    <item>
      <title>XKCD Geohashing</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=ab1353ac-adb1-46d8-8604-e10a47c6064b</link>
      <description><![CDATA[<P>We blame Matt Schuette for tipping us onto <A href="http://www.xkcd.com/426/">XKCD Geohashing</A>&nbsp;and subsequently wasting a large portion of our day implementing an algorithm to randomly generate latitude/longitude coordinates.</P>
<P>For those who aren't familiar with geohashing, <A href="http://www.xkcd.com/426/">XKCD comic #426</A> contains an algorithm that generates random coordinates across the country every day.&nbsp; These coordinates can be used as destinations for adventures, <I>à la</I> <A class="external text" title=http://en.wikipedia.org/wiki/Geocaching href="http://en.wikipedia.org/wiki/Geocaching" rel=nofollow>Geocaching</A>. They can also be used for local meetups.</P>
<P>Here's the algorithm:</P>
<P><IMG height=296 src="http://folders.freshlogicstudios.com/Download.ashx?Id=dd441202-e23e-4c89-88ce-87051f446be2" width=549></P>
<P><A href="http://wiki.xkcd.com/geohashing/Main_Page">Every Saturday afternoon at 4:00 PM (local destination time) official XKCD meetups happen</A>&nbsp;at the coordinates that were calculated using Friday's date and DOW opening.</P>
<P>We've created an implementation of this in Atlas for you to try: <A href="http://atlas.freshlogicstudios.com/?Xkcd">http://atlas.freshlogicstudios.com/?Xkcd</A></P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=ab1353ac-adb1-46d8-8604-e10a47c6064b</comments>
      <pubDate>Thu, 22 May 2008 11:28:56 GMT</pubDate>
    </item>
    <item>
      <title>Atlas Toolbox Improvements</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=be6b8ba5-09cd-4d76-b22f-f2697c2e07d2</link>
      <description><![CDATA[<P>We can't tell you how many emails we've received asking what happened to the ability to rotate the map in bird's eye view.&nbsp; It's was eliminated in an <A href="/Posts/View.aspx?Id=bdfafa74-60e2-492b-baa1-bcb0efa31c47">update we made around the first of the year</A>.</P>
<P>It's back, along with a couple other new features.&nbsp; Here's a snippet of the new toolbox.</P>
<P><IMG src="http://folders.freshlogicstudios.com/Download.ashx?Id=102618dc-041f-4a29-9598-9184a178dc68"></P>
<P>Few things to note here.</P>
<OL>
<LI>When in bird's eye view, we've added the option to rotate the map</LI>
<LI>The compass indicates your current orientation, notice in this case north is pointed to the right indicating that we are facing west</LI>
<LI>We've changed the term "Aerial" to the more friendly "Satellite" and...</LI>
<LI>We've included a small caret menu to "Satellite" and "Bird's Eye" views</LI></OL>
<P><IMG src="http://folders.freshlogicstudios.com/Download.ashx?Id=e4f2be2c-a009-43f8-9e88-60a02fb7d6e8"></P>
<P>Both "Satellite" and "Bird's Eye" views have the option to either hide or show the road&nbsp;label overlays.</P>
<P>Try out the changes @ <A href="http://atlas.freshlogicstudios.com">http://atlas.freshlogicstudios.com</A></P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=be6b8ba5-09cd-4d76-b22f-f2697c2e07d2</comments>
      <pubDate>Sun, 11 May 2008 21:53:24 GMT</pubDate>
    </item>
    <item>
      <title>ATI TV Wonder 600 USB 8.4 Drivers for Windows Vista (32 bit)</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=654d5073-1b27-407e-b110-9a44a9cbbf31</link>
      <description><![CDATA[<P>The <A href="http://game.amd.com/us-en/drivers_catalyst.aspx?p=vista32/tvwonder600-vista32">setup application for ATI's new TV Wonder 600 USB&nbsp;drivers</A> don't actually install the drivers.</P>
<P>Instead it walks you through a lengthy install process to&nbsp;install the Catalyst Install Manager, a set of codecs, and some Visual C++ runtime components.</P>
<P>Then you notice your hardware isn't working.&nbsp; So you reboot and notice your hardware still isn't working.&nbsp; So you un-install the Catalyst Install Manager, a set of codecs, and some Visual C++ runtime components... then you&nbsp;re-install them.</P>
<P>Then you notice your hardware isn't working.&nbsp; So you reboot and notice your hardware still isn't working.</P>
<P>So you start poking around on your system and happen to find a setup.exe @ C:\ATI\SUPPORT\8-4_vista32-64_t600usb_wdm_61010\Packages\Drivers\WDM\TVW_HSUSB</P>
<P>So you run it and notice your hardware finally works.&nbsp; And then you laugh at the bullshit they call an icon that was placed on your desktop for an app called "BDARemote".</P>
<P><IMG src="http://folders.freshlogicstudios.com/Download.ashx?Id=331de4d1-4c6d-4ea1-962a-25a951f6c9ea"></P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=654d5073-1b27-407e-b110-9a44a9cbbf31</comments>
      <pubDate>Fri, 09 May 2008 20:45:21 GMT</pubDate>
    </item>
    <item>
      <title>Boot Camp x64 Is Unsupported On This Computer Model</title>
      <link>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=0286958d-49ad-4afe-8bb1-292e8ed9b81b</link>
      <description><![CDATA[<P>Looks like Boot Camp x64 isn't supported on our brand new 3.06GHz iMac.</P>
<P><A href="http://support.apple.com/kb/HT1846">http://support.apple.com/kb/HT1846</A></P>
<P>Fail.</P>]]></description>
      <author>smiller@freshlogicstudios.com</author>
      <comments>http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=0286958d-49ad-4afe-8bb1-292e8ed9b81b</comments>
      <pubDate>Thu, 08 May 2008 22:59:09 GMT</pubDate>
    </item>
  </channel>
</rss>