<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0ENQ3c-fSp7ImA9WhBUE04.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430</id><updated>2013-04-30T09:34:52.955-07:00</updated><category term="Jasmine" /><category term="Metro" /><category term="MVVM" /><category term="Visual Studio 2010 Scheme" /><category term="mock objects" /><category term="Attached Property" /><category term="F# properties" /><category term="scaling" /><category term="Rhino Mocks" /><category term="MSTest" /><category term="ILDASM" /><category term="MSDN Magazine" /><category term="Web" /><category term="Linq to XML" /><category term="F# libraries" /><category term="XAML" /><category term="WebSharper" /><category term="Web API" /><category term="MongoDB" /><category term="jQuery Plugin" /><category term="Dependency Property" /><category term="SpecUnit" /><category term="Querly" /><category term="Web Development" /><category term="ExpectThat" /><category term="TDD" /><category term="ASP.NET MVC 4" /><category term="PowerPack" /><category term="Backbone" /><category term="Knockout" /><category term="OData" /><category term="ROA" /><category term="FSharpx" /><category term="FSI" /><category term="Integrated Shell" /><category term="F# Interactive" /><category term="MSIL" /><category term=".NET Remoting" /><category term="CodeStock" /><category term="Fog" /><category term="blogs" /><category term="Scope Document" /><category term="Seq" /><category term="Nashville .NET User Group" /><category term="NUnit" /><category term="Pattern Matching" /><category term="FsUnit" /><category term="jQuery" /><category term="Test Driven Development" /><category term="IoC" /><category term="Unit Test" /><category term="ASP.NET MVC3" /><category term="Polyphony" /><category term="InfoQ" /><category term="F# 3.0" /><category term="jQuery Templates" /><category term="Recursion" /><category term="F# tools" /><category term="F# Sample Application" /><category term="F#" /><category term="System.Xml.Linq" /><category term="software deployments" /><category term="Value Converter" /><category term="ASP.NET MVC 3" /><category term="Best Practices" /><category term="F# classes" /><category term="Caliburn.Micro" /><category term="CouchDB" /><category term="ILASM" /><category term="DI" /><category term="F# versus C#" /><category term="Visual Studio 11" /><category term="Windows Phone 7" /><category term="Development" /><category term="Ling to SQL" /><category term="CoffeeScript" /><category term="NuGet" /><category term="FSRepository" /><category term="Asynchronous Programming" /><category term="VS2010" /><category term="NHibernate" /><category term="Mocha" /><category term="Why F#" /><category term="Symbiote" /><category term="Seq.sum" /><category term="JavaScript" /><category term="Visual Studio Gallery" /><category term="FSharp.PowerPack" /><category term="F# interfaces" /><category term="feeds" /><category term="Architect" /><category term="Project Templates" /><category term="VS2011" /><category term="Alice" /><category term="Template" /><category term="Windows 8" /><category term="Architecture" /><category term="cache" /><category term="IT" /><category term="Template Wizard" /><category term="VS2010 Template" /><category term="MonoDevelop" /><category term="jQuery UI" /><category term="Management" /><category term="DTO" /><category term="Azure" /><category term="ASP.NET MVC" /><category term="Windows Phone" /><category term="Node.js" /><category term="2012" /><category term="DevLink" /><category term="fsharp" /><category term="VS2012" /><category term="Pavlov" /><category term="BDD" /><category term="F# ASP.NET MVC 3" /><category term="F# members" /><category term="Principles and Standards" /><category term="SIngle Page Application" /><category term="RabbitMQ" /><category term="TypeProvider" /><category term="Presentation" /><category term="Project Euler" /><category term="O'Reilly" /><category term="User Group" /><category term="Methodolgies" /><category term="Scope of Work" /><category term="Book" /><category term="xUnit.NET" /><category term="Wonderland" /><category term="#fsharp" /><category term="Design Patterns" /><category term="Cloud" /><category term="CodeStock 2009" /><category term="Mobile" /><category term="Code Kata" /><category term="Backbone.js" /><category term="REST" /><category term="QUnit" /><category term="SPA" /><category term="Chord" /><category term="FLinq" /><category term="Zombie.js" /><category term="F# vs. C#" /><category term="F# PowerPack" /><category term="jQuery Mobile" /><category term="WP7" /><category term="VB" /><category term="NoSQL" /><category term="ASP.NET Web API" /><category term="C#" /><category term="DHT" /><category term="IL" /><category term="Data Access" /><category term="IoC container" /><category term="Developer Events" /><category term="WCF" /><category term="MbUnit" /><category term="Accelerometer" /><category term="XLinq" /><category term="parallelism" /><category term="LiveScript" /><category term="F# Presentation" /><category term="Asynchronous Workflows" /><category term="Nashville Geek Lunch" /><category term="WPF" /><category term="Silverlight" /><category term="Erlang" /><title>Random Ravings of a Red Headed Code Monkey</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://bloggemdano.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>152</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><feedburner:info uri="bloggemdano" /><feedburner:emailServiceId>BloggemDano</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/RandomRavingsOfARedHeadedCodeMonkey" /><feedburner:info uri="randomravingsofaredheadedcodemonkey" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry gd:etag="W/&quot;DUQAQXk_fSp7ImA9WhBWF00.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-7724574050281006417</id><published>2013-04-11T12:09:00.000-07:00</published><updated>2013-04-11T12:09:00.745-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-11T12:09:00.745-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><title>Presentation - Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile</title><content type="html">Thanks to all who attended my talk on &lt;a href="http://www.iasaglobal.org/assnfe/ev.asp?ID=437"&gt;Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile&lt;/a&gt;. You can find the simple SPA examples &lt;a href="https://github.com/dmohl/FsWebSpa-Backbone"&gt;here&lt;/a&gt;&amp;nbsp;and &lt;a href="https://github.com/dmohl/FsWebSpa-Knockout"&gt;here&lt;/a&gt;. The slide deck for the presentation is provided below and the recording of the presentation is available to IASA members on the &lt;a href="http://www.iasaglobal.org/"&gt;IASA site&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="356" marginheight="0" marginwidth="0" mozallowfullscreen="" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/18631381" style="border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;" webkitallowfullscreen="" width="427"&gt; &lt;/iframe&gt; </content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/7724574050281006417/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2013/04/presentation-modern-software.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/7724574050281006417?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/7724574050281006417?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/An-XmoOOr5Y/presentation-modern-software.html" title="Presentation - Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2013/04/presentation-modern-software.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8CRng_cCp7ImA9WhBSEkk.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-6007357865478836163</id><published>2013-02-18T20:38:00.001-08:00</published><updated>2013-02-18T20:41:07.648-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-18T20:41:07.648-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="F# Presentation" /><title>Presentation: Building Better Web Apps with F#</title><content type="html">Thanks to all who came out to &lt;a href="http://www.meetup.com/FSharpSeattle/events/99253082/?a=socialmedia"&gt;my talk on Building Better Web Apps with F# tonight&lt;/a&gt;. The examples created during the talk can be downloaded from &lt;a href="https://skydrive.live.com/redir?resid=54870041781498F7!194&amp;amp;authkey=!APTx4GYrKVe5fPI"&gt;here&lt;/a&gt;. You can see a recording of this presentation from a previous talk &lt;a href="http://bloggemdano.blogspot.com/2012/11/recording-for-building-better-web-apps.html"&gt;here&lt;/a&gt;.</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/6007357865478836163/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2013/02/presentation-building-better-web-apps.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/6007357865478836163?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/6007357865478836163?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/p4zcIUXq9Co/presentation-building-better-web-apps.html" title="Presentation: Building Better Web Apps with F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2013/02/presentation-building-better-web-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YGRXgyeSp7ImA9WhNbF0o.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-3304543923692241602</id><published>2013-01-12T08:26:00.002-08:00</published><updated>2013-01-21T06:38:44.691-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-21T06:38:44.691-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CoffeeScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><title>CodeMash CoffeeScript Session - Slides and Examples</title><content type="html">Thanks to all who attended my CoffeeScript: Good, Bold, and with Sugar session at CodeMash. As promised at the end of the talk, &lt;a href="https://skydrive.live.com/redir?resid=54870041781498F7!193&amp;amp;authkey=!ADAvJKYsKJPMK5k"&gt;here&lt;/a&gt;&amp;nbsp;are the slides and examples.&lt;br /&gt;
&lt;br /&gt;
To see videos of this presentation from previous conferences go to&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/03/presentation-coffeescript-good-bold-and.html"&gt;here&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/11/presentation-coffeescript-good-bold-and.html"&gt;here&lt;/a&gt;.

