<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8913110896016326761</id><updated>2011-08-06T07:53:01.568-07:00</updated><category term='git'/><title type='text'>Chris's Web Log</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cbilson.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cbilson.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chris Bilson</name><uri>http://www.blogger.com/profile/11976251467538757518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8913110896016326761.post-3848998828873502875</id><published>2009-01-19T08:37:00.001-08:00</published><updated>2009-01-19T09:22:13.162-08:00</updated><title type='text'>F# Silverlight</title><content type='html'>&lt;p&gt;Here are my own steps to get an f# silverlight application working. You can get the code &lt;a href="http://github.com/cbilson/fsharpclickme/tree/master"&gt;here&lt;/a&gt;. Thanks to &lt;a href="http://www.atrevido.net/blog/2008/10/28/F+1962+And+Silverlight+2.aspx"&gt;Michael Giagnocavo&lt;/a&gt; and &lt;a href="http://jyliao.blogspot.com/2008/11/f-and-silverlight-20.html"&gt;John Liao&lt;/a&gt; for most of this information.&lt;/p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: I forgot to add the part about the references earlier, but had added it now.&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Create an f# library project.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;On the project settings "Build" tab, add the compiler flags "--standalone --noframework"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create an Application and a Page class, or whatever Silverlight classes you want.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add an AppManifest file like this (stolen from a c# silverlight apllication):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"&lt;br /&gt;           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&amp;gt;&lt;br /&gt; &amp;lt;Deployment.Parts&amp;gt;&lt;br /&gt; &amp;lt;/Deployment.Parts&amp;gt;&lt;br /&gt;&amp;lt;/Deployment&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Unload the project and edit the .fsproj file&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the following options to the first PropertyGroup at the top of the file (the one that has property groups for all configurations:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &amp;lt;SilverlightApplication&amp;gt;true&amp;lt;/SilverlightApplication&amp;gt;&lt;br /&gt;   &amp;lt;XapOutputs&amp;gt;true&amp;lt;/XapOutputs&amp;gt;&lt;br /&gt;   &amp;lt;GenerateSilverlightManifest&amp;gt;true&amp;lt;/GenerateSilverlightManifest&amp;gt;&lt;br /&gt;   &amp;lt;XapFilename&amp;gt;__Your_App_Name__.xap&amp;lt;/XapFilename&amp;gt;&lt;br /&gt;   &amp;lt;SilverlightManifestTemplate&amp;gt;AppManifest.xml&amp;lt;/SilverlightManifestTemplate&amp;gt;&lt;br /&gt;   &amp;lt;SilverlightAppEntry&amp;gt;__Your_App_Class_Full_Typename__&amp;lt;/SilverlightAppEntry&amp;gt;&lt;br /&gt;   &amp;lt;TestPageFileName&amp;gt;TestPage.html&amp;lt;/TestPageFileName&amp;gt;&lt;br /&gt;   &amp;lt;CreateTestPage&amp;gt;true&amp;lt;/CreateTestPage&amp;gt;&lt;br /&gt;   &amp;lt;ValidateXaml&amp;gt;true&amp;lt;/ValidateXaml&amp;gt;&lt;br /&gt;   &amp;lt;ThrowErrorsInValidation&amp;gt;true&amp;lt;/ThrowErrorsInValidation&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Replace the references section with the following (note: you could do this without unloading the project, but doing it in the text editor seems way easier.):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &amp;lt;Reference Include="mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;mscorlib&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;mscorlib.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\mscorlib.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;system.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\system.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System.Core&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;System.Core.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\System.Core.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System.Net&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;System.Net.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\System.Net.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System.Runtime.Serialization&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;System.Runtime.Serialization.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System.Windows&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;System.Windows.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\System.Windows.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System.Windows.Browser, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System.Windows.Browser&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;System.Windows.Browser.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\System.Windows.Browser.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;   &amp;lt;Reference Include="System.Xml, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"&amp;gt;&lt;br /&gt;     &amp;lt;Name&amp;gt;System.Xml&amp;lt;/Name&amp;gt;&lt;br /&gt;     &amp;lt;AssemblyName&amp;gt;System.Xml.dll&amp;lt;/AssemblyName&amp;gt;&lt;br /&gt;     &amp;lt;HintPath&amp;gt;..\..\..\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies\System.Xml.dll&amp;lt;/HintPath&amp;gt;&lt;br /&gt;     &amp;lt;Private&amp;gt;False&amp;lt;/Private&amp;gt;&lt;br /&gt;   &amp;lt;/Reference&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add this line:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v2.0\Microsoft.Silverlight.Common.targets" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;just _after_ the FSharp Targets line:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;Import Project="$(MSBuildExtensionsPath)\FSharp\1.0\Microsoft.FSharp.Targets" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Reload the project, build, and load the TestPage.html page in a browser to verify it works.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8913110896016326761-3848998828873502875?l=cbilson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cbilson.blogspot.com/feeds/3848998828873502875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8913110896016326761&amp;postID=3848998828873502875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/3848998828873502875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/3848998828873502875'/><link rel='alternate' type='text/html' href='http://cbilson.blogspot.com/2009/01/f-silverlight.html' title='F# Silverlight'/><author><name>Chris Bilson</name><uri>http://www.blogger.com/profile/11976251467538757518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8913110896016326761.post-3240633478933531530</id><published>2008-10-21T04:34:00.001-07:00</published><updated>2008-10-21T04:37:11.594-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><title type='text'>Using Beyond Compare as a Git Mergetool</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;At the October #altnetseattle meeting, we talked about git and &lt;a href="http://aaron.codebetter.com/"&gt;Aaron Jensen&lt;/a&gt; mentioned a nice merge tool called &lt;a href="http://www.perforce.com/perforce/products/merge.html"&gt;p4merge&lt;/a&gt;, which I hadn't heard of before. I hadn't been able to get a merge tool to work right with msysgit before, so knowing Aaron was using p4merge with git led me to try again.&lt;/p&gt;&lt;p&gt;I actually still prefer &lt;a href="http://www.scootersoftware.com/moreinfo.php"&gt;beyond compare&lt;/a&gt; to p4merge - p4merge is nice and looks snazzy, but BC has all the right keystrokes and shows me just the right information when I am trying to do a merge.&lt;/p&gt;&lt;p&gt;To get it to work with git, I added this to my global git config ("C:\Program Files\git\etc\config"):&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[merge]&lt;br /&gt;    tool = bc3 # This will be the default merge tool invoked by git mergetool.&lt;br /&gt;[mergetool "bc3"]&lt;br /&gt;    cmd = C:/Users/cbilson/Desktop/BC3/bcomp.com \&lt;br /&gt;        "$PWD/$LOCAL" \&lt;br /&gt;        "$PWD/$REMOTE" \&lt;br /&gt;        "$PWD/$BASE" \&lt;br /&gt;  "$PWD/$MERGED" &lt;br /&gt;    keepBackup = false&lt;br /&gt;    trustExitCode = false&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I had trouble getting it to run from "C:/Program Files/..." or even "C:/Program\ Files/..." so I did a portable install of BC and run it from there.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8913110896016326761-3240633478933531530?l=cbilson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cbilson.blogspot.com/feeds/3240633478933531530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8913110896016326761&amp;postID=3240633478933531530' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/3240633478933531530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/3240633478933531530'/><link rel='alternate' type='text/html' href='http://cbilson.blogspot.com/2008/10/using-beyond-compare-as-git-mergetool.html' title='Using Beyond Compare as a Git Mergetool'/><author><name>Chris Bilson</name><uri>http://www.blogger.com/profile/11976251467538757518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8913110896016326761.post-936697932833139650</id><published>2008-10-18T05:20:00.000-07:00</published><updated>2008-10-18T05:22:07.695-07:00</updated><title type='text'>F# + Monorail</title><content type='html'>&lt;p&gt;Inspired by Matthew Podwysocki's post on &lt;a href="http://weblogs.asp.net/podwysocki/archive/2008/10/06/asp-net-mvc-with-nhaml-f-edition.aspx" target="_parent"&gt;using F# to build an ASP.NET MVC application&lt;/a&gt;, I built a &lt;a href="http://github.com/cbilson/fsharpmonorail/tree/master" target="_parent"&gt;Monorail application with F#&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I think this is a good exercise for F#-pies (pronounced: "F" "sharpies") because it kind of forces you to figure out how F# works with the rest of .NET instead of fixating on the functional aspects.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I believe the basics were all done by &lt;a href="http://github.com/cbilson/fsharpmonorail/commit/a2cda51449b510540033497cdc4fab58504c3b5e" target="_parent"&gt;this commit&lt;/a&gt;. I am adding some more stuff to it (a domain model, something besides "Hello World") for a kind of larger attempt at building a real application all in F#.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8913110896016326761-936697932833139650?l=cbilson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cbilson.blogspot.com/feeds/936697932833139650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8913110896016326761&amp;postID=936697932833139650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/936697932833139650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/936697932833139650'/><link rel='alternate' type='text/html' href='http://cbilson.blogspot.com/2008/10/f-monorail.html' title='F# + Monorail'/><author><name>Chris Bilson</name><uri>http://www.blogger.com/profile/11976251467538757518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8913110896016326761.post-3214677518541188130</id><published>2008-10-18T04:22:00.001-07:00</published><updated>2008-10-18T04:24:30.513-07:00</updated><title type='text'>New Blog</title><content type='html'>Actually, I've had this blog for a while, just never posted. I don't actually blog very much, and now kind of prefer just using twitter, so the value of my old blog was less than the $200/year I was paying. Still, it's nice to have a place to post things longer than 140 characters. That's what this is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8913110896016326761-3214677518541188130?l=cbilson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cbilson.blogspot.com/feeds/3214677518541188130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8913110896016326761&amp;postID=3214677518541188130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/3214677518541188130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8913110896016326761/posts/default/3214677518541188130'/><link rel='alternate' type='text/html' href='http://cbilson.blogspot.com/2008/10/new-blog.html' title='New Blog'/><author><name>Chris Bilson</name><uri>http://www.blogger.com/profile/11976251467538757518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
