<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Caffeine Dependency Injection</title>
	
	<link>http://www.caffeinedi.com</link>
	<description>Thoughts on Software Development, Microsoft .NET, Technology, and other random musings</description>
	<lastBuildDate>Sun, 16 Oct 2011 02:26:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CaffeineDependencyInjection" /><feedburner:info uri="caffeinedependencyinjection" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>NYC CodeCamp 6 Recap</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/ji3Uac1iExs/</link>
		<comments>http://www.caffeinedi.com/2011/10/15/nyc-codecamp-6-recap/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 02:26:08 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[codecamp]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=252</guid>
		<description><![CDATA[The 6th NYC CodeCamp was recently held at Pace University in Manhattan, focusing mostly on the Microsoft technology stack. Waking up at 4am to catch an early train into the city proved to be well worth it &#8211; the day was filled with fantastic sessions.  To give you a taste of what you missed, here&#8217;s [...]]]></description>
				<content:encoded><![CDATA[<p>The 6th <a href="http://www.codecampnyc.org" target="_blank">NYC CodeCamp</a> was recently held at Pace University in Manhattan, focusing mostly on the Microsoft technology stack. Waking up at 4am to catch an early train into the city proved to be well worth it &#8211; the day was filled with fantastic sessions.  To give you a taste of what you missed, here&#8217;s a recap of the sessions I attended:</p>
<ul>
<li>ASP.NET Web Forms vNext: Alive and Kicking by Damian Edwards &#8211; Probably my favorite session of the day.  Damian gave an in-depth overview, complete with demos of every topic, of the changes and features coming down the line with ASP.NET 4.5 WebForms.  The team has been focusing a lot of time on addressing many of the annoying pain points in the Visual Studio markup editor, and the model binding that they pulled over from MVC looks to be really clean and handy.  I tried to pull a potential RTM date out of Damian, but he wouldn&#8217;t budge.</li>
<li>Five Ways that PostSharp Can SOLIDify Your Code by Matthew Groves &#8211; Matt went through five practical scenarios where you can use the PostSharp framework and aspects (AOP) to avoid repeating yourself with boilerplate code.  I had already applied a few of the examples he provided, but his demo on using aspects for transactions was interesting.  Unfortunately a handful of attendees kept asking off-topic questions and derailing his presentation, but the overview was good.</li>
<li>Building Windows 8 Applications  with jQuery and Wijmo by Richard Dudley &#8211; Richard Dudley was hands-down the most energetic speaker of the day.  This was my first intro to Windows 8 development so I was excited to see what the Metro development story was like.  Richard gave a great overview of the new architecture and platform, and built a Metro data dashboard application in HTML5 and jQuery.  The pace was a bit too rapid and there was too much copy/pasting from working demo code to really see what was going on under the hood, but it served well as an introduction.  Overall, I was a bit disappointed in the HTML5/JS development story for Metro &#8211; it feels a bit forced.  I do think it&#8217;s a smart move to leverage the existing skillets of web developers who may not be comfortable in C# or other languages and allow them to easily create Metro apps, but after seeing it myself, I&#8217;ll be developing most of my apps using XAML.</li>
<li>Using the EntityFramework 4.1 in Real Web Applications by Adam Tuliper &#8211; Although I&#8217;m currently using EntityFramework 4.1 in most of my MVC applications, I wanted to attend this session to see how someone else was using it and verify that I wasn&#8217;t missing any best practices or other ideas.  Adam really knows his stuff and went through some very detailed demos.</li>
<li>Cross-Platform Mobile Development with .NET by Greg Shackles &#8211; Before I attended this session, I was under the impression that Greg was going to cover building natives apps for the three major platforms (iOS/Android/WP7) in their native languages (Obj-C/Java/.NET) and how to make porting C# easier to the other two languages.  When it started, I realized the session was really about MonoTouch and MonoAndroid.  At first I was disappointed, but the talk ended up being fantastic.  Greg went over how he architected his .NET and Mono code to easily develop an application for all three platforms using a common &#8220;core&#8221; project containing entities, logic, data access, etc, and then three mobile applications that consumed it.  Very informative.</li>
<li>Indie and Casual Game Development for Windows Phone 7 by Kevin Hoffman &#8211; My buddy and colleague Kevin Hoffman gave a great talk about quickly, cheaply, and easily creating games for WP7 without XNA by leveraging cloud offerings like CouchDB and AppHarbor and customizing standard XAML controls to look like game pieces.  The demos went pretty in-depth, covering everything from push notifications to multiplayer chat.</li>
</ul>
<div>I highly recommend attending events like these &#8211; for the price ($15), they&#8217;re extremely informative and provide an incredible opportunity to network with other developers.</div>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/ji3Uac1iExs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2011/10/15/nyc-codecamp-6-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2011/10/15/nyc-codecamp-6-recap/</feedburner:origLink></item>
		<item>
		<title>MIX11 Open Call Voting</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/ltUeinjaDx8/</link>
		<comments>http://www.caffeinedi.com/2011/01/25/mix11-open-call-voting/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 03:45:56 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Random Musings]]></category>
		<category><![CDATA[User Experience (UX)]]></category>
		<category><![CDATA[mix11]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=229</guid>
		<description><![CDATA[The MIX11 conference coming up in April has posted the top user-submitted session abstracts and posted them up to the site. Entries were up a whopping 228% this year &#8211; a total of 384 entries!  Just over 200 of these have been selected into the pool of Open Call entries and it&#8217;s now open for [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.caffeinedi.com/wp-content/uploads/2011/01/300x250_Mix11_011011_US_b.gif"><img class="size-full wp-image-230 alignleft" title="MIX11" src="http://www.caffeinedi.com/wp-content/uploads/2011/01/300x250_Mix11_011011_US_b.gif" alt="MIX11: Pick Your Favorite Sessions" width="300" height="250" /></a>The <a href="http://live.visitmix.com/" target="_blank">MIX11 </a>conference coming up in April has posted the top user-submitted session abstracts and <a href="http://live.visitmix.com/OpenCall">posted them up to the site.</a> Entries were up a whopping 228% this year &#8211; a total of 384 entries!  Just over 200 of these have been selected into the pool of Open Call entries and it&#8217;s now open for voting.</p>
<p>My session proposal, <a href="http://live.visitmix.com/OpenCall/Vote/Session/40" target="_blank">&#8220;Design as a Differentiator &#8211; 10 Design Tips for Developers&#8221;</a> was one of the selected entries. <strong> I&#8217;m excited about the opportunity to present at MIX &#8211; now <a href="http://live.visitmix.com/OpenCall/Vote/Session/40">I just need you to vote!</a></strong> I appreciate your support.</p>
<h3>Vote at: <a href="http://live.visitmix.com/OpenCall/Vote/Session/40">http://live.visitmix.com/OpenCall/Vote/Session/40</a></h3>
<p>You would think that with over 200 listed sessions, there would be a clear separation of excellent and mediocre entries.  The truth is, <strong>the vast majority of the session proposals sound <em>fantastic</em></strong>.  It&#8217;s a clear indicator that this will be yet another amazing year at MIX.  Regardless of whether I get to present, I&#8217;m amazed at the quality of all of the proposals, and it makes me even more excited for 72 hours of talking with passionate developers, designers, and UXperts!</p>
<p>It did, however, make it that much more difficult to decide where to allocate my ten votes.  Here&#8217;s what I ended up voting on:</p>
<ul>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/110" target="_blank">Good C# Habits can Encourage Bad JavaScript Habits</a> by <a href="http://live.visitmix.com/OpenCall/Vote/Session/110">Elijah Manor</a> &#8211; Elijah is a JavaScript, jQuery, and ASP.NET MVC guru and also posts a huge list of daily &#8220;Tech Tweets.&#8221; He presented a fantastic session at MIX10 titled &#8220;Six Things Every jQuery Developer Must Know.&#8221;</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/18" target="_blank">Natural User Interfaces, Today and Tomorrow &#8211; An Interactive Discussion and Demonstration</a> by Microsoft Surface MVPs &#8211; NUI sessions are just plain fun and exciting.  <a href="http://nui.joshland.org/">Josh Blake</a>&#8216;s session at MIX10 where he presented NaturalShow was very cool, and this session with the Surface MVPs promises to be just as fun.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/172" target="_blank">Ensuring a Consistent UX for Enterprise Software: Merging a Pattern Library with Silverlight Styles and Custom Controls</a> by Kevin Silver &#8211; Such an important topic that is ignored by so many large enterprise organizations.  From the abstract, it sounds like Kevin has a lot to share.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/170" target="_blank">Intro to Building Apps with Twilio</a> by John Sheehan &#8211; Twilio is something I&#8217;ve been wanting to explorer for a while, and this interactive session from the creator of RestSharp definitely sounds like a fun way to check it out.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/99" target="_blank">The 7 Habits of Highly Effective Websites</a> by Rajesh Lal &#8211; Interested to see what Rajesh has in his list of habits, especially to see if there&#8217;s anything I miss myself.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/171" target="_blank">Building an ASP.NET MVC 3 Mobile Application</a> by Malcolm Sheridan &#8211; Malcolm posts a ton of useful articles to the web, and since I&#8217;m someone who spends a ton of time building ASP.NET MVC applications, I&#8217;m interested in seeing him present this.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/3" target="_blank">Enhancing User Experiences with Reactive Extensions</a> by Bryan Anderson &#8211; Reactive Extensions has a lot to offer the user experience realm, and Bryan&#8217;s session proposal sounds like a great way to show off some of the cool things it can do.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/74" target="_blank">Introducing Windows Phone 7 to iPhone and Android Developers</a> by Kevin Hoffman &#8211; Kevin is a friend and colleague of mine who is working on a book introducing WP7 development to iPhone developers.  He has some fun ways of helping iOS devs make the transition.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/189" target="_blank">Exploiting Expression Blend: XAML Without Tears</a> by Andrew Troelsen &#8211; First of all, &#8220;XAML Without Tears&#8221; is simply a fantastic session title.  Blend is a technology that I need to dive into at some point, and this sounds like a great way to do it.</li>
<li><a href="http://live.visitmix.com/OpenCall/Vote/Session/57" target="_blank">Building Accessible Websites</a> by Greg Galipeau &#8211; An important issue that so many of us ignore.  Looking forward to this one for sure.</li>
</ul>
<p>So many others that I wanted to vote for, but these are my top 10.  <strong>And if you have 10 seconds to spare, and can identify a cat, vote for me! <a href="http://live.visitmix.com/OpenCall/Vote/Session/40" target="_blank">http://live.visitmix.com/OpenCall/Vote/Session/40</a></strong></p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/ltUeinjaDx8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2011/01/25/mix11-open-call-voting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2011/01/25/mix11-open-call-voting/</feedburner:origLink></item>
		<item>
		<title>Beginning Google Android Development for .NET Developers – Part 1</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/VespjjPtQGg/</link>
		<comments>http://www.caffeinedi.com/2010/07/03/beginning-google-android-development-for-net-developers-part-1/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 04:12:44 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=173</guid>
		<description><![CDATA[So you&#8217;re interested in building applications for the Google Android mobile platform, but you&#8217;re a .NET developer.  What a perfect opportunity to dive head-first into &#8211; gasp &#8211; Java development!  Fear not &#8211; if you&#8217;ve never taken the plunge into anything outside of the warm, cozy Microsoft development platform, it&#8217;s not nearly as painful as [...]]]></description>
				<content:encoded><![CDATA[<p>So you&#8217;re interested in building applications for the Google Android mobile platform, but you&#8217;re a .NET developer.  What a perfect opportunity to dive head-first into &#8211; gasp &#8211; Java development!  Fear not &#8211; if you&#8217;ve never taken the plunge into anything outside of the warm, cozy Microsoft development platform, it&#8217;s not nearly as painful as many make it out to be.</p>
<p>This is the first post in a multi-part series on Android development for .NET developers.  Throughout the series, we&#8217;ll explore how to build applications for the Android platform and approach concepts in a way that&#8217;s familiar to .NET development.  This first post is an introduction to the Android SDK and the Eclipse IDE along with a high-level overview of Android applications.</p>
<h4>PreRequisites</h4>
<ul>
<li><a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">Java Development Kit (JDK) 6</a> &#8211; self-explanatory; the Java runtime and development libraries.</li>
<li><a href="http://www.eclipse.org" target="_blank">Eclipse</a> &#8211; an IDE (integrated development environment) for Java and other languages.   If you don&#8217;t have it installed, grab the <a href="http://www.eclipse.org/downloads/" target="_blank">Eclipse IDE for Java Developers</a> version, which will suit the needs of this tutorial.  The Windows download doesn&#8217;t contain an installer, so extract the ZIP in an accessible location, such as C:\eclipse.</li>
<li><a href="http://developer.android.com/sdk/index.html" target="_blank">Android Software Development Kit (SDK)</a> &#8211; The heart of Android development.  This provides all of the necessary tools and libraries required to build applications for the Android platform.  Extract it to an accessible location on your hard drive and <strong>run the setup executable</strong>, which will download and install a set of components.</li>
<li><a href="http://developer.android.com/sdk/eclipse-adt.html" target="_blank">Android Development Tools (ADT) Eclipse Plugin</a> &#8211; This plugin adds Android-specific development tools and project templates to Eclipse.  Instead of a separate download, it installs within Eclipse &#8211; you can <a href="http://developer.android.com/sdk/eclipse-adt.html#installing" target="_blank">follow the instructions here</a> to get it installed.</li>
</ul>
<h4>Configuring the Android SDK and Creating Your First Project</h4>
<p>Okay, take a deep breath &#8211; we&#8217;re ready to get started.  Launch Eclipse by navigating to your extracted folder and double-click on Eclipse.exe.</p>
<p>Before we jump into a project, we&#8217;ll need to configure the Android SDK preferences.  Select &#8220;Window&#8221; from the menu bar and choose &#8220;Preferences.&#8221;  Choose &#8220;Android&#8221; from the list on the left.  In the &#8220;SDK Location&#8221; field, navigate to the folder where you unzipped and installed the SDK and hit &#8220;Apply.&#8221;  You should see the list of SDK Targets get populated.  These targets are a list of Android platform versions that you can build on.  Unlike the iPhone, which has one standard set of hardware, the Android platform is open to various hardware manufacturers which use different versions that support different sets of functionality.  For example, the HTC Droid Incredible runs version 2.1, but the T-Mobile G1 only supports version 1.6.  We&#8217;ll address these differences later.  For now, just be aware that there are various versions of the platform and click &#8220;OK&#8221; to close the window.</p>
<p>Next, we&#8217;ll create our Android project.  The Android SDK comes with <strong>over twenty sample applications</strong>, so we&#8217;ll create a project using one of those to get acquainted with everything.  From the menu bar, choose &#8220;File&#8221; -&gt; &#8220;New&#8221; -&gt; &#8220;Project.&#8221;  The pop-up window that appears is similar to the &#8220;Create Project&#8221; wizard in Visual Studio &#8211; you&#8217;ll see a list of project templates that control how your project is initially set up.  In VS, you could select things like &#8220;ASP.NET Web Application&#8221; which would automatically configure your web server and add the Default.aspx and web.config files to the project.  Here, we&#8217;ll drill-down into the &#8220;Android&#8221; group and select &#8220;Android Project&#8221; which will add all of the necessary references to the Android SDK, among other things.  Once &#8220;Android Project&#8221; is selected, click &#8220;Next.&#8221;</p>
<p>Now we will set up the basic details of our project.  Under the &#8220;Contents&#8221; group, choose &#8220;Create project from existing sample.&#8221;  Then, from the &#8220;Build Target&#8221; list, select the &#8220;Android 2.0&#8243; checkbox.   The &#8220;Samples&#8221; drop-down will populate with all of the sample applications that come with the Android SDK.  Choose &#8220;Snake,&#8221; which is a port of the <a href="http://en.wikipedia.org/wiki/Snake_%28video_game%29" target="_blank">classic game</a>.  When you select it, the &#8220;Project Name&#8221; and &#8220;Properties&#8221; fields will automatically populate.  Click &#8220;Finish&#8221; and your project will be created.</p>
<p><a href="http://www.caffeinedi.com/wp-content/uploads/2010/07/New-Android-Project-Wizard.png"><img class="aligncenter size-medium wp-image-204" title="New Android Project Wizard" src="http://www.caffeinedi.com/wp-content/uploads/2010/07/New-Android-Project-Wizard-167x300.png" alt="New Android Project Wizard" width="167" height="300" /></a></p>
<p>Now that our project is created, let&#8217;s explore the Eclipse IDE.</p>
<h4>Getting Familiar with Eclipse</h4>
<p>When you create a project in Visual Studio, by default, the files will get put in the My Documents/Visual Studio 2010/Projects folder.  Similarly, Eclipse projects will get created in your &#8220;workspace.&#8221; The location of this gets specified when Eclipse is launched.  I keep my workspace in my User directory, at C:\Users\nathan.dudek\workspace.  However, since we chose an existing sample project, you won&#8217;t find the Snake project in your workspace on the filesystem.  Instead, it uses the existing files in the Android SDK&#8217;s &#8220;samples&#8221; directory.  In this case, you&#8217;ll find everything at the &#8220;&lt;path to android sdk&gt;\platforms\android-5\samples\Snake&#8221;.</p>
<p>In Visual Studio, we&#8217;re used to Project and Solution files, such as &#8220;Company.Application.proj.&#8221;  Eclipse also uses project files, but in every case, the filename is &#8220;.project.&#8221;  The context of the particular project is taken from the directory that it resides in instead of a descriptive filename.  Take a peek at the contents of this .project file in a text editor and you&#8217;ll notice it&#8217;s very similar to a .NET project file &#8211; XML describing various properties of the project.</p>
<p>We&#8217;re also used to the concept of &#8220;References&#8221; in Visual Studio &#8211; pointers to various assemblies and libraries that are utilized in the application.  Eclipse (actually, Java) handles this with a &#8220;Class Path&#8221;.  All references to outside libraries, such as JAR files (similar to DLLs), need to be included in this class path.  Eclipses stores these in the &#8220;.classpath&#8221; file alongside the .project file.</p>
<p>Let&#8217;s take a look at the Eclipse UI.  Eclipse is built on around an extremely powerful, pluggable architecture, so it can seem complex and confusing at first.  But, after navigating around a bit, you&#8217;ll find many tools that appear similar to the ones you&#8217;re used to in Visual Studio.  After all, the tools you need to build and debug an application, regardless of platform or language, are generally the same.</p>
<ul>
<li><strong>Package Explorer</strong> &#8211; Similar to the Solution Explorer in Visual Studio.  Let&#8217;s you navigate through the various files in your project.</li>
<li><strong>Editor Window</strong> &#8211; tabbed, colored-syntax editor window.</li>
<li><strong>Problems</strong> &#8211; Shows you build errors and warnings, similar to the Error List in Visual Studio.</li>
<li><strong>Console</strong> &#8211; Shows you build messages and runtime output, similar to the Output window in Visual Studio.</li>
<li><strong>Toolbar</strong> &#8211; You&#8217;ll see the buttons to debug, run, save, open, etc.</li>
</ul>
<p><a href="http://www.caffeinedi.com/wp-content/uploads/2010/07/Eclipse-IDE-with-Android-Sample-Project-Snake.png"><img class="aligncenter size-medium wp-image-205" title="Eclipse IDE with Android Sample Project Snake" src="http://www.caffeinedi.com/wp-content/uploads/2010/07/Eclipse-IDE-with-Android-Sample-Project-Snake-300x191.png" alt="Eclipse IDE with Android Sample Project Snake" width="300" height="191" /></a></p>
<p>One other quick note about Eclipse before we jump into the Android application itself &#8211; by default, it will build the application automatically as you edit it.  It&#8217;s a handy feature to find problems as you create them!  I liken it to personalized continuous integration &#8211; immediate feedback that you broke the build.</p>
<p>Take a few moments to get familiar with the IDE. Ready to dive into Android code? Let&#8217;s go!</p>
<p><em>Note: Several readers have sent me a note saying that an error appears in the &#8220;Problems&#8221; window when the project is opened, stating that <strong>&#8220;Project &#8216;Snake&#8217; is missing a required source folder: &#8216;gen&#8217;.&#8221;</strong></em> <em>To fix this error, expand the &#8220;Snake&#8221; project in the &#8220;Package Explorer&#8221; window, then expand the &#8220;gen&#8221; folder along with the &#8220;com.example.andorid.snake&#8221; item below it.  Delete the file R.java by right-clicking on it and choosing &#8220;Delete.&#8221;  The file will immediately be regenerated and the error will disappear.  I haven&#8217;t discovered the cause of this yet; I don&#8217;t know if it&#8217;s a problem with Eclipse or the Android samples, but if I find out more I will update this post.</em></p>
<h4>Exploring the Components of an Android Application</h4>
<p>There are five key components that make up Android applications:</p>
<ul>
<li><strong>Activity</strong> &#8211; Activities represent your application&#8217;s user interface layer.  Each Activity represents a single action that a user can interface with.  It could be related to a Form.</li>
<li><strong>Service</strong> &#8211; Services represent background tasks.</li>
<li><strong>Broadcast Receiver</strong> &#8211; Broadcast Receivers react to announcements, similar to events.  An example of system-level announcement could be that the battery is low.  Applications (including your own) can also generate their own announcements.</li>
<li><strong>Content Provider</strong> &#8211; Content Providers expose datasets from your application to other applications.  If our Snake sample application wanted to allow other applications to access the high scores, it could expose them in a Content Provider.</li>
<li><strong>Intent</strong> &#8211; Intents are messages.  You can use intents to send messages to a specific Activity or Service, or send it to the entire system.</li>
</ul>
<p>Each of these components are represented by Java classes &#8211; Activity, Service, BroadcastReceiver, ContentProvider, and Intent, respectively.  The classes that make up your application end up being subclasses of these base classes.  Java uses the &#8220;extends&#8221; keyword to perform inheritance.  So,</p>
<pre class="brush: java; title: ; notranslate">public class Snake extends Activity { ... }</pre>
<p>in Java is basically the equivalent of</p>
<pre class="brush: csharp; title: ; notranslate">public class Snake : Activity { ... } </pre>
<p>in C#.</p>
<p>You can read about these components in detail in the <a href="http://developer.android.com/index.html" target="_blank">Android Developer Documentation</a> at <a href="http://developer.android.com/guide/topics/fundamentals.html" target="_blank">http://developer.android.com/guide/topics/fundamentals.html</a></p>
<p>Every Android application also has a &#8220;manifest&#8221; file which This is stored in the file AndroidManifest.xml, included with the Snake sample source.  The main purpose is to inform Android what components make up the application.</p>
<p>Our simple Snake sample application will only deal with a single Activity and none of the other components mentioned above.  Our Activity represents the Snake game that the user can play.  Let&#8217;s take a look at the source code by opening up the <strong>Snake.java</strong> file.  You can find it in the &#8220;Package Explorer&#8221; window by drilling down to Snake -&gt; src -&gt; com.example.android.snake -&gt; Snake.java.</p>
<p>You&#8217;ll notice the file is only 83 lines long.  That&#8217;s because this file simply represents the <em>Android Activity<strong> &#8211; </strong></em>the actual Snake game logic is contained in the SnakeView.java file.  Here are the key things to note about Snake.java:</p>
<ol>
<li>It&#8217;s a subclass of <strong>Activity.</strong>
<pre class="brush: java; title: ; notranslate">public class Snake extends Activity</pre>
</li>
<li>Three methods from the Activity base class are overridden, as noted from the @Override keyword (same as the override keyword in C#):
<pre class="brush: java; title: ; notranslate">public void onCreate(Bundle savedInstanceState)</pre>
<pre class="brush: java; title: ; notranslate">protected void onPause()</pre>
<pre class="brush: java; title: ; notranslate">protected void onSaveInstanceState(Bundle outState)</pre>
<p>These three overrides handle the events that the method names state &#8211; when the activity is created, when the game is paused, and when the application state is saved.</li>
<li>This <strong>Snake</strong> class relies heavily on the <strong>SnakeView</strong> class, which you can also find in the <strong>src</strong> folder.  SnakeView is a subclass of another very important Android class &#8211; <strong>View</strong>.  Views are used by Activities to draw things to the screen and handle user interaction.  Since we&#8217;re just trying to demonstrate the Android specific components of this application, just understand that <strong>SnakeView</strong> handles all of the details of user keystrokes, drawing and animating the snake to the screen, etc.</li>
</ol>
<p>Let&#8217;s run the application and see how it launches.</p>
<h4>Launching the Application in the Simulator</h4>
<p>From the menu bar, click Run -&gt;Run.  You&#8217;ll get a message stating &#8220;No compatible targets were found.  Do you wish to add a new Android Virtual Device?&#8221;  Click yes to set up the Android simulator.</p>
<p>Since we chose Android 2.0 as our platform during the project setup, we&#8217;ll create an Android 2.0 virtual device.  Enter a device name such as &#8220;Android2.0&#8243; and choose &#8220;Android 2.0 &#8211; API Level 5&#8243; from the Target drop-down list.  Then click the &#8220;Create AVD&#8221; button to complete the setup.</p>
<p><a href="http://www.caffeinedi.com/wp-content/uploads/2010/07/Android-Virtual-Device-Setup.png"><img class="aligncenter size-medium wp-image-207" title="Android Virtual Device Setup" src="http://www.caffeinedi.com/wp-content/uploads/2010/07/Android-Virtual-Device-Setup-217x300.png" alt="Android Virtual Device Setup" width="217" height="300" /></a></p>
<p>Click Run -&gt; Run again to launch your application in the simulator.  The first run may take several minutes to load the virtual device, so don&#8217;t be alarmed if your application doesn&#8217;t launch immediately.  Once it finishes loading, your Snake game will appear on the screen.</p>
<p><a href="http://www.caffeinedi.com/wp-content/uploads/2010/07/Snake-in-Android-Virtual-Device.png"><img class="aligncenter size-medium wp-image-206" title="Snake in Android Virtual Device" src="http://www.caffeinedi.com/wp-content/uploads/2010/07/Snake-in-Android-Virtual-Device-300x212.png" alt="Snake in Android Virtual Device" width="300" height="212" /></a></p>
<p>You can use the on-screen buttons to interact with the simulator, or you can use the buttons on your physical keyboard.  You can also interact with the rest of the Android platform by using the Home, Menu, Back, and Search buttons.</p>
<h4>Next Steps</h4>
<p>It&#8217;s worth exploring the samples provided with the Android SDK.  They  cover many aspects of the available functionality, such as voice  recognition, gaming, BlueTooth, gestures, and graphics.  In the next post, we&#8217;ll create an Android project from the ground up and create our first basic application.  In the meantime, dive deeper into the Snake source code and its SnakeView.java file if you want to see how the game logic and drawing engine works.  Also, take the time to get familiar with the Eclipse IDE.  After a little playing around, you&#8217;ll find it&#8217;s a pretty comfortable (and powerful) IDE.</p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/VespjjPtQGg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/07/03/beginning-google-android-development-for-net-developers-part-1/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/07/03/beginning-google-android-development-for-net-developers-part-1/</feedburner:origLink></item>
		<item>
		<title>The 2010 Caffeinedi.com Ultimate Budget Developer Rig</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/DQCA-QohWdA/</link>
		<comments>http://www.caffeinedi.com/2010/06/24/the-2010-caffeinedi-com-ultimate-budget-developer-rig/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 19:30:09 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[pc]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=186</guid>
		<description><![CDATA[A few years ago, Jeff Atwood did a great series of blog posts on building the ultimate developer rig for Scott Hanselman.  For $2000, he put together a fantastic machine with stellar performance. My five-year-old developer rig has had a great run, but lately, it just hasn&#8217;t been able to keep up with my needs [...]]]></description>
				<content:encoded><![CDATA[<p>A few years ago, <a href="http://www.codinghorror.com" target="_blank">Jeff Atwood</a> did a great <a href="http://www.codinghorror.com/blog/2007/07/building-a-pc-part-i.html" target="_blank">series of blog posts on building the ultimate developer rig</a> for<a href="http://www.hanselman.com" target="_blank"> Scott Hanselman</a>.  For $2000, he put together a fantastic machine with stellar performance.</p>
<p>My five-year-old developer rig has had a great run, but lately, it just hasn&#8217;t been able to keep up with my needs &#8211; not to mention a lot of random artifacts and lines on the monitors, indicating the impending death of my video card.  So, I set out to build my own ultimate developer rig, but on a  lower budget of $1100.</p>
<p>This $1100 budget took into consideration the reuse of my existing chassis, data hard drive, DVD-RW drive, and dual monitors.  So, if you&#8217;re setting out to build one from the ground up with similar components, a budget of $1400 is probably more realistic.</p>
<p>Somewhat similar to Hanselman&#8217;s priorities, the requirements for my rig were as follows:</p>
<ol>
<li>Fast.  When I launch an app, I want it to display immediately.  When I compile, I want fast build times.  When I power it on, I want Windows to boot fast.  When I click on something, I want the action to register immediately.</li>
<li>Multitasking.  Since I often run a ton of applications at once, some of which can be memory hogs, I need it to remain fast and performant even with tons of windows open.  If I can have multiple instances of VS2010, Photoshop, Eclipse, VirtualBox, Tweetdeck, iTunes, Firefox, and Word open simultaneously without losing much performance, it&#8217;s a win.</li>
<li>Quiet.  I like to work in a quiet environment and can&#8217;t stand fan and hard drive noise.</li>
<li>Reliable.  I can&#8217;t afford any extended downtime, data loss, or reoccurring blue screens, so I need the rig to be reliable.</li>
<li>Budget.  I want to stick as close as possible to the budget while achieving the first three requirements.</li>
</ol>
<p>After lots of research, I ultimately came up with the following component list:</p>
<ul>
<li><strong>Processor: </strong><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16819115214" target="_blank">Intel Core i7-860 Lynnfield 2.8GHz 8MB L3 Cache LGA 1156 95W  Quad-Core Processor Model BX80605I7860 </a></li>
<li><strong>Motherboard: </strong><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813128425" target="_blank">GIGABYTE GA-P55-USB3 LGA 1156 Intel P55 USB 3.0 ATX Intel  Motherboard</a></li>
<li><strong>Memory:</strong> <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820231277" target="_blank">G.SKILL Ripjaws Series 4GB (2 x 2GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory Model F3-12800CL9D-4GBRL </a>(2x, for 8GB total)</li>
<li><strong>Boot Drive:</strong> <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820167023" target="_blank">Intel X25-M Mainstream SSDSA2MH080G2R5 2.5&#8243; 80GB SATA II </a><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820167023" target="_blank">MLC  Internal Solid State Drive (SSD)</a></li>
<li><strong>Video Card:</strong> <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16814130531" target="_blank">EVGA 512-P3-1242-LR GeForce GT 240 Superclocked 512MB 128-bit GDDR5 PCI Express 2.0 x16 HDCP Ready Video Card</a></li>
<li><strong>Power Supply:</strong> <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817171037" target="_blank">COOLER MASTER Silent Pro 700 RS-700-AMBA-D3 700W ATX12V V2.3 SLI Certified CrossFire Ready 80 PLUS Certified Modular Active PFC Power Supply </a></li>
<li><strong>CPU Cooler:</strong> <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16835118052" target="_blank">ZALMAN CNPS10X QUIET 120mm 2 Ball CPU Cooler </a></li>
</ul>
<p>Since I/O has almost always been the slowest aspect of my machines, I really wanted to go with an SSD as my boot drive.  I have heard nothing but fantastic things about the Intel X-25M, so I decided to go with it.  I also really wanted an i7, and the price for the i7-860 is a great value.  Additionally, to satisfy the low-noise requirement, I went with the upgraded Zalman cooler and the Cooler Master Silent Pro power supply.</p>
<h4>Initial Results</h4>
<p>I&#8217;ve been using this new development rig for about two weeks now, and it has absolutely blown away my expectations.  For my $1100 budget, I expected a great machine with room for improvement.  But, the machine&#8217;s performance is absolutely fantastic.</p>
<p><a href="http://www.caffeinedi.com/wp-content/uploads/2010/06/windows-experience-index.png"><img class="aligncenter size-medium wp-image-188" title="2010 Caffeinedi.com Ultimate Budget Developer Rig Windows Experience Index" src="http://www.caffeinedi.com/wp-content/uploads/2010/06/windows-experience-index-300x213.png" alt="Windows Experience Index" width="300" height="213" /></a></p>
<p>The SSD makes all the difference in the world.  Windows boots in seconds, and applications load instantly.  The splash screens for applications like Visual Studio 2010, Photoshop CS5, and Microsoft Office only appear for a split-second before the actual application loads.  I cannot recommend the Intel X-25M enough &#8211; it is incredible as an OS and program drive.</p>
<p>To top it all off, the machine is <em>quiet</em>.  Like, <em>real </em>quiet.  Sometimes I have to look under the desk to see if the power light is illuminated because the fans are almost completely silent.</p>
<p>I could not be more pleased with the result of this build.  The performance of this budget rig has made me so much more productive, since I don&#8217;t have to wait for any of my clicks or keystrokes to register.  And, the reliability and low noise levels keep me focused on the tasks at hand.</p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/DQCA-QohWdA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/06/24/the-2010-caffeinedi-com-ultimate-budget-developer-rig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/06/24/the-2010-caffeinedi-com-ultimate-budget-developer-rig/</feedburner:origLink></item>
		<item>
		<title>CodeGuru’s Ten Great CodePlex Projects for ASP.NET Developers</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/NudaKIQN-Z0/</link>
		<comments>http://www.caffeinedi.com/2010/05/19/codegurus-ten-great-codeplex-projects-for-asp-net-developers/#comments</comments>
		<pubDate>Wed, 19 May 2010 18:25:18 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[codeplex]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=167</guid>
		<description><![CDATA[CodeGuru.com has an article called Ten Great CodePlex Projects for ASP.NET Developers in which the author, Jason Gilmore, mentions Hollywood Hackers &#8211; the demo project that I built with Kevin Hoffman to go along with our MSDN article, &#8220;Fueling Your Application&#8217;s Engine with Windows Azure.&#8221; The list contains some other really great sample CodePlex projects [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.codeguru.com">CodeGuru.com</a> has an article called <a href="http://www.codeguru.com/vb/vb_internet/aspnet/article.php/c17085" target="_blank">Ten Great CodePlex Projects for ASP.NET Developers</a> in which the author, Jason Gilmore, mentions Hollywood Hackers &#8211; the demo project that I built with Kevin Hoffman to go along with our MSDN article, <a href="http://msdn.microsoft.com/en-us/magazine/ee335721.aspx" target="_blank">&#8220;Fueling Your Application&#8217;s Engine with Windows Azure.&#8221;</a></p>
<p>The list contains some other really great sample CodePlex projects that you should check out, such as the classic <a href="http://www.nerddinner.com" target="_blank">NerdDinner</a> and <a href="http://tailspintravel.codeplex.com/" target="_blank">TailSpin Travel</a>.  All of the projects mentioned provide excellent code samples to help you new technologies and development techniques.  Check the out and learn something new!</p>
<p><a href="http://www.codeguru.com/vb/vb_internet/aspnet/article.php/c17085" target="_blank">http://www.codeguru.com/vb/vb_internet/aspnet/article.php/c17085</a></p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/NudaKIQN-Z0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/05/19/codegurus-ten-great-codeplex-projects-for-asp-net-developers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/05/19/codegurus-ten-great-codeplex-projects-for-asp-net-developers/</feedburner:origLink></item>
		<item>
		<title>Dynamic Controller and Action Authentication in ASP.NET MVC 2 by Ryan Wright</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/9Z9AGh-31d0/</link>
		<comments>http://www.caffeinedi.com/2010/04/29/dynamic-controller-and-action-authentication-in-asp-net-mvc-2-by-ryan-wright/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 13:09:56 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[WIF]]></category>
		<category><![CDATA[windows identity foundation]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=164</guid>
		<description><![CDATA[My friend and colleague Ryan Wright has posted a fantastic article about dynamic controller and action authentication in ASP.NET MVC 2. His techniques describe an architecture without hard-coding roles into the Authorize attribute &#8211; which makes it possible to add roles to application functionality strictly through configuration &#8211; no application rebuild required. He also provides [...]]]></description>
				<content:encoded><![CDATA[<p>My friend and colleague <a href="http://www.ryanmwright.com">Ryan Wright</a> has posted <a href="http://www.ryanmwright.com/2010/04/25/dynamic-controlleraction-authorization-in-asp-net-mvc/">a fantastic article about dynamic controller and action authentication in ASP.NET MVC 2</a>.  His techniques describe an architecture without hard-coding roles into the Authorize attribute &#8211; which makes it possible to add roles to application functionality strictly through configuration &#8211; no application rebuild required.</p>
<p>He also provides his code samples, which additionally use <a href="http://msdn.microsoft.com/en-us/security/aa570351.aspx">Windows Identity Foundation (WIF)</a> and a custom STS.  It&#8217;s a great starter project for anyone who&#8217;s looking into seeing how these tools work.</p>
<p><a href="http://www.ryanmwright.com/2010/04/25/dynamic-controlleraction-authorization-in-asp-net-mvc/">http://www.ryanmwright.com/2010/04/25/dynamic-controlleraction-authorization-in-asp-net-mvc/</a></p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/9Z9AGh-31d0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/04/29/dynamic-controller-and-action-authentication-in-asp-net-mvc-2-by-ryan-wright/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/04/29/dynamic-controller-and-action-authentication-in-asp-net-mvc-2-by-ryan-wright/</feedburner:origLink></item>
		<item>
		<title>Memory Limit Errors in WordPress or Other PHP Applications</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/GWa3eZZkGAg/</link>
		<comments>http://www.caffeinedi.com/2010/04/28/memory-limit-errors-in-wordpress-or-other-php-applications/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 02:54:14 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[buddyPress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=160</guid>
		<description><![CDATA[When working in WordPress or other PHP applications, it&#8217;s relatively common to run into memory limit errors like the following: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in /public_html/wp-admin/includes/template.php on line 699 The default memory limit setting is in the php.ini file, and many web hosts have it [...]]]></description>
				<content:encoded><![CDATA[<p>When working in WordPress or other PHP applications, it&#8217;s relatively common to run into memory limit errors like the following:</p>
<p><strong>Fatal error</strong>:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in <strong>/public_html/wp-admin/includes/template.php</strong> on line <strong>699</strong></p>
<p>The default memory limit setting is in the php.ini file, and many web hosts have it set to 12MB.  You can change it by modifying the php.ini file:</p>
<pre class="brush: plain; title: ; notranslate">memory_limit = 64M</pre>
<p>&#8230;but, many hosts don&#8217;t give you direct access to this file.</p>
<p>Instead, you can control the memory limit directly in your application.  In the wp-config.php file, just add a single line:</p>
<pre class="brush: php; title: ; notranslate">define('WP_MEMORY_LIMIT', '64M');</pre>
<p>This issue came up on a recent project involving the BuddyPress WordPress plugin, which can be a fairly memory intensive module.  If you run into it, just bump up your memory limit and you should be fine.  If you&#8217;re using a platform other than WordPress, there are usually similar methods to define memory limits &#8211; just check the documentation for your particular application.</p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/GWa3eZZkGAg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/04/28/memory-limit-errors-in-wordpress-or-other-php-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/04/28/memory-limit-errors-in-wordpress-or-other-php-applications/</feedburner:origLink></item>
		<item>
		<title>MIX10 Sessions Start Today!</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/KoIDhV_Clc4/</link>
		<comments>http://www.caffeinedi.com/2010/03/15/mix10-sessions-start-today/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 14:43:12 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[User Experience (UX)]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MIX10]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=157</guid>
		<description><![CDATA[The MIX10 Microsoft UX conference sessions start today.  This is a reminder that I&#8217;ll be tweeting all day live from the event (@natedudek) and posting summaries of my sessions at the end of every day.  The keynote starts in a little over an hour where we should here about the Windows Phone 7 Series.  It&#8217;s [...]]]></description>
				<content:encoded><![CDATA[<p>The MIX10 Microsoft UX conference sessions start today.  This is a reminder that I&#8217;ll be tweeting all day live from the event (@natedudek) and posting summaries of my sessions at the end of every day.  The keynote starts in a little over an hour where we should here about the Windows Phone 7 Series.  It&#8217;s also being streamed live if you want to watch!</p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/KoIDhV_Clc4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/03/15/mix10-sessions-start-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/03/15/mix10-sessions-start-today/</feedburner:origLink></item>
		<item>
		<title>I Will Be Blogging and Tweeting Live from MIX10</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/dZK0w3MUO5c/</link>
		<comments>http://www.caffeinedi.com/2010/02/10/i-will-be-blogging-and-tweeting-live-from-mix10/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:19:43 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Random Musings]]></category>
		<category><![CDATA[User Experience (UX)]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MIX10]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=152</guid>
		<description><![CDATA[I will be attending Microsoft’s MIX10 conference next month in Las Vegas.  I’m really looking forward to networking with other developers and designers and being immersed in a User Experience-focused community for three days. I will be blogging and tweeting LIVE from the event on www.caffeinedi.com and www.twitter.com/natedudek. Although the schedule hasn’t been posted yet, [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.caffeinedi.com/wp-content/uploads/2010/02/mix10logo.jpg"><img style="display: inline; border: 0px;" title="mix10logo" src="http://www.caffeinedi.com/wp-content/uploads/2010/02/mix10logo_thumb.jpg" border="0" alt="mix10logo" width="244" height="137" align="left" /></a> I will be attending Microsoft’s <a href="http://live.visitmix.com/" target="_blank">MIX10 conference</a> next month in Las Vegas.  I’m really looking forward to networking with other developers and designers and being immersed in a User Experience-focused community for three days.</p>
<p>I will be blogging and tweeting LIVE from the event on <a href="http://www.caffeinedi.com">www.caffeinedi.com</a> and <a href="http://www.twitter.com/natedudek">www.twitter.com/natedudek</a>.</p>
<p>Although the schedule hasn’t been posted yet, I’ll be focusing mostly on the sessions related to Windows Azure, Silverlight 4, UX, MVC, jQuery, AJAX, and Visual Studio.  The sessions that are currently on my short list are:</p>
<ul>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX29" target="_blank">Building Platforms and Applications for the Real-Time Web</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/FT05" target="_blank">The HaaHa Show: ASP.NET MVC Security with Haack and Hanselman</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/FT04" target="_blank">What’s New in ASP.NET MVC 2 w/ Phil Haack</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/SVC01" target="_blank">Using Windows Identity Foundation For Creating Identity-Driven Experiences in Silverlight</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/CL09" target="_blank">Developing with WCF RIA Services Quickly and Effectively</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX11" target="_blank">Using Storage in the Windows Azure Platform</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX14" target="_blank">Understanding the Model-View-ViewModel Pattern</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/CL10" target="_blank">Stepping Outside the Browser with Silverlight 4</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/CL54" target="_blank">Software and Web Entrepreneurs: Go Big with BizSpark and WebsiteSpark</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/SVC06" target="_blank">Silverlight and Windows Azure: A Match Made for the Web</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/CL07" target="_blank">Silverlight 4 Overview &#8211; What&#8217;s in Store for Silverlight 4?</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/CL08" target="_blank">Silverlight 4 Business Applications</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/CL50" target="_blank">Search Engine Optimization for Silverlight</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX16" target="_blank">Securing Silverlight Applications</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/FT08" target="_blank">Improving Software Quality for the Modern Web</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/DS11" target="_blank">Great User Experiences: Seamlessly Blending Technology and Design</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/FT10" target="_blank">Driving Experiences via Services using the .NET Framework</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/FT11" target="_blank">Designing and Delivering Scalable and Resilient Web Services</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX25" target="_blank">Design the Ordinary, Like the Fixie</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/SVC08" target="_blank">Connecting Your Applications in the Cloud with the Windows Azure AppFabric</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/SVC10" target="_blank">Building Offline Web Apps Using Sync Framework</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX51" target="_blank">Building Finance Applications with Silverlight 4</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX23" target="_blank">Building Facebook Apps with .NET and Deploying to Azure</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX10" target="_blank">Building a Next-Generation Web Application with ASP.NET MVC 2 and jQuery</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX22" target="_blank">Six Things Every jQuery Developer Must Know w/ Elijah Manor</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/DS05" target="_blank">Total Experience Design</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/DS01" target="_blank">The Laws of User Experience</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX03" target="_blank">Modern Web Form Design</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/WKSP02" target="_blank">Design Fundamentals for Developers (and other Non-Designers)</a></li>
<li><a href="http://live.visitmix.com/MIX10/Sessions/EX01" target="_blank">Cloud Computing Economies of Scale</a></li>
</ul>
<p>Obviously, there’s LOTS of amazing content planned.  I won’t be able to attend every session I listed, but at the very least I’m hoping to catch up with some of the presenters of the sessions I’m not able to make it to.  I’m also hoping to sit down with guys like Elijah Manor and Clemens Vasters for a few minutes.</p>
<p>If you have things you’d like me to check out for you, or questions you’d like me to ask presenters or other attendees, drop me an e-mail, leave a comment, or send me a direct message on Twitter.</p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/dZK0w3MUO5c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/02/10/i-will-be-blogging-and-tweeting-live-from-mix10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/02/10/i-will-be-blogging-and-tweeting-live-from-mix10/</feedburner:origLink></item>
		<item>
		<title>My Windows Azure Article Is In the January 2010 Issue of MSDN Magazine</title>
		<link>http://feedproxy.google.com/~r/CaffeineDependencyInjection/~3/cCqQX6-ZQnM/</link>
		<comments>http://www.caffeinedi.com/2010/01/06/my-windows-azure-article-is-in-the-january-2010-issue-of-msdn-magazine/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 20:23:55 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.caffeinedi.com/?p=141</guid>
		<description><![CDATA[An article I wrote with Kevin Hoffman on Windows Azure is in the January 2010 issue of MSDN Magazine. &#8220;Fueling Your Application’s Engine with Windows Azure Storage&#8221; discusses the utilization of Azure Queue and Table storage, Azure Worker Roles, and jQuery to send asynchronous messages to an ASP.NET MVC application and process shopping cart orders. [...]]]></description>
				<content:encoded><![CDATA[<p>An article I wrote with <a href="http://dotnetaddict.dotnetdevelopersjournal.com/ " target="_blank">Kevin Hoffman</a> on Windows Azure is in the January 2010 issue of MSDN Magazine.  &#8220;Fueling Your Application’s Engine with Windows Azure Storage&#8221; discusses the utilization of Azure Queue and Table storage, Azure Worker Roles, and jQuery to send asynchronous messages to an ASP.NET MVC application and process shopping cart orders.  Check it out!</p>
<p><a href="http://msdn.microsoft.com/en-us/magazine/ee335721.aspx">Fueling Your Application&#8217;s Engine with Windows Azure Storage</a></p>
<img src="http://feeds.feedburner.com/~r/CaffeineDependencyInjection/~4/cCqQX6-ZQnM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinedi.com/2010/01/06/my-windows-azure-article-is-in-the-january-2010-issue-of-msdn-magazine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.caffeinedi.com/2010/01/06/my-windows-azure-article-is-in-the-january-2010-issue-of-msdn-magazine/</feedburner:origLink></item>
	</channel>
</rss>