&lt;a href="http://www.codeproject.com" rel="tag" style="display:none;"&gt;CodeProject&lt;/a&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/3304543923692241602/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2013/01/codemash-coffeescript-session-slides.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3304543923692241602?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3304543923692241602?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/Jr4LK9p92mg/codemash-coffeescript-session-slides.html" title="CodeMash CoffeeScript Session - Slides and Examples" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2013/01/codemash-coffeescript-session-slides.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8FRHw4eip7ImA9WhNbF0o.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-6107566975995979476</id><published>2013-01-07T04:47:00.000-08:00</published><updated>2013-01-21T06:33:35.232-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-21T06:33:35.232-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Architect" /><title>How to Become a Software Architect</title><content type="html">I often get asked by up-and-coming technologists, "what things should I be doing to work towards becoming an architect"? Of course, as is often the case when asking an architect a question, the answer is "it depends". However, I've found the following list to be a good starting point.&lt;br /&gt;
&lt;br /&gt;
What items would you add or remove? What advice would you give to someone seeking to become an architect?&lt;br /&gt;
&lt;br /&gt;
Here's the list that I've come up with:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;You must continuously seek to improve. If there was one right way to do things, the role of an architect would not be needed. One obvious way to improve in the area of architecture is to read. Here are several books, in no specific order, that I have found useful in improving my skills as an architect:&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Things-Every-Software-Architect-Should/dp/059652269X/ref=sr_1_1?ie=UTF8&amp;amp;qid=1356965829&amp;amp;sr=8-1&amp;amp;keywords=97+things+every+software+architect+should+know"&gt;97 Things Every Software Architect Should Know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356965872&amp;amp;sr=1-1&amp;amp;keywords=patterns+of+enterprise+application+architecture"&gt;Patterns of Enterprise Application Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356965896&amp;amp;sr=1-1&amp;amp;keywords=agile+patterns+principles+and+practices"&gt;Agile Principles, Patterns, and Practices in C#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356965916&amp;amp;sr=1-1&amp;amp;keywords=enterprise+integration+patterns"&gt;Enterprise Integration Patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356965942&amp;amp;sr=1-1&amp;amp;keywords=javascript+the+good+parts"&gt;JavaScript: The Good Parts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356965962&amp;amp;sr=1-1&amp;amp;keywords=working+effectively+with+legacy+code"&gt;Working Effectively with Legacy Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356965983&amp;amp;sr=1-1&amp;amp;keywords=domain+driven+design"&gt;Domain Driven Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Enterprise-Architecture-Strategy-Foundation-Execution/dp/1591398398/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356966009&amp;amp;sr=1-1&amp;amp;keywords=enterprise+architecture+as+strategy"&gt;Enterprise Architecture as Strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356966075&amp;amp;sr=1-1&amp;amp;keywords=Design+Patterns+%28Gang+of+Four%29"&gt;Design Patterns (Gang of Four)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356966091&amp;amp;sr=1-1&amp;amp;keywords=The+Goal"&gt;The Goal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/Design-Patterns-Prentice-Service-Oriented-Computing/dp/0136135161/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356966114&amp;amp;sr=1-1&amp;amp;keywords=SOA+Design+Patterns"&gt;SOA Design Patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/SOA-Principles-Service-Design-Thomas/dp/0132344823/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1356966134&amp;amp;sr=1-1&amp;amp;keywords=SOA+Principles+of+Service+Design"&gt;SOA Principles of Service Design&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Learn a new programming language every one to two years. &lt;a href="http://fsharp.org/"&gt;F#&lt;/a&gt; is a good one to start with! :)&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Pick a focus area, but have a high-level understanding of as many technologies as possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;For your focus area, start a blog and continue to expand your knowledge of that focus area with the goal of becoming an expert.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Play with different technologies, programming languages, design patterns, architectures, etc. (even if it doesn’t directly help your day to day). You never know when the additional knowledge might come in handy.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Learn to speak in the "language" of your target audience. You have to speak to a lot of different people as an architect and each audience will have a different level of understanding of the technology. Learn to tailor your&amp;nbsp;explanation&amp;nbsp;in ways that each audience can understand.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Read blogs, watch/participate in twitter/G+, listen to podcasts, read magazines, go to user group meetings and technology conferences, speak at user group meetings and technology conferences. These things will build your knowledge, help to build your brand, and provide networking opportunities.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Discipline is key. Always do your best work, even if it doesn't sound like the most fun. Schedule time every day to learn something new, even if it's just 15 minutes, and don't let other priorities take over this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Start a blog (pick a technology and start blogging what you learn about it). I’ve found that the act of writing about something will cause you to have a better understanding than simply reading about it.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Take advantage of “wasted time”. Always have a magazine with you to read, listen to podcasts on the way into work, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Learn about the various tools available to help architects do their job better and more efficiently.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Look at a lot of the different architectures for different projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Learn about different project management methodologies.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Learn about approaches for evaluating technology that can provide value to a business.&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="http://www.codeproject.com" rel="tag" style="display:none;"&gt;CodeProject&lt;/a&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/6107566975995979476/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2013/01/how-to-become-software-architect.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/6107566975995979476?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/6107566975995979476?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/bjpWtzw7fKE/how-to-become-software-architect.html" title="How to Become a Software Architect" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2013/01/how-to-become-software-architect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQNQHw4fyp7ImA9WhNVGUs.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-3255106878663059508</id><published>2012-12-31T05:59:00.000-08:00</published><updated>2012-12-31T05:59:51.237-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-31T05:59:51.237-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Knockout" /><category scheme="http://www.blogger.com/atom/ns#" term="Backbone" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="CoffeeScript" /><category scheme="http://www.blogger.com/atom/ns#" term="2012" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="Mocha" /><category scheme="http://www.blogger.com/atom/ns#" term="ExpectThat" /><title>My Top 5 Blog Posts from 2012</title><content type="html">On this last day of 2012, I'd like to look back and share my top 5 most popular blog posts from this year.&lt;br /&gt;
&lt;br /&gt;
5. On January 8, I &lt;a href="http://bloggemdano.blogspot.com/2012/01/introducing-expectthat-coffeescript.html"&gt;introduced a CoffeeScript Assertion Library called ExpectThat&lt;/a&gt;. &lt;a href="http://dmohl.github.com/expectThat/"&gt;ExpectThat&lt;/a&gt; makes it easy to create expressive, self-documenting assertions in &lt;a href="http://coffeescript.org/"&gt;CoffeeScript&lt;/a&gt; with a syntax similar to that provided by &lt;a href="http://dmohl.github.com/FsUnit/"&gt;FsUnit&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
4. In September, an example of a &lt;a href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html"&gt;Single Page Application with Backbone.js, ASP.NET Web API, and F# &lt;/a&gt;was provided. This was then &lt;a href="http://bloggemdano.blogspot.com/2012/09/single-page-application-template-now.html"&gt;added to the F# and C# ASP.NET MVC 4 project template&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
3. At the end of January, an example was given for &lt;a href="http://bloggemdano.blogspot.com/2012/01/testing-jquery-plugin-with-expectthat.html"&gt;how to use ExpectThat with Mocha to test a jQuery plugin&lt;/a&gt;. This example builds on a nice post by Josh Bush entitled &lt;a href="http://digitalbush.com/2011/03/29/testing-jquery-plugins-with-node-js-and-jasmine/"&gt;Testing jQuery plugins with Node.js and Jasmine&lt;/a&gt;&amp;nbsp;and it includes examples for both browser and &lt;a href="http://nodejs.org/"&gt;Node&lt;/a&gt; tests with &lt;a href="http://visionmedia.github.com/mocha/"&gt;Mocha&lt;/a&gt; and &lt;a href="http://dmohl.github.com/expectThat/"&gt;ExpectThat&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
2. In March, I &lt;a href="http://bloggemdano.blogspot.com/2012/03/f-and-aspnet-web-api.html"&gt;announced an addition to the F# and C# ASP.NET MVC 4 template&lt;/a&gt; that makes it easy to create modern HTTP services with ASP.NET Web API and F#.&lt;br /&gt;
&lt;br /&gt;
1. And my most popular post from 2012 was an example of a&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/10/a-single-page-app-with-knockoutjs.html"&gt;Single Page Application with Knockout.js, ASP.NET Web API, and F#&amp;nbsp;&lt;/a&gt;. This was later&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/10/knockoutjs-added-to-fc-mvc-4-single.html"&gt;added as an option to the F# and C# ASP.NET MVC 4 project template&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Happy New Year!&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/3255106878663059508/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/12/my-top-5-blog-posts-from-2012.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3255106878663059508?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3255106878663059508?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/6VAUCx-G6Cc/my-top-5-blog-posts-from-2012.html" title="My Top 5 Blog Posts from 2012" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/12/my-top-5-blog-posts-from-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cERXw9eSp7ImA9WhNbF0o.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-1643951056795132341</id><published>2012-12-23T06:11:00.000-08:00</published><updated>2013-01-21T06:36:44.261-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-21T06:36:44.261-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="Book" /><title>Buiilding Web, Cloud, and Mobile Solutions with F#</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-JlV__XsDys0/UNcJYnwQ26I/AAAAAAAAALU/kEN1iIs8vg4/s1600/book.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="243" src="http://1.bp.blogspot.com/-JlV__XsDys0/UNcJYnwQ26I/AAAAAAAAALU/kEN1iIs8vg4/s640/book.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I'm happy to say that my book entitled Building Web, Cloud, and Mobile Solutions with F# is now available in both print and electronic formats. The description of the book is provided below and you can find the book examples on &lt;a href="http://dmohl.github.com/fs-web-cloud-mobile/"&gt;my GitHub&lt;/a&gt;.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;div style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: small;"&gt;
Learn how to build key aspects of web, cloud, and mobile solutions by combining F# with various .NET and open source technologies. With helpful examples, this hands-on book shows you how to tackle concurrency, asynchrony, and other server-side challenges. You’ll quickly learn how to be productive with F#, whether you want to integrate the language into your existing web application or use it to create the next Twitter.&lt;/div&gt;
&lt;div style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: small;"&gt;
If you’re a mid- to senior-level .NET programmer, you’ll discover how this expressive functional-first language helps you write robust, maintainable, and reusable solutions that scale easily and target multiple devices.&lt;/div&gt;
&lt;ul style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin: 20px; padding: 0px;"&gt;
&lt;li style="margin: 0.5em 0em;"&gt;Use F# with ASP.NET MVC, ASP.NET Web API, WCF, Windows Azure, HTML5, CSS3, jQuery Mobile, and other tools&lt;/li&gt;
&lt;li style="margin: 0.5em 0em;"&gt;Build next-generation ASP.NET MVC 4 web applications, using F# to do the heavy lifting on the server&lt;/li&gt;
&lt;li style="margin: 0.5em 0em;"&gt;Create WCF SOAP and HTTP web services&lt;/li&gt;
&lt;li style="margin: 0.5em 0em;"&gt;Develop F# web applications and services that run on Windows Azure&lt;/li&gt;
&lt;li style="margin: 0.5em 0em;"&gt;Build scalable solutions that allow reuse by mobile and web front-ends&lt;/li&gt;
&lt;li style="margin: 0.5em 0em;"&gt;Use F# with the WebSharper and Pit frameworks to build end-to-end web stacks&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;a href="http://www.codeproject.com" rel="tag" style="display:none;"&gt;CodeProject&lt;/a&gt;
</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/1643951056795132341/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/12/buiilding-web-cloud-and-mobile.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/1643951056795132341?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/1643951056795132341?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/8TEbWOMkm_Y/buiilding-web-cloud-and-mobile.html" title="Buiilding Web, Cloud, and Mobile Solutions with F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-JlV__XsDys0/UNcJYnwQ26I/AAAAAAAAALU/kEN1iIs8vg4/s72-c/book.PNG" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/12/buiilding-web-cloud-and-mobile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGRn8-eip7ImA9WhNWGE0.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-1230418387284344736</id><published>2012-12-17T19:12:00.000-08:00</published><updated>2012-12-17T19:12:07.152-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-17T19:12:07.152-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="F# 3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="NuGet" /><category scheme="http://www.blogger.com/atom/ns#" term="F# PowerPack" /><title>F# PowerPack NuGet Packages for F# 3.0, .NET 4.x, and Silverlight 5</title><content type="html">There is a new version of each of the available F# PowerPack NuGet packages. These packages include the original F# PowerPack functionality recompiled for F# 3.0, .NET 4.x, and Silverlight 5 that were provided today on the &lt;a href="http://fsharppowerpack.codeplex.com/releases/view/99231"&gt;F# PowerPack CodePlex site&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In order to use these updated NuGet packages in a .NET 4.x project, you will need to be using F# 3.0. If that is not an option for you, the previous version of each package can be installing using any of the following commands:&lt;br /&gt;
&lt;br /&gt;








