<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>funq Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/funq/Wiki/View.aspx?title=Home</link><description>funq Wiki Rss Description</description><item><title>New Comment on "Getting Started"</title><link>http://funq.codeplex.com/wikipage?title=Getting Started&amp;ANCHOR#C20469</link><description>Looking forward to Getting Started Guide&amp;#33; Thanks&amp;#33;</description><author>IuriiO</author><pubDate>Tue, 26 Jul 2011 21:51:21 GMT</pubDate><guid isPermaLink="false">New Comment on "Getting Started" 20110726095121P</guid></item><item><title>Updated Wiki: Home</title><link>http://funq.codeplex.com/wikipage?version=7</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories.&lt;br /&gt;&lt;br /&gt;Developed entirely in C&amp;#35; using TDD, it&amp;#39;s a container you can crack open and actually understand to the core.&lt;br /&gt;&lt;br /&gt;To follow the entire process of creating Funq applying test-driven development, make sure you watch the &lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2009/02/02/116399.aspx" class="externalLink"&gt;Funq Screencast Series&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Read the &lt;a href="http://funq.codeplex.com/wikipage?title=Getting%20Started&amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt; guide.&lt;br /&gt;&lt;br /&gt;The initial version, for the CF, was created for the &lt;a href="http://mobile.codeplex.com" class="externalLink"&gt;Mobile Application Blocks&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Thu, 14 Apr 2011 11:58:49 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110414115849A</guid></item><item><title>Updated Wiki: Getting Started</title><link>http://funq.codeplex.com/wikipage?title=Getting Started&amp;version=2</link><description>&lt;div class="wikidoc"&gt;Placeholder for the guide.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Fri, 08 Oct 2010 02:46:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Getting Started 20101008024616A</guid></item><item><title>Updated Wiki: Getting Started</title><link>http://funq.codeplex.com/wikipage?title=Getting Started&amp;version=1</link><description>&lt;div class="wikidoc"&gt;Placeholder for the guide.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Fri, 08 Oct 2010 02:45:37 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Getting Started 20101008024537A</guid></item><item><title>Updated Wiki: Home</title><link>http://funq.codeplex.com/wikipage?version=6</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories.&lt;br /&gt;&lt;br /&gt;Developed entirely in C&amp;#35; using TDD, it&amp;#39;s a container you can crack open and actually understand to the core.&lt;br /&gt;&lt;br /&gt;To follow the entire process of creating Funq applying test-driven development, make sure you watch the &lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2009/02/02/116399.aspx" class="externalLink"&gt;Funq Screencast Series&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Read the &lt;a href="http://funq.codeplex.com/wikipage?title=Getting%20Started&amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt; guide.&lt;br /&gt;&lt;br /&gt;The initial version, for the CF, was created for the &lt;a href="http://mobile.codeplex.com" class="externalLink"&gt;Mobile Application Blocks&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Fri, 08 Oct 2010 02:45:19 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20101008024519A</guid></item><item><title>Updated Wiki: dependencies auto-discovery</title><link>http://funq.codeplex.com/wikipage?title=dependencies auto-discovery&amp;version=1</link><description>&lt;div class="wikidoc"&gt;One explicit goal of this proposal is to be future-proof by adopting as many MEF idioms as possible. &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Define (cloned from .NET) ImportAttribute, ExportAttribute and ImportingConstructorAttribute&lt;/li&gt;
&lt;li&gt;A Funqlet would then be composed of two projects: MyFunqlet and MyFunqlet.Configuration&lt;/li&gt;
&lt;li&gt;The configuration project has a project reference/dependency on the funqlet project, with CopyLocal=true&lt;/li&gt;
&lt;li&gt;This project also contains a public partial class implementing IFunqlet at the project root, which has nothing but a call to a private (unimplemented) partial method. &lt;/li&gt;
&lt;li&gt;If the developer wants to add some manual registration, that&amp;#39;s the place they would do it.&lt;/li&gt;
&lt;li&gt;An msbuild task in the configuration project creates the other half of this partial class by implementing the partial method as follows:
&lt;ol&gt;&lt;li&gt;Loads via ReflectionOnly (or Assembly.LoadBytes, whichever doesn&amp;#39;t disrupt normal development of the funqlet project) all files in the output directory. (this allows a single configuration project to be used for multiple funqlets :)).&lt;/li&gt;
&lt;li&gt;Searches all types that are Exports, and generates a corresponding Register&amp;lt;&amp;gt; call on the container.&lt;/li&gt;
&lt;li&gt;If there are Imported properties, it will generate the corresponding object initializer syntax to resolve that dependency, like: Register&amp;lt;IFoo&amp;gt;(c =&amp;gt; new Foo { c.Bar = c.Resolve&amp;lt;IBar&amp;gt;() } );&lt;/li&gt;
&lt;li&gt;Of course, in order to know which constructor overload to invoke, it has to search for ImportingConstructorAttribute (copy MEF heuristics here)&lt;/li&gt;
&lt;li&gt;If the Import is Lazy&amp;lt;T&amp;gt; (I guess this type is there in SL?), then it uses a c.LazyResolve instead.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;The Shell/App has two ways of configuring the container with the funqlets:
&lt;ol&gt;&lt;li&gt;Add a project reference to the configuration project, and do a straight &amp;quot;new&amp;quot; of the public configuration class generated there. Multiple configuration projects could be added this way and instantiated for configuring the container.&lt;/li&gt;
&lt;li&gt;Load the assemblies via reflection and search for the funqlets (this would only be for discovery of the IFunqlet classes, not to discover imports/exports, which is good already)&lt;/li&gt;
&lt;li&gt;Provide some kind of catalog of the full funqlet types to load and invoke.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Sun, 29 Aug 2010 04:13:37 GMT</pubDate><guid isPermaLink="false">Updated Wiki: dependencies auto-discovery 20100829041337A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://funq.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;Placeholder for documentation.&lt;br /&gt;&lt;br /&gt;Proposal for &lt;a href="http://funq.codeplex.com/wikipage?title=dependencies%20auto-discovery&amp;referringTitle=Documentation"&gt;dependencies auto-discovery&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Sun, 29 Aug 2010 04:02:42 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100829040242A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://funq.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;Placeholder for documentation.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Sun, 29 Aug 2010 03:46:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100829034618A</guid></item><item><title>Updated Wiki: How to listen to online radios in Android</title><link>http://funq.codeplex.com/wikipage?title=How to listen to online radios in Android&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;p&gt;Most online radios stream using ASX and WMA encoding, which doesn’t work in Android phones at all.&lt;/p&gt;  &lt;p&gt;I was even going to go for a homebrew “server” using &lt;a href="http://www.videolan.org/vlc"&gt;VLC&lt;/a&gt; which can transcode. But that would mean I need to keep a machine up all the time, take care of keeping the process up, opening firewall ports, etc. etc.&lt;/p&gt;  &lt;p&gt;After a bit of research, I found a pretty acceptable solution for the time being:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create an account and sign in at &lt;a title="http://www.yourmuze.fm/" href="http://www.yourmuze.fm/"&gt;http://www.yourmuze.fm/&lt;/a&gt;. Select your preferred streaming audio quality.&lt;/li&gt;    &lt;li&gt;First, in &lt;a href="http://www.yourmuze.fm/stations_list"&gt;Stations&lt;/a&gt;, you can search for an existing radio if it’s already there.&lt;/li&gt;    &lt;li&gt;The &lt;a href="http://www.yourmuze.fm/station/radio-maria-del-rosario"&gt;one I was looking for&lt;/a&gt; wasn’t there, so I clicked on “&lt;b&gt;&lt;a href="http://www.yourmuze.fm/new_station"&gt;add a new station&lt;/a&gt;&lt;/b&gt;”. Here you’d enter the mms:// or http:// stream address.&lt;/li&gt;    &lt;li&gt;After you create the station, it’s not automatically added to your “My Stations” queue. But it will be the first station in the list now:     &lt;br&gt;      &lt;br&gt;&lt;a href="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=funq&amp;DownloadId=146435"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=funq&amp;DownloadId=146436" width=590 height=484&gt;&lt;/a&gt;      &lt;br&gt;&lt;/li&gt;    &lt;li&gt;Click the “add” link to the right of the station name, in the My Stations column. You’re done with the site.&lt;/li&gt;    &lt;li&gt;In phone, go to &lt;a title="http://m.yourmuze.fm/" href="http://m.yourmuze.fm/"&gt;http://m.yourmuze.fm/&lt;/a&gt; and log in. Under My Stations you will find yours.       &lt;br&gt;Opening it will launch the video player tuned to the radio. This might seem like a minor issue, but it’s not: videos run in full screen and NEED to be in the foreground, otherwise they are stopped. So no background playing radios! Bummer. This is a known issue that they will fix with &lt;a href="http://www.yourmuze.fm/forum-topic/android-app-in-development"&gt;an upcoming native app for Android&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;To solve that issue, you need to install the &lt;a href="http://lifehacker.com/5535044/dolphin-browser-hd-is-a-great-android-browser-alternative"&gt;Dolphin HD&lt;/a&gt; browser from the android market (free). It’s a pretty interesting browser on its own. But I’m only interested in launching this one radio I care :).&lt;/li&gt;    &lt;li&gt;Go the Dolphin HD browser Settings, and set the User Agent to iPhone.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;If you want to launch the radios with one click, browse now to &lt;a title="http://m.yourmuze.fm/" href="http://m.yourmuze.fm/"&gt;http://m.yourmuze.fm/&lt;/a&gt;, long-press the station from My Stations section, and select Bookmark link.&lt;/li&gt;      &lt;li&gt;Next go to Bookmarks (you can just swipe the screen to the right, very &lt;a href="http://www.silverlightshow.net/items/UI-Concepts-of-Windows-Phone-7.aspx"&gt;Metro&lt;/a&gt;!), click Edit, and long-press the station bookmark you just created and select Add shortcut to Home.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Next you need an audio player that doesn’t believe it’s streaming video. The only one that worked for me is xiialive lite (free too). You don’t need to do anything in the player. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now the radio will be launched from the browser into the audio player automatically, in a format that is understood in Android :). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;/kzu&lt;/p&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Sun, 29 Aug 2010 03:45:02 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to listen to online radios in Android 20100829034502A</guid></item><item><title>Updated Wiki: Home</title><link>http://funq.codeplex.com/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories.&lt;br /&gt;&lt;br /&gt;Developed entirely in C&amp;#35; using TDD, it&amp;#39;s a container you can crack open and actually understand to the core.&lt;br /&gt;&lt;br /&gt;To follow the entire process of creating Funq applying test-driven development, make sure you watch the &lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2009/02/02/116399.aspx" class="externalLink"&gt;Funq Screencast Series&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The initial version, for the CF, was created for the &lt;a href="http://mobile.codeplex.com" class="externalLink"&gt;Mobile Application Blocks&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Tue, 12 May 2009 14:21:57 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090512022157P</guid></item><item><title>Updated Wiki: Home</title><link>http://funq.codeplex.com/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories.&lt;br /&gt;&lt;br /&gt;Developed entirely in C&amp;#35; using TDD, it&amp;#39;s a container you can crack open and actually understand to the core.&lt;br /&gt;&lt;br /&gt;To follow the entire process of creating Funq applying test-driven development, make sure you watch the &lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2009/02/02/116399.aspx" class="externalLink"&gt;Funq Screencast Series&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The initial version, for the CF, was created for the &lt;a href="http://Mobile Application Blocks" class="externalLink"&gt;http://mobile.codeplex.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Tue, 12 May 2009 14:21:19 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090512022119P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/funq/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories.&lt;br /&gt;&lt;br /&gt;Developed entirely in C&amp;#35; using TDD, it&amp;#39;s a container you can crack open and actually understand to the core.&lt;br /&gt; &lt;br /&gt;To follow the entire process of creating Funq applying test-driven development, make sure you watch the &lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2009/02/02/116399.aspx" class="externalLink"&gt;Funq Screencast Series&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Wed, 11 Feb 2009 03:47:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090211034718A</guid></item></channel></rss>