&lt;br /&gt;
&lt;div class="p1"&gt;
Install-Package FsPowerPack.Community.Sample -Version 2.1.1.2&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;







&lt;/div&gt;
&lt;div class="p1"&gt;
Install-Package FsPowerPack.Community -Version 2.1.3.1&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;







&lt;/div&gt;
&lt;div class="p1"&gt;
Install-Package FsPowerPack.Core.Community -Version 2.0.1.0&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Install-Package FsPowerPack.Linq.Community -Version 2.0.0.1&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Install-Package FsPowerPack.Metadata.Community -Version 2.0.0.1&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Install-Package FsPowerPack.Parallel.Seq.Community -Version 2.0.0.1&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/1230418387284344736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/12/f-powerpack-nuget-packages-for-f-30-net.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/1230418387284344736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/1230418387284344736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/6u3mmMS-gSg/f-powerpack-nuget-packages-for-f-30-net.html" title="F# PowerPack NuGet Packages for F# 3.0, .NET 4.x, and Silverlight 5" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/12/f-powerpack-nuget-packages-for-f-30-net.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04DQ3Y-cSp7ImA9WhNXGUU.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-7397771217456875947</id><published>2012-12-08T10:06:00.000-08:00</published><updated>2012-12-08T10:06:12.859-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-08T10:06:12.859-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="MonoDevelop" /><title>Using the New ASP.NET MVC 4 Template in MonoDevelop</title><content type="html">In &lt;a href="http://bloggemdano.blogspot.com/2012/11/f-aspnet-mvc-and-monodevelop.html"&gt;my last post&lt;/a&gt;, I showed an example of an ASP.NET MVC 4 application built in MonoDevelop. Since that time, an ASP.NET MVC 4 project template has been created for MonoDevelop that makes it very easy to create a similar app.&lt;br /&gt;
&lt;br /&gt;
Here are the steps for using this template:&lt;br /&gt;
&lt;br /&gt;
1. To get started, install version 3.0.2+ of &lt;a href="http://www.go-mono.com/mono-downloads/download.html"&gt;Mono&lt;/a&gt;, the latest version of&amp;nbsp;&lt;a href="http://monodevelop.com/"&gt;MonoDevelop&lt;/a&gt;, and&amp;nbsp;the F# Language Binding (through the MonoDevelop Add-in Manager). If you've already installed each of these, make sure that the F# Language Binding version is 3.2.8+.&lt;br /&gt;
&lt;br /&gt;
2. Create a new solution (File | New | Solution) and select F# | ASP.NET | F# ASP.NET MVC 4 (Razor) as shown here:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-5svSNvun_1w/UMNAF-4pA7I/AAAAAAAAAKs/72HGZfqfmYI/s1600/Screen+Shot+2012-12-08+at+7.24.25+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="419" src="http://3.bp.blogspot.com/-5svSNvun_1w/UMNAF-4pA7I/AAAAAAAAAKs/72HGZfqfmYI/s640/Screen+Shot+2012-12-08+at+7.24.25+AM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
3. Add the desired solution name, click OK, and your done.&lt;br /&gt;
&lt;br /&gt;
Well that was easy, but where do you go from here? Let's walk through a simple example of creating an app for keeping track of contacts. The end result will be similar to the screenshot shown in my post entitled &lt;a href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html"&gt;A Single Page App with Backbone.js, ASP.NET Web API, and F#&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
1. I've already followed the previous steps to create an ASP.NET MVC 4 application in MonoDevelop called MyContacts. To quickly add a decent look to the app, I'll use the responsive front-end framework from ZURB called &lt;a href="http://foundation.zurb.com/"&gt;Foundation&lt;/a&gt;. All that I really need is the CSS, so I add the foundation.min.css file to the Content folder in the project. I also add an app.css file for any custom styles that are needed. The content of the app.css file is shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/4240709.js?file=app.css"&gt;&lt;/script&gt;

2. I can now reference these CSS files in _Layout.cshtml. The modified file looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/4240718.js?file=gistfile1.html"&gt;&lt;/script&gt;

3. Now I modify the Index.cshtml file in the Home folder so that it will display the list of contacts. The result is shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/4240726.js?file=gistfile1.html"&gt;&lt;/script&gt;

4. Lastly we make a few modifications to the HomeController. Here's the code:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/4240730.js?file=HomeController.fs"&gt;&lt;/script&gt;

5. That's it. We can now launch the site and see the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-s-kBnadVfTA/UMNaISiYtRI/AAAAAAAAAK8/ypGcOiqGp7M/s1600/Screen+Shot+2012-12-08+at+9.17.14+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="62" src="http://3.bp.blogspot.com/-s-kBnadVfTA/UMNaISiYtRI/AAAAAAAAAK8/ypGcOiqGp7M/s640/Screen+Shot+2012-12-08+at+9.17.14+AM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/7397771217456875947/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/12/using-new-aspnet-mvc-4-template-in.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/7397771217456875947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/7397771217456875947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/I7d4g8NSaH0/using-new-aspnet-mvc-4-template-in.html" title="Using the New ASP.NET MVC 4 Template in MonoDevelop" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-5svSNvun_1w/UMNAF-4pA7I/AAAAAAAAAKs/72HGZfqfmYI/s72-c/Screen+Shot+2012-12-08+at+7.24.25+AM.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/12/using-new-aspnet-mvc-4-template-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUDRn8zcSp7ImA9WhNQE0o.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-4781612964854804107</id><published>2012-11-19T17:17:00.001-08:00</published><updated>2012-11-19T17:17:57.189-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-19T17:17:57.189-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="MonoDevelop" /><title>F#, ASP.NET MVC, and MonoDevelop </title><content type="html">I often talk about creating web solutions with F# in Visual Studio. Today I'm going to switch things up a little and provide an example of an ASP.NET MVC solution built with MonoDevelop.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;MonoDevelop:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
For those that aren't familiar with &lt;a href="http://monodevelop.com/"&gt;MonoDevelop&lt;/a&gt;, it's an open source IDE that runs on a variety of operating systems including Windows, Mac OSX, and Linux. MonoDevelop works hand-in-hand with &lt;a href="http://www.mono-project.com/Main_Page"&gt;Mono&lt;/a&gt;, which is "an open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET". This means that you can write the same .NET code that you would in Visual Studio and run it on any of the most popular operating systems.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Getting Setup for F# Development:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
There are a number of resources out there that talk about how to get your environment setup with MonoDevelop and F#. Here's a quick set of steps:&lt;br /&gt;
&lt;br /&gt;
1. Install MonoDevelop, .NET or Mono, and GTK# from&amp;nbsp;&lt;a href="http://monodevelop.com/Download"&gt;http://monodevelop.com/Download&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
2. Launch MonoDevelop and open the Add-in Manager (MonoDevelop | Add-in Manager... on Mac OSX and Tools | Add-in Manager on Windows).&lt;br /&gt;
&lt;br /&gt;
3. Switch to the Gallery tab and install "F# Language Binding".&lt;br /&gt;
&lt;br /&gt;
That's it. You're now ready to start building F# applications with MonoDevelop.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;An ASP.NET MVC Project with F# and MonoDevelop:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
MonoDevelop also supports ASP.NET MVC. To see an example, clone&amp;nbsp;&lt;a href="https://github.com/dmohl/FsMvc4MonoSample"&gt;https://github.com/dmohl/FsMvc4MonoSample&lt;/a&gt;&amp;nbsp;and open the solution.&lt;br /&gt;
&lt;br /&gt;
The solution includes 2 projects:&lt;br /&gt;
&lt;br /&gt;
1. A web project that includes Views and Controllers.&lt;br /&gt;
2. A unit testing project.&lt;br /&gt;
&lt;br /&gt;
A screenshot of the Solution window is shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-4Z128O-Eqcc/UKrXauKnjbI/AAAAAAAAAKc/w-2x_TulnQo/s1600/MonoMvcSolution.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-4Z128O-Eqcc/UKrXauKnjbI/AAAAAAAAAKc/w-2x_TulnQo/s320/MonoMvcSolution.PNG" width="174" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/4781612964854804107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/11/f-aspnet-mvc-and-monodevelop.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4781612964854804107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4781612964854804107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/H8WZMDvqd40/f-aspnet-mvc-and-monodevelop.html" title="F#, ASP.NET MVC, and MonoDevelop " /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-4Z128O-Eqcc/UKrXauKnjbI/AAAAAAAAAKc/w-2x_TulnQo/s72-c/MonoMvcSolution.PNG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/11/f-aspnet-mvc-and-monodevelop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YFQ3Y5fyp7ImA9WhNRFUs.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-9019220991655403991</id><published>2012-11-10T07:25:00.000-08:00</published><updated>2012-11-10T07:25:12.827-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-10T07:25:12.827-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="F# Presentation" /><title>Recording for Building Better Web Apps with F#</title><content type="html">Last week, I provided the slides and examples used for my talk entitled Building Better Web Apps with F#. If you missed the presentation, you can watch it here:&lt;br/&gt;&lt;/br&gt;

&lt;iframe src="http://player.vimeo.com/video/52610636?badge=0" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt; &lt;p&gt;&lt;a href="http://vimeo.com/52610636"&gt;2012-10 Building Better Web Apps with FSharp&lt;/a&gt; from &lt;a href="http://vimeo.com/panesofglass"&gt;Ryan Riley&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/9019220991655403991/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/11/recording-for-building-better-web-apps.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/9019220991655403991?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/9019220991655403991?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/s9JnyvpOFGw/recording-for-building-better-web-apps.html" title="Recording for Building Better Web Apps with F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/11/recording-for-building-better-web-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YESXY6eyp7ImA9WhNRFUg.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-2296362286557189272</id><published>2012-11-10T05:45:00.000-08:00</published><updated>2012-11-10T05:45:08.813-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-10T05:45:08.813-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CoffeeScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><title>Presentation - CoffeeScript: Good, Bold, and with Sugar</title><content type="html">Thanks to all who came out to the Nashville .NET User Group last Thursday. If you weren't able to make it, you can view the presentation here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;
&lt;iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" src="http://www.youtube.com/embed/016pgGwLwFs" width="560"&gt;&lt;/iframe&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/2296362286557189272/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/11/presentation-coffeescript-good-bold-and.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/2296362286557189272?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/2296362286557189272?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/tZ9Nt-V8pZs/presentation-coffeescript-good-bold-and.html" title="Presentation - CoffeeScript: Good, Bold, and with Sugar" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/016pgGwLwFs/default.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/11/presentation-coffeescript-good-bold-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQDRX07cSp7ImA9WhNREUw.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-653642260005786909</id><published>2012-11-05T04:26:00.000-08:00</published><updated>2012-11-05T04:26:14.309-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-05T04:26:14.309-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><title>Presentation: Building Better Web Apps with F#</title><content type="html">Thanks to all who attended the Community for F# presentation last Tuesday (10/30/2012). Here are the slides from the talk:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="allowfullscreen" frameborder="0" height="356" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/15018609" style="border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;" width="427"&gt; &lt;/iframe&gt; &lt;br /&gt;
&lt;div style="margin-bottom: 5px;"&gt;
&lt;strong&gt; &lt;a href="http://www.slideshare.net/dmohl/building-better-web-apps-with-f-15018609" target="_blank" title="Building Better Web Apps with F#"&gt;Building Better Web Apps with F#&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href="http://www.slideshare.net/dmohl" target="_blank"&gt;dmohl&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;br /&gt;
The end result of the examples that were built during the presentation can be downloaded from &lt;a href="https://github.com/downloads/dmohl/GettingStartedWithWebDevInFSharpPresentation/BuildingBetterWebAppsWithFSharp_Examples.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/653642260005786909/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/11/presentation-building-better-web-apps.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/653642260005786909?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/653642260005786909?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/_aANM5_7n-g/presentation-building-better-web-apps.html" title="Presentation: Building Better Web Apps with F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/11/presentation-building-better-web-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8MR3ozeip7ImA9WhNSFUw.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-4300107786654335888</id><published>2012-10-29T04:41:00.000-07:00</published><updated>2012-10-29T04:41:26.482-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-29T04:41:26.482-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Knockout" /><category scheme="http://www.blogger.com/atom/ns#" term="Backbone" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="SPA" /><category scheme="http://www.blogger.com/atom/ns#" term="SIngle Page Application" /><title>Using F# Records with ASP.NET Web API</title><content type="html">In the &lt;a href="http://bloggemdano.blogspot.com/2012/10/a-single-page-app-with-knockoutjs.html"&gt;Knockout.js&lt;/a&gt;&amp;nbsp;and &lt;a href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html"&gt;Backbone.js examples&lt;/a&gt; that I provided over the last few weeks, the model was written as a class using the traditional syntax. Here's an example:&lt;br /&gt;&lt;br /&gt;
&lt;script src="https://gist.github.com/3917846.js?file=gistfile1.fs"&gt;&lt;/script&gt;

While this approach works well, it would be great if we could use F# records instead. It turns out that with a few tweaks, this is easy to accomplish. Let's see how to do this in the Knockout.js example. &amp;nbsp;&lt;br /&gt;
&lt;br /&gt; 
First, we'll change the model to be an F# record. The new model looks like this:&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/3917818.js?file=gistfile1.fs"&gt;&lt;/script&gt;
We'll also need to change how the example data is initialized. This code now looks like this:&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/3923257.js?file=gistfile1.fs"&gt;&lt;/script&gt;
Lastly, a small change is needed in the ContactsViewModel. This now looks like the following:&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/3917936.js?file=gistfile1.txt"&gt;&lt;/script&gt;
</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/4300107786654335888/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/10/using-f-records-with-aspnet-web-api.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4300107786654335888?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4300107786654335888?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/z0yk3xFaJmY/using-f-records-with-aspnet-web-api.html" title="Using F# Records with ASP.NET Web API" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/10/using-f-records-with-aspnet-web-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQNSXo-eip7ImA9WhNTFEs.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-8135691260463935189</id><published>2012-10-17T03:06:00.000-07:00</published><updated>2012-10-17T03:06:38.452-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-17T03:06:38.452-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web" /><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="Book" /><title>Rough Cut of Building Web, Cloud, and Mobile Solutions with F#</title><content type="html">Back &lt;a href="http://bloggemdano.blogspot.com/2012/05/two-books-in-making.html"&gt;in May I talked about two books that were currently underway&lt;/a&gt;. Today I'm proud to say that one of those books is now available as a Rough Cut on Safari Books Online.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://my.safaribooksonline.com/book/-/9781449333751" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://2.bp.blogspot.com/-PgxKLGiwGtE/UHyoefjFwBI/AAAAAAAAAKI/2ZG2Gar-CaU/s640/FSharpBookRoughCut.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I hope you enjoy reading it as much as I enjoyed writing it! A huge thanks goes to Ryan Riley for his continued expertise and guidance as the technical reviewer.</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/8135691260463935189/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/10/rough-cut-of-building-web-cloud-and.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/8135691260463935189?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/8135691260463935189?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/RrV_NQU1S3o/rough-cut-of-building-web-cloud-and.html" title="Rough Cut of Building Web, Cloud, and Mobile Solutions with F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-PgxKLGiwGtE/UHyoefjFwBI/AAAAAAAAAKI/2ZG2Gar-CaU/s72-c/FSharpBookRoughCut.PNG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/10/rough-cut-of-building-web-cloud-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IMSHk8eyp7ImA9WhNTE00.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-5681856455186233656</id><published>2012-10-15T04:46:00.000-07:00</published><updated>2012-10-15T04:46:29.773-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-15T04:46:29.773-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Knockout" /><category scheme="http://www.blogger.com/atom/ns#" term="Backbone" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="SPA" /><category scheme="http://www.blogger.com/atom/ns#" term="Project Templates" /><title>Knockout.js Added to the F#/C# MVC 4 Single Page Application Template</title><content type="html">Two weeks I &lt;a href="http://bloggemdano.blogspot.com/2012/09/single-page-application-template-now.html"&gt;announced a new Single Page Application (SPA) template with Backbone.js&lt;/a&gt; in the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/3d2bf938-fc9e-403c-90b3-8de27dc23095"&gt;F# C# MVC 4 Visual Studio extension&lt;/a&gt;. Last week an &lt;a href="http://bloggemdano.blogspot.com/2012/10/a-single-page-app-with-knockoutjs.html"&gt;example of a SPA with Knockout.js&lt;/a&gt; was provided. I bet you can guess what's coming...&lt;br /&gt;
&lt;br /&gt;
Today, you can get version 1.13 of the F# C# MVC 4 extension, which gives you the option to choose between &lt;a href="http://backbonejs.org/"&gt;Backbone.js&lt;/a&gt; and &lt;a href="http://knockoutjs.com/"&gt;Knockout.js&lt;/a&gt; when creating a F#/C# SPA.&lt;br /&gt;
&lt;br /&gt;
The new project creation screen looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-Q_11_aZyMvk/UHAnz1apOyI/AAAAAAAAAJ4/hC5ODD8F7LM/s1600/FsSapKnockout.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://2.bp.blogspot.com/-Q_11_aZyMvk/UHAnz1apOyI/AAAAAAAAAJ4/hC5ODD8F7LM/s400/FsSapKnockout.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If you would like to see additional JavaScript frameworks included as options, let me know.&lt;br /&gt;
&lt;br /&gt;
You can find information on the Knockout.js version&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/10/a-single-page-app-with-knockoutjs.html"&gt;in this post&lt;/a&gt;&amp;nbsp;and information on the Backbone.js version&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html"&gt;in this post&lt;/a&gt;. Note: A C# only version and a PHP version of the Backbone.js example is available at&amp;nbsp;&lt;a href="https://github.com/dmohl/FsWebSpa-Backbone/downloads"&gt;https://github.com/dmohl/FsWebSpa-Backbone/downloads&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/5681856455186233656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/10/knockoutjs-added-to-fc-mvc-4-single.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/5681856455186233656?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/5681856455186233656?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/xGwOe7XJBtg/knockoutjs-added-to-fc-mvc-4-single.html" title="Knockout.js Added to the F#/C# MVC 4 Single Page Application Template" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Q_11_aZyMvk/UHAnz1apOyI/AAAAAAAAAJ4/hC5ODD8F7LM/s72-c/FsSapKnockout.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/10/knockoutjs-added-to-fc-mvc-4-single.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAQn0zcCp7ImA9WhNbF0o.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-8476222598444079505</id><published>2012-10-08T04:27:00.000-07:00</published><updated>2013-01-21T06:37:23.388-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-21T06:37:23.388-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="SPA" /><category scheme="http://www.blogger.com/atom/ns#" term="SIngle Page Application" /><title>A Single Page App with Knockout.js, ASP.NET Web API, and F#</title><content type="html">A few weeks ago, &lt;a href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html"&gt;I posted a simple example of a Single Page Application (SPA) built with Backbone.js, ASP.NET Web API, F#, C#, and more&lt;/a&gt;. Today, I'm posting a similar example, but built with Knockout.js. Let's look at some of the code.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;View:&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
Knockout.js supports binding of model data directly to DOM elements, so the first thing that we will look at is one of the templates that are used for the views. Here's what this example uses for the contacts list view template:
&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/3849080.js?file=gistfile1.html"&gt;&lt;/script&gt;

The main thing to notice in this markup is the use of the data-bind attributes to bind specific model data to the appropriate DOM elements.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ViewModel:&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
The example defines a single ViewModel that is used for both of the available views. The code, which is fairly similar to that described at &lt;a href="http://knockoutjs.com/examples/contactsEditor.html" target="_blank"&gt;http://knockoutjs.com/examples/contactsEditor.html&lt;/a&gt;, is shown below:
&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/3849106.js?file=gistfile1.js"&gt;&lt;/script&gt;

&lt;b&gt;Router:&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
Another thing to notice is the routing mechanism used in this example. Since Knockout.js doesn't provide built in URL routing, I've used &lt;a href="http://sammyjs.org/" target="_blank"&gt;Sammy.js&lt;/a&gt; to accommodate the need. Here's what the router looks like:
&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/3849132.js?file=gistfile1.js"&gt;&lt;/script&gt;

&lt;b&gt;ApiController:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Lastly, we'll get a quick look at the API Controller that is written in F#. Here's the code:
&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/3849159.js?file=gistfile1.fs"&gt;&lt;/script&gt;

That's pretty much it. You can find the full solution at &lt;a href="https://github.com/dmohl/FsWebSpa-Knockout"&gt;https://github.com/dmohl/FsWebSpa-Knockout&lt;/a&gt;.

&lt;a href="http://www.codeproject.com" rel="tag" style="display:none;"&gt;CodeProject&lt;/a&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/8476222598444079505/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/10/a-single-page-app-with-knockoutjs.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/8476222598444079505?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/8476222598444079505?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/OhsjKOycxVo/a-single-page-app-with-knockoutjs.html" title="A Single Page App with Knockout.js, ASP.NET Web API, and F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/10/a-single-page-app-with-knockoutjs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QDSXk5fyp7ImA9WhJaEEs.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-368369762240869937</id><published>2012-09-30T21:22:00.000-07:00</published><updated>2012-09-30T21:22:58.727-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-30T21:22:58.727-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Backbone" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="SPA" /><category scheme="http://www.blogger.com/atom/ns#" term="SIngle Page Application" /><category scheme="http://www.blogger.com/atom/ns#" term="Project Templates" /><title>Single Page Application Template Now Available</title><content type="html">Version 1.12 of the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/3d2bf938-fc9e-403c-90b3-8de27dc23095"&gt;F# C# MVC 4&lt;/a&gt;&amp;nbsp;Visual Studio extension now includes a Single Page Application (SPA) template with the &lt;a href="http://backbonejs.org/"&gt;Backbone.js JavaScript framework&lt;/a&gt;. The template works in VS2010 as well as VS2012 (including &lt;a href="http://bloggemdano.blogspot.com/2012/09/f-templates-and-f-tools-for-vs2012.html"&gt;VS2012 Express for Web&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
To use the new template, simply pull down the latest by following the direction from &lt;a href="http://bloggemdano.blog%EF%9C%A9spot.com/2011/12/building-aspnet-mvc-4-solution-with-f.html"&gt;one of my previous posts&lt;/a&gt;&amp;nbsp;or by clicking the download button on&amp;nbsp;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/3d2bf938-fc9e-403c-90b3-8de27dc23095"&gt;Visual Studio Gallery&lt;/a&gt;. Once you have installed the Visual Studio extension, you will see the following screen when creating a new F# and C# Web Application (ASP.NET MVC 4) from the Visual F# | ASPNET project template category.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-N2SY8IR_TSU/UGg3xqQoiDI/AAAAAAAAAJc/q62ei9EUDns/s1600/Mvc4SpaTemplate.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-N2SY8IR_TSU/UGg3xqQoiDI/AAAAAAAAAJc/q62ei9EUDns/s400/Mvc4SpaTemplate.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Highlights of the F# and C# project structure are shown below:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-7k137UkjCBM/UGg3zZQJ46I/AAAAAAAAAJk/Tnco2kpwWqs/s1600/FsSpaProject.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://1.bp.blogspot.com/-7k137UkjCBM/UGg3zZQJ46I/AAAAAAAAAJk/Tnco2kpwWqs/s400/FsSpaProject.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If you wish to learn more about the solution that is generated from this new template, see&amp;nbsp;&lt;a href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html"&gt;my previous post&lt;/a&gt;.</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/368369762240869937/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/09/single-page-application-template-now.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/368369762240869937?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/368369762240869937?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/yJLK0unTXiw/single-page-application-template-now.html" title="Single Page Application Template Now Available" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-N2SY8IR_TSU/UGg3xqQoiDI/AAAAAAAAAJc/q62ei9EUDns/s72-c/Mvc4SpaTemplate.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/09/single-page-application-template-now.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cMSHk-fCp7ImA9WhNbF0o.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-4283587236807879788</id><published>2012-09-27T15:38:00.000-07:00</published><updated>2013-01-21T06:38:09.754-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-21T06:38:09.754-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Backbone.js" /><category scheme="http://www.blogger.com/atom/ns#" term="Backbone" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="#fsharp" /><category scheme="http://www.blogger.com/atom/ns#" term="Web API" /><title>A Single Page App with Backbone.js, ASP.NET Web API, and F#</title><content type="html">In this post, I introduce a simple example of a single page application built with Backbone.js, ASP.NET Web API, F#, and more. The example is an overly simple contacts app that allows you to view contacts and create new ones. It uses the Foundation 3 framework for styling and responsive design.&lt;br /&gt;
&lt;br /&gt;
Here's a screenshot of the simple contact list view:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-C-aJvLHnRM0/UGTGwuq0W0I/AAAAAAAAAJM/TXpQ3iigBg8/s1600/ContactList.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="94" src="http://1.bp.blogspot.com/-C-aJvLHnRM0/UGTGwuq0W0I/AAAAAAAAAJM/TXpQ3iigBg8/s640/ContactList.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution Organization:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The C# project contains the following:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A single Index.cshtml file.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;All images, CSS, and JavaScript.&lt;/li&gt;
&lt;li&gt;A "Templates" folder that contains 2 .htm files that hold the markup for each view. The templating feature of underscore.js is used to allow placeholders in the templates to be replaced with the desired data.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
The heart of the client-side code is broken into 3 folders within the Scripts folder of the C# project:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The "app" folder contains a main.js, a utility.js, and a file containing route definitions using Backbone.Router.&lt;/li&gt;
&lt;li&gt;The "models" folder contains the Backbone models and collections. &lt;/li&gt;
&lt;li&gt;The "views" folder contains Backbone views.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
The F# project contains the following:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;ASP.NET MVC and Web API routes.&lt;/li&gt;
&lt;li&gt;Definitions of JS and CSS bundles.&lt;/li&gt;
&lt;li&gt;ASP.NET MVC and Web API Controllers.&lt;/li&gt;
&lt;li&gt;A Model class.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Getting the Code:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can find the full source at&amp;nbsp;&lt;a href="https://github.com/dmohl/FsWebSpa-Backbone"&gt;https://github.com/dmohl/FsWebSpa-Backbone&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
EDIT: You can find a C# version at&amp;nbsp;&lt;a href="https://github.com/downloads/dmohl/FsWebSpa-Backbone/SpaBackbone-CSharp.zip"&gt;https://github.com/downloads/dmohl/FsWebSpa-Backbone/SpaBackbone-CSharp.zip&lt;/a&gt;.

&lt;a href="http://www.codeproject.com" rel="tag" style="display:none;"&gt;CodeProject&lt;/a&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/4283587236807879788/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4283587236807879788?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4283587236807879788?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/jL3cx5IRK5k/a-single-page-app-with-backbonejs.html" title="A Single Page App with Backbone.js, ASP.NET Web API, and F#" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-C-aJvLHnRM0/UGTGwuq0W0I/AAAAAAAAAJM/TXpQ3iigBg8/s72-c/ContactList.PNG" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/09/a-single-page-app-with-backbonejs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcNSHc-cSp7ImA9WhJbEUk.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-3411258127927981499</id><published>2012-09-20T05:09:00.000-07:00</published><updated>2012-09-20T05:11:39.959-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-20T05:11:39.959-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VS2012" /><category scheme="http://www.blogger.com/atom/ns#" term="NuGet" /><category scheme="http://www.blogger.com/atom/ns#" term="FSI" /><category scheme="http://www.blogger.com/atom/ns#" term="F# Interactive" /><title>Adding NuGet Support to F# Interactive in VS2012</title><content type="html">About a year ago, I &lt;a href="http://bloggemdano.blogspot.com/2011/08/adding-nuget-support-to-f-interactive.html"&gt;posted an approach for adding basic NuGet support to VS2010&lt;/a&gt;. This post provides an updated script for adding this support in VS2012.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
There may be times when you wish to use NuGet from the F# Interactive, such as when you are creating F# scripts. Since NuGet focuses on Visual Studio projects, this functionality is not supported out-of-the-box; however, it’s fairly simple to get things up and running.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;
The first step that we’ll need to do is create an F# script that is able to interact with the official NuGet package source. The script found &lt;a href="https://github.com/downloads/dmohl/fs-web-cloud-mobile/fsiext.fsx"&gt;here&lt;/a&gt; does the trick.&amp;nbsp;I won’t spend too much time explaining the code in this script, but at a high level this allows you to use the F# Interactive window to talk to the NuGet package source, pull down packages, and automatically add a reference to the F# script file that has focus.&amp;nbsp;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
The last step to accomplish our goal, is to tell F# Interactive to run our script each time that it launches. This is pretty easy to do thanks to the functionality provided by Visual Studio for adding F# Interactive options. To set the applicable option, go to Tools | Options | F# Tools | F# Interactive. You can then add the following information to the F# Interactive options setting.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;span class="s1"&gt;--use:&lt;/span&gt;&lt;span class="s2"&gt;&lt;i&gt;C:\temp\fsiext.fsx&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;span class="s2"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;span class="s2"&gt;







&lt;/span&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&amp;nbsp;The&amp;nbsp;F# Interactive options window looks like the following after making this change:&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-K-B_pjeOmXg/UFrtkW3VJYI/AAAAAAAAAIw/1aMw33ajZYM/s1600/figA_3_after_crop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="369" src="http://3.bp.blogspot.com/-K-B_pjeOmXg/UFrtkW3VJYI/AAAAAAAAAIw/1aMw33ajZYM/s640/figA_3_after_crop.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
Once this is in place you can do something like this:&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
- Create a new F# Library project and build it.&amp;nbsp;&lt;/div&gt;
&lt;div class="p1"&gt;
- Open the Script.fsx file.&lt;/div&gt;
&lt;div class="p1"&gt;
- Navigate to the F# Interactive window.&lt;/div&gt;
&lt;div class="p1"&gt;
- Execute &lt;i&gt;InstallPackage “FSPowerPack.Core.Community”;;&lt;/i&gt;&amp;nbsp;in the F# Interactive.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
This will cause the package to be pulled down from the official NuGet repository and will automatically add the appropriate references to the Script.fsx file.&amp;nbsp;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Here's what the screen should look like after completing these steps.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-Km91MRod__s/UFrtr-QqC2I/AAAAAAAAAI4/-D0sEHg79gs/s1600/figA_4_after_crop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="282" src="http://3.bp.blogspot.com/-Km91MRod__s/UFrtr-QqC2I/AAAAAAAAAI4/-D0sEHg79gs/s640/figA_4_after_crop.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Disclaimer: There are a few known issues with this approach.</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/3411258127927981499/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/09/adding-nuget-support-to-f-interactive.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3411258127927981499?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3411258127927981499?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/k54HQeiRkxY/adding-nuget-support-to-f-interactive.html" title="Adding NuGet Support to F# Interactive in VS2012" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-K-B_pjeOmXg/UFrtkW3VJYI/AAAAAAAAAIw/1aMw33ajZYM/s72-c/figA_3_after_crop.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/09/adding-nuget-support-to-f-interactive.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ANSHY7fyp7ImA9WhJUFEQ.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-3838098034925254127</id><published>2012-09-12T18:29:00.000-07:00</published><updated>2012-09-12T18:29:59.807-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-12T18:29:59.807-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VS2012" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><title>F# Templates and F# Tools for VS2012 Express for Web </title><content type="html">It's been a great day in the world of F# + web development. Today the &lt;a href="http://blogs.msdn.com/b/fsharpteam/archive/2012/09/12/announcing-the-release-of-f-tools-for-visual-studio-express-2012-for-web.aspx"&gt;F# team announced the F# Tools for Visual Studio 2012 Express for Web&lt;/a&gt;. This tool set now makes it easier than ever to create web applications that use F# for the server-side heavy lifting. Congrats to the F# team on this great accomplishment!&lt;br /&gt;
&lt;br /&gt;
Currently, I've updated 4 of the more common F# web project templates to support this new version. These include:&lt;br /&gt;
&lt;br /&gt;
-&amp;nbsp;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/3d2bf938-fc9e-403c-90b3-8de27dc23095"&gt;F# C# MVC 4&lt;/a&gt;&amp;nbsp;- Which includes ASP.NET MVC 4 (Razor and ASPX) and ASP.NET Web API&lt;br /&gt;
- &lt;a href="http://visualstudiogallery.msdn.microsoft.com/f57aa816-e96b-4133-ab5d-9b9b99914ead"&gt;F# C# ASP.NET MVC 3&lt;/a&gt;&amp;nbsp;- Which includes ASP.NET MVC 3 (Razor and ASPX)&lt;br /&gt;
- &lt;a href="http://visualstudiogallery.msdn.microsoft.com/279345a4-f189-4d1f-98fe-6b1af322d164"&gt;F# and C# Web Services (ASP.NET, WSDL)&lt;/a&gt;&lt;br /&gt;
- &lt;a href="http://visualstudiogallery.msdn.microsoft.com/51ebe64a-899b-4959-8c24-b0148ed6b264"&gt;F# MsTest Project&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Happy coding!</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/3838098034925254127/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/09/f-templates-and-f-tools-for-vs2012.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3838098034925254127?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3838098034925254127?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/cY0zCpdVgYk/f-templates-and-f-tools-for-vs2012.html" title="F# Templates and F# Tools for VS2012 Express for Web " /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/09/f-templates-and-f-tools-for-vs2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYHRnk6eyp7ImA9WhJSGE4.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-3906199753839030317</id><published>2012-07-09T04:42:00.000-07:00</published><updated>2012-07-09T04:42:17.713-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-09T04:42:17.713-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MongoDB" /><category scheme="http://www.blogger.com/atom/ns#" term="fsharp" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="CouchDB" /><title>A Few New NoSQL Helper Libraries</title><content type="html">I've been working on a few new libraries lately that focus on providing functional wrappers around various NoSQL options.
&lt;br/&gt;&lt;br/&gt;
&lt;strong&gt;FSharpCouch:&lt;/strong&gt;
&lt;br/&gt;&lt;br/&gt;
FSharpCouch is something that I &lt;a href="http://bloggemdano.blogspot.com/2010/06/fsharpcouch-simple-couchdb-net-api-in-f.html"&gt;wrote about a little over two years ago&lt;/a&gt;. At the time, it was more of an educational exercise, but I have since revised it and found aspects of it to be useful. This is now available on NuGet as package ID FSharpCouch. &lt;br/&gt;&lt;br/&gt;
Here's an example:&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/3075965.js"&gt; &lt;/script&gt;&lt;br/&gt;
You can find additional examples and the full source at &lt;a href="https://github.com/dmohl/FSharpCouch"&gt;https://github.com/dmohl/FSharpCouch&lt;/a&gt;.
&lt;br/&gt;&lt;br/&gt;
&lt;strong&gt;MongoFs:&lt;/strong&gt;
&lt;br/&gt;&lt;br/&gt;
MongoFs currently has a primary focus on function composition as it relates to setting up the MongoDB client aspects of server, database, and collection. It simply wraps functions around the necessary methods of the C# Mongo Driver and auto opens the encompassing module. &lt;br/&gt;&lt;br/&gt;
Here's an example:&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/3075957.js"&gt; &lt;/script&gt;&lt;br/&gt;
You can get it from NuGet as package ID MongoFs and find more examples and source at &lt;a href="https://github.com/dmohl/MongoFs"&gt;https://github.com/dmohl/MongoFs&lt;/a&gt;.
&lt;br/&gt;&lt;br/&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/3906199753839030317/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/07/a-few-new-nosql-helper-libraries.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3906199753839030317?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3906199753839030317?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/TZvG3vgmxck/a-few-new-nosql-helper-libraries.html" title="A Few New NoSQL Helper Libraries" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/07/a-few-new-nosql-helper-libraries.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8FSXk_cSp7ImA9WhJSFUw.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-4560349155864357024</id><published>2012-07-05T10:53:00.000-07:00</published><updated>2012-07-05T10:53:38.749-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-05T10:53:38.749-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CoffeeScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="InfoQ" /><title>CoffeeScript Presentation Now Available on InfoQ</title><content type="html">The presentation that I did at Code PaLOUsa entitled &lt;b&gt;CoffeeScript: Good, Bold, and with Sugar&lt;/b&gt; is now available on InfoQ at &lt;a href="http://www.infoq.com/presentations/CoffeeScript-Good-Bold-and-with-Sugar"&gt;http://www.infoq.com/presentations/CoffeeScript-Good-Bold-and-with-Sugar&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
You can find an HTML version of the slides &lt;a href="http://206.72.113.77/Presentations/Deck.js/CoffeeScript-Good%20Bold%20and%20with%20Sugar/Index.html"&gt;here&lt;/a&gt;&amp;nbsp;and various examples on my &lt;a href="https://github.com/dmohl/CoffeeScriptGoodBoldAndWithSugar"&gt;GitHub&lt;/a&gt;.</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/4560349155864357024/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/07/coffeescript-presentation-now-available.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4560349155864357024?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/4560349155864357024?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/Z4bGChNNApo/coffeescript-presentation-now-available.html" title="CoffeeScript Presentation Now Available on InfoQ" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/07/coffeescript-presentation-now-available.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIAR3o8fSp7ImA9WhJTFUU.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-5828487689175811171</id><published>2012-06-24T17:02:00.000-07:00</published><updated>2012-06-24T17:02:26.475-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-06-24T17:02:26.475-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="LiveScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Mocha" /><category scheme="http://www.blogger.com/atom/ns#" term="ExpectThat" /><title>Functional JavaScript with LiveScript, Mocha, and ExpectThat</title><content type="html">I've been playing with LiveScript a bit lately and have really been enjoying it! If you haven't heard of LiveScript, it's a "...fork of Coco, which is in turn derived from CoffeeScript..."  (&lt;a title="LiveScript GitHub Page" href="http://gkz.github.com/LiveScript/#overview"&gt;LiveScript Overview Page&lt;/a&gt;). It provides more features than Coco and CoffeeScript including several that assist in writing code in a more functional style.&lt;br/&gt;&lt;br/&gt;

Here's a quick example of a test written in &lt;a href="http://gkz.github.com/LiveScript/"&gt;LiveScript&lt;/a&gt; for &lt;a href="http://visionmedia.github.com/mocha/"&gt;Mocha&lt;/a&gt; and &lt;a href="https://github.com/dmohl/expectThat"&gt;ExpectThat&lt;/a&gt;:&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/2978370.js"&gt; &lt;/script&gt;
This shows off a couple of the features that help you write in a functional style with LiveScript. The first is the use of pattern matching within the isWeekend function. The second is the use of the pipe-forward operator when calling the isWeekend function. 
&lt;br/&gt;&lt;br/&gt;
The pattern matching syntax gives you a concise way of defining a basic switch statement in JavaScript. The pipe-forward operator allows you to compose things together. In the example above, the string 'sun' (which also could have been written in LiveScript as \sun) is being passed into the isWeekend function. This becomes even more powerful when the value to be passed into the next function is coming from another function, as shown in this example:
&lt;br/&gt;&lt;br/&gt;
&lt;script src="https://gist.github.com/2983904.js"&gt; &lt;/script&gt;
F# has these same concepts and many more, which makes LiveScript + F# a compelling combination!
&lt;br/&gt;&lt;br/&gt;
There are a number of additional LiveScript features that assist in using a functional style. For more examples of LiveScript with Mocha and ExpectThat visit &lt;a href="https://github.com/dmohl/expectThat/tree/master/example/mocha-LiveScript"&gt;https://github.com/dmohl/expectThat/tree/master/example/mocha-LiveScript&lt;/a&gt;. To learn more about LiveScript, see a number of examples, and/or get setup for use, visit the LiveScript site at &lt;a href="http://gkz.github.com/LiveScript/"&gt;http://gkz.github.com/LiveScript/&lt;/a&gt;.</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/5828487689175811171/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/06/functional-javascript-with-livescript.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/5828487689175811171?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/5828487689175811171?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/XyQwC5mkg-Q/functional-javascript-with-livescript.html" title="Functional JavaScript with LiveScript, Mocha, and ExpectThat" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/06/functional-javascript-with-livescript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04DRX48fSp7ImA9WhVaGEs.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-3580247391209132437</id><published>2012-06-16T09:59:00.002-07:00</published><updated>2012-06-16T09:59:34.075-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-06-16T09:59:34.075-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CoffeeScript" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="CodeStock" /><title>CodeStock 2012 F# and CoffeeScript Presentations</title><content type="html">Thanks to all who attended my talks at CodeStock this year!&lt;br /&gt;
&lt;br /&gt;
You can find the CoffeeScript slides&amp;nbsp;&lt;a href="http://206.72.113.77/Presentations/Deck.js/CoffeeScript-Good%20Bold%20and%20with%20Sugar/Index.html"&gt;here&lt;/a&gt;&amp;nbsp;and the examples on my &lt;a href="https://github.com/dmohl/CoffeeScriptGoodBoldAndWithSugar"&gt;GitHub&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The examples from the F# talk can be found&amp;nbsp;&lt;a href="https://github.com/dmohl/GettingStartedWithWebDevInFSharpPresentation/tree/master/Examples"&gt;here&lt;/a&gt;&amp;nbsp;and the slides are provided below:&lt;br /&gt;
&lt;div id="__ss_13351264" style="width: 425px;"&gt;
&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/dmohl/gettingstartedwithfwebdevelopment" title="Getting Started  With F# Web Development"&gt;Getting Started With F# Web Development&lt;/a&gt;&lt;/strong&gt;&lt;object height="355" id="__sse13351264" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gettingstartedwithfwebdevelopment-120616115256-phpapp01&amp;stripped_title=gettingstartedwithfwebdevelopment&amp;userName=dmohl" /&gt;

&lt;param name="allowFullScreen" value="true"/&gt;

&lt;param name="allowScriptAccess" value="always"/&gt;

&lt;param name="wmode" value="transparent"/&gt;

&lt;embed name="__sse13351264" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gettingstartedwithfwebdevelopment-120616115256-phpapp01&amp;stripped_title=gettingstartedwithfwebdevelopment&amp;userName=dmohl" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;
View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/dmohl"&gt;dmohl&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/3580247391209132437/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/06/codestock-2012-f-and-coffeescript.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3580247391209132437?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/3580247391209132437?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/ubTY5BO7c6Q/codestock-2012-f-and-coffeescript.html" title="CodeStock 2012 F# and CoffeeScript Presentations" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/06/codestock-2012-f-and-coffeescript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcFQXs7eSp7ImA9WhVbGEw.&quot;"><id>tag:blogger.com,1999:blog-4853877730213459430.post-5514237730958272723</id><published>2012-06-04T05:13:00.000-07:00</published><updated>2012-06-04T05:13:30.501-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-06-04T05:13:30.501-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VS2012" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Web API" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC 4" /><category scheme="http://www.blogger.com/atom/ns#" term="F#" /><category scheme="http://www.blogger.com/atom/ns#" term="Project Templates" /><title>F#/C# ASP.NET MVC 4 Template for Visual Studio 2012 RC</title><content type="html">The &lt;a href="http://visualstudiogallery.msdn.microsoft.com/3d2bf938-fc9e-403c-90b3-8de27dc23095"&gt;F#/C# ASP.NET MVC 4 template&lt;/a&gt; has been updated to support ASP.NET MVC 4 RC and Visual Studio 2012 RC. You will need to install the release candidate of ASP.NET MVC 4 to use this updated version of the template. The install can be found at &lt;a href="http://www.asp.net/mvc/mvc4"&gt;http://www.asp.net/mvc/mvc4&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
As with the previous release, the F#/C# ASP.NET MVC project template supports ASPX and Razor versions of an empty ASP.NET MVC 4 project template as well as a Razor version of the ASP.NET Web API project template. The templates work on both VS2010 and VS2012 RC.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://freshbrewedcode.com/danmohl/files/2012/06/FsCsMvc4VS21012RC.png"&gt;&lt;img alt="" class="aligncenter size-full wp-image-741" height="260" src="http://freshbrewedcode.com/danmohl/files/2012/06/FsCsMvc4VS21012RC.png" title="FsCsMvc4VS21012RC" width="531" /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://bloggemdano.blogspot.com/feeds/5514237730958272723/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://bloggemdano.blogspot.com/2012/06/fc-aspnet-mvc-4-template-for-visual.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/5514237730958272723?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4853877730213459430/posts/default/5514237730958272723?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BloggemDano/~3/sUlAmaQdrH0/fc-aspnet-mvc-4-template-for-visual.html" title="F#/C# ASP.NET MVC 4 Template for Visual Studio 2012 RC" /><author><name>Daniel Mohl</name><uri>http://www.blogger.com/profile/17462870714458080019</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="18" src="http://1.bp.blogspot.com/_HK2nW1E0B3s/SO875zZECAI/AAAAAAAAAAM/A8QGI_N1ev8/S220/danProfile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://bloggemdano.blogspot.com/2012/06/fc-aspnet-mvc-4-template-for-visual.html</feedburner:origLink></entry></feed>
