<?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: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;DU4HSX86eCp7ImA9WhRbGUQ.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931</id><updated>2012-02-11T17:05:38.110-05:00</updated><category term="Article Comment" /><category term="Personal" /><category term="LINQ" /><category term="Mobile" /><category term="Technical" /><category term="MVC" /><category term="SQL" /><category term="Review" /><category term="WP7" /><category term="XML" /><category term="Sceenshot" /><category term="Java" /><category term="Azure" /><category term="Ajax" /><category term="XAML" /><category term="Testing" /><category term="DI" /><category term="MongoDB" /><category term="Anime" /><category term="oAuth" /><category term="Coolite" /><category term="JQuery" /><category term="Community" /><category term="WM7" /><category term="Japan" /><category term="Implemenation" /><category term="Reference" /><category term="Privacy" /><category term="NHibernate" /><category term="Fluent NHibernate" /><category term="Rant" /><category term="Android" /><category term="Preview" /><category term="Video" /><category term="Speaking" /><category term=".NET" /><category term="ExtJS" /><category term="Silverlight" /><title>Random Blurbs and things of this Nature</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.jfarrell.net/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.jfarrell.net/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>175</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/jfarrell/cdrx" /><feedburner:info uri="jfarrell/cdrx" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DU4HSX8-fSp7ImA9WhRbGUQ.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-4043244803760510298</id><published>2012-02-11T17:05:00.001-05:00</published><updated>2012-02-11T17:05:38.155-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-11T17:05:38.155-05:00</app:edited><title>Getting Started with Silverlight Out of Browser</title><content type="html">&lt;p&gt;So, its been a long time.&amp;nbsp; My work at Meijer has certainly become all consuming, but recently I have made a pledge to myself to get back into programming on the side.&amp;nbsp; I really had forgotten just how much fun coding on the side was.&amp;nbsp; Even better, current opportunities in my life allowed me a chance to really create something.&lt;/p&gt; &lt;p&gt;My friend moonlights as a Trivia Game host.&amp;nbsp; Essentially, various restaurants in the area hold games where questions are asked and teams compete for prizes.&amp;nbsp; Its very fun and lively atmosphere that is beneficial to all.&amp;nbsp; However, I noticed that much of the score keeping during these games was done differently depending on the host.&amp;nbsp; Sometimes it was pen and paper other times Excel.&amp;nbsp; Bottom line, very manual and error prone.&amp;nbsp; Wanting to help I offered to write an application to make this process easier for the hosts.&lt;/p&gt; &lt;h4&gt;Designing the Application&lt;/h4&gt; &lt;p&gt;I initially planned for the application to be a WPF application.&amp;nbsp; Since Internet connectivity was not always guaranteed, I decided for the first version to rely totally on an SDF file. I also decided to model the application off of Microsoft Office, since this is what most people most closely identified with.&amp;nbsp; Thus I downloaded and started using the &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=11877"&gt;Microsoft Ribbon Control for WPF&lt;/a&gt;.&amp;nbsp; This design came a good deal of the way and I showed my prototype to my friend and several other hosts.&amp;nbsp; Only then did I realize I missed the fact that the majority of the hosts use Macs, so WPF was immediately out.&lt;/p&gt; &lt;p&gt;I contemplated other platforms I could use since I wanted to make the application highly available and didn’t want to write multiple versions.&amp;nbsp; Eventually, through the advice of my friend Ryan, I decided to go with Silverlight Out of Browser since it is capable of running on a Mac.&amp;nbsp; At the same time I decided I wanted to change the design thanks to feedback I realized that some of the more complex features I was planning were not necessary.&lt;/p&gt; &lt;h4&gt;Version 2&lt;/h4&gt; &lt;p&gt;This time I decided to design the application using much of what I know from mobile apps.&amp;nbsp; I wanted to interface to be clean and to the point.&amp;nbsp; The people using this application are not exactly tech savy and I didn’t want to confuse them with lots of clicks and buttons.&amp;nbsp; The results was the interface shown below:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/--GbpjQTJ5O8/TzbmLh-vNaI/AAAAAAAAA4g/02IRFVyqog0/s1600-h/2012-02-11_1653%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-02-11_1653" border="0" alt="2012-02-11_1653" src="http://lh3.ggpht.com/-kr_HFQk0TSc/TzbmMVUv3PI/AAAAAAAAA4o/UKq3chPApbY/2012-02-11_1653_thumb%25255B1%25255D.png?imgmax=800" width="546" height="422"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Note: The Large Empty middle section will be used as kind of a dashboard to see games played, winning teams, things like that.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;The main goal of the interface was to be very simple and straightforward.&amp;nbsp; The level of visual control you get in XAML is really remarkable and can really lend itself to developing very clean and responsive interfaces.&amp;nbsp; In this application, the main action is tracking a game, hence a shortcut was broken out.&lt;/p&gt; &lt;h4&gt;Lesson Learned: Visual Design vs Technical Design&lt;/h4&gt; &lt;p&gt;One of the things I feel developers are famous for is attempting to design and implement the architecture of an application way too early, I know I have done it many times.&amp;nbsp; One of the things I am trying with this application, and it does seem to be working very well, is to not write any code, other then for navigation.&amp;nbsp; I want to establish the visual aspect of the application and let that guide the rest of my design.&lt;/p&gt; &lt;p&gt;So far, this is working very well, as I have moved very quickly through design without getting distracted by technical elements yet.&amp;nbsp; I know that I want a DI layer so I can easily change the business layer in and out as needed, since I do plan for a web service to be involved down the road.&lt;/p&gt; &lt;h4&gt;Navigation&lt;/h4&gt; &lt;p&gt;Oddly enough, it seems within Out of Browser applications, no NavigationContext is available.&amp;nbsp; Coming from Windows Phone 7 I am very familiar with the notion of navigating from XAML Page to XAML Page.&amp;nbsp; My first attempt at this was thwarted because, by default, UserControls are used heavility within OOB.&amp;nbsp; I decided to change the inheritance structure of this so I was using Silverlight Pages.&amp;nbsp; Sure enough, doing this gave me access to the &lt;strong&gt;NavigationService&lt;/strong&gt; property.&amp;nbsp; However, this property was null.&lt;/p&gt; &lt;p&gt;Perplexed, I Googled for a reasons and/or workaround but found nothing.&amp;nbsp; I decided to take matter into my own hands and simply relegate my content screens to UserControl objects, inheriting from my custom base class &lt;em&gt;UserControlBase&lt;/em&gt;.&amp;nbsp; Doing this allowed me to set an event which I could use to change the visual display based on the page requested.&lt;/p&gt; &lt;p&gt;Now, when I want to change to page I simply raise this event with the appropriate enum which inidcates the PageType I want.&amp;nbsp; Its not very sophisticated, but it does work.&amp;nbsp; I would like to know what Microsoft recommends to fulfill this scenario.&lt;/p&gt; &lt;h4&gt;Initial Thoughts&lt;/h4&gt; &lt;p&gt;My initial thoughts is that Silverlight OOB does seem to present a very interesting avenue for cross platform application development.&amp;nbsp; Other friends of mine did recommend HTML5 and I did deeply consider it.&amp;nbsp; However, I had a desire to use &lt;a href="http://www.sterlingdatabase.com/"&gt;Sterling&lt;/a&gt; and thus felt that using OOB seemed to be a better approach.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-4043244803760510298?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3TcrKQl6Lq8WkJg1eifmJ6jGr9g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3TcrKQl6Lq8WkJg1eifmJ6jGr9g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3TcrKQl6Lq8WkJg1eifmJ6jGr9g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3TcrKQl6Lq8WkJg1eifmJ6jGr9g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/71eJgfDAutQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/4043244803760510298/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=4043244803760510298" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/4043244803760510298?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/4043244803760510298?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/71eJgfDAutQ/getting-started-with-silverlight-out-of.html" title="Getting Started with Silverlight Out of Browser" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-kr_HFQk0TSc/TzbmMVUv3PI/AAAAAAAAA4o/UKq3chPApbY/s72-c/2012-02-11_1653_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2012/02/getting-started-with-silverlight-out-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUHRHg_fip7ImA9WhRTFk8.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-2157504864817976394</id><published>2011-11-06T13:46:00.001-05:00</published><updated>2011-11-06T18:30:35.646-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-06T18:30:35.646-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Implemenation" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="DI" /><category scheme="http://www.blogger.com/atom/ns#" term="WP7" /><title>WP7 Async Data Access Pattern</title><content type="html">&lt;p&gt;One of the great things that I enjoy about Windows Phone 7 is the lengths Microsoft went to to make development easy and fun.&amp;nbsp; And of course, me being a .NET programmer by trade, getting to use .NET was pretty awesome too.&amp;nbsp; In my mind, Microsoft has done an excellent job communicating the ideas of the platform and the need to “control” the experience, in much the same way Apple does.&amp;nbsp; This “control” is necessary; mobile platforms do not, and cannot, offer the same freedom of expression we developers are used to in client apps and, in many ways, on the web.&lt;/p&gt;&lt;p&gt;One of the tight lines Microsoft has tried to walk over the years is the line that allows experienced programmers to use their knowledge and be creative while still providing the “protection” that keeps inexperienced devs from shooting themselves in the foot.&amp;nbsp; It is a difficult act to pull off, and Microsoft has been pretty good about getting it right, though rarely on their first try.&lt;/p&gt;&lt;p&gt;I came across something in Windows Phone 7 that really cramped my style recently.&amp;nbsp; The notion of forced asynchronous behavior in two areas.&amp;nbsp; Now, I have done a lot of programming in Android and I love their model.&amp;nbsp; Wrap your long running operation in &lt;strong&gt;AsyncTask&amp;lt;T,U,V&amp;gt;&lt;/strong&gt;.&amp;nbsp; This takes the operation off the UI thread thus mitigating the chance that OS will ask the user to kill the application (ANRing).&lt;/p&gt;&lt;p&gt;In Windows Phone 7 methods that are anticipated to be long running are async by default.&amp;nbsp; While this is good for novice programmers, it can make the OS seem inflexible in certain case.&amp;nbsp; For me this was mainly because the OS forces Web Requests to be Async.&amp;nbsp; My preferred approach would be to wrap a synchronous Web Request in a Background worker.&amp;nbsp; Since I can only this if I pass Action&amp;lt;T&amp;gt; around, I decided to look for something different:&lt;/p&gt;&lt;h3&gt;The Task&lt;/h3&gt;&lt;p&gt;To start, I decided I was going to have to break apart the request from the processing since I knew I was not going to be able to make a web request synchronously, even if I wrapped it in a BackgroundWorker.&amp;nbsp; Thus I created the &lt;strong&gt;TaskBase&lt;/strong&gt; serves as the base class for all tasks.&amp;nbsp; The centerpiece of this class is the &lt;em&gt;Execute(Action&amp;lt;string&amp;gt;)&lt;/em&gt; method, the source is shown below:&lt;/p&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// Perform the actual request&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;param name="onRequestComplete"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; ExecuteTask(Action&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; onRequestComplete)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     var request = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RestRequest(RequestUri, RequestMethod);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     request.AddHeader(&lt;span style="color: #006080"&gt;"X-PayItSquare-AppKey"&lt;/span&gt;, Config.AppKey);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (RequiresAuthentication)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         request.AddHeader(&lt;span style="color: #006080"&gt;"X-PayItSquare-Token"&lt;/span&gt;,&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;           CustomContext.Current.AuthToken);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// add the parameters&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (var kv &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; _parameters)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;         request.AddParameter(kv.Key, kv.Value);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// make the request&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     var client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RestClient();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     client.ExecuteAsync(request, response =&amp;gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;        onRequestComplete(response.Content));&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;The idea here is that any task will result in a string being returned from the web request.&amp;nbsp; What the format of that string is, we do not care, it doesn’t matter.&amp;nbsp; (this code is using &lt;a href="http://www.restsharp.org"&gt;RestSharp&lt;/a&gt; library for the Rest request management)&lt;/p&gt;&lt;p&gt;The process of interpreting the string is the second part of the pattern.&lt;/p&gt;&lt;h3&gt;Dependency Injection&lt;/h3&gt;&lt;p&gt;I am not someone who believes Dependency Injection should be taboo on mobile devices.&amp;nbsp; Modern devices are extremely powerful and the applications we creating are becoming more complicated to the point where they can benefit from DI.&amp;nbsp; I use &lt;a href="http://www.ninject.org"&gt;Ninject&lt;/a&gt; with my application to keep good separation and allow me to “design by contract”.&lt;/p&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h3&gt;The Repository&lt;/h3&gt;&lt;p&gt;I prefer to use the repository pattern to facilitate data persistence.&amp;nbsp; I can also use Ninject to inject various types of repositories each with the logic to parse the response string into whatever format.&amp;nbsp; For example, in Pay It Square I can load my repository using the following logic:&lt;/p&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// Loads the collect pages for the user into the repository&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Load(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; responseContent)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     XDocument document = XDocument.Parse(responseContent);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     _collectPageList = (from xe &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; document.Root.Elements()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;                         select MakeCollectPage(xe)).ToList();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;With this pattern the purpose of the repository becomes clear. Interpret the response strings and return the appropriate information to the service layer to process the result.&lt;/p&gt;&lt;p&gt;This pattern’s purpose is to allow the Task execution to continue to be Async which is the one portion which is really the one portion that needs to be async.&amp;nbsp; Once the response string is generated the service and repository jump into action to parse and process the result.&lt;/p&gt;&lt;p&gt;Hope this helps some people when it comes to programming data centric applications in Windows Phone 7.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-2157504864817976394?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2z11y-LjE5teZ7iAvFmOhWOXibY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2z11y-LjE5teZ7iAvFmOhWOXibY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2z11y-LjE5teZ7iAvFmOhWOXibY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2z11y-LjE5teZ7iAvFmOhWOXibY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/1tNL6N74JZc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/2157504864817976394/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=2157504864817976394" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2157504864817976394?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2157504864817976394?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/1tNL6N74JZc/async-data-pattern-for-rest-of-us.html" title="WP7 Async Data Access Pattern" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/11/async-data-pattern-for-rest-of-us.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MBRnw5cSp7ImA9WhdaE0U.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-8622362691912778242</id><published>2011-10-23T11:57:00.001-04:00</published><updated>2011-10-23T11:57:37.229-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-23T11:57:37.229-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Implemenation" /><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Technical" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="WP7" /><title>Remove your Screen from the Back Stack</title><content type="html">&lt;p&gt;One of the most important things in mobile application developer is management of the page stack.&amp;nbsp; You can give your user all the fancy glitzy effects you want but, at the end of the day, like and website your ease of navigation is tremendously important.&amp;nbsp; Users will want to go back and will not take kindly to going to pages that are unnecessary or redundant.&lt;/p&gt; &lt;p&gt;I do this in Android all the time with login pages.&amp;nbsp; When my app first starts, if I don’t detect any kind of pre-existing authentication, I ask the user to log in.&amp;nbsp; When the user initiates the login task, I place the request on a separate thread and use a progress dialog control to hold the user on the login screen until the operation.&amp;nbsp; Often you would see something like this in the result code:&lt;/p&gt; &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; completeLoginOperation(String token) {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     myPreferences().setAuthToken(token);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     myPreferences().setStoredUsername(txtUsername.getText().toString());&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     startActivity(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Intent(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, MainActivity.&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;));&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     finish();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;On the last line we call the method &lt;em&gt;finish()&lt;/em&gt;.&amp;nbsp; What this does is kill the activity.&amp;nbsp; What does this mean?&amp;nbsp; This activity will be “finished” and removed from the stack. Hitting back immediately after arriving on &lt;strong&gt;MainActivity&lt;/strong&gt; will cause the application to exit.&lt;/p&gt;
&lt;p&gt;This is a very nice, clean effect and will allow the application to function as the user expects.&amp;nbsp; One of the important tips for getting the effect to work properly is to pick the start up screen correctly.&amp;nbsp; In the case of the application above I used a “splash screen” which made the determination which pages to go to on the start.&amp;nbsp; You could have also done the check, in Login, just remember to do it on a separate thread and inform the user what is happening, otherwise you will get ANRed.&lt;/p&gt;
&lt;p&gt;This same principle is vital in Windows Phone 7 as well.&amp;nbsp; However, the application development model differs considerably from Android.&amp;nbsp; Where as Android feels like an application, WP7 tends to feels like developing a website.&lt;/p&gt;
&lt;p&gt;Since all WP7 apps are required to have a splash screen, you can do most of the load in App.xaml.&amp;nbsp; I am still trying to work out how you could navigate to a certain page from App.xaml.&amp;nbsp; For now, make your startup page your login screen.&amp;nbsp; Use the &lt;em&gt;Loaded&lt;/em&gt; event in your login page to check if the application is authenticated.&amp;nbsp; If it is, redirect to your main page.&amp;nbsp; In this way you are preventing the login screen from ever being displayed if the application is authenticated.&lt;/p&gt;
&lt;p&gt;Windows Phone 7 states in its design requirements that Silverlight application are not permitted to exit programmatically.&amp;nbsp; To kill an application the user must either hit the ‘Start’ button or hit ‘Back’ when no other pages exist in the stack.&amp;nbsp; While this makes sense, it is somewhat of nuisance is you are coming from an environment like Android.&amp;nbsp; Nevertheless, with the release of Mango an additional API call was added to allow manipulation of the back stack.&lt;/p&gt;
&lt;p&gt;For each page in my application, I inherit from a common base class.&amp;nbsp; Any page that requires authentication, I derive from this common base to support authentication checks.&amp;nbsp; This was a common pattern I used when developing web applications so as not to duplicate the security check on each page.&amp;nbsp; The code for the security check is below:&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OnNavigatedTo(NavigationEventArgs e)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// if the user is not authenticated, send them back for authentication&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (!CurrentContext.IsAuthenticated)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         NavigationService.Navigate(&lt;span style="color: #006080"&gt;"/Visual/Login.xaml"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// if the user has just come from Login&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// remove it from the stack so they dont hit when pressing back&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     var entry = NavigationService.BackStack.FirstOrDefault();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (entry != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; entry.Source.OriginalString.Contains(&lt;span style="color: #006080"&gt;"Login"&lt;/span&gt;))&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         NavigationService.RemoveBackEntry();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The logic here is, if the page being displayed is navigated to from the login page, we will call &lt;strong&gt;NavigationService.RemoveBackEntry()&lt;/strong&gt;.&amp;nbsp; This call will remove whatever the last entry in the BackStack is, in this case the login page.&amp;nbsp; This is a new call allowable by the Mango upgrade.&amp;nbsp; In effectively simulates the “finish” from Android, though quite as cleanly.&lt;/p&gt;
&lt;p&gt;The end result is the login screen is effectively removed from the stack and is never shown to the user, even though it is the application start page.&lt;/p&gt;
&lt;p&gt;I like Windows Phone 7, but you can clearly see the differences between it and a more mature OS like Android.&amp;nbsp; I have confidence, though, that as Microsoft continues to evolve their OS and open more API calls to developers.&amp;nbsp; Right now, it seems they are trying to prevent developers from writing apps that would create problems that damage the experience they are trying to provide.&amp;nbsp; For example, apps that do everything on the UI thread and cause lock ups and freezes.&amp;nbsp; As a more proficient developer my experience causes me to view these sorts of measures as headaches.&amp;nbsp; But I understand their reasons and hope that they lead to wider adoption of the OS.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-8622362691912778242?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fvhICAUBBpXHQGiwOTe7PLdKWzA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fvhICAUBBpXHQGiwOTe7PLdKWzA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fvhICAUBBpXHQGiwOTe7PLdKWzA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fvhICAUBBpXHQGiwOTe7PLdKWzA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/SWPUejsIKx0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/8622362691912778242/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=8622362691912778242" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/8622362691912778242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/8622362691912778242?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/SWPUejsIKx0/remove-your-screen-from-back-stack.html" title="Remove your Screen from the Back Stack" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/10/remove-your-screen-from-back-stack.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QASXsyeSp7ImA9WhdbF0o.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-1111946600268145512</id><published>2011-10-16T11:35:00.001-04:00</published><updated>2011-10-16T11:35:48.591-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-16T11:35:48.591-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="WP7" /><title>Designing an Overlay Message in WP7</title><content type="html">&lt;p&gt;As I continue working, slowly, on the Pay It Square app for Windows Phone 7 one of my points of emphasis is the UI and the design experience.&amp;nbsp; One thing that I have learned is that, unlike Android, WP7 does not give you a whole lot, even with the Toolkit, for certain effects; for example modals and overlays.&lt;/p&gt; &lt;p&gt;This is not a huge problem though, as the XAML gives you an incredible amount of flexibility in designing the look and feel of an application.&amp;nbsp; So, while the controls may not come pre-built, we still have the opportunity to build our own.&amp;nbsp; The following is an example of the Pay It Square Overlay in action:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-NBmAqKARUUU/Tpr5zbStO2I/AAAAAAAAA28/oPT0d5iXtzo/s1600-h/2011-10-17_1114%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-10-17_1114" border="0" alt="2011-10-17_1114" src="http://lh4.ggpht.com/-gKFevtjG1fU/Tpr5zyL62bI/AAAAAAAAA3E/urV-tbbvyso/2011-10-17_1114_thumb%25255B1%25255D.png?imgmax=800" width="232" height="392"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This produces a very nice effect which keeps the user informed and prevents them from making a double request.&amp;nbsp; The code to produce this effect is quite simple.&lt;/p&gt; &lt;p&gt;Microsoft provides the &lt;strong&gt;System.Windows.Controls.Primitives&lt;/strong&gt; namespace which contains all sorts of goodness and pieces that you can use to make your own controls.&amp;nbsp; Among these controls is the &lt;strong&gt;Popup&lt;/strong&gt; class.&amp;nbsp; This class allows you to create the popup effect for the screen, enabling custom dialogs.&amp;nbsp; The class itself is incredibly simple to use:&lt;/p&gt; &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; Popup dialogPopup = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Popup() {Child = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ProgressDialog()};&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; dialogPopup.IsOpen = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;By setting the &lt;em&gt;Child&lt;/em&gt; property of &lt;strong&gt;Popup&lt;/strong&gt; you are telling the Popup which content will “pop up”.&amp;nbsp; I am still trying to figure out a way to get away from referencing &lt;strong&gt;ProgressDialog&lt;/strong&gt;, which is a custom User Control that I created.&lt;/p&gt;
&lt;p&gt;Using the &lt;strong&gt;Popup&lt;/strong&gt; instance will NOT give you the overlay that you see above.&amp;nbsp; The &lt;strong&gt;Popup&lt;/strong&gt; only allows content to be displayed in a “popup” type fashion.&amp;nbsp; You still need to create that effect yourself, this is one of the problems I have with Windows Phone 7.&amp;nbsp; It is nice to have the ability to customize things to your hearts content, but at times, you want to just things out of the box easily.&lt;/p&gt;
&lt;p&gt;The XAML to get this effect is below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lh3.ggpht.com/-Qpip3bFSO5k/Tpr50aTTeSI/AAAAAAAAA3M/6njp9-zb1M8/s1600-h/2011-10-17_1128%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-10-17_1128" border="0" alt="2011-10-17_1128" src="http://lh5.ggpht.com/-fmCajIKRPrc/Tpr503YTYII/AAAAAAAAA3U/XSSfLpammTM/2011-10-17_1128_thumb%25255B1%25255D.png?imgmax=800" width="577" height="250"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The idea here is to create a non-opaque rectangle with a custom filling.&amp;nbsp; This rectangle is locked into the first row and first column of the LayoutRoot Grid.&amp;nbsp; This rectangle is then extended to cover the entire screen.&amp;nbsp; Then a StackPanel is defined after which will place the content on top of the grid.&lt;/p&gt;
&lt;p&gt;From this point, you use the &lt;strong&gt;IsOpen&lt;/strong&gt; property to control whether the Popup content is visible or not.&lt;/p&gt;
&lt;p&gt;As a side note, I don’t fully like this implementation completely because it relies on an externally defined user control. I would prefer to avoid this type of coupling.&amp;nbsp; Still working on that.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-1111946600268145512?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/COEZOnhCuwtFGVryXbHssdGKcvs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/COEZOnhCuwtFGVryXbHssdGKcvs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/COEZOnhCuwtFGVryXbHssdGKcvs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/COEZOnhCuwtFGVryXbHssdGKcvs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/gL7lvSDNVAU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/1111946600268145512/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=1111946600268145512" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/1111946600268145512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/1111946600268145512?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/gL7lvSDNVAU/designing-overlay-message-in-wp7.html" title="Designing an Overlay Message in WP7" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-gKFevtjG1fU/Tpr5zyL62bI/AAAAAAAAA3E/urV-tbbvyso/s72-c/2011-10-17_1114_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/10/designing-overlay-message-in-wp7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FQX0-fSp7ImA9WhdUFEo.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-7781602559427173929</id><published>2011-10-01T09:13:00.001-04:00</published><updated>2011-10-01T09:13:30.355-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-01T09:13:30.355-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>Jay Harris on Going for Performance</title><content type="html">&lt;p&gt;Recently, the West Michigan .NET User Group returned from its August recess with a new location and new meeting time.&amp;nbsp; We presented &lt;a href="http://www.slideshare.net/jayharris"&gt;Jay Harris&lt;/a&gt; and his “Going for Speed” presentation.&amp;nbsp; This talk, as he put it, “is not about performance testing”, it was a presentation about things to look for when analyzing application performance.&lt;/p&gt; &lt;p&gt;I learned quite a bit, especially in regards to what is integrated into Visual Studio.&amp;nbsp; The project I am currently engaged in at Meijer Inc is one where performance will be critical.&amp;nbsp; The Profiler feature especially caught my eye.&amp;nbsp; The ability to run code in a testing scenario and get, line for line, performance analysis was astounding and I can see many uses for the tool.&lt;/p&gt; &lt;p&gt;Jay comes from a background involving Unit Testing and he has taken that approach with testing for performance as well.&amp;nbsp; He talks about using &lt;strong&gt;Stopwatch&lt;/strong&gt; to actually time Unit Tests themselves and allow for Assertions if the test exceeds a set time.&amp;nbsp; This will allow you to measure and know, in an automated fashion, if you application may have performance issues.&amp;nbsp; I found this very interesting, and while a novel concept, incredibly useful.&lt;/p&gt; &lt;p&gt;The presentation was well received.&amp;nbsp; We were worried about attendance due to the situation with New Horizons forcing us out of our previous meeting location.&amp;nbsp; However, our community came through in fine style, with an increase in attendance from previous levels and many new faces.&amp;nbsp; This was very pleasing and encourages us for the future.&lt;/p&gt; &lt;p&gt;Thanks to Jay Harris for coming out.&amp;nbsp; Don’t forget &lt;a href="http://www.grdevday.org"&gt;GRDevDay&lt;/a&gt; is coming up on November 5th, 2011.&amp;nbsp; We have a good number of sponsors and speakers so now we need the most important thing: attendees.&amp;nbsp; Head over to GVDevDay.org and sign up today.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-7781602559427173929?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/asblwkWHpj7prevW9U58QcpvqfM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/asblwkWHpj7prevW9U58QcpvqfM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/asblwkWHpj7prevW9U58QcpvqfM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/asblwkWHpj7prevW9U58QcpvqfM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/2vq9KadTFy4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/7781602559427173929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=7781602559427173929" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/7781602559427173929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/7781602559427173929?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/2vq9KadTFy4/jay-harris-on-going-for-performance.html" title="Jay Harris on Going for Performance" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/10/jay-harris-on-going-for-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MFR3sycCp7ImA9WhdUEUo.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-239035153976224209</id><published>2011-09-27T20:56:00.001-04:00</published><updated>2011-09-27T20:56:56.598-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-27T20:56:56.598-04:00</app:edited><title>Starting my Windows Phone 7 App</title><content type="html">&lt;p&gt;As the Pay It Square Android app continues to gain in popularity I have decided to turn my attention to the other platform I am working to develop my knowledge for: Windows Phone 7.&amp;nbsp; As a .NET programmer I have longed for the ability to use C# and the other features of .NET to create mobile apps, WP7 gives me that chance.&amp;nbsp; I have had a chance to play with the platform in the past and even created a couple simple apps.&amp;nbsp; However, I decided it was time to do something serious and so I started my journey to making the Windows Phone 7 version.&lt;/p&gt; &lt;p&gt;This will be the first part in a series of posts detailing my experiences and thoughts on the platform at different stages.&lt;/p&gt; &lt;h3&gt;Planning&lt;/h3&gt; &lt;p&gt;I started off by planning the data architecture for my application.&amp;nbsp; I am a big believer in using Dependency Injection and Reflection to handle common tasks.&amp;nbsp; Very often with such systems you have to transmit data over the wire in a string based format (JSON, XML).&amp;nbsp; I understand where the rules of not using reflection in mobile systems comes from, I just think when platforms require a Duel Core chip, you can start to throw those sort of rules out the window.&lt;/p&gt; &lt;p&gt;I decided for my design, I wanted to try for a Repository pattern fronted by a Service based middle tier.&amp;nbsp; Basically, my pages would talk through services to repositories which would handle the communication to the web service in either XML or JSON format.&lt;/p&gt; &lt;p&gt;So right at the start, I hit a bump.&amp;nbsp; Whether its due to lack of maturity or just uncertainties about the platform, no one has really come up with a good way to fully integrate DI into the WP7 development experience, and least nothing compared to Guice on Android.&amp;nbsp; I looked at things like Funq and Caliburn.Micro, all of which seem incomplete to me or require more moving parts then I want to maintain.&lt;/p&gt; &lt;p&gt;In the end, I settled for straight Ninject and went about figuring out a way I could integrate this in myself using their WP7 bits. After not finding a pattern I was in love with I decided to work on the UI instead while I pondered good implementation patterns.&lt;/p&gt; &lt;h3&gt;The UI&lt;/h3&gt; &lt;p&gt;In my opinion, one of WP7 strengths is XAML and the level of customization that you can achieve by defining your own templates, this is made even easier with Blend.&amp;nbsp; However, to say this is easy is a bit of a misnomer in my book.&amp;nbsp; Perhaps it is because I am so used to DrawableXML in Android and the simplistic nature to quickly apply common design idioms to controls that I feel like WP7 gives you almost too much.&amp;nbsp; Lets face it, to really make XAML work well, you have to be a decent designer as well.&lt;/p&gt; &lt;p&gt;But I decided to dive in anyway.&amp;nbsp; The thing about WP7 is they do offer you default styles and therefore the ability to automatically get a good look and feel.&amp;nbsp; While this works well for simple apps, step into a more complicated app with a specialized color scheme, such is the case with Pay It Square.&amp;nbsp; Besides, good learning experience.&lt;/p&gt; &lt;h3&gt;Conclusion&lt;/h3&gt; &lt;p&gt;My final resolve was to skip out on data architecture planning and head straight to UI design with a basic concept of what I wanted.&amp;nbsp; The idea here is to establish application flow first, something that I consider very difficult in Windows Phone 7 due to the “difference” in the way the frames are handled.&lt;/p&gt; &lt;p&gt;I find that Microsoft has elected to, not surprisingly, stick with many of the idioms that they perfected from the web.&amp;nbsp; Thus thinking about each screen as a “page” rather then a “screen” makes more sense.&amp;nbsp; The only challenge with this is managing the back stack, since you can no longer mark a screen as finished (as in Android) and have it removed from the stack.&amp;nbsp; All you can rely on is catching an invalid flow movement and redirecting, much like with the back button in web applications.&lt;/p&gt; &lt;p&gt;One has to wonder if this resemblance to the web is intentional and thus represents Microsoft’s fence position between mobile web and native mobile.&amp;nbsp; Only time will tell.&amp;nbsp; For now I am moving through the process of creating the various templates that will comprise my interface.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-239035153976224209?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KjSp0GQ-TDctulGzsanTGXDOUQk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KjSp0GQ-TDctulGzsanTGXDOUQk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KjSp0GQ-TDctulGzsanTGXDOUQk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KjSp0GQ-TDctulGzsanTGXDOUQk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/LvxMSJ0qlBk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/239035153976224209/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=239035153976224209" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/239035153976224209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/239035153976224209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/LvxMSJ0qlBk/starting-my-windows-phone-7-app.html" title="Starting my Windows Phone 7 App" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/09/starting-my-windows-phone-7-app.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEGQXkyeCp7ImA9WhdXGE4.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-873281007128730404</id><published>2011-08-31T19:50:00.001-04:00</published><updated>2011-08-31T19:50:20.790-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-31T19:50:20.790-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>Pay It Square Android Goes LIVE!!</title><content type="html">&lt;p&gt;Today I am finally able to publish the &lt;a href="http://www.payitsquare.com"&gt;Pay It Square Android&lt;/a&gt; application to the Android Marketplace.&amp;nbsp; I learned a lot developing this application as it took place over the course of time where my Android knowledge really blossomed.&lt;/p&gt; &lt;p&gt;The project began in November of 2010 when Brian Anderson of &lt;a href="http://www.ostusa.com"&gt;OST&lt;/a&gt; approached me about helping his company, Develomatic, create an Android version for a site he was working on called Pay It Square.&amp;nbsp; The project seemed interesting and, at the time, I was seeking to leave RCM and OST was a place that I had a strong desire to work at as many of my close friends and mentors had started working there.&lt;/p&gt; &lt;p&gt;After a couple iterations and some heavy redesign both from a code standpoint and UI (I learned how to use Drawable XML and do 9-patch drawing) I began to make substantial progress.&amp;nbsp; I think the biggest thing I learned from this project is how DI can help make a project better.&amp;nbsp; Using Guice I was able to abstract away the business objects and separate out, cleanly.&amp;nbsp; It was an awesome learning experience.&lt;/p&gt; &lt;p&gt;So head out to the Android marketplace and as long as you are in a supported country (the EU, US, Canada, Mexico) and have at least Android 2.1, you are good to go.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-873281007128730404?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/o_GPqb8I3a-toYiE2t5xqyGrpfo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/o_GPqb8I3a-toYiE2t5xqyGrpfo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/o_GPqb8I3a-toYiE2t5xqyGrpfo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/o_GPqb8I3a-toYiE2t5xqyGrpfo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/5uE23zk6VE8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/873281007128730404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=873281007128730404" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/873281007128730404?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/873281007128730404?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/5uE23zk6VE8/pay-it-square-android-goes-live.html" title="Pay It Square Android Goes LIVE!!" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/pay-it-square-android-goes-live.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYHRHw4cSp7ImA9WhdXFU0.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-3056154955802907875</id><published>2011-08-28T00:01:00.001-04:00</published><updated>2011-08-28T00:02:15.239-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-28T00:02:15.239-04:00</app:edited><title>Unit Converter and a Custom Control in WP7</title><content type="html">&lt;p&gt;I recently finished the development on my first Windows Phone 7 app, titled Unit Converter.&amp;nbsp; While the idea is hardly unique, I decided to write one for two reasons 1) it was a good chance to get some hands on experience developing WP7 apps and 2) it was something I needed while traveling through Japan.&lt;/p&gt;
&lt;p&gt;Most of the code in the application is straightforward and easy to understand. There was one obstacle I ran into that I felt was worth blogging about: custom controls.&amp;nbsp; The app supports a number of different units.&amp;nbsp; I needed a way to select these units.&amp;nbsp; I choose to use LoopingSelector control, which is available via the WP7 Toolkit, in the Primitives namespace.&lt;/p&gt;
&lt;p&gt;My first thought was to make these selections available on the screen itself.&amp;nbsp; However, given the way the LoopingSelector displays and the effect it tries to achieve, it just didn’t look right.&amp;nbsp; This is where I drew inspiration from the DatePicker control and how it uses a second page to support the selection.&lt;/p&gt;
&lt;p&gt;My first attempt at this worked, but was pretty flakey.&amp;nbsp; I used a TextBox and whenever it got focus Navigated to the page supporting the selection.&amp;nbsp; After selection the user would “Go Back” to the main page and the unit selected would be shown.&amp;nbsp; The flakiness came in with the management of the Focus.&amp;nbsp; I found it very hard to get ride of the focus once the user returned to the page.&amp;nbsp; This meant the user would have to select somewhere else on the screen.&amp;nbsp; Like I said, flaky.&lt;/p&gt;
&lt;p&gt;It was at this point, drawing upon more inspiration from the DatePicker that I finally achieved a good solution, a custom control.&amp;nbsp; And thankfully, I could use the DatePicker source code from the Toolkit.&lt;/p&gt;
&lt;p&gt;What I ended up doing was creating a custom button, similar to the DatePicker, and internalizing everything.&amp;nbsp; It ended up working quite well.&lt;/p&gt;
&lt;p&gt;First thing to do is to inherit your class from &lt;strong&gt;Control&lt;/strong&gt;.&amp;nbsp; This will give you access to several methods and allow you to use the class in XAML.&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [TemplatePart(Name = ButtonPartName, Type = &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(ButtonBase))]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ConversionUnitPickerBase : Control&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;    &lt;span style="color: #008000"&gt;// code goes here&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The TemplatePart attribute denotes what sort of base type this control “is”.&amp;nbsp; In this case, we are viewing the control as basic button. The actually look of this control is applied through a style, shown here:&lt;/p&gt;&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; padding-right: 5px; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  1:         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Style&lt;/span&gt; &lt;span style="color: #ff0000"&gt;TargetType&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"pickers:ConversionUnitPickerBase"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;Key&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"ConversionUnitPicker"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  2:             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Background"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Value&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{StaticResource PhoneTextBoxBrush}"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  3:             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"BorderThickness"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Value&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"0"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  4:             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Foreground"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Value&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{StaticResource PhoneTextBoxForegroundBrush}"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  5:             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"HorizontalContentAlignment"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Value&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Left"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  6:             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"PickerPageUri"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Value&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"/Pickers/ConversionPicker.xaml"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  7:             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Template"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  8:                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt;  9:                     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ControlTemplate&lt;/span&gt; &lt;span style="color: #ff0000"&gt;TargetType&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"pickers:ConversionUnitPickerBase"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 10:                         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 11:                             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Button&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"PickerButton"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Content&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"This is a Test"&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 12:                                 &lt;span style="color: #ff0000"&gt;Background&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{TemplateBinding Background}"&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 13:                                 &lt;span style="color: #ff0000"&gt;BorderThickness&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{TemplateBinding BorderThickness}"&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 14:                                 &lt;span style="color: #ff0000"&gt;FontFamily&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{TemplateBinding FontFamily}"&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 15:                                 &lt;span style="color: #ff0000"&gt;Foreground&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{TemplateBinding Foreground}"&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 16:                                 &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"72"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;HorizontalContentAlignment&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"{TemplateBinding HorizontalContentAlignment}"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 17:                         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 18:                     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 19:                 &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 20:             &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"&gt; 21:         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;The key thing to look at with this code sample is the &lt;em&gt;Setter.Value&lt;/em&gt; which effectively creates the template.&amp;nbsp; Unfortunately, to this point I have not figured how to apply this style to all controls automatically, as is done in the Toolkit source.&amp;nbsp; For the sake of time and sanity, I simply specified it manually in my XAML:&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;pickers:TemperatureUnitConversionPickerBase&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="sourceUnit"&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;                               &lt;span style="color: #ff0000"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{StaticResource ConversionUnitPicker}"&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;                               &lt;span style="color: #ff0000"&gt;TemperatureType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Celcius"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It would appear, based on the samples, that the way to do this is through themes, but I simply have not figured it out yet.&lt;/p&gt;
&lt;p&gt;Returning to our class which inherits from &lt;strong&gt;Control&lt;/strong&gt; and is decorated with &lt;em&gt;TemplatePart&lt;/em&gt; attribute, the only method that I have found the need to override is &lt;em&gt;OnApplyTemplate&lt;/em&gt; which effectively gets the ball rolling, see below:&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OnApplyTemplate()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// this is a cleanup step&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_mainButton != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         _mainButton.Click -= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RoutedEventHandler(HandleUnitPickerLaunch);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.OnApplyTemplate();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// get a reference to the button we are representing&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     _mainButton = GetTemplateChild(ButtonPartName) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; ButtonBase;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_mainButton != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         _mainButton.Click += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RoutedEventHandler(HandleUnitPickerLaunch);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;         _mainButton.Content = Value;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This approach reminds me a lot of Android, where we are looking up controls based on names and then populating them through a find method.&amp;nbsp; Since this control is really a “super” button, we are only wiring up the click event.&lt;/p&gt;
&lt;p&gt;From this point the implementation is your own.&amp;nbsp; In my case, I choose to make this class abstract so I could inherit it for my specific conversion types (Distance, Weight, Volume, and Temperature).&amp;nbsp; As part of the click handler for the button itself, I had it open my conversion picker, as shown below:&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OpenUnitPicker()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     _applicationContent = PhoneApplicationFrame.Content;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     PhoneApplicationFrame.Navigated += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NavigatedEventHandler(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;        PhoneApplicationFrame_Navigated);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     PhoneApplicationFrame.NavigationStopped += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NavigationStoppedEventHandler(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;        PhoneApplicationFrame_NavigationStoppedOrFailed);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     PhoneApplicationFrame.NavigationFailed += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NavigationFailedEventHandler(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;        PhoneApplicationFrame_NavigationStoppedOrFailed);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     _applicationFrame.Navigate(PickerPageUri);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This code is effectively helping to do the switch, by saving the content of the control before the Navigate.&amp;nbsp; &lt;em&gt;PickerPageUri&lt;/em&gt; is simply the Uri path within the Silverlight application to the XAML page which will allow the user to pick the unit they are using in the conversion.&lt;/p&gt;
&lt;p&gt;We can pass values to this Uri using an interface and the Navigated event, an example is below:&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; PhoneApplicationFrame_Navigated(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; se, NavigationEventArgs e)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (e.Content == _applicationContent)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// close the picker&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         CloseUnitPicker();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_pickerPage == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         _pickerPage = e.Content &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; IUnitPickerPage;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_pickerPage != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;             &lt;span style="color: #008000"&gt;// assign default values to picker page&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;             _pickerPage.ConversionType = ConversionType;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;             _pickerPage.SelectedUnit = GetConversionUnit();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;What is happening here is as we leave the “page”, we track a reference to the next page.&amp;nbsp; Through the casting to an interface we can access properties.&amp;nbsp; We use the same approach for reading the data coming back from the Picker page:&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; CloseUnitPicker()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_applicationFrame != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         _applicationFrame.Navigated -= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NavigatedEventHandler(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;           PhoneApplicationFrame_Navigated);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         _applicationFrame.NavigationFailed -= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NavigationFailedEventHandler(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;           PhoneApplicationFrame_NavigationStoppedOrFailed);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         _applicationFrame.NavigationStopped -= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NavigationStoppedEventHandler(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;           PhoneApplicationFrame_NavigationStoppedOrFailed);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         _applicationFrame = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         _applicationContent = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// selected unit will be null if they hit cancel&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_pickerPage != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; _pickerPage.SelectedUnit != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// get the value through the interface&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;         _mainButton.Content = _pickerPage.SelectedUnit.LongDisplay;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;         SetUnit(_mainButton.Content.ToString());&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;     _pickerPage = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The key lines here are 17 – 22, which take care of reading the data coming back, so long as the user didn’t cancel, which is handled by the null check.&lt;/p&gt;
&lt;p&gt;Writing custom controls is a very powerful tool for your toolbox, I learned this writing Android as well.&amp;nbsp; The ability to customize is essential in mobile development.&amp;nbsp; Always consider the user, the usage, and the native paradigms of the platform when designing an interface.&amp;nbsp; This is a case where being unique may not be a good thing, mobile interfaces are highly specialized.&lt;/p&gt;
&lt;p&gt;I plan to deploy this app after additional testing next week, the source code will be made available here at that time.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-3056154955802907875?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lg-vaQo_NYMTab84xoeP13qwJa8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lg-vaQo_NYMTab84xoeP13qwJa8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lg-vaQo_NYMTab84xoeP13qwJa8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lg-vaQo_NYMTab84xoeP13qwJa8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/QMQLpvI3Enw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/3056154955802907875/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=3056154955802907875" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/3056154955802907875?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/3056154955802907875?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/QMQLpvI3Enw/unit-converter-and-custom-control-in.html" title="Unit Converter and a Custom Control in WP7" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/unit-converter-and-custom-control-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcEQXs9fyp7ImA9WhdQGUo.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-3747033680854581676</id><published>2011-08-21T19:40:00.001-04:00</published><updated>2011-08-21T19:40:00.567-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-21T19:40:00.567-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Technical" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="WP7" /><title>Unit Testing Windows Phone 7</title><content type="html">&lt;p&gt;During my time in Japan one of the most common confusions I had was with units of measurement.&amp;nbsp; Japan being a normal country, uses the metric system, unlike the US with its wacky system of units.&amp;nbsp; Many times, I wish I had Google by my side to do the conversions.&amp;nbsp; To correct this, I started working on app for my Windows Phone 7 that would allow me, without Internet access, to convert to and from all manner of units.&lt;/p&gt; &lt;p&gt;As I started developing it, it became clear that I unit tests would be a huge help because of all of the math being done.&amp;nbsp; But how?&lt;/p&gt; &lt;p&gt;Thanks to this link (&lt;a href="http://dotnet.dzone.com/news/test-driven-development"&gt;http://dotnet.dzone.com/news/test-driven-development&lt;/a&gt;) I came across the Silverlight Unit Testing framework from the Silverlight Toolkit.&amp;nbsp; The link contains all of the direction needed to get going on this.&amp;nbsp; Using it you can effectively use the Windows Phone emulator as a Test GUI.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-FAkuqQL7Mt0/TlGXRwredWI/AAAAAAAAA2g/9CURlIy47oI/s1600-h/2011-08-22_0703%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-08-22_0703" border="0" alt="2011-08-22_0703" src="http://lh5.ggpht.com/-m-qksol4N5E/TlGXSYu6UUI/AAAAAAAAA2k/kR10n4T9x4c/2011-08-22_0703_thumb%25255B1%25255D.png?imgmax=800" width="245" height="414"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Its no NUnit Test Runner, but it gets the point across.&amp;nbsp; Curiously, if you use &lt;em&gt;Assert.AreEqual&lt;/em&gt; and the test fails, you get the exception in the IDE as opposed to it being reported here, which is kind of weird.&amp;nbsp; It still needs some work but it works.&amp;nbsp; This is one of my test methods&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-x8Qh9T1U8EI/TlGXTHx56kI/AAAAAAAAA2o/NaFAEZoGmI8/s1600-h/2011-08-22_0706%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-08-22_0706" border="0" alt="2011-08-22_0706" src="http://lh4.ggpht.com/-VAk5egM9n8Q/TlGXTxkH7gI/AAAAAAAAA2s/5KD6jaw5Pbs/2011-08-22_0706_thumb%25255B1%25255D.png?imgmax=800" width="587" height="402"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As you can see, the framework does nothing more then allow the test results to be shown in the Windows Phone 7 Emulator, the rest is all straight MSTest.&lt;/p&gt; &lt;p&gt;The thing I love about writing code with unit tests, especially code involving math, is you have a degree of confidence it is right.&amp;nbsp; I tend to have a hard time with the whole Red, Green, Refactor model since I tend to write code that does what I want. One of my goals is to work on a team where unit testing is huge and I can learn from smarter people the best way to integrate TDD into my coding style.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-3747033680854581676?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/T5MH1chmTDTj6vnnxoOgQNKuJMA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T5MH1chmTDTj6vnnxoOgQNKuJMA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/T5MH1chmTDTj6vnnxoOgQNKuJMA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T5MH1chmTDTj6vnnxoOgQNKuJMA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/zenQjMfGo8k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/3747033680854581676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=3747033680854581676" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/3747033680854581676?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/3747033680854581676?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/zenQjMfGo8k/unit-testing-windows-phone-7.html" title="Unit Testing Windows Phone 7" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-m-qksol4N5E/TlGXSYu6UUI/AAAAAAAAA2k/kR10n4T9x4c/s72-c/2011-08-22_0703_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/unit-testing-windows-phone-7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBRno5fCp7ImA9WhdQF00.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-9041850356218861063</id><published>2011-08-18T19:10:00.001-04:00</published><updated>2011-08-18T19:10:57.424-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-18T19:10:57.424-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Android Tools r12 breaks Emulator control</title><content type="html">&lt;p&gt;As it figures, I got my new Lenovo laptop this week after returning from Japan, and during the Android installation I could not get the emulator to run.&amp;nbsp; In fact, IntelliJ also would not tell me what the problem was, it would just simply sit and spin and the emulator screens would not appear.&lt;/p&gt; &lt;p&gt;I started the AVD Manager itself and started one of my emulators from it directly.&amp;nbsp; I received the following error:&lt;/p&gt; &lt;p&gt;&lt;em&gt;Invalid parameter: Files&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Now, if you look at the emulator documentation you see there is no such parameter even close to this.&amp;nbsp; After doing some Googling I came across this page:&lt;/p&gt; &lt;p&gt;&lt;a href="http://code.google.com/p/android/issues/detail?id=18317"&gt;http://code.google.com/p/android/issues/detail?id=18317&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So basically, this is a new bug that was introduced in r12 (the most recent release of the Android Tools).&amp;nbsp; The bug affects machines where the Android SDK path has a space in it, for example:&lt;/p&gt; &lt;p&gt;c:\Program Files (x86)\Android\Android-SDK&lt;/p&gt; &lt;p&gt;To fix this you have two options&lt;/p&gt; &lt;p&gt;1) Use the shorthand notation to reference the path, Windows uses this a lot under the hood, in my case the path becomes: c:\Progra~2\Android\Android-SDK.&amp;nbsp; I tried this but, IntelliJ does really respect these paths and expands them out to what they actually are.&amp;nbsp; I have read that Eclipse users are finding more success with this approach.&amp;nbsp; But it didn’t work for me.&lt;/p&gt; &lt;p&gt;2) I used this solution.&amp;nbsp; Basically, move the Android SDK out of the Program Files and somewhere else where the space is removed.&amp;nbsp; I admit, when I did this, I received much quirkiness in IntelliJ.&amp;nbsp; What I ended up having to do was uninstalled the SDK and reinstall at the new path by downloading the installer from &lt;a title="http://dl.google.com/android/installer_r12-windows.exe" href="http://dl.google.com/android/installer_r12-windows.exe"&gt;http://dl.google.com/android/installer_r12-windows.exe&lt;/a&gt;.&amp;nbsp; Just specify a different path when prompted.&amp;nbsp; I choose: c:\Android.&lt;/p&gt; &lt;p&gt;You will still need to update your IDE to know this new path, but it will correct the problem&lt;/p&gt; &lt;p&gt;Google is promising an overriding fix for the future, not sure when though.&amp;nbsp; In the mean time, I hope this helps.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-9041850356218861063?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MJ5dyHCkv65lNu8VMvYtbqRfkho/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MJ5dyHCkv65lNu8VMvYtbqRfkho/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MJ5dyHCkv65lNu8VMvYtbqRfkho/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MJ5dyHCkv65lNu8VMvYtbqRfkho/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/0rJU-US0yq4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/9041850356218861063/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=9041850356218861063" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/9041850356218861063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/9041850356218861063?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/0rJU-US0yq4/android-tools-r12-breaks-emulator.html" title="Android Tools r12 breaks Emulator control" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/android-tools-r12-breaks-emulator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QFRXcyfSp7ImA9WhdQFU0.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-7386373321901165702</id><published>2011-08-16T09:28:00.001-04:00</published><updated>2011-08-16T09:28:34.995-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-16T09:28:34.995-04:00</app:edited><title>Day 12: The Trip Home</title><content type="html">&lt;p&gt;You knew it had to happen.&amp;nbsp; Everything went so well throughout the entire trip you knew bad things were bound to happen eventually.&amp;nbsp; Day 12 could also be titled to the VERY long day from hell.&lt;/p&gt; &lt;p&gt;The day started normal enough. As per my plan I awoke at 9am and headed downstairs to the breakfast buffet at the Marriott.&amp;nbsp; I knew I would be traveling for almost an entire day (though I had no idea how stressful it would be) so a big breakfast was essential.&amp;nbsp; Tip: I tried numerous times to eat scrambled eggs in Japan but they are simply too runny, I wouldn’t order them if you don’t like them that way.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-JJC0v6p3ELI/TkpwYXVmXfI/AAAAAAAAA1U/p3ssBMi3MI8/s1600-h/P8140001_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8140001_resize" border="0" alt="P8140001_resize" src="http://lh4.ggpht.com/-xbZ4HNFJ91o/TkpwYkArGGI/AAAAAAAAA1Y/TTKGVKdEgos/P8140001_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="445" height="344"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Following this, I returned to my room to relax until 11am which is the designated time I had picked to head out (the hotel checkout is 12pm).&amp;nbsp; My room looked pretty awful I must say, though I didn’t have housekeeping the day before, so I expected as much &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-4FoQC213tRQ/TkpwY0lJyxI/AAAAAAAAA1c/gZ0BivyVeP0/wlEmoticon-smile%25255B2%25255D.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-WwhKn25SuwQ/TkpwZWPWr7I/AAAAAAAAA1g/w1P9LFJtUho/s1600-h/P8140002_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8140002_resize" border="0" alt="P8140002_resize" src="http://lh5.ggpht.com/-6I2tY2xdvsA/TkpwZ34XfII/AAAAAAAAA1k/tqnEoXx6xmM/P8140002_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="445" height="344"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;At 11:00am it began.&amp;nbsp; After showering, dressing, and triple checking that EVERYTHING was packed I began my journey leaving the comforts of Marriott and hopefully ending at my parents house in Ann Arbor, MI.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-w4fAr8WV03g/TkpwaOZ7jYI/AAAAAAAAA1o/AUVCBosGank/s1600-h/P8140003_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8140003_resize" border="0" alt="P8140003_resize" src="http://lh3.ggpht.com/-Za8WrUlTZf8/TkpwaUkTnvI/AAAAAAAAA1s/ZrZg3KG1css/P8140003_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="442" height="342"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I had decided to take the same route back to Narita as I took to get to Tokyo, so I took the Hibiya subway line to Ueno where I purchased a ticket for the 1pm Skyliner (I arrived around 12:15pm, so I did have to wait).&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-K0xtu5uyANk/TkpwawddoEI/AAAAAAAAA1w/9DlrB-kkgyo/s1600-h/P8140004_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8140004_resize" border="0" alt="P8140004_resize" src="http://lh4.ggpht.com/-SLVS_GRxGOI/TkpwcjQfKsI/AAAAAAAAA10/b2KbwWiKhD8/P8140004_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="456" height="352"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The train arrived perfectly on time and I was on my way in great comfort.&amp;nbsp; I even got to see the new Tokyo Sky Tree Tower, which is the new central hub for telecommunications, replacing Tokyo Tower.&amp;nbsp; The thing is huge, but not yet open.&amp;nbsp; It will open next year, and I will probably visit Japan again just to see it &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-4FoQC213tRQ/TkpwY0lJyxI/AAAAAAAAA1c/gZ0BivyVeP0/wlEmoticon-smile%25255B2%25255D.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-KgykWcarmgg/Tkpwc2T9dII/AAAAAAAAA14/X5V3RFU9BG0/s1600-h/P8140008_resize%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8140008_resize" border="0" alt="P8140008_resize" src="http://lh4.ggpht.com/-rRlJzwX38Tg/Tkpwdapw4iI/AAAAAAAAA18/wCuTyR4Eolg/P8140008_resize_thumb%25255B2%25255D.jpg?imgmax=800" width="408" height="320"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-1hGq24hA12M/TkpwdqKQVaI/AAAAAAAAA2A/1VDCLAozois/s1600-h/P8140007_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8140007_resize" border="0" alt="P8140007_resize" src="http://lh5.ggpht.com/-NbcL3RYoKNY/TkpweB8u5II/AAAAAAAAA2E/xSq0tH-Qaxo/P8140007_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="449" height="347"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This is where things began to go wrong.&amp;nbsp; There are three terminals at Narita. (One for Domestic, Two for International).&amp;nbsp; I was 95% sure which terminal to go to, but I decided to have Mami check to be absolutely sure.&amp;nbsp; She did confirm I was right but also informed me that my Air Canada flight was delayed 3 hours!!!&amp;nbsp; Given I only had a 1hr 30m layover in Toronto, this was an immense problem.&lt;/p&gt; &lt;p&gt;So I arrived at Narita and headed to the Air Canada desk.&amp;nbsp; The thing I don’t like about Narita are the crazy hours the reps work.&amp;nbsp; They don’t open their stations until about 2hrs before their first flight, so I had to wait 2hrs (first flight was at 5pm to Vancouver and I arrived at about 1pm).&lt;/p&gt; &lt;p&gt;The reps were aware of the problem with my flight, that was good, but were not sure what to do since they didn’t have any space on other flights through Star Alliance out of Japan.&amp;nbsp; Finally, they found space on an American Airlines flight to Chicago.&amp;nbsp; I had no idea they could simply issue a ticket for a completely different airline, but they did, as well as a ticket from Chicago to Detroit.&lt;/p&gt; &lt;p&gt;Unfortunately, as I had arrived at Narita International Terminal 1 and American flew out of International Terminal 2.&amp;nbsp; So I had to carry all of my bags to a different terminal and HOPE that American and United accepted my ticket from Air Canada.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-UPTeqWFYAZ0/TkpwelIev8I/AAAAAAAAA2I/DCA9vkrGSok/s1600-h/P8150013_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8150013_resize" border="0" alt="P8150013_resize" src="http://lh4.ggpht.com/-FKouB7DPUjQ/TkpwfGuBOGI/AAAAAAAAA2M/LRlX_vLIBXk/P8150013_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="467" height="361"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thankfully, American accepted the ticket request from Air Canada, but told me I would have to wait till I got to Chicago to see if United would accept my ticket request and let me travel to Detroit.&amp;nbsp; So I left the ticket counter with only one boarding pass and stressed about whether I would end up stuck in Chicago; a lot can happen during a 11hr flight.&lt;/p&gt; &lt;p&gt;Thankfully none of that came to pass.&amp;nbsp; It was interesting in Chicago, going through Customs (they must have had 4 planes land and about a 100 US citizens returning) and dropping my checked luggage off at Terminal 5, taking a train to Terminal 1 and getting a boarding pass for the plane my luggage was heading for.&amp;nbsp; So just to be clear, I essentially put my luggage on the plane BEFORE I was sure I was going to be on the plane…&lt;/p&gt; &lt;p&gt;Anyway, I reached the gate at O’Hare and waited for the flight to Detroit.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-urJc5l6_acA/TkpwfQcVa9I/AAAAAAAAA2Q/GIFmv0OGJfU/s1600-h/P8150016_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8150016_resize" border="0" alt="P8150016_resize" src="http://lh6.ggpht.com/-g8-UNy0be2o/TkpwfvoxU7I/AAAAAAAAA2U/D_u9n8Q2N5g/P8150016_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="444" height="343"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Interestingly, this plane took off only 15m after my flight from Tokyo took off (630 to head for Detroit, 615 to head for Chicago); always love how going back across the date line screws with your head.&amp;nbsp; The flight to Detroit was awful. Not because of United but because I had easily the loudest crying kid I have EVER dealt with on a plane before, and he was sitting right in front of me.&amp;nbsp; New Rule: If I ever had kids they will not go ANYWHERE near a plane until AT LEAST the age of 5.&lt;/p&gt; &lt;p&gt;But I arrived in Detroit at 830pm, I didn’t even try to calculate how long I had been traveling.&amp;nbsp; Of course, Detroit was a slow as ever with getting the luggage out, and it wasn’t helped by the fact that since I put my luggage on the plane BEFORE I had a ticket I wondered if it would even be there.&lt;/p&gt; &lt;p&gt;But I eventually did get it and Mom even took a picture of me at the end of my LONG journey back home (still not complete until I drive to Grand Rapids).&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-9-BkAkrapoY/TkpwgPbia2I/AAAAAAAAA2Y/jlufPbuAHeo/s1600-h/P8150018_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8150018_resize" border="0" alt="P8150018_resize" src="http://lh5.ggpht.com/-Pw2Abw1QOdA/TkpwgiEc2ZI/AAAAAAAAA2c/csZGfW67LRE/P8150018_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="520" height="402"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;One thing this journey has taught me is, I will NEVER EVER fly Air Canada again.&amp;nbsp; Just totally awful and incompetent.&amp;nbsp; I have to wonder why they delayed the second flight, hopefully not because of the media player issue that delayed my flight to Tokyo.&lt;/p&gt; &lt;p&gt;But I shouldn’t focus on the negatives.&amp;nbsp; This was a great trip overflowing with memories and the people I met.&amp;nbsp; I love Japan and I love the Japanese.&amp;nbsp; The trip had its ups and downs and I am glad to be home but, make no mistake, I will return to Japan in the future &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-4FoQC213tRQ/TkpwY0lJyxI/AAAAAAAAA1c/gZ0BivyVeP0/wlEmoticon-smile%25255B2%25255D.png?imgmax=800"&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-7386373321901165702?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GrhN-CmqfoLdyekFyVYHa09tDno/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GrhN-CmqfoLdyekFyVYHa09tDno/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GrhN-CmqfoLdyekFyVYHa09tDno/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GrhN-CmqfoLdyekFyVYHa09tDno/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/fgQTebuzf7A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/7386373321901165702/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=7386373321901165702" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/7386373321901165702?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/7386373321901165702?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/fgQTebuzf7A/day-12-trip-home.html" title="Day 12: The Trip Home" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-xbZ4HNFJ91o/TkpwYkArGGI/AAAAAAAAA1Y/TTKGVKdEgos/s72-c/P8140001_resize_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-12-trip-home.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIEQH0ycCp7ImA9WhdQFEs.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-3448832804685279810</id><published>2011-08-15T22:58:00.001-04:00</published><updated>2011-08-15T22:58:21.398-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-15T22:58:21.398-04:00</app:edited><title>Day 11: Sad Goodbyes and Final Sightseeing</title><content type="html">&lt;p&gt;What a trip it has been!!! Hiroshima, Kyoto, Fuji, Tokyo, Osaka, and everything in between, I could not have asked for more.&amp;nbsp; Alas, all good things must come to an end.&amp;nbsp; I let the girls sleep in as late as possible this morning before surrendering their room to Marriott.&lt;/p&gt; &lt;p&gt;We were all happy, still sore from the Fuji climb (except Mami cause she is just weird), and sad to be parting ways.&amp;nbsp; Mari was going to stay a night with Mami in Fussa while I completed one final day of sightseeing.&amp;nbsp; I went with them to Tokyo station where we said our final goodbyes.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-UJQtaKNiFNc/TkncqN6gAbI/AAAAAAAAAz4/Bz2NHFg2TCs/s1600-h/IMG_1050_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1050_resize" border="0" alt="IMG_1050_resize" src="http://lh3.ggpht.com/-OD0k-TwaEaQ/Tkncqlx7rfI/AAAAAAAAAz8/Iybq38QN1xM/IMG_1050_resize_thumb1.jpg?imgmax=800" width="521" height="359"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Truly sad, I am not sure when I will see them again, Mami and I possibly might hang out on vacation in Hawaii next year, but that isnt confirmed yet at all.&amp;nbsp; Mari MIGHT be traveling to the US and thus has promised to visit me if she is nearby, so well see.&amp;nbsp; One thing is for sure, I wont be going back to Japan for pleasure for a few years.&lt;/p&gt; &lt;p&gt;Once I parted ways with the girls, I headed for the mecha of geekdom: Akihabara or Akiba.&amp;nbsp; This center of all things anime is a place I always make a point to visit when I am in Japan.&amp;nbsp; Where else could a place like ‘Gundam Café’ actually survive more then a week &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-aX3C55TLJUo/Tkncq7kWtSI/AAAAAAAAA0A/PO70klmIvZk/wlEmoticon-smile2.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Sf3CO6QZRqU/TkncrHriDzI/AAAAAAAAA0E/CdO4Bv1iPsk/s1600-h/IMG_1051_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1051_resize" border="0" alt="IMG_1051_resize" src="http://lh4.ggpht.com/-cqVwOVF_aBc/Tkncrj5wh9I/AAAAAAAAA0I/x4M47IDFiCY/IMG_1051_resize_thumb1.jpg?imgmax=800" width="515" height="355"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;And, it being the center of geekdom, a Yodobashi Camera is required&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-1QXlD51xFow/Tkncr7QPOhI/AAAAAAAAA0M/tSncZJufrsE/s1600-h/IMG_1056_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1056_resize" border="0" alt="IMG_1056_resize" src="http://lh3.ggpht.com/-I26jt0mOR44/TkncsBUVF0I/AAAAAAAAA0Q/wHnjX6W8QDQ/IMG_1056_resize_thumb1.jpg?imgmax=800" width="494" height="341"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I was able to purchase a new digital photo frame to hold the pictures from this trip.&amp;nbsp; I always make it a point to make one large electronics purchase when I am in Japan, since its cheaper then the States in most cases, since a lot of the electronics are literally made in Japan, not China.&lt;/p&gt; &lt;p&gt;Afterwards, I did some walking around Electric Town and got some pics of the various shops in the area include a Maid Café.&amp;nbsp; For the unaware, a recent trend in Japanese dining is a small café that features pretty Japanese girls dressed in maid outfits serving you drinks and beverages.&amp;nbsp; I guess this is to live out some mental fantasy guys have, but this is Japan, weirdness is part of the culture &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-aX3C55TLJUo/Tkncq7kWtSI/AAAAAAAAA0A/PO70klmIvZk/wlEmoticon-smile2.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-QXyWAzpCfz8/TkncsiGQknI/AAAAAAAAA0U/s6-pTbWGwcI/s1600-h/IMG_1060_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1060_resize" border="0" alt="IMG_1060_resize" src="http://lh3.ggpht.com/-Un65jO95tyY/TkncswpasGI/AAAAAAAAA0Y/sNHUJfnlOeQ/IMG_1060_resize_thumb1.jpg?imgmax=800" width="520" height="359"&gt;&lt;/a&gt;&lt;a href="http://lh3.ggpht.com/-vWQADB9GxpM/TknctQoUK1I/AAAAAAAAA0c/H7m1ODcW3pQ/s1600-h/IMG_1063_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1063_resize" border="0" alt="IMG_1063_resize" src="http://lh6.ggpht.com/-EQT0VthYVBY/TknctgwiZ_I/AAAAAAAAA0g/5MDoS7PcrxM/IMG_1063_resize_thumb1.jpg?imgmax=800" width="508" height="350"&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-u1kjugYpaTI/TkncuFH3NsI/AAAAAAAAA0k/TZd4K9L0bnQ/s1600-h/IMG_1064_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1064_resize" border="0" alt="IMG_1064_resize" src="http://lh4.ggpht.com/-g0JvIp9APHU/TkncuQ4VWbI/AAAAAAAAA0o/y864wr96TSA/IMG_1064_resize_thumb1.jpg?imgmax=800" width="523" height="361"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As I journeyed to the Tokyo Metro station for the Hibiya line I accidentally found something really cool: an Anime figure display.&amp;nbsp; Anime, being so popular in Japan, has a deep cult following and people will be meticulous in models of various mechs or characters from these animes.&amp;nbsp; My favorite figurine was of the VF-25 ‘Messiah’ Custom, flown by Alto Saotome in the Macross Frontier series.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-QYsO-BmxApA/Tkncux0bdZI/AAAAAAAAA0s/eiMh_Jb_Zks/s1600-h/IMG_1068_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1068_resize" border="0" alt="IMG_1068_resize" src="http://lh3.ggpht.com/-E4onq7a7eWE/TkncvDrNKLI/AAAAAAAAA0w/YnBrJYBDWuE/IMG_1068_resize_thumb1.jpg?imgmax=800" width="550" height="379"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I love Macross, it has some of the best combat scenes in any anime EVER!!! And the whole three stage transformation of the VF fighters is just sick.&amp;nbsp; See Macross Zero if you don’t believe me.&lt;/p&gt; &lt;p&gt;So after I geeked out in Akiba, I headed back to the hotel to plan for the final stage of sightseeing.&amp;nbsp; Many tourists fall into the trap of visiting the Tokyo Tower to get a view of Tokyo from high up.&amp;nbsp; But there is another place, and its free, that you can get a good view of Tokyo: The Tokyo Metropolitan Government building in Shinjuku.&amp;nbsp; 45 stories high, the top floor is available to tourists and provides breathtaking views.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-k5wNM_ZduLA/TkncvjuZG_I/AAAAAAAAA00/FGmvVQEaBQQ/s1600-h/IMG_1122_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1122_resize" border="0" alt="IMG_1122_resize" src="http://lh4.ggpht.com/-qlynsyGgqYw/Tkncw-M7QiI/AAAAAAAAA04/gayKDu3f3qA/IMG_1122_resize_thumb1.jpg?imgmax=800" width="538" height="371"&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-udZIZhfu1yo/TkncxTZGzhI/AAAAAAAAA08/3w9nqKLPl3g/s1600-h/IMG_1135_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1135_resize" border="0" alt="IMG_1135_resize" src="http://lh3.ggpht.com/-ht7OoB5NC6c/Tkncxt7rZhI/AAAAAAAAA1A/miYweeMhtJc/IMG_1135_resize_thumb1.jpg?imgmax=800" width="536" height="370"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Unfortunately, there is one draw back to taking pictures here.&amp;nbsp; In the day time its not a problem, but they don’t keep the interior dark so taking pictures at night is very difficult cause of the light inside the tower vs the outside.&amp;nbsp; I don’t know if Tokyo Tower is better for night, I have never tried.&amp;nbsp; I do know that next year, the point will be moot with the completion of the Tokyo Sky Tree.&amp;nbsp; It’s a new tower, that is replacing Tokyo Tower as the main transmission line for city communications.&amp;nbsp; The reason: the buildings in the city haven’t gotten so tall they affect the signals and communications ability within the city.&lt;/p&gt; &lt;p&gt;So, I learned last year about Odaiba.&amp;nbsp; This is the portion of Tokyo that is comprised of recovered land, or land that was created in Tokyo bay to meet the ever expanding real estate needs of Tokyo.&amp;nbsp; This year I learned that not only is the place cool as hell still, but Tokyo has made it easy for us guys to know where to take a girl on a date.&amp;nbsp; This place is absolutely perfect and seems designed for it, honestly, I felt out of place being by myself surrounded by couples.&amp;nbsp; But how can I complain, I just spent the last week hanging out with two pretty Japanese girls in Mami and Mari &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-aX3C55TLJUo/Tkncq7kWtSI/AAAAAAAAA0A/PO70klmIvZk/wlEmoticon-smile2.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;But, the biggest reason I go to Odaiba is the scenery, it gives you some perfectly unobstructed views from Tokyo Bay of the coast around Minato-ku and the Rainbow Bridge.&amp;nbsp; It also shows off United States of Odaiba, which is a running joke among the Japanese.&amp;nbsp; I still say unless you make the place totally bankrupt and full of itself, it doesn’t represent the US well enough.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-gUFvsbXJjSQ/TkncyGv4OkI/AAAAAAAAA1E/-nUXnZcY0po/s1600-h/IMG_1160_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1160_resize" border="0" alt="IMG_1160_resize" src="http://lh4.ggpht.com/-qzFe09cCp_g/TkncySS9hGI/AAAAAAAAA1I/CH8CbfYCZZU/IMG_1160_resize_thumb1.jpg?imgmax=800" width="522" height="360"&gt;&lt;/a&gt;&lt;a href="http://lh4.ggpht.com/-GOyD2_smsnM/TkncyurA4wI/AAAAAAAAA1M/Uph_KDV694I/s1600-h/IMG_1173_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1173_resize" border="0" alt="IMG_1173_resize" src="http://lh3.ggpht.com/-MGGmUu0Cvbg/TknczP6JFgI/AAAAAAAAA1Q/NcQCrTgV_EI/IMG_1173_resize_thumb1.jpg?imgmax=800" width="526" height="363"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This concluded the sightseeing that I wanted to accomplish and so I returned to the hotel ready to head back to America and return to life.&amp;nbsp; I feel kind of sad to be leaving, I really love it here, but I suppose you are not supposed to want to leave a vacation, if it’s a good one, and this one was beyond good.&lt;/p&gt; &lt;p&gt;I don’t know when I will return to Tokyo, but I know that I will in the future.&amp;nbsp; There is just too much I love about the city to never come back.&amp;nbsp; I really want to see Mami and Mari again and the view from the Sky Tree is going to be awesome.&amp;nbsp; Also, while my camera was more then adequate for my picture taking needs, it is clear that I need more lenses, more equipment, and a better understanding if I want to capture the pictures I want to capture.&amp;nbsp; These are all good, but they just don’t capture what the eye see’s; perhaps that impossible but I want to get as close as I can.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-3448832804685279810?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KH5fJhiDd4Cs53h70m9F3T_6FT4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KH5fJhiDd4Cs53h70m9F3T_6FT4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KH5fJhiDd4Cs53h70m9F3T_6FT4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KH5fJhiDd4Cs53h70m9F3T_6FT4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/9Fgki18d85M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/3448832804685279810/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=3448832804685279810" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/3448832804685279810?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/3448832804685279810?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/9Fgki18d85M/day-11-sad-goodbyes-and-final.html" title="Day 11: Sad Goodbyes and Final Sightseeing" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-OD0k-TwaEaQ/Tkncqlx7rfI/AAAAAAAAAz8/Iybq38QN1xM/s72-c/IMG_1050_resize_thumb1.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-11-sad-goodbyes-and-final.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcFSH0zeyp7ImA9WhdQE0Q.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-808419755556619853</id><published>2011-08-15T03:40:00.001-04:00</published><updated>2011-08-15T03:40:19.383-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-15T03:40:19.383-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 9 &amp; 10: The Climb</title><content type="html">&lt;p&gt;The central part of this whole trip to Japan was the climb of Mt. Fuji.&amp;nbsp; Mt. Fuji is Japan’s highest and most sacred mountain, those who have studied Japan’s culture and history know that the mountain has played a vital role in many of the cultural happenings in Japan.&amp;nbsp; My goal was to climb it, 12,389ft.&amp;nbsp; Initially, I had wanted to do this without a guide or help, I figured, I could do it.&amp;nbsp; However, the girls who I had asked to come (Megumi, Mami, and Mari) insisted on a guide to make sure nothing bad happened.&amp;nbsp; So, with that in mind, I asked them to set something up.&lt;/p&gt; &lt;p&gt;Following my return to Tokyo, I stayed in the Prince Sakura Hotel in Shinagawa.&amp;nbsp; This location was chosen because Shinagawa and Shinjuku (where the trip began from) are both stops on the Yamanote line.&amp;nbsp; I awoke early in the morning in Shinagawa, got into some of my hiking gear, and heading for Shinjuku.&amp;nbsp; I was a bit tardy getting there b/c of rush hour in Japan but we made it and caught the bus.&lt;/p&gt; &lt;p&gt;The bus ride was crazy since we got caught in a HUGE traffic jam and ended up arriving at Station 5 about an hour late.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-uvsKb8q1yO4/TkcVrb0o0VI/AAAAAAAAAww/qQjN2t_T3_o/s1600-h/IMG_0833_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0833_resize" border="0" alt="IMG_0833_resize" src="http://lh6.ggpht.com/-r-ZvnguUe_U/TkcVr17j6TI/AAAAAAAAAw0/6mf-NztMZyY/IMG_0833_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="507" height="350"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Once we arrived at the station though, we were given about an hour and a half to repack our things and finish getting ready.&amp;nbsp; The fifth station (Kawaguchiko) is the merge point for several other trails which start lower.&amp;nbsp; It probably the best equipped of all the stations and the highest one accessible by road, hence why it is the most common starting point.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-tf3RHgsDW9A/TkjNCS-M3zI/AAAAAAAAAw8/gsjXaFQ2tUg/s1600-h/IMG_0837_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0837_resize" border="0" alt="IMG_0837_resize" src="http://lh4.ggpht.com/-nU_DN243bSk/TkjNCwB4D7I/AAAAAAAAAxA/RXWQCec2vWc/IMG_0837_resize_thumb1.jpg?imgmax=800" width="504" height="348"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Around 2:00pm our hike began and immediately, despite the cloud cover, you would see just beautiful landscape shots visible from the current elevation (7,546ft) as the clouds opened up.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-RKGrnMcpnAw/TkjNDu_vxqI/AAAAAAAAAxE/zfe_mtXq-10/s1600-h/IMG_0854_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0854_resize" border="0" alt="IMG_0854_resize" src="http://lh6.ggpht.com/-m6KWg1kSWxE/TkjND8eG48I/AAAAAAAAAxI/pvqMWts6dEQ/IMG_0854_resize_thumb1.jpg?imgmax=800" width="513" height="354"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The ground here is very gray and you can tell affected by the elements.&amp;nbsp; I say this because as you get further up and above the clouds you no longer see the effects of rain on the stones so they are a different color.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-f6p4VtwCDrI/TkjNETqM5ZI/AAAAAAAAAxM/PnuQwlwpRt4/s1600-h/IMG_0866_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0866_resize" border="0" alt="IMG_0866_resize" src="http://lh3.ggpht.com/-Sx3nl_DLfU4/TkjNE7k31eI/AAAAAAAAAxQ/68Q6vUDkhCg/IMG_0866_resize_thumb1.jpg?imgmax=800" width="501" height="346"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We made it to the 6th station after about an hour of climbing so, 3:15pm Japan time. I didn’t realize it yet, but this would be one of the greatest sights for me when I made my way down.&amp;nbsp; In fact, if you look in the picture above you see people heading the opposite direction, if we only knew &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/-WHOGe1cK5d4/TkjNFVBwKKI/AAAAAAAAAxU/mfD6LlSHIn4/wlEmoticon-smile2.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;As you can see from the pictures, as we hit the 6th station (~8,000ft) we were starting to encounter the clouds, pretty neat stuff.&amp;nbsp; The air wasn’t too bad at this point.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-14Mn3p4pJWA/TkjNF_uVs4I/AAAAAAAAAxY/c5E3e2rnWpY/s1600-h/IMG_0876_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0876_resize" border="0" alt="IMG_0876_resize" src="http://lh4.ggpht.com/-95WcAlyr7Tc/TkjNGOiD-fI/AAAAAAAAAxc/wP_yn3mM0no/IMG_0876_resize_thumb1.jpg?imgmax=800" width="482" height="333"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We took a slight break here as everyone was pretty tired going from a bus ride to climbing so quickly, and not being used to it.&lt;/p&gt; &lt;p&gt;Throughout the course of the hike you can see areas where the administrators have attempted to make the trail easier by blocking off rocks or gravel to make the trail more passable, often times they are made into stairs.&amp;nbsp; Personally, I would prefer a ramp cause some of these “stairs” are not that even in height and made carrying my gear harder and killed my knees on the way down.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-ZGKoCtSy_ZA/TkjNGpfuTZI/AAAAAAAAAxg/gb1qlDYljS4/s1600-h/IMG_0885_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0885_resize" border="0" alt="IMG_0885_resize" src="http://lh5.ggpht.com/-vVp8eZ8kZus/TkjNHPiAP7I/AAAAAAAAAxk/WVAHSG9bXvU/IMG_0885_resize_thumb1.jpg?imgmax=800" width="465" height="321"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here is a view up from the sixth station, very daunting, and you cant even see the peak in these shots yet.&lt;/p&gt; &lt;p&gt;‘&lt;a href="http://lh4.ggpht.com/-Ac9h1tEbsmY/TkjNHp-5N8I/AAAAAAAAAxo/rQFAJlWPxrs/s1600-h/IMG_0894_resize6.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0894_resize" border="0" alt="IMG_0894_resize" src="http://lh5.ggpht.com/-rZp_N1R70-0/TkjNIBDABKI/AAAAAAAAAxs/pVO6-jsiuRE/IMG_0894_resize_thumb2.jpg?imgmax=800" width="479" height="331"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-tc-vW3boJWg/TkjNIvaeEGI/AAAAAAAAAxw/v2_QXVyc7Ns/s1600-h/IMG_0906_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0906_resize" border="0" alt="IMG_0906_resize" src="http://lh3.ggpht.com/-hV2ApSBOPS0/TkjNJNAuRxI/AAAAAAAAAx0/JyqILn8f8aE/IMG_0906_resize_thumb1.jpg?imgmax=800" width="481" height="332"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As we got higher the terrain became much more dangerous and difficult.&amp;nbsp; The trail would effectively turn into craggy rocks where footing became everything.&amp;nbsp; This is where if you don’t have good shoes for climbing you are going to be in a world of hurt.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-cK9hDreN5go/TkjNJn2l0WI/AAAAAAAAAx4/DkDOn3_Q-VQ/s1600-h/IMG_0918_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0918_resize" border="0" alt="IMG_0918_resize" src="http://lh4.ggpht.com/--vlxvCoP5aE/TkjNKU8-YyI/AAAAAAAAAx8/kYg7_1gs-lE/IMG_0918_resize_thumb1.jpg?imgmax=800" width="501" height="346"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I mean, it was literally one slip and you would probably end up badly hurt.&amp;nbsp; And as we got closer to the top, these rocks were loose and we were climbing in the dark, I am amazed that no one around us got hurt.&amp;nbsp; Key here was to take your time, bend over and use your hand, and really rely on your climbing sticks.&lt;/p&gt; &lt;p&gt;The 8th station along the trail is not centrally located at one particular elevation, but rather spread out across many elevations.&amp;nbsp; This is likely done to reduce crowding.&amp;nbsp; These stations normally features small mountain huts with food, supplies (oxygen), and beds for wearing travelers.&amp;nbsp; We hit ours (second highest) at about 8:00pm.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-wVC_P7Ym7As/TkjNKs-HL6I/AAAAAAAAAyA/yGsJwIDz0_E/s1600-h/IMG_0960_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0960_resize" border="0" alt="IMG_0960_resize" src="http://lh3.ggpht.com/-tGMX5kZ5R_I/TkjNLH7OIWI/AAAAAAAAAyE/Izbc63IfPnc/IMG_0960_resize_thumb1.jpg?imgmax=800" width="508" height="350"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;They provided us with a small meal before we laid down for about 5hrs of (much needed) sleep.&amp;nbsp; Wasn’t much in the way of space, but given the journey to that point, we were thankful for anything we could get.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-KCr8UFYDuow/TkjNLqZyVzI/AAAAAAAAAyI/WaRZbWAADnU/s1600-h/IMG_0961_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0961_resize" border="0" alt="IMG_0961_resize" src="http://lh4.ggpht.com/-8m1XUf0cElY/TkjNMLQvcWI/AAAAAAAAAyM/3Bl-IJ_8MUY/IMG_0961_resize_thumb1.jpg?imgmax=800" width="502" height="346"&gt;&lt;/a&gt;&lt;a href="http://lh6.ggpht.com/-274GvLoaeOs/TkjNMr9_wcI/AAAAAAAAAyQ/R4S7X8IA2UY/s1600-h/IMG_0962_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0962_resize" border="0" alt="IMG_0962_resize" src="http://lh3.ggpht.com/-434tcnkcz10/TkjNNECG0tI/AAAAAAAAAyU/rvDKKFOFm_8/IMG_0962_resize_thumb1.jpg?imgmax=800" width="502" height="346"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It was at this point, as expected, the air thinness started to really set in.&amp;nbsp; I had a headache and stomachache, both signs of Altitude Sickness, which is why I was happy I reached here.&amp;nbsp; I wasn’t really that tired, very sore though.&amp;nbsp; For this reason, I used the time here not so much for sleep but to force my body to adapt to the air.&amp;nbsp; I knew that rely on an oxygen can as I went up was going to make the climb more difficult.&amp;nbsp; I took some Advil and the headache subsided, ate and the stomachache subsided, and got a few hours of sleep, but mostly worked on my breathing.&lt;/p&gt; &lt;p&gt;At 12:30am we embarked for the final ascent.&amp;nbsp; It being pitch black everyone took out their lights. The reason I mention this is I didn’t take any night shots.&amp;nbsp; At this point, my camera had a hard time with all of the light that was near me versus the light far away I wanted to take.&amp;nbsp; I am sure a more experienced camera person could have accomplished the shots, but I simply couldn’t get it to work.&amp;nbsp; In addition, having an expensive camera hanging from your neck while climbing up a mountain didn’t seem like a smart idea.&amp;nbsp; We reached the top at about 3:30am and began waiting for the sun to show itself.&amp;nbsp; Even at this hour, with our altitude (12,389ft) we could begin to see the horizon.&amp;nbsp; So we waited.&lt;/p&gt; &lt;p&gt;Slowly it began, very slowly with some hints of light on the horizon with beautiful colors all around.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-5JwOdR6gcXw/TkjNNszMPMI/AAAAAAAAAyY/hbdjnjpOBSM/s1600-h/IMG_0997_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0997_resize" border="0" alt="IMG_0997_resize" src="http://lh3.ggpht.com/-LTqDzUX4m30/TkjNOLY2PlI/AAAAAAAAAyc/8jAtXlzcRLI/IMG_0997_resize_thumb1.jpg?imgmax=800" width="513" height="354"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Did I mention it was cold, cold as balls and the wind was howling.&amp;nbsp; I would estimate it about 25F degrees at the top.&amp;nbsp; Not bad after a normal Michigan winter, but I don’t think its been under 90F since I have been in Japan.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-iOqSB9XnF9U/TkjNOggFZaI/AAAAAAAAAyg/H0WKwDDhVRg/s1600-h/IMG_0999_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0999_resize" border="0" alt="IMG_0999_resize" src="http://lh5.ggpht.com/-Ky1SdWIyflM/TkjNPGscNrI/AAAAAAAAAyk/WMvXyUet868/IMG_0999_resize_thumb1.jpg?imgmax=800" width="504" height="348"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Slowly it began to show itself.&amp;nbsp; So higher clouds in the distance blocked its initially appearance, but the scattering of the light, wow was amazing to see.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-ORHrpKe7RNg/TkjNPe30zhI/AAAAAAAAAyo/93u5HR4GW-k/s1600-h/IMG_1019_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1019_resize" border="0" alt="IMG_1019_resize" src="http://lh4.ggpht.com/-n554hwQFY5g/TkjNQMbXJgI/AAAAAAAAAys/9Ic4Aiumv8A/IMG_1019_resize_thumb1.jpg?imgmax=800" width="521" height="359"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Everyone was on their feet now, we knew it would be very soon.&amp;nbsp; And it did, finally, happen.&amp;nbsp; The single thing I wanted to see more then everything on this trip I saw, it sheer prominence and glory, the sun casting brilliance on a new day.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-WTo_bcIFHoo/TkjNQqSvA0I/AAAAAAAAAyw/7kj1QbeE-Sc/s1600-h/IMG_1026_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1026_resize" border="0" alt="IMG_1026_resize" src="http://lh5.ggpht.com/-nVXBGWq_htQ/TkjNQy19qHI/AAAAAAAAAy0/USbUkbrOYrI/IMG_1026_resize_thumb1.jpg?imgmax=800" width="512" height="353"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-f73RlZZgim8/TkjNRSC8HQI/AAAAAAAAAy4/UVeqaJ9Pvp4/s1600-h/IMG_1032_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1032_resize" border="0" alt="IMG_1032_resize" src="http://lh6.ggpht.com/-s7ffTdAhYyI/TkjNR-4-NTI/AAAAAAAAAy8/-E5asJOvzYI/IMG_1032_resize_thumb1.jpg?imgmax=800" width="520" height="359"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The spectacle was UNREAL!!! The scope and scale and the enormity of everything leave you gasping and totally forgetting how hold you are.&amp;nbsp; We had done, we had climbed Mt. Fuji and seen the sun rise over Japan.&amp;nbsp; Unforgettable.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-NUWu9iDciMw/TkjNSfrSyLI/AAAAAAAAAzA/zFKIpkrVIqg/s1600-h/IMG_1034_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1034_resize" border="0" alt="IMG_1034_resize" src="http://lh4.ggpht.com/-yns09ikwMbg/TkjNSj2tVeI/AAAAAAAAAzE/3yHqcN-mGpM/IMG_1034_resize_thumb1.jpg?imgmax=800" width="501" height="346"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;And yes, the guys cellphone really did work up there.&amp;nbsp; Both Mari and Mami called their mothers when the sun came up.&amp;nbsp; Only in Japan.&lt;/p&gt; &lt;p&gt;Now came the truly hard part: the descent.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-BlAVvjvXKXU/TkjNTHkoGLI/AAAAAAAAAzI/Z9AFVSINtNk/s1600-h/IMG_1037_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1037_resize" border="0" alt="IMG_1037_resize" src="http://lh4.ggpht.com/-6XiIYD_U170/TkjNTpPlV3I/AAAAAAAAAzM/mzjBZUR2lTQ/IMG_1037_resize_thumb1.jpg?imgmax=800" width="488" height="337"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;See we didn’t go up the way we came, probably a good thing since going down some of that terrain in our present physical condition would’ve been suicide.&amp;nbsp; Still the way the descent was organized, a seemingly endless series of switch backs and steep descent trails, I was amazed I made it through without twisting my ankle or something more serious.&lt;/p&gt; &lt;p&gt;So the sun came up at about 430am and we departed probably around 515am.&amp;nbsp; We arrived back at the bottom, exhausted beyond belief, at 1050am.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Dhvh01Nqkp8/TkjNUBXPhnI/AAAAAAAAAzQ/0rGxjLvd4wU/s1600-h/IMG_1042_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1042_resize" border="0" alt="IMG_1042_resize" src="http://lh3.ggpht.com/-DgNuFFeYJPQ/TkjNUk1kXaI/AAAAAAAAAzU/0lsg-R1X8YE/IMG_1042_resize_thumb1.jpg?imgmax=800" width="475" height="328"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This got annoying actually since our bus didn’t leave until 1215pm.&amp;nbsp; Most of us were sore, I could barely stand cause of my feet, and there really wasn’t any comfy places to relax.&amp;nbsp; But, fear not, our next stop was an Onsen, or a Japanese hot spring.&amp;nbsp; This hit the spot perfectly and helped relax us enough for the trip back to Shinjuku.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-D82zHJRxNu0/TkjNVN5DNuI/AAAAAAAAAzY/nVlcB8vnv2U/s1600-h/IMG_1044_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_1044_resize" border="0" alt="IMG_1044_resize" src="http://lh6.ggpht.com/-oJjMueSO4Eo/TkjNVkP37fI/AAAAAAAAAzc/XG-zdw5BcfM/IMG_1044_resize_thumb1.jpg?imgmax=800" width="497" height="343"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The bus ride back was uneventful.&amp;nbsp; Once we arrived at Shinjuku, we parted ways with Meg, Tony, and Jason E.&amp;nbsp; The later two were heading back to Air Force and Naval bases in Japan.&lt;/p&gt; &lt;p&gt;Mami and Mari were a HUGE part of this trip from organization to making sure I didn’t get lost to just being there for conversation.&amp;nbsp; They helped me out so immensely I wanted to treat them with something nice.&amp;nbsp; Ahead of time I had arranged the Marriott in Ginza to prepare two rooms, one for me until Monday (my departure) and one for the girls till Sunday.&amp;nbsp; This way they could both rest in comfort and not have to face long train rides back home immediately.&lt;a href="http://lh6.ggpht.com/-oBCr1_FhSIA/TkjNWDXxZ9I/AAAAAAAAAzg/_99JK8lYZaI/s1600-h/P8130009_resize4.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8130009_resize" border="0" alt="P8130009_resize" src="http://lh5.ggpht.com/-a1tTPj2CMP0/TkjNWqsStDI/AAAAAAAAAzk/1oPpwKrkGPA/P8130009_resize_thumb2.jpg?imgmax=800" width="486" height="382"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As an added bonus, I asked them where they would like to have dinner (bangohan).&amp;nbsp; They chose the Hard Rock Café in Roppongi.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-msbrca6L7fk/TkjNXJOH7mI/AAAAAAAAAzo/8o3pUB0K9jQ/s1600-h/P8130011_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8130011_resize" border="0" alt="P8130011_resize" src="http://lh5.ggpht.com/-8NV1ipEH2cw/TkjNXqRKx1I/AAAAAAAAAzs/KzYVxUjGEug/P8130011_resize_thumb1.jpg?imgmax=800" width="487" height="376"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Following dinner, we all were starting to get very sleepy.&amp;nbsp; Cant be helped, given the Fuji climbed taxed everyone well beyond their limits.&amp;nbsp; I almost fell asleep, while standing, on the subway back, drawing some giggles from a few of the Japanese girls on the train with us.&lt;/p&gt; &lt;p&gt;In the end, we made it back, and said our goodnights.&amp;nbsp; This trip has been epic in EVERY SENSE OF THE WORD.&amp;nbsp; I don’t know when I will come back again, I hope soon, but I had the trip of a lifetime and much of that is thanks to Mami and Mari, thanks girls.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-eeS9tQez2kA/TkjNYERK0XI/AAAAAAAAAzw/g0f59YFPgQU/s1600-h/P8130013_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8130013_resize" border="0" alt="P8130013_resize" src="http://lh4.ggpht.com/-zxksUNn2-xI/TkjNYqMtNWI/AAAAAAAAAz0/Ja5s8Jhf0hk/P8130013_resize_thumb1.jpg?imgmax=800" width="452" height="349"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-808419755556619853?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MOr7xwy_Sa_ZYrK6zH4QHib9i1s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MOr7xwy_Sa_ZYrK6zH4QHib9i1s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MOr7xwy_Sa_ZYrK6zH4QHib9i1s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MOr7xwy_Sa_ZYrK6zH4QHib9i1s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/1keTY2mQNH0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/808419755556619853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=808419755556619853" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/808419755556619853?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/808419755556619853?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/1keTY2mQNH0/day-9-10-climb.html" title="Day 9 &amp;amp; 10: The Climb" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-r-ZvnguUe_U/TkcVr17j6TI/AAAAAAAAAw0/6mf-NztMZyY/s72-c/IMG_0833_resize_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-9-10-climb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMDR3s-eSp7ImA9WhdQEEs.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-5631052144036092261</id><published>2011-08-11T08:41:00.001-04:00</published><updated>2011-08-11T08:41:16.551-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T08:41:16.551-04:00</app:edited><title>Day 8: Return to Tokyo</title><content type="html">&lt;p&gt;Today was… interesting.&amp;nbsp; So originally the plan had been to leave with Mari from Shin-Osaka and head to Tokyo for the final leg of the trip.&amp;nbsp; This all changed due to a misunderstanding that was had between her and I. It is always a risk when dealing with females in general that you will say something that gets taken the wrong way, and this risk is amplified when dealing with a culture as different as Japan’s. The end result was, I ended up making this trip alone.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-X9EHFtEk4GI/TkPNzur-KkI/AAAAAAAAAwA/RyUhzA8xK9Y/s1600-h/P8100006_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8100006_resize" border="0" alt="P8100006_resize" src="http://lh6.ggpht.com/-7xLx_W7ExwA/TkPN0JbmpgI/AAAAAAAAAwE/72lZFXA-JRw/P8100006_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="438" height="339"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Three hours on the Shinkansen for this portion.&amp;nbsp; I don’t know why but, I actually didn’t feel that well while traveling.&amp;nbsp; I have various thoughts on why, but with enough water and food I started to feel better.&amp;nbsp; This was one of those times that McDonald’s was essential.&amp;nbsp; I find that while I do enjoy most Japanese foods, I am hesitant to eat at a Japanese restaurant unless I have someone to help me.&amp;nbsp; In addition, the customs in a restaurant here are very different from America.&amp;nbsp; For example, the waiter and waitresses NEVER come to your table and ask things.&amp;nbsp; Once they seat you and you decide you grab any person walking by and give them your order.&amp;nbsp; For me, its very difficult, cause I am so used to the opposite.&lt;/p&gt; &lt;p&gt;The accommodations for the day before Fuji were at The Prince Sakura Tower Tokyo hotel.&amp;nbsp; The Prince is a very famous high end hotel throughout Japan so, needless to say, I was looking forward to this stay.&amp;nbsp; It did not disappoint.&amp;nbsp; Easily the best hotel of the four I stayed at, it even had a Jacuzzi in the bathroom.&amp;nbsp; Well appointed and nicely located near Shinagawa station.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-FDA9nqFPNCQ/TkPN0idPlXI/AAAAAAAAAwI/Jo9Xf81c77g/s1600-h/P8110018_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8110018_resize" border="0" alt="P8110018_resize" src="http://lh6.ggpht.com/-YljZqEfye08/TkPN1DV2n7I/AAAAAAAAAwM/EzdLjLniOZg/P8110018_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="415" height="321"&gt;&lt;/a&gt;&lt;a href="http://lh4.ggpht.com/-M63bdR_L8D4/TkPN1g9G40I/AAAAAAAAAwQ/DhxHEnGwUbM/s1600-h/P8110019_resize%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8110019_resize" border="0" alt="P8110019_resize" src="http://lh6.ggpht.com/-Szm_90DQAnE/TkPN2EH2HZI/AAAAAAAAAwU/qW6o1IpKUeU/P8110019_resize_thumb%25255B2%25255D.jpg?imgmax=800" width="413" height="325"&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-CDscWb-izKE/TkPN2d94S2I/AAAAAAAAAwY/il3GiyXlwDg/s1600-h/P8110020_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8110020_resize" border="0" alt="P8110020_resize" src="http://lh3.ggpht.com/-_89925ZfxNo/TkPN23MoC_I/AAAAAAAAAwc/tcfAeLk-AdA/P8110020_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="417" height="322"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Once I was settled I began the first phase of preparation for the Fuji climb: gear switch.&amp;nbsp; When I arrived in Tokyo on August 4th, I stayed at the Marriott in Ginza.&amp;nbsp; Due to the size of the my luggage I decided to leave the big bag there when I traveled to Hiroshima.&amp;nbsp; This has proven to be a great move as I really cannot see how I would have survived otherwise.&amp;nbsp; Now, I returned to Ginza to switch out my sightseeing gear for my climbing gear.&amp;nbsp; I love this hotel, they people there are so nice and very accommodating.&amp;nbsp; And, the English is top notch, so if I do have to say something, I don’t need to struggle with Japanese to say it.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-M9o-VgZCxGI/TkPN3YqO0BI/AAAAAAAAAwg/UTYsyhSAoQY/s1600-h/P8110008_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8110008_resize" border="0" alt="P8110008_resize" src="http://lh4.ggpht.com/--A6FI4TNEH0/TkPN6G1QEvI/AAAAAAAAAwk/Fa1vOHERUeU/P8110008_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="426" height="329"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;After I returned to Shinagawa, I completed my preparation and decided to grab dinner.&amp;nbsp; I decided on Hooters.&amp;nbsp; Let me be clear, I am not a huge fan of Hooters, I don’t care for the whole atmosphere, never really thrilled me that much.&amp;nbsp; However, that is why I wanted to visit it in Japan.&amp;nbsp; You see, my understanding of Japanese culture, and it was confirmed when I read about Hooters opening here, is the girls don’t really like to wear the sort of clothing that Hooters is famous for.&amp;nbsp; I was interested, also, to see how the Japanese culture affected Hooters.&amp;nbsp; Every time I have been to Hooters, I usually get my waitress flirting with me.&amp;nbsp; I am not stupid, I know she is playing for the tip.&amp;nbsp; However, in Japan, you don’t tip, so I was wondering how this would affect the atmosphere.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-B-3V40Lsukc/TkPN6nNidAI/AAAAAAAAAwo/k6niiVUqZlM/s1600-h/P8110017_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8110017_resize" border="0" alt="P8110017_resize" src="http://lh4.ggpht.com/-bIGryOhnx1w/TkPN63xpCQI/AAAAAAAAAws/8tEh2Uq21tQ/P8110017_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="442" height="342"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The answer is, the girls don’t bother you, so it really becomes like every other restaurant.&amp;nbsp; Frankly, the service wasn’t that good here; you can tell they are still working out the kinks a bit.&lt;/p&gt; &lt;p&gt;I can honestly feel myself getting sick of Japan, which is probably a bit of a good thing, means I am less tempted to come back next year.&amp;nbsp; Its an interesting feeling when I ride the train through Tokyo.&amp;nbsp; A part of me wants to stay forever cause its such an experience, but the other part of me cant stand being here.&amp;nbsp; For as common as crowds are in Japan, the Japanese people sure do walk around with their heads down a lot.&amp;nbsp; They don’t seem to even obey the rules that divide the spaces to allow the crowds to use the space more efficiently. I cant tell you how many times they cut each other off, its really amazing.&amp;nbsp; You wont meet nicer people when you start talking to the but, I swear it might be the most anti-social society on the planet, rude at times.&lt;/p&gt; &lt;p&gt;Anyway, I must lie down and rest.&amp;nbsp; Big day tomorrow as we climb Fuji.&amp;nbsp; Days 9 and 10 will be a combined entry Saturday night, hoping for lots of pictures.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-5631052144036092261?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oTowmU8i3UJ429EsVyZNEPVPFjI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oTowmU8i3UJ429EsVyZNEPVPFjI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oTowmU8i3UJ429EsVyZNEPVPFjI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oTowmU8i3UJ429EsVyZNEPVPFjI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/rdzlXiyZp5U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/5631052144036092261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=5631052144036092261" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/5631052144036092261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/5631052144036092261?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/rdzlXiyZp5U/day-8-return-to-tokyo.html" title="Day 8: Return to Tokyo" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-7xLx_W7ExwA/TkPN0JbmpgI/AAAAAAAAAwE/72lZFXA-JRw/s72-c/P8100006_resize_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-8-return-to-tokyo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UFR3g-eip7ImA9WhdQEEw.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-6476943855944213070</id><published>2011-08-10T18:26:00.001-04:00</published><updated>2011-08-10T18:26:56.652-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-10T18:26:56.652-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 7: A Trip to Kyoto</title><content type="html">&lt;p&gt;Every time I come to Japan I have to visit Kyoto.&amp;nbsp; A city that was the capital of Japan for over 1,000 years is so rich with culture and history is a must see for any person traveling through Japan.&amp;nbsp; The numerous temples and shrines combined with a more modern shopping experience make the experience truly memorable.&amp;nbsp; Even with all the times I have come to Japan I STILL have not fully visited Kyoto.&lt;/p&gt; &lt;p&gt;Today’s goal was to visit the Imperial Palace and then to see the Geisha in the Gion district.&amp;nbsp; We started our trip at Kyoto station.&amp;nbsp; One of the things I love about traveling through Kyoto is the fashion.&amp;nbsp; Kyoto, being very traditional, is full of young women dressed in kimono’s or yukata’s (depending on the weather).&amp;nbsp; I absolutely love these outfits, the colors and style are just amazing.&amp;nbsp; Thankfully, most of the girls are nice enough to pose with foreigners &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-1xNv-kU1UBM/TkMFgOHne6I/AAAAAAAAAuk/kulaxQX7Fhw/wlEmoticon-smile%25255B2%25255D.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-LsM8nyMY3Bo/TkMFgoThQuI/AAAAAAAAAuo/2rlOLG9exl0/s1600-h/IMG_0746_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0746_resize" border="0" alt="IMG_0746_resize" src="http://lh4.ggpht.com/-tUIwSoNB5Ag/TkMFhOrUYFI/AAAAAAAAAus/KhCBU73gris/IMG_0746_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="467" height="322"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-LCXnGFXAQiA/TkMFhmttXeI/AAAAAAAAAuw/BXHPNvRAcKk/s1600-h/IMG_0829_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0829_resize" border="0" alt="IMG_0829_resize" src="http://lh5.ggpht.com/-eLaM_NaHCcQ/TkMFiAzJO1I/AAAAAAAAAu0/UiMxq0GMfSM/IMG_0829_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="475" height="328"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So our first stop on the tour was the Kyoto Imperial Palace.&amp;nbsp; It is used, today, as a second home for the Emperor when he visits Kyoto.&amp;nbsp; However, a long time ago it was the center of Japanese government, before the rise of the Feudal Lords.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-8iPZhnmCPU8/TkMFinjMMDI/AAAAAAAAAu4/0O1jrLtVVAQ/s1600-h/IMG_0750_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0750_resize" border="0" alt="IMG_0750_resize" src="http://lh4.ggpht.com/-KnIwJGHucIo/TkMFjF_AHuI/AAAAAAAAAu8/6TmDxDdbFVw/IMG_0750_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="484" height="334"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Me and Mari were able to take a full tour of the southern portion of the palace grounds, though it was quite a challenge because it was over 100 degrees in Kyoto.&amp;nbsp; But we got to see some very beautiful architecture from the Heian period of Japanese history.&amp;nbsp; I have a thing for the gates that play a very vital role in ceremony.&amp;nbsp; Depending on your status, you will enter through a certain gate, in fact there are even different rooms depending on your status.&amp;nbsp; Often these are the Tiger, Crane, and Sakura rooms (Sakura being for the lower class, and Tiger being for the higher class).&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-zIwr70XyqV0/TkMFjgFZlpI/AAAAAAAAAvA/000202BAf5s/s1600-h/IMG_0752_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0752_resize" border="0" alt="IMG_0752_resize" src="http://lh6.ggpht.com/-ZBscq0OayTM/TkMFkGNmidI/AAAAAAAAAvE/W4NRTkj-i_s/IMG_0752_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="452" height="312"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-NXyC-gneRrs/TkMFk9NaGRI/AAAAAAAAAvI/crP9yzwXdBg/s1600-h/IMG_0758_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0758_resize" border="0" alt="IMG_0758_resize" src="http://lh4.ggpht.com/-7mmKcHgF_Lk/TkMFlrTW23I/AAAAAAAAAvM/kDJTFmMTTKU/IMG_0758_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="460" height="318"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Another interesting fact is, Japan being an island nation, views of the sea are quite common and are often seen through Japanese art and design.&amp;nbsp; Kyoto being without a view of the ocean uses gardens to symbolize Japan.&amp;nbsp; Consider the picture below:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-rCAPHJOH45Q/TkMFmMBu5PI/AAAAAAAAAvQ/pDvSxGIPL88/s1600-h/IMG_0801_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0801_resize" border="0" alt="IMG_0801_resize" src="http://lh6.ggpht.com/-ZhjUO-olOFs/TkMFmuIwnuI/AAAAAAAAAvU/qQUfyigaCHE/IMG_0801_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="521" height="359"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Notice how the tree’s in the back are arranged, this is not random.&amp;nbsp; This done to symbolize the mountains of Japan.&amp;nbsp; As the tree’s become shorter they are complimented by rocks which symbolize the cities of Japan.&amp;nbsp; Finally the space between these rocks and where I am standing is the ocean.&amp;nbsp; This is known as a Japanese Landscape garden and is done to display a landscape through design, really neat!!&lt;/p&gt; &lt;p&gt;Another interesting thing is how the palace grounds are arranged.&amp;nbsp; For example, the Palace itself is open air and faces East.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-QBw86W_es5k/TkMFnJE2lXI/AAAAAAAAAvY/rU5c0ZDaK84/s1600-h/IMG_0773_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0773_resize" border="0" alt="IMG_0773_resize" src="http://lh6.ggpht.com/-pYVyj3saLZU/TkMFniZ4m1I/AAAAAAAAAvc/eSAx3JrBC2c/IMG_0773_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="527" height="364"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The reason for this is Kyoto is surrounded on most sides by mountains and thus it is usually very hot and humid (like today).&amp;nbsp; The wind is Kyoto usually tends to blow from the East, thus by having the Palace and the Emperor’s residence face east, they will usually catch the breeze.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-maKIHd4vnrY/TkMFoBoAq1I/AAAAAAAAAvg/AdrFE3Snydw/s1600-h/IMG_0779_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0779_resize" border="0" alt="IMG_0779_resize" src="http://lh4.ggpht.com/-bq1oJByPd2M/TkMFov_2qqI/AAAAAAAAAvk/B9qErHZZGfU/IMG_0779_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="513" height="354"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Unfortunately, we ran into a problem during the tour; I had forgotten to charge the battery for my good camera.&amp;nbsp; I remembered there being a large shopping district near Shijo-dori from when I studied abroad.&amp;nbsp; But it took us a lot of walking around.&amp;nbsp; The plan was the buy a new battery and head to Gion.&amp;nbsp; Thankfully, a shop owner was nice enough to charge the battery for one hour for 200yen, beats paying 6,000yen for a new battery.&lt;/p&gt; &lt;p&gt;During this 1hr me and Mari went and had lunch.&amp;nbsp; I had tonkatsu (pork), which is easily my favorite Japanese food.&amp;nbsp; I really do try to embrace the Japanese culture, but for some reason, Mami and Mari think I do like Japanese and are surprised when I want to stay local or speak only Japanese.&lt;/p&gt; &lt;p&gt;We still had some time to kill after lunch so we found a book store and I continued my search for Full Metal Panic manga in English.&amp;nbsp; The store we found did have some translated Manga, but not what I was looking for.&amp;nbsp; We returned to the camera place and got the battery.&lt;/p&gt; &lt;p&gt;By now it was getting very late and were both VERY tired.&amp;nbsp; We head to Yakasaka shrine with the intent on turning south to Gion.&amp;nbsp; But, in the end, we were too tired to see Gion.&amp;nbsp; Very unfortunate, but I have to start worrying about having energy for Fuji.&amp;nbsp; But I did get some good shots of Yakasaka shrine &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-1xNv-kU1UBM/TkMFgOHne6I/AAAAAAAAAuk/kulaxQX7Fhw/wlEmoticon-smile%25255B2%25255D.png?imgmax=800"&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-yjskkP7Swu8/TkMFpPT8dfI/AAAAAAAAAvo/7MmtOniYJKU/s1600-h/IMG_0812_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0812_resize" border="0" alt="IMG_0812_resize" src="http://lh6.ggpht.com/-8i8Y2iolUnA/TkMFpj3QLNI/AAAAAAAAAvs/LE2eduuMuW8/IMG_0812_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="489" height="337"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-Is7E3gFWNLo/TkMFp8kqw7I/AAAAAAAAAvw/mDaK9A6oUlo/s1600-h/IMG_0814_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0814_resize" border="0" alt="IMG_0814_resize" src="http://lh5.ggpht.com/-cFAjr0P6rwY/TkMFqTx4j3I/AAAAAAAAAv0/DMGQH9G1vAI/IMG_0814_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="497" height="343"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The bottom picture really shows how the Japanese blend new with old.&amp;nbsp; Here you have one of the busiest and most modern shopping areas in Kyoto through the entrance of a ~500yr old shrine.&amp;nbsp; It simply is amazing the history of Kyoto.&lt;/p&gt; &lt;p&gt;So we headed back to Osaka using the Keihan railroad.&amp;nbsp; This is not the main rail line that is run by JR, but is much faster and closer given where we were getting on.&amp;nbsp; It also took us directly to Umeda which is the non-JR train/subway stop for Osaka station, the central hub.&lt;/p&gt; &lt;p&gt;Me and Mari said our goodbyes until tomorrow when we both head to Tokyo before the Fuji climb.&amp;nbsp; I took the Midosuji like back to Nakatsu and grabbed dinner.&amp;nbsp; Kobe beef.&amp;nbsp; This is something that I really love about Japan.&amp;nbsp; Rather then me telling to waiter/waitress how I would like my meat cooked (and getting it wrong in most cases), in Japan they have you cook it yourself.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-KIzENKP9GV4/TkMFqwTdsZI/AAAAAAAAAv4/PxNIVXxp728/s1600-h/IMG_0832_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0832_resize" border="0" alt="IMG_0832_resize" src="http://lh5.ggpht.com/-GzxpeNJCePI/TkMFr342IZI/AAAAAAAAAv8/o-VyDxcpLpE/IMG_0832_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="514" height="355"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;By cooking it yourself, you cant really complain about it not being done correctly.&amp;nbsp; And its actually a lot of fun.&amp;nbsp; I love the sauce though, it really is super tasty.&lt;/p&gt; &lt;p&gt;It has been a lot of fun visiting the Kansai area, I have lots of pictures and memories from old and new places for me.&amp;nbsp; I have really enjoyed my time in the area.&amp;nbsp; So now that I have completed the Hiroshima and Osaka legs of the trip, only one leg remains: Tokyo, with the Fuji climb starting on Friday.&amp;nbsp; Wish me luck.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-6476943855944213070?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r_Yq2z4qz40CJDdVLjgRg1husxM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r_Yq2z4qz40CJDdVLjgRg1husxM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r_Yq2z4qz40CJDdVLjgRg1husxM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r_Yq2z4qz40CJDdVLjgRg1husxM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/vtIVelgUdyE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/6476943855944213070/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=6476943855944213070" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/6476943855944213070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/6476943855944213070?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/vtIVelgUdyE/day-7-trip-to-kyoto.html" title="Day 7: A Trip to Kyoto" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-1xNv-kU1UBM/TkMFgOHne6I/AAAAAAAAAuk/kulaxQX7Fhw/s72-c/wlEmoticon-smile%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-7-trip-to-kyoto.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQNRH0zfyp7ImA9WhdRGU8.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-2240580416608963000</id><published>2011-08-09T07:54:00.002-04:00</published><updated>2011-08-09T17:46:35.387-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-09T17:46:35.387-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 6: A Day with Mari-chan</title><content type="html">&lt;p&gt;So, the story goes that when I visited Epcot with Cameren in 2008 I met Megumi Kurata who was working as a Disney Cast Member in the Japan Pavilion at Epcot.  I kept in touch with Meg as best I could leading up to my trip in 2010.  Unfortunately, when my trip happened in April of that year Meg was out of the country for business.  However, she was nice enough to introduce me to Mami-chan Ikegami, who I also met, though didn’t remember at the time, at Epcot.  While traveling through Osaka last year I asked Mami-chan if she had any friends that I could hang out with, she introduced me to Mari-chan.  We had a good time last year and kept in touch.  Today I got to hang out with her in Osaka, kind of a date.&lt;/p&gt; &lt;p&gt;We decided to go to Spa World, which has two floors dedicated to Japanese Onsens with different themes.  I went there last year with part of my host family.  This year, me and Mari-chan went to the top to their Pool Zone.  This was nothing short of impressive.  Imagine, a pool elevated up about 10 floors with clear windows on all sides with nothing but city.  It is really a sight to behold, so is Mari-chan by the way &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-xlvJfKvkUSc/TkEf37XquVI/AAAAAAAAAtg/uNM3DbxCpYg/wlEmoticon-smile%25255B2%25255D.png?imgmax=800" /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-ayHKfesfeOo/TkEf4axQ68I/AAAAAAAAAtk/5O5H0qqTTBg/s1600-h/P8090010_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090010_resize" border="0" alt="P8090010_resize" src="http://lh4.ggpht.com/-ph0lxBk-GbA/TkEf469PRLI/AAAAAAAAAto/7o4MU_E4UcQ/P8090010_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="466" height="360" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-JdwNRKvaMkU/TkEf5Tr3j2I/AAAAAAAAAts/9UHIlgcG_xA/s1600-h/P8090006%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090006" border="0" alt="P8090006" src="http://lh5.ggpht.com/-8cyyIwMOfdk/TkEf6HEDzvI/AAAAAAAAAtw/QUc4A1FA_kA/P8090006_thumb%25255B1%25255D.jpg?imgmax=800" width="497" height="384" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This place really is amazing, but its nothing compared to the newly redone Osaka station.  In Japan trains are central to the culture, Japan literally could not exist without them since it is a proven fact that highways are not scalable with large amounts of traffic (ask New York, Chicago, and LA about that) thus Japan MUST rely on trains.  But the major train terminals are nothing short of insane from an engineering perspective.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-uzyaH9AStfc/TkEf6ZaToEI/AAAAAAAAAt0/Dg123oCcBLo/s1600-h/P8080004_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8080004_resize" border="0" alt="P8080004_resize" src="http://lh4.ggpht.com/-3HZMfAOOolo/TkEf6-sjzYI/AAAAAAAAAt4/S5Sv-zGzXEk/P8080004_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="491" height="379" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The Japanese have made it an art to integrate these train stations so completely into the city that often, unless you see the tracks, you don’t even know they are there (as in the case with the Tokyo main station).  The station is literally built within malls and other entertainment facilities.  There is nothing even close to this that I have seen in America.  Perhaps the only thing that is slightly close might be Penn station or Grand Central in New York, but even these pale in comparison.&lt;/p&gt; &lt;p&gt;And the underground!! It is NUTS!! So many stores of all kinds.  There literally is an entire second city underneath the first city.  Its even crazier when you realize the Japanese spend a lot of time underground in such an earthquake prone area.  This is why I go to and love Japan, the engineering is just off the charts and you can see why this is one of, if not the most, technologically advanced nations on the planet.&lt;/p&gt; &lt;p&gt;Anyway, so me and Mari-chan went to the pool and had a GREAT time, even though we had to wait in line a lot, it was still a lot of fun and Mari-chan’s English is getting much better and I am very happy to help her.  She also helps me with my Japanese.&lt;/p&gt; &lt;p&gt;So after, we went to meet Mari-chan’s Mom.  I always enjoy meeting Japanese parents b/c quite often their English is limited, as opposed to the younger kids who are usually actively learning it.  This means, you have to use Japanese and its very good practice.  They also tend to appreciate your efforts and will always forgive you if you make a mistake.  Mari-chan’s mom was awesome and even was kind enough to help me pick out a gift for my Mom.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-WbSKHSAxKAc/TkEf7nJBULI/AAAAAAAAAt8/sduYqgPNLHw/s1600-h/P8090016%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090016" border="0" alt="P8090016" src="http://lh5.ggpht.com/-e62HfwD3RmM/TkEf8NnTaYI/AAAAAAAAAuA/dJPNFnUABro/P8090016_thumb%25255B1%25255D.jpg?imgmax=800" width="475" height="367" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You will notice in the picture that Mari-chan is wearing a special necklace, her Mom is as well.  Apparently it helps relieve back pain.  I have a lot of back pain since I am always carrying so many things.  I decided I wanted one, so we headed to “Phiten” to get one.  Somehow, I even got a free massage because I looked tired.  This was a funny scene since, for a while, I wasn’t quite sure what was happening, lots of very fast Japanese being spoken at this time.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-YrVXegEzcQo/TkEf8lVV8nI/AAAAAAAAAuE/VRDIPTiZtEE/s1600-h/P8090026_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090026_resize" border="0" alt="P8090026_resize" src="http://lh3.ggpht.com/-2Ud6h4FW__s/TkEf9HRB5zI/AAAAAAAAAuI/aU0OBGNDS48/P8090026_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="436" height="337" /&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-2xS2YyFBJhU/TkEf9vdNDYI/AAAAAAAAAuM/9_qi0ycL1hc/s1600-h/P8090024_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090024_resize" border="0" alt="P8090024_resize" src="http://lh4.ggpht.com/-5ElZyVpu3PI/TkEf-D7iSoI/AAAAAAAAAuQ/DOkRq1NMYvk/P8090024_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="436" height="337" /&gt;&lt;/a&gt;&lt;a href="http://lh3.ggpht.com/-1kyvyVdHj8Y/TkEf-soHKkI/AAAAAAAAAuU/Y8Ij2UFz_Hw/s1600-h/P8090021_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090021_resize" border="0" alt="P8090021_resize" src="http://lh6.ggpht.com/-2Mq5MeYSySA/TkEf_JAAoWI/AAAAAAAAAuY/6Fa4FA1F9EA/P8090021_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="439" height="339" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As you can see in the last picture, she found the sore spot on my left shoulder.  I almost always tend to have stress buildup her and it gets REALLY sore.  At this moment I am covered in patches that are helping to relax my muscles thanks to a cream she used.  I am told I cant take the stuff off for three days, lol.  But she said, if I do this, I wont have any pain when I climb Fuji, and boy wouldn’t that be nice.&lt;/p&gt; &lt;p&gt;Tomorrow me and Mari-chan will head to Kyoto to do some sightseeing.  I am facing a problem right now, I am not sure where I can reasonably get my laundry done.  The hotels wants about $80 for it and its not worth that much to me, Ill wear dirty clothes before I pay that much.  Hopefully a solution will present itself.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-a2eMLpaj_zY/TkEf_nJIWtI/AAAAAAAAAuc/5vy7jMs7YFQ/s1600-h/P8090007_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="P8090007_resize" border="0" alt="P8090007_resize" src="http://lh6.ggpht.com/-8aTTg5XA5WQ/TkEf_4zl3zI/AAAAAAAAAug/I7JQgSIvN0Q/P8090007_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="490" height="379" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-2240580416608963000?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2qM9-Ugb3CoTir7NhUIBpivFD5Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2qM9-Ugb3CoTir7NhUIBpivFD5Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2qM9-Ugb3CoTir7NhUIBpivFD5Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2qM9-Ugb3CoTir7NhUIBpivFD5Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/ZcYAN3eOXO8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/2240580416608963000/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=2240580416608963000" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2240580416608963000?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2240580416608963000?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/ZcYAN3eOXO8/day-5-day-with-mari-chan.html" title="Day 6: A Day with Mari-chan" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-xlvJfKvkUSc/TkEf37XquVI/AAAAAAAAAtg/uNM3DbxCpYg/s72-c/wlEmoticon-smile%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-5-day-with-mari-chan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUESXw_eyp7ImA9WhdRGEk.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-4008782686789053931</id><published>2011-08-08T18:56:00.001-04:00</published><updated>2011-08-08T18:56:48.243-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-08T18:56:48.243-04:00</app:edited><title>Day 5: A Day with the Host Family in Hikone</title><content type="html">&lt;p&gt;Today was a very special day, it wasn’t really intended when I planned the trip, I only learned after I had made the arrangements that it would be Asahi’s 8th birthday on this day, knowing that made the trip even more exciting.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-nfA8zrYsWRU/TkBpgkXhjiI/AAAAAAAAAr8/S67gCTwFbqs/s1600-h/IMG_0629_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0629_resize" border="0" alt="IMG_0629_resize" src="http://lh4.ggpht.com/-VMJ--fTrLWs/TkBphLSLtoI/AAAAAAAAAsA/s-uwVprHQLM/IMG_0629_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="434" height="300"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The day started very early, as I had to get to Hikone (my second hometown) by 930am.&amp;nbsp; Thankfully I have my JR Rail Pass and so have full use of the Shinkansen (bullet train) without having to pay, otherwise this is a very painful trip from Osaka to Hikone.&lt;/p&gt; &lt;p&gt;I arrived in Maibara, which is one station down from Hikone and the nearest Shinkansen stop, and took the Biwako (Lake Biwa) line to Hikone; this is a route I am very familiar with having taken it frequently last year and when I was a student here.&amp;nbsp; Hikone is the sister city to Ann Arbor and is a very beautiful and historic city.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-tfK7n1o2JiQ/TkBphjSr2UI/AAAAAAAAAsE/0iG4tVME9Us/s1600-h/IMG_0620_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0620_resize" border="0" alt="IMG_0620_resize" src="http://lh4.ggpht.com/-amkHbdFUz90/TkBpiPUbV2I/AAAAAAAAAsI/upZodYPqj6g/IMG_0620_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="462" height="319"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Our first stop for this day was, per my request, Hikone-jo (Hikone Castle).&amp;nbsp; The reason I love going here is, first getting to the castle is a great physical challenge, but more importantly the view from the top is spectacular and gives you so many beautiful shots of Lake Biwa.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-MH_x8XSjIno/TkBpip5UttI/AAAAAAAAAsM/oxdMhUG44Js/s1600-h/IMG_0693_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0693_resize" border="0" alt="IMG_0693_resize" src="http://lh3.ggpht.com/-w112MYQV7v4/TkBpi_XvsHI/AAAAAAAAAsQ/xr15XG2n3pw/IMG_0693_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="474" height="327"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-A2dITrD0fTk/TkBpjQ1tNgI/AAAAAAAAAsU/Hx620r7rGGo/s1600-h/IMG_0647_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0647_resize" border="0" alt="IMG_0647_resize" src="http://lh5.ggpht.com/-qNSmxY0fxtc/TkBpj7r9LGI/AAAAAAAAAsY/zGZn-GyMwBY/IMG_0647_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="483" height="333"&gt;&lt;/a&gt;&lt;a href="http://lh6.ggpht.com/-K-oNYqFra5I/TkBpkcyEe_I/AAAAAAAAAsc/LMwtsdVNLiQ/s1600-h/IMG_0654_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0654_resize" border="0" alt="IMG_0654_resize" src="http://lh5.ggpht.com/-_8U_UNYOkRE/TkBpk5up3XI/AAAAAAAAAsg/1-Tkf-gHaqQ/IMG_0654_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="488" height="337"&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-0sSfozH1Bqg/TkBplQTPvJI/AAAAAAAAAsk/KYb78NefTJI/s1600-h/IMG_0678_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0678_resize" border="0" alt="IMG_0678_resize" src="http://lh4.ggpht.com/-Z0cKL2POQ8E/TkBpl0DY-CI/AAAAAAAAAso/5fYVkD-tSXw/IMG_0678_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="494" height="341"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;After this, we went and grabbed some ice cream and I got a chance to talk with Serika (17) and Yurina (14).&amp;nbsp; I let Asahi play with my Windows Phone and he quickly found Angry Birds and started playing, but, like most 8yr olds, he got board and so jumped on my lap and started watching a cartoon (not Anime), Serika captured this scene&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-Fzw-cd509P4/TkBpmD4cmxI/AAAAAAAAAss/Z-B37urtANI/s1600-h/IMG_0717_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0717_resize" border="0" alt="IMG_0717_resize" src="http://lh6.ggpht.com/-nY9kF6EocZ4/TkBpmnk7ljI/AAAAAAAAAsw/kWBBrLG2VtU/IMG_0717_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="489" height="337"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Next it was back to the house with Emiko-okasama.&amp;nbsp; I got to meet a new friend, Kiki the cat, who is easily the smallest grown cat that I have ever seen, but so adorable.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-yviSB-d6cK4/TkBpnNofJwI/AAAAAAAAAs0/RzQ_pD86X8g/s1600-h/IMG_0725_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0725_resize" border="0" alt="IMG_0725_resize" src="http://lh6.ggpht.com/-OCtcsDgFK5I/TkBpnheXd9I/AAAAAAAAAs4/BYt9p1lU_K4/IMG_0725_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="472" height="326"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So it then became time to pick up Toma from soccer practice.&amp;nbsp; I decided to accompany Emiko-okasama because Toma and me always get along really well, in fact I am told he kind of views me as his oni-san (older brother).&amp;nbsp; I was amazed watching his practice because it was around 95 degrees outside and in Japan, except for certain areas or stadiums, they don’t practice on grass, they practice on dirt.&amp;nbsp; Talk about a dust mess, it was nuts.&amp;nbsp; I couldn’t believe it, but Emiko explained to me that they don’t want to waste the water it would take to water the field.&amp;nbsp; This is another culture difference between the US and Japan.&lt;/p&gt; &lt;p&gt;Upon returning to the house with Toma I was asked my Emiko-okasama if I would I like to meet, and help, her English students.&amp;nbsp; Of course I said “yes”, I love helping people in Japan speak English, in fact Emiko has her kids practice with me all the time, and they help me with my Japanese. So, I don’t remember their names, but we had a good time talking about America and my travels through Japan and stuff that they like, good times.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-dIAMcK0bzrc/TkBpoP_L2yI/AAAAAAAAAs8/dyPMorTaq5Y/s1600-h/IMG_0730_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0730_resize" border="0" alt="IMG_0730_resize" src="http://lh5.ggpht.com/-ewNekS---Ns/TkBpou9CkeI/AAAAAAAAAtA/EWGYgcLwti4/IMG_0730_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="526" height="363"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Probably the most hilarious part, for me, was when they arrived at class and they saw a “giant” American waiting for them in the classroom.&amp;nbsp; I always love that look of shock on their faces, especially if they have siblings in the car, it amuses me &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/-Lqqc40KEGGM/TkBppJ7pN_I/AAAAAAAAAtE/hIQ8eVCXIIQ/wlEmoticon-smile%25255B2%25255D.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;So it being Asahi’s birthday we had to have a party and with some downtime before Emiko’s next class, we had a small party for Asahi.&amp;nbsp; The cake was very delicious.&amp;nbsp; I first became introduced to cheese cake in Japan, ironically, and have loved it ever since.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-W38wwOEibCY/TkBpphNXyVI/AAAAAAAAAtI/TUp5G3ApnEU/s1600-h/IMG_0734%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0734" border="0" alt="IMG_0734" src="http://lh3.ggpht.com/-B4VxrW_wZY8/TkBppy5DOdI/AAAAAAAAAtM/en3i1SXGWIY/IMG_0734_thumb%25255B1%25255D.jpg?imgmax=800" width="510" height="352"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now, fun fact, Akihiro-sans (father) birthday is the day after Asahi, so we were celebrating both here.&amp;nbsp; After this, we went off to Emiko’s second English class and got to meet those students, but before we did, I said my final Goodbye’s to everyone.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-9riu9eGYr0g/TkBpqTtyqDI/AAAAAAAAAtQ/JdsetoVcuFU/s1600-h/IMG_0743_resize%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0743_resize" border="0" alt="IMG_0743_resize" src="http://lh6.ggpht.com/-MhrYdIsOy5I/TkBpq5dujLI/AAAAAAAAAtU/4EePCDUfPQ0/IMG_0743_resize_thumb%25255B2%25255D.jpg?imgmax=800" width="483" height="340"&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-T8pSyjpWDsg/TkBprbUvUqI/AAAAAAAAAtY/_5dNaQ_LPRU/s1600-h/IMG_0745_resize%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0745_resize" border="0" alt="IMG_0745_resize" src="http://lh4.ggpht.com/-RAhvld2jpug/TkBpr3nQ_dI/AAAAAAAAAtc/KgWm2l4j1Do/IMG_0745_resize_thumb%25255B2%25255D.jpg?imgmax=800" width="487" height="342"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I absolutely love them all, and it is so much fun being around them.&amp;nbsp; I do hope I get a chance to come back in the future.&amp;nbsp; I just am not sure when I will, this is the second year in a row I have come to Japan for vacation and I love it, its just so much fun being around them.&amp;nbsp; And I love the fact that I can look at these kids and know that I have gotten a chance, to see them grow.&amp;nbsp; I remember when Toma was much shorter.&amp;nbsp; I can see them all growing up and it really is neat.&lt;/p&gt; &lt;p&gt;What a treat the day was, I went back to Osaka that night and collapsed from exhaustion, truly a full and happy day.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-4008782686789053931?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AokYSZfNiWpRvZ9R1V2aWmilu-Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AokYSZfNiWpRvZ9R1V2aWmilu-Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AokYSZfNiWpRvZ9R1V2aWmilu-Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AokYSZfNiWpRvZ9R1V2aWmilu-Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/MQ7-ZdxATo8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/4008782686789053931/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=4008782686789053931" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/4008782686789053931?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/4008782686789053931?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/MQ7-ZdxATo8/day-5-day-with-host-family-in-hikone.html" title="Day 5: A Day with the Host Family in Hikone" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-VMJ--fTrLWs/TkBphLSLtoI/AAAAAAAAAsA/s-uwVprHQLM/s72-c/IMG_0629_resize_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-5-day-with-host-family-in-hikone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08DSXw4fip7ImA9WhdRF08.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-2637012257908432349</id><published>2011-08-07T08:57:00.001-04:00</published><updated>2011-08-07T08:57:58.236-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-07T08:57:58.236-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 4: Up the Island to Osaka</title><content type="html">&lt;p&gt;The plan was always for the first leg of my trip to take place in Hiroshima, with the next leg taking place in what is known as the Kansai region, more precisely the area in and around Japan’s third largest city: Osaka.&lt;/p&gt; &lt;p&gt;After waking up this morning, early thanks to me and my crazy circadian rhythms, me and Mami departed via Shinkansen to Osaka.&amp;nbsp; It was a nice quiet 1hr and 30m ride to Osaka, a city with many memories for me, from both last year and when I was ryugakusei (international student).&amp;nbsp; Joining us in Osaka is Mari-chan, another friend that made last year.&amp;nbsp; Her English isnt as good as Mami’s but she is still a lot of fun, and, like Mami, super cute.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-D4TGETxr_cA/Tj6LoXXWIkI/AAAAAAAAAqE/DewtZYTdWW8/s1600-h/IMG_0565_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0565_resize" border="0" alt="IMG_0565_resize" src="http://lh6.ggpht.com/-3_14Op6Z3t8/Tj6Lo4hQuHI/AAAAAAAAAqI/U4vL7T2sKfk/IMG_0565_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="476" height="328"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The first thing we wanted to do was eat.&amp;nbsp; Now both of these girls are very Americanized and love meat, especially steaks and burgers (no you wouldn’t know this by looking at them), so we decided to go to Outback Steakhouse.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-B1ocTR-2wdk/Tj6LpSvFweI/AAAAAAAAAqM/JCHYG4IKRH0/s1600-h/IMG_0569_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0569_resize" border="0" alt="IMG_0569_resize" src="http://lh6.ggpht.com/-sepDsGFH3gY/Tj6Lpv2V2WI/AAAAAAAAAqQ/PdGDMMvyKF0/IMG_0569_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="485" height="335"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I do try to eat local foods when I am in a foreign country and thus far I have done pretty well, though I have come close to puking a couple times, however, there is a time when you just want some real meat; so I got and ate a full rack of ribs here, much to the delight of Mari and Mami because I eat “like a monster”.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-9OQcHXwOLq8/Tj6LqAvHq8I/AAAAAAAAAqU/KYNKv1FCMUM/s1600-h/IMG_0574_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0574_resize" border="0" alt="IMG_0574_resize" src="http://lh5.ggpht.com/-Zqli9mzrraI/Tj6LqsXMkMI/AAAAAAAAAqY/9Np87LzmR74/IMG_0574_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="456" height="315"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-OR3Oco6mHdo/Tj6LrK7MOpI/AAAAAAAAAqc/YY1CxWfA29E/s1600-h/IMG_0575_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0575_resize" border="0" alt="IMG_0575_resize" src="http://lh5.ggpht.com/-CYyYBIcdsGs/Tj6LrgA0e2I/AAAAAAAAAqg/n1AbOzNmYrA/IMG_0575_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="463" height="320"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-CTSgUbJ-9L8/Tj6LsFCyPaI/AAAAAAAAAqk/fHwJ8VNHWM0/s1600-h/IMG_0576_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0576_resize" border="0" alt="IMG_0576_resize" src="http://lh3.ggpht.com/-v2KHJ1VVaoA/Tj6LseyLWtI/AAAAAAAAAqo/2HVqzhincgE/IMG_0576_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="474" height="327"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;After eating our fill, it was time for some good clean fun, and in Japan there is nothing better then some karaoke to enjoy yourself with friends, and they dig American songs.&amp;nbsp; I don’t know why, but I love Japanese karaoke, more then I suspect I will ever like American karoke; don’t know why.&amp;nbsp; I got to sing some Journey, Lady Gaga, Taylor Swift, and Aerosmith. Its just good clean fun&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-yvGvLx40tY0/Tj6Ls2Rh08I/AAAAAAAAAqs/fHLC6ms1ekc/s1600-h/IMG_0583_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0583_resize" border="0" alt="IMG_0583_resize" src="http://lh5.ggpht.com/-uPE7VbOtuco/Tj6LtXcxl7I/AAAAAAAAAqw/EdTO5iNawy4/IMG_0583_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="481" height="332"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-9u0DoXs9NNY/Tj6LtzEowBI/AAAAAAAAAq0/UqTVM_QJk-g/s1600-h/IMG_0584_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0584_resize" border="0" alt="IMG_0584_resize" src="http://lh3.ggpht.com/-mQO4096xltE/Tj6LuJmYqKI/AAAAAAAAAq4/24xWs1CPAu8/IMG_0584_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="472" height="326"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-idP0QQ05rNM/Tj6Lurf-gxI/AAAAAAAAAq8/jzTszYwAPko/s1600-h/IMG_0599_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0599_resize" border="0" alt="IMG_0599_resize" src="http://lh4.ggpht.com/-wMr7VKwI_P8/Tj6LvP05fII/AAAAAAAAArA/74JZlHSUv5M/IMG_0599_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="476" height="328"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-z83vK38-ILk/Tj6LvU--iNI/AAAAAAAAArE/Dx-Md5z2Ba0/s1600-h/IMG_0602_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0602_resize" border="0" alt="IMG_0602_resize" src="http://lh3.ggpht.com/-t2HgqgqU4oA/Tj6Lv7zFd4I/AAAAAAAAArI/hM998FRmDCY/IMG_0602_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="480" height="331"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Lets be honest, Japan is a consumer based nation.&amp;nbsp; The amount of shopping here is insane, if they have space for a shop they put a shop there.&amp;nbsp; They convert alleys into whole shopping markets, they build insane underground labyrinths that are malls, they build malls 12 stories high.&amp;nbsp; It is INSANE the amount of shopping they have and how they blend things together.&amp;nbsp; Most of the shops are located around the major stations for the rail service, and Osaka station is no exception.&lt;/p&gt; &lt;p&gt;Old Osaka station&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-aO9FbLfUl8g/Tj6LwYZxGWI/AAAAAAAAArM/pxbb_DgF9Ec/s1600-h/IMG_0567_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0567_resize" border="0" alt="IMG_0567_resize" src="http://lh6.ggpht.com/-aD4yNZmkqJE/Tj6Lwq2VZcI/AAAAAAAAArQ/HIamMdYPhnc/IMG_0567_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="487" height="336"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;New Osaka station:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-h9A73pGrOxQ/Tj6LxJp6rTI/AAAAAAAAArU/YaiuDuWBrz0/s1600-h/IMG_0578_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0578_resize" border="0" alt="IMG_0578_resize" src="http://lh6.ggpht.com/-bjK0twM3_90/Tj6LxhHJ3PI/AAAAAAAAArY/EH5R2QWs61g/IMG_0578_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="488" height="337"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The latter is one of the tallest buildings I have ever seen and combines the rail station with an impressive outdoor shopping mall&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-A84TQUKa_aw/Tj6LyG67E7I/AAAAAAAAArc/UUporyz9log/s1600-h/IMG_0612_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0612_resize" border="0" alt="IMG_0612_resize" src="http://lh6.ggpht.com/-HmjDPPLP3kk/Tj6Lykr9tHI/AAAAAAAAArg/KzzT-oysk4Q/IMG_0612_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="511" height="353"&gt;&lt;/a&gt;\&lt;/p&gt; &lt;p&gt;Even though I see this sort of thing everywhere, it still makes my mouth drop.&amp;nbsp; Japan’s consumerism is second to none on the planet.&amp;nbsp; Yodobashi Camera might be a prime example of this.&amp;nbsp; Yodobashi is the department store of department stores.&amp;nbsp; This place has just about everything and is one of my favorite electronic stores in the world.&amp;nbsp; Also, cell phones (ketai denwa) play a huge role in Japanese society, so huge that keeping it charged is a matter, almost, of life and death.&amp;nbsp; I found this to be ingenious inside Yodobashi Camera&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-3OzJAp-Pf4E/Tj6LzC2FQnI/AAAAAAAAArk/p-el7kNt6Y8/s1600-h/IMG_0608_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0608_resize" border="0" alt="IMG_0608_resize" src="http://lh6.ggpht.com/--Oy0l9HlWdg/Tj6LzV1u_nI/AAAAAAAAAro/qBOEIx4-NSA/IMG_0608_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="515" height="355"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Pay some yen, lock your phone in and have it speed charged.&amp;nbsp; My guess is this was in response to the dramatic rise in the use of smartphones.&amp;nbsp; Interestingly, despite being an advanced cellular nation, Japan never did embrace the smartphone until recently; Android and iPhone are now enormous here and it is such an emerging smartphone market with highly sophisticated users, many companies (Microsoft) are test driving their new products here to measure adoption.&lt;/p&gt; &lt;p&gt;Finally, I made an attempt to head to the outer area of Kyoto to visit Mami’s parents, but I have to be in Hikone early tomorrow to help with my host mothers English class so I broke it off.&amp;nbsp; But before I did, I got this shot&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-A8YIip_RbVM/Tj6Lz2sgL7I/AAAAAAAAArs/ZTpVKHSIG8A/s1600-h/IMG_0614_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0614_resize" border="0" alt="IMG_0614_resize" src="http://lh6.ggpht.com/-LzPrM46CwOI/Tj6L0ZW-vhI/AAAAAAAAArw/230ryYjO0Bw/IMG_0614_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="515" height="355"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I am always amazed at how Japan blends old with new and how the train system is so tightly integrated with the surrounding community.&amp;nbsp; So after turning around I head back to Osaka via Kyoto station before taking the Shinkansen to Shin-Osaka.&amp;nbsp; The subway got me to the next hotel: Ramada&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-HoRleukN0Fg/Tj6L08Yhe0I/AAAAAAAAAr0/JVNCT6n8cic/s1600-h/IMG_0616_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0616_resize" border="0" alt="IMG_0616_resize" src="http://lh4.ggpht.com/-3iuJsf5YfoA/Tj6L1EUZ54I/AAAAAAAAAr4/C6C_bF2Eclo/IMG_0616_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="498" height="344"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Tomorrow I will be in Hikone with my host family.&amp;nbsp; Finally get to give them their gifts and get that shot from the top of Hikone-jo that I want so bad.&amp;nbsp; Should be a fun time&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-2637012257908432349?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KUhimwvoaRxocyItSsVGNWKH48A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUhimwvoaRxocyItSsVGNWKH48A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KUhimwvoaRxocyItSsVGNWKH48A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUhimwvoaRxocyItSsVGNWKH48A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/Q6T45lXuz_I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/2637012257908432349/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=2637012257908432349" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2637012257908432349?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2637012257908432349?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/Q6T45lXuz_I/day-4-up-island-to-osaka.html" title="Day 4: Up the Island to Osaka" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-3_14Op6Z3t8/Tj6Lo4hQuHI/AAAAAAAAAqI/U4vL7T2sKfk/s72-c/IMG_0565_resize_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-4-up-island-to-osaka.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CR3o4fyp7ImA9WhdRFko.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-2584414897687560185</id><published>2011-08-06T20:33:00.001-04:00</published><updated>2011-08-06T20:44:26.437-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-06T20:44:26.437-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 3: Peace Ceremony and Return to Miyajima</title><content type="html">&lt;p&gt;When I began planning this trip I noted there would be two core activities I wanted to experience: The Mt. Fuji Climb and the Hiroshima Peace Ceremony.&amp;nbsp; For the grossly uninformed, Hiroshima was the first city ever attack by nuclear weapons (though technically an atom bomb is different from a nuclear bomb, but the point is the same) at 815am on August 6, 1945.&amp;nbsp; Every year, in an effort to remind the world about the dangers of nuclear weapons and armed conflict in general, a ceremony is held to honor those lost and cherish the hope that one day the world will truly be at peace.&lt;/p&gt; &lt;p&gt;So first, Mami arrived!!! at 1110pm on August 5.&amp;nbsp; It was so good to see her again and I am so happy she decided to join me.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-j19DZeTyeIk/Tj3dGxp8fJI/AAAAAAAAAoQ/Yy7oII4U-UQ/s1600-h/P8050005_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050005_resize" border="0" alt="P8050005_resize" src="http://lh6.ggpht.com/-H6zaEWCTzJE/Tj3dHe87xhI/AAAAAAAAAoU/B1qgFtKrOjQ/P8050005_resize_thumb1.jpg?imgmax=800" width="463" height="358"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We woke up the next morning at 630am so that we could make it to the ceremony.&amp;nbsp; We were able to make it to the ceremony just in time for the peace bell.&amp;nbsp; At 815am, across Japan, there is a moment of silence as the bell is struck to remember those fateful seconds before the bomb made impact.&amp;nbsp; At the ceremony we were addressed by the Mayor of Hiroshima, the Prime Minister of Japan and, surprisingly, the UN Secretary General Ban Ki-Moon.&amp;nbsp; Some shots from the ceremony.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-kWku_ORWHso/Tj3dHxnL_JI/AAAAAAAAAoY/wSQ0qqUwXb0/s1600-h/IMG_0341_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0341_resize" border="0" alt="IMG_0341_resize" src="http://lh6.ggpht.com/-OX0cU1XjqK4/Tj3dIILwihI/AAAAAAAAAoc/bjB2GXKOd4Y/IMG_0341_resize_thumb1.jpg?imgmax=800" width="472" height="326"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-gr8EbSkl4zU/Tj3dIlroxoI/AAAAAAAAAog/owFU3seEy90/s1600-h/IMG_0346_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0346_resize" border="0" alt="IMG_0346_resize" src="http://lh4.ggpht.com/-8M1jHZv52lw/Tj3dJGam0WI/AAAAAAAAAok/EQv7tbREU9k/IMG_0346_resize_thumb1.jpg?imgmax=800" width="479" height="331"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-8N_I6uQX6ZM/Tj3dJbxylRI/AAAAAAAAAoo/iL4Sxsnof0c/s1600-h/IMG_0335_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0335_resize" border="0" alt="IMG_0335_resize" src="http://lh6.ggpht.com/-1tRAUdbi13c/Tj3dJ2jhFxI/AAAAAAAAAos/29a8V1nTqQo/IMG_0335_resize_thumb1.jpg?imgmax=800" width="486" height="335"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It was quite an interesting mood.&amp;nbsp; I did get asked a couple times about why the US does not attend the ceremony (the only missing delegations were from China and the US) and about our current wars.&amp;nbsp; In both cases, I politely refused to answer the question; not the time nor the place for such a discussion, after all.&lt;/p&gt; &lt;p&gt;After the ceremony we took a tour of the Hiroshima Peace Museum.&amp;nbsp; The images in here are both amazing and disturbing.&amp;nbsp; The scale of the destruction caused by the bomb is incomprehensible, even more so when you consider the bomb only released 1/4 of its power.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-SsC6RrmxfpQ/Tj3dKLoo_aI/AAAAAAAAAow/biPcUdAnUq8/s1600-h/IMG_0386_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0386_resize" border="0" alt="IMG_0386_resize" src="http://lh3.ggpht.com/-K6FOPyszFFQ/Tj3dKrpTKeI/AAAAAAAAAo0/UdLQsQ9ZLME/IMG_0386_resize_thumb1.jpg?imgmax=800" width="481" height="332"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;But the portion of the museum dedicated to those who had the misfortune of surviving the blast and experience a true “hell on earth” is both saddening and deeply disturbing, such as the images of those with melted skin as depicted in the model below:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-xgeUZSwVXg4/Tj3dLNMcdaI/AAAAAAAAAo4/1wu0J05SRpM/s1600-h/IMG_0390_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0390_resize" border="0" alt="IMG_0390_resize" src="http://lh5.ggpht.com/-VVEnQtZbbR4/Tj3dLtXJcRI/AAAAAAAAAo8/HRNC_FIDuOg/IMG_0390_resize_thumb1.jpg?imgmax=800" width="511" height="353"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Once we left the museum I decided to purchase a Japanese Cell Phone.&amp;nbsp; Quite honestly, I have not been at all impressed with my Windows Phone here in Japan; whether that is to be directed at the device, Verizon, or the general complexities of cellular communications, I do not know.&amp;nbsp; But since I had Mami with me, I could rest easy going to Softbank knowing that she could take care of the questioning.&lt;/p&gt; &lt;p&gt;Amazingly, we went to three Softbank stores and all three showed us the same phones with the same pricing plans (there also within 5m walking), yet the phones differed heavily in price (between 9,000 yen (~$90) to 2,500 yen (~$25).&amp;nbsp; It really is amazing to me how different the industry here is compared to America.&amp;nbsp; I finally settled on a nice flip phone.&amp;nbsp; This is good because when I do return to Japan, I will have a phone and needn’t rely on my American Cell Phone where coverage has been sporadic (non-existent in Hiroshima since I don’t have a SIM card).&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-oIYnfLdYhgw/Tj3dL53WeDI/AAAAAAAAApA/PV_2ZW4kxH4/s1600-h/P8060002_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8060002_resize" border="0" alt="P8060002_resize" src="http://lh3.ggpht.com/-TFvmhAk57HI/Tj3dMTiYz2I/AAAAAAAAApE/UgVKks1-rZ4/P8060002_resize_thumb1.jpg?imgmax=800" width="430" height="332"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So now we decided to head to Miyajima, a huge tourist spot for foreigners and Japanese alike.&amp;nbsp; The only problem with it is, if you arent careful you could end up with a LONG train ride.&amp;nbsp; There are two ports that will serve ferries to take you to the island (jima).&amp;nbsp; Miyajima-guchi is the one that is really far away (and where we ended up), you should always try to go to Hiroshima Port (which was closed when we tried to return).&lt;/p&gt; &lt;p&gt;Miyajima reminds me a lot of Nara, especially cause of the deer, which are apparently so hungry they will snatch paper right out of your hand.&amp;nbsp; In fact, I bought some karaage and one decided he would follow me until I gave him it.&amp;nbsp; Thankfully, I was able to outsmart him &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-laughingoutloud" alt="Laughing out loud" src="http://lh3.ggpht.com/-Mkj8B8F3wDY/Tj3dM-fC8gI/AAAAAAAAApI/XTTHKcBexRA/wlEmoticon-laughingoutloud2.png?imgmax=800"&gt; by using some low hanging chains:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-qs6JXuwVZf0/Tj3dNCbWZOI/AAAAAAAAApM/uypIfaZfbLM/s1600-h/IMG_0470_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0470_resize" border="0" alt="IMG_0470_resize" src="http://lh4.ggpht.com/-MBHPFzxchV0/Tj3dNvNYFdI/AAAAAAAAApQ/dmfEWXyU8NE/IMG_0470_resize_thumb1.jpg?imgmax=800" width="436" height="301"&gt;&lt;/a&gt;&lt;a href="http://lh6.ggpht.com/-RtAk0LgZcXM/Tj3dOPlsvwI/AAAAAAAAApU/G0lyacn_TTI/s1600-h/IMG_0483_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0483_resize" border="0" alt="IMG_0483_resize" src="http://lh3.ggpht.com/--DRD3R53lMQ/Tj3dOvtv_zI/AAAAAAAAApY/GePIVPjxnW0/IMG_0483_resize_thumb1.jpg?imgmax=800" width="374" height="258"&gt;&lt;/a&gt;&lt;a href="http://lh4.ggpht.com/-sM8VutTwLhI/Tj3dPCeiqhI/AAAAAAAAApc/MQlgfXIq4iw/s1600-h/IMG_0484_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0484_resize" border="0" alt="IMG_0484_resize" src="http://lh3.ggpht.com/-J8LyJvkDchM/Tj3dPWtIkcI/AAAAAAAAApg/4f4_neiAWp4/IMG_0484_resize_thumb1.jpg?imgmax=800" width="379" height="262"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;After visiting the island we headed back to Hiroshima city for the final part of the Peace Ceremony, the lighting of the Lanterns.&amp;nbsp; I am told this is a truly inspiring sight and was eager to see it.&amp;nbsp; It was truly breathtaking, below are some of the shots that I took from Aioi-dori bridge near the Peace Pak.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-GiYL_61gIgk/Tj3dP_HPoQI/AAAAAAAAApk/QPA8FXU5GG4/s1600-h/IMG_0528_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0528_resize" border="0" alt="IMG_0528_resize" src="http://lh4.ggpht.com/-siy_ki5x-10/Tj3dQlWk5MI/AAAAAAAAApo/8U5poQBP_AU/IMG_0528_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="498" height="344"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-0hETm2GA_QQ/Tj3dROi_UaI/AAAAAAAAAps/9Fuyc1vgmXc/s1600-h/IMG_0547_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0547_resize" border="0" alt="IMG_0547_resize" src="http://lh4.ggpht.com/-NXZVKaNigq8/Tj3dRT51dkI/AAAAAAAAApw/QXfzAsboCFg/IMG_0547_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="494" height="341"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-UYXNu9DcObw/Tj3dR2Q0jGI/AAAAAAAAAp0/ZJnV8Qea7yc/s1600-h/IMG_0554_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0554_resize" border="0" alt="IMG_0554_resize" src="http://lh5.ggpht.com/-J9KCt99rkh0/Tj3dSSJqCWI/AAAAAAAAAp4/fTkuuwbUxxo/IMG_0554_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="459" height="317"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Special thanks to Mami-chan for helping me around all day and to Shiori-chan for coming later after work.&amp;nbsp; It was just awesome, a great time and I was happy to finally experience this ceremony in person.&amp;nbsp; Hontoni arigatou gozaimashita&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-GeP_d0gkQ9c/Tj3dS4b9I9I/AAAAAAAAAp8/enmF3EWdDYY/s1600-h/IMG_0560_resize%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0560_resize" border="0" alt="IMG_0560_resize" src="http://lh3.ggpht.com/-VunIc2ryfoc/Tj3dTHwNYjI/AAAAAAAAAqA/RRWPxVpOIWE/IMG_0560_resize_thumb%25255B1%25255D.jpg?imgmax=800" width="511" height="353"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I guess to close on the thoughts, I made it a point to avoid any conversation about nuclear power or weapons while I was at the ceremony.&amp;nbsp; I can certainly explain the politics of the bomb and I do believe that it saved more people then it killed which was why it was dropped.&amp;nbsp; Interestingly, while I was in Hiroshima I witnessed a march down on the busiest streets.&amp;nbsp; At first I thought it was for the Abandonment of Nuclear Weapons, but it turned out to be the opposite.&lt;/p&gt; &lt;p&gt;There is a movement in Japan to repeal the Peace Constitution and begin arming themselves.&amp;nbsp; As China has grown into a power and the situation on the Korean peninsula continues to be precarious, sometimes they wonder if the US could still protect them.&amp;nbsp; Observing this march and the number of police surrounding them, I came to compare it to a KKK rally in the South.&lt;/p&gt; &lt;p&gt;Overall, the Hiroshima leg of the trip was a ton of fun and totally worth coming down here.&amp;nbsp; While I had worried about it being awkward, it wasn’t at all, I think Mami had a lot to do with that.&amp;nbsp; With her there acting as a translator, I was put at ease and was able to fully enjoy things.&amp;nbsp; Day 4, we head to Osaka for the next leg of the trip.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-2584414897687560185?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9eNrEZ_2xDv2Wxqftno6Cn97g6E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9eNrEZ_2xDv2Wxqftno6Cn97g6E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9eNrEZ_2xDv2Wxqftno6Cn97g6E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9eNrEZ_2xDv2Wxqftno6Cn97g6E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/BHdHwWQoeV8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/2584414897687560185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=2584414897687560185" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2584414897687560185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2584414897687560185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/BHdHwWQoeV8/day-3-peace-ceremony-and-return-to.html" title="Day 3: Peace Ceremony and Return to Miyajima" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-H6zaEWCTzJE/Tj3dHe87xhI/AAAAAAAAAoU/B1qgFtKrOjQ/s72-c/P8050005_resize_thumb1.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-3-peace-ceremony-and-return-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YBR344cSp7ImA9WhdRFUk.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-7978035940934890980</id><published>2011-08-05T08:59:00.001-04:00</published><updated>2011-08-05T08:59:16.039-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T08:59:16.039-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 2: The Journey to Hiroshima</title><content type="html">&lt;p&gt;For those not following the planning of this trip, there are 2 key elements to it: Hiroshima Peace Ceremony and the Mt. Fuji Climb.&amp;nbsp; Today, I began my long journey from Tokyo to Hiroshima.&lt;/p&gt; &lt;p&gt;The day started well enough, I got to sleep in till about 8am. Had time to take inventory and understand what I had.&amp;nbsp; Initially I had planned to take my suitcase and leave my hiking pack.&amp;nbsp; However, given that there would be a stop in Osaka to visit Mari-chan, I decided against this for ease of use.&amp;nbsp; Thus, I left my suitcase at the Marriott and proceeded to Osaka.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-xQhC0AcZZlk/TjvpAHKNcMI/AAAAAAAAAnE/IwIJRgjCQHw/s1600-h/P8040011_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8040011_resize" border="0" alt="P8040011_resize" src="http://lh6.ggpht.com/-B7ujqoyvyj4/TjvpAiWwDYI/AAAAAAAAAnI/7X5_P0AtLI4/P8040011_resize_thumb1.jpg?imgmax=800" width="313" height="242"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It was at this point where things began not going as planned.&amp;nbsp; The train I had intended to take, Hikari at 1010 from Shinagawa was full.&amp;nbsp; This is the first time in all of my visit I have ever run into this problem.&amp;nbsp; I ended up taking the Hikari 469 at 1110 instead.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-1AhIKR79PLo/TjvpBGKu0hI/AAAAAAAAAnM/yGrd2r3ibaM/s1600-h/P8040015_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8040015_resize" border="0" alt="P8040015_resize" src="http://lh4.ggpht.com/-nGyxqEzyB5U/TjvpBrU6GZI/AAAAAAAAAnQ/fbH23pJB5IY/P8040015_resize_thumb1.jpg?imgmax=800" width="360" height="278"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This delayed me by one hour, thus I arrived in Osaka at 200pm instead of 100pm as was intended. Not a huge difference.&amp;nbsp; I just love the Shinkansen, it’s the epitome of efficiency for the Japanese.&amp;nbsp; 3hrs, that’s all it takes to get from the largest city in Japan to the 3rd largest; and not on the outskirts either like you get with an airport, but right in the city center.&amp;nbsp; See, the Tokkaido Shinkansen doesn’t run all the way to southern portion of the island, most trains stop in Osaka where the Sanyo Shinkansen takes over, so there is always a transfer at Osaka when going this far south.&amp;nbsp; Knowing thus, I arranged for Mari-chan to meet me for lunch; it was very good to see her again.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-8S3YHb61w_w/TjvpC1ZsAaI/AAAAAAAAAnU/-ZccoUQUT6U/s1600-h/P8050017_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050017_resize" border="0" alt="P8050017_resize" src="http://lh4.ggpht.com/-XbB5LphLeE8/TjvpDIAwAgI/AAAAAAAAAnY/WgndIqkAKMQ/P8050017_resize_thumb1.jpg?imgmax=800" width="336" height="260"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It doesn’t matter to me how strong you think you are, you take a trip like this and you do get lonely.&amp;nbsp; It really means a lot to me to have friends and people to chat with when I am there, I don’t like the great isolation and loneliness that tends to accompany these trips at all.&lt;/p&gt; &lt;p&gt;I had a great time with Mari at lunch, she is just so cool and nice.&amp;nbsp; Her English is much improved from last year, which is good cause my Japanese has fallen off, again &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/-SfLRW7chTPA/TjvpDhHgh1I/AAAAAAAAAnc/PtpvLs7YBFg/wlEmoticon-smile2.png?imgmax=800"&gt;.&amp;nbsp; It is just so hard to keep it up when you don’t use it at all back home.&amp;nbsp; Unfortunately, I missed my connecting train to Hiroshima after parting ways with Mari.&amp;nbsp; There is nothing worse, in my mind, then making a stupid mistake and then having to try to explain it to someone who doesn’t speak your language.&amp;nbsp; Thankfully, after three tries it dawned on me: I have a Rail Pass, I can just buy another ticket.&amp;nbsp; Did that and jumped on the Sakura train bound for Kagoshima, but stopping at Hiroshima.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-cLnhqtqqP04/TjvpD4SO7AI/AAAAAAAAAng/MioQooMWKi4/s1600-h/P8050018_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050018_resize" border="0" alt="P8050018_resize" src="http://lh4.ggpht.com/-HTAj7-WGffw/TjvpEZVjFuI/AAAAAAAAAnk/qJxwwdbf9eo/P8050018_resize_thumb1.jpg?imgmax=800" width="462" height="357"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Another reason I love Japan; they get mass transit.&amp;nbsp; Maybe its because Americans are so fond of their cars that most of our mass transit equipment is about 20yrs old where as the Japanese are constantly investing in it and, they are just cleaner as a society then America.&amp;nbsp; This is what my seat looked like on the train.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-TaI1iX5NguI/TjvpE_Q-k5I/AAAAAAAAAno/IXFtn-xCKx8/s1600-h/P8050019_resize4.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050019_resize" border="0" alt="P8050019_resize" src="http://lh3.ggpht.com/-VaSDBCVSTe8/TjvpFW0aBKI/AAAAAAAAAns/s5EnPAQ5Urg/P8050019_resize_thumb2.jpg?imgmax=800" width="475" height="373"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Among the decisions I made in planning for this trip I made sure the hotels I choose where close to my arrival point as possible or were hotels I knew the location of beforehand (Marriott).&amp;nbsp; With Hiroshima, I picked the new Sheraton (it just opened two months ago I am told), literally right outside Hiroshima station.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-TipYPAqqFuc/TjvpF1m7feI/AAAAAAAAAnw/4zlR_3zmwqE/s1600-h/P8050022_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050022_resize" border="0" alt="P8050022_resize" src="http://lh4.ggpht.com/-3WYVt5CP0ZI/TjvpGLKo9aI/AAAAAAAAAn0/P_SSMkvAoGo/P8050022_resize_thumb1.jpg?imgmax=800" width="458" height="354"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I really lucked out here, this is literally one of the nicest hotels I have ever been to, and I have been to quite a few hotels.&amp;nbsp; Definitely the most modern of the any hotel I have ever stayed at and with an incredible view of the city.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-CGLvYwTkzJ8/TjvpGh619nI/AAAAAAAAAn4/Fz1SEiGmjn8/s1600-h/P8050024_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050024_resize" border="0" alt="P8050024_resize" src="http://lh4.ggpht.com/-d07A0xyY2us/TjvpHL7kEBI/AAAAAAAAAn8/qoxqFLGps7U/P8050024_resize_thumb1.jpg?imgmax=800" width="442" height="342"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Oddly enough, despite the fact that I booked this room through Travelocity, hence why I could afford it, Sheraton was somehow able to use my Starwood frequent stayer account.&amp;nbsp; Not really a problem except that they decided to use the American Express associated with the Starwood account for co-incidentals and any extra charges (Internet).&amp;nbsp; Again not a problem until you realize, as I did, the Amex card associated with Starwood belongs to RCM Technologies and no reason I should get them in trouble.&lt;/p&gt; &lt;p&gt;Perhaps the coolest thing about the room has this:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-8DMYnukfezs/TjvpHR3edCI/AAAAAAAAAoA/k61SofAglJI/s1600-h/P8050025_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050025_resize" border="0" alt="P8050025_resize" src="http://lh3.ggpht.com/-SxZc2vi4XwM/TjvpH2hI7AI/AAAAAAAAAoE/0hbCaopwjCA/P8050025_resize_thumb1.jpg?imgmax=800" width="402" height="311"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Basically, its quite interesting how the hotel saves money, no lights in the room will allow themselves to be turned in, unless there is a reason.&amp;nbsp; That means, I cannot leave the room and leave lights on.&amp;nbsp; really neat, compliments the room quite nicely.&lt;/p&gt; &lt;p&gt;I have to say at this point, I am starting to really understand why using a travel agent is so critical.&amp;nbsp; Don’t get me wrong, I love what I have done and all the help I am getting but, if not for a couple solid decisions, the tune of this trip could be very different.&amp;nbsp; Today was difficult, Ill say it, if I had taken the suitcase rather then the hiking pack, I don’t think I would’ve gotten out of Shinagawa, let alone all the way to Hiroshima.&lt;/p&gt; &lt;p&gt;Its also incredibly lonely.&amp;nbsp; I am so thankful that I have friends like Mari and Mami to hang out with me because it really sucks doing all of this traveling alone.&amp;nbsp; You cant even enjoy a ribbing when you cant set the alarm clock in your room cause you cant read the button labels.&lt;/p&gt; &lt;p&gt;Anyway, as I sign off for the night, I leave with the view of Hiroshima from my hotel room, looks like the local baseball team is still in action.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-vZP5qO7_x_4/TjvpIfQUbPI/AAAAAAAAAoI/iAaK9s0NBrs/s1600-h/P8050032_resize3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8050032_resize" border="0" alt="P8050032_resize" src="http://lh4.ggpht.com/-ep3_NW4fZms/TjvpI7_dvNI/AAAAAAAAAoM/NMdISN3bDQM/P8050032_resize_thumb1.jpg?imgmax=800" width="463" height="358"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;By the way, it has been so hot here.&amp;nbsp; Was over a 100 in Osaka, God only knows how warm it is in Hiroshima, its farther south.&amp;nbsp; Also, it seems we had a typhoon just miss hitting the island directly, but that we did feel the effects of, so that explained the intense and sporadic rain today.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-7978035940934890980?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZklsfX_S5DgF0uZtTA8QcjjfVpw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZklsfX_S5DgF0uZtTA8QcjjfVpw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZklsfX_S5DgF0uZtTA8QcjjfVpw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZklsfX_S5DgF0uZtTA8QcjjfVpw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/dmjYj8Wa2L4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/7978035940934890980/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=7978035940934890980" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/7978035940934890980?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/7978035940934890980?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/dmjYj8Wa2L4/day-2-journey-to-hiroshima.html" title="Day 2: The Journey to Hiroshima" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-B7ujqoyvyj4/TjvpAiWwDYI/AAAAAAAAAnI/7X5_P0AtLI4/s72-c/P8040011_resize_thumb1.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-2-journey-to-hiroshima.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNRXs5cSp7ImA9WhdRFUk.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-49360559072860546</id><published>2011-08-05T08:58:00.001-04:00</published><updated>2011-08-05T08:58:14.529-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T08:58:14.529-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Japan" /><title>Day 1 : Traveling to Japan</title><content type="html">&lt;p&gt;Unlike last year, my vacation to Japan started a bit earlier this year, August 3rd thanks to my parents taking my brothers and I to Comerica Park in Detroit, MI for a Tiger game.&amp;nbsp; This is the third time I have been to the park.&amp;nbsp; It was&amp;nbsp; a lot of fun hanging out with everyone, even though we got absolutely soaked &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh3.ggpht.com/-dRXB6BI9y7w/TjsQ3IZvK9I/AAAAAAAAAmU/elmeO-KjNqQ/wlEmoticon-smile2.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-ehhNbNE-5Lo/Tjvo2Dlml0I/AAAAAAAAAmk/5D8m5ZVBFaQ/s1600-h/ComericaPark3.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ComericaPark" border="0" alt="ComericaPark" src="http://lh3.ggpht.com/-vrK7qoooIn4/Tjvo2uX9X9I/AAAAAAAAAmo/ucRbspz5Kno/ComericaPark_thumb1.jpg?imgmax=800" width="488" height="377"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Anyway, I knew that going to this game presented a risk cause sleep would be hard to come by during the course of my trip; I have never slept well on planes.&amp;nbsp; Thankfully I got about 5hrs ahead of the trip.&lt;/p&gt; &lt;p&gt;The first part of the journey was from Detroit to Toronto via my first ever “turbo-prop” plane ride.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-rYMZp_fwzUM/Tjvo3PIUinI/AAAAAAAAAms/qyMil5ARt30/s1600-h/TurboProp1.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="TurboProp" border="0" alt="TurboProp" src="http://lh4.ggpht.com/-1_QngNovi_g/Tjvo3l7udrI/AAAAAAAAAmw/U3GPGRppIIo/TurboProp_thumb.jpg?imgmax=800" width="496" height="388"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I will say this, these planes are LOUD!!! And it seems like the positioning of the emergency exit is not the smartest location, as I told the flight attendant “there is a giant whirling propeller outside the exit!!”.&amp;nbsp; Anyway, aside from a bit of nervousness, the trip was uneventful.&amp;nbsp; We arrived in Toronto in good time.&lt;/p&gt; &lt;p&gt;While waiting for the plane I had a great chance to meet a Serbian immigrant by the name of Pete. He was on his to the “former Yugoslovoia” which is now 10 different countries.&amp;nbsp; Beautiful area, the Balkands, but a lot of fighting and politics over the past 20yrs has heavily divided it. Thankfully, I had been paying attention to the news of late and we had a good conversation about American foreign policy and the fate of&amp;nbsp; Slobodan Milošević who is being tried for war crimes.&lt;/p&gt; &lt;p&gt;It is at this point of the trip that things began to slide south.&amp;nbsp; First, Air Canada, I love your plane and Toronto is a wonderful airport but, DO NOT DELAY A 12hr FLIGHT FOR 2HRS BECAUSE YOU CANT GET THE TV SYSTEM WORKING!!!&amp;nbsp; Especially after we board a flight already delayed 2hrs.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-DjKGtNIhVHc/Tjvo4EBXJ1I/AAAAAAAAAm0/wCwyMoxdBT8/s1600-h/P8030011_resize1.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8030011_resize" border="0" alt="P8030011_resize" src="http://lh5.ggpht.com/-jXIiqrGEsDI/Tjvo4RbAXtI/AAAAAAAAAm4/jmDvydGLuF8/P8030011_resize_thumb.jpg?imgmax=800" width="487" height="381"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I am not joking, this problem delayed our departure from Toronto by 2.5hrs!!! It totally destroyed any chance I had of hanging out with Mami in Fussa for the festival.&amp;nbsp; Though, perhaps it was a blessing in disguise.&amp;nbsp; The delay allowed me to avoid rush-hour and forced me to actually go to bed :)&lt;/p&gt; &lt;p&gt;The flight to Tokyo was smooth and uneventful, if not a bit longer then I remember. Unfortunately, my goal of working on my Windows Phone 7 app was dismissed because MPNS (Microsoft Push Notification Service) requires Internet even if you are using a local service reference.&lt;/p&gt; &lt;p&gt;Upon landing in Narita, I was amazed at how well the experience last year prepared me for things.&amp;nbsp; Last year, because of a mix-up in arrivals, it took the better part of 4hrs to get through Customs and Immigration, this year, about 30m total.&amp;nbsp; After that I exchanged my money, when down and got my Rail pass.&amp;nbsp; Bit of a snag here, I had to delay the start of the pass for one day to ensure I could cover the Shinkansen from Osaka to Tokyo on the 11th.&lt;/p&gt; &lt;p&gt;But again, this might have been a blessing in disguise. Because the reliance on JR trains was removed for the night, I was able to take the Skyliner line from Narita to Ueno.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-DIb-TR74UuE/Tjvo44zrFDI/AAAAAAAAAm8/q4iQKK25Jl8/s1600-h/P8040012_resize1.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P8040012_resize" border="0" alt="P8040012_resize" src="http://lh4.ggpht.com/-tZYvJLyaLyY/Tjvo5RPTpNI/AAAAAAAAAnA/7-uSjg4H8FA/P8040012_resize_thumb.jpg?imgmax=800" width="509" height="398"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Ueno, is much farther north then Tokyo and I had made it a point to limit my travel due to the three bags I was carrying. So, as I rode I knew I would have a tough go of it, working down the Yamanote to Tokyo, and then Maronouchi and Hibiya subway lines.&amp;nbsp; But I caught a break.&amp;nbsp; The Hibiya line connects to Ueno!!&lt;/p&gt; &lt;p&gt;Once I learned this, and having studied the Tokyo subway maps in detail prior to departure, I jumped at the chance.&amp;nbsp; It was some extra walking at Ueno station, but instead of changing trains and going through “The Maw” I was able to circumvent the whole process and get there quite fast.&lt;/p&gt; &lt;p&gt;And as I came up to street level from Higashi-Ginza, my photographic memory immediately kicked on, and I recognized EXACTLY where I was and I knew where the hotel was in relation.&amp;nbsp; At this point, my body was beginning to really complain.&amp;nbsp; I did sleep, somewhat, on the plane, but certainly not comfortably. I made it to the hotel and up to my room and was greeted with awesomeness: being a Platinum Marriott member (still) I am always treated like royalty at Marriott hotels, especially the really nice ones.&lt;/p&gt; &lt;p&gt;After arriving, I immediately took inventory and reorganized things for tomorrow’s trip to Hiroshima.&amp;nbsp; Only had a couple things explode, but I knew they might so they were isolated from everything else.&amp;nbsp; Spent the remainder of the evening playing with my Trophy tinkering with the settings to make the phone work properly.&lt;/p&gt; &lt;p&gt;At present, I am debating, internally, if a prepaid cell might be a better choice for right now.&amp;nbsp; With voice calls costing $2/min and sending txt messages not all that much cheaper, it very well might be the best option, even if it is unexpected.&amp;nbsp; Unfortunately, my Japanese language skills are not quite good enough to where I would be comfortable buying a cell phone here.&amp;nbsp; In my experience, while many Japanese can speak English, they don’t speak it well and certainly the people in the small shops don’t speak it with enough confidence to where I would be willing to buy a cell.&lt;/p&gt; &lt;p&gt;This matter will be worked on today.&amp;nbsp; Tomorrow’s entry will show me meeting my friend Mari in Osaka as I make my way to the Hiroshima Sheraton.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-49360559072860546?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Dmg9zvjusqQBmUeb6v0Xj82wdlU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Dmg9zvjusqQBmUeb6v0Xj82wdlU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Dmg9zvjusqQBmUeb6v0Xj82wdlU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Dmg9zvjusqQBmUeb6v0Xj82wdlU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/WTq8tQK2nx8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/49360559072860546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=49360559072860546" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/49360559072860546?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/49360559072860546?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/WTq8tQK2nx8/day-1-traveling-to-japan.html" title="Day 1 : Traveling to Japan" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-dRXB6BI9y7w/TjsQ3IZvK9I/AAAAAAAAAmU/elmeO-KjNqQ/s72-c/wlEmoticon-smile2.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/08/day-1-traveling-to-japan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEHR3s7fyp7ImA9WhdREEU.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-5136848584288392347</id><published>2011-07-30T23:56:00.001-04:00</published><updated>2011-07-30T23:57:16.507-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-30T23:57:16.507-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Part 2: IntelliJ and Android</title><content type="html">&lt;p&gt;In my &lt;a href="http://www.jfarrell.net/2011/07/upgrade-to-intellij.html" target="_blank"&gt;previous post&lt;/a&gt; I talked about installing and setting up Android to work with the JetBrains IntelliJ because in my view the development experience is a huge improvement over what is afforded to developers by Eclipse.&amp;nbsp; In this post, I will talk about how to use emulators and the other various tools you may or may not be familiar with&lt;/p&gt; &lt;h3&gt;Setting up an Emulator&lt;/h3&gt; &lt;p&gt;Working with any mobile operating system is going to require emulation to mimic various devices and situations.&amp;nbsp; Android is not only the exception, but with its proliferation as an open operating system it finds itself on a wide variety of devices.&amp;nbsp; Use the SDK Manager tool to install skins and other emulator profiles, this will be essential in your test.&lt;/p&gt; &lt;p&gt;To create an emulator, use the SDK Manager that comes with Android, it is accessible from directly within IntelliJ (see below)&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-Lp9D3f35wuk/TjTSYZ59dHI/AAAAAAAAAk8/0vqMRZ2LDj4/s1600-h/2011-07-30_2314%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2314" border="0" alt="2011-07-30_2314" src="http://lh4.ggpht.com/-a1sI3qhOICY/TjTSZpgdTBI/AAAAAAAAAlA/ohaTErXL6B4/2011-07-30_2314_thumb%25255B2%25255D.png?imgmax=800" width="550" height="488"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The option you will want out of the submenu is “Android SDK and AVD Manager”.&amp;nbsp; The SDK Manager is responsible for adding/removing various optional components from the SDKs that you have installed, as well as adding new Android SDKs.&amp;nbsp; The AVD Manager is responsible for managing the emulators.&amp;nbsp; As you can see, I currently have a wide variety of emulators available on my current system.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-iRoIbwAIxSk/TjTSZwBICDI/AAAAAAAAAlE/z39JZUakovI/s1600-h/2011-07-30_2317%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2317" border="0" alt="2011-07-30_2317" src="http://lh5.ggpht.com/-1c5cf-3MajM/TjTSavLGj3I/AAAAAAAAAlI/R3wg84fgZVQ/2011-07-30_2317_thumb%25255B1%25255D.png?imgmax=800" width="575" height="347"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;To add a new one, press the &lt;em&gt;New&lt;/em&gt; button.&amp;nbsp; This will bring up the next screen where you provide the configurations for your emulator of AVD.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-c_0iRRAL224/TjTSaxo-c5I/AAAAAAAAAlM/jJXM4V4LWCg/s1600-h/2011-07-30_2318%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2318" border="0" alt="2011-07-30_2318" src="http://lh6.ggpht.com/-xJky7BGz_ys/TjTSbd40kMI/AAAAAAAAAlQ/7Kx3BpjqJlQ/2011-07-30_2318_thumb%25255B2%25255D.png?imgmax=800" width="380" height="593"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The main things to be concerned with here is the &lt;strong&gt;Name&lt;/strong&gt;, which I have provided as &lt;em&gt;Gingerbread_WVGA&lt;/em&gt;, indicating the SDK name and the resolution the emulator will run at.&amp;nbsp; At this point you could hit &lt;em&gt;Create AVD&lt;/em&gt; and be done, but lets explain the other sections.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;SD Card&lt;/strong&gt; : Specifying this size allows you to mimic a device with an SD Card.&amp;nbsp; If your app is going to save anything to the phone, you will need this as a storage mechanism&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Skin&lt;/strong&gt; : This is the device you want to mimic, it could be a Galaxy or Milestone.&amp;nbsp; I generally leave as default with a standard resolution (HVGA or WVGA).&amp;nbsp; You can download additional skins through the SDK Manager&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Hardware&lt;/strong&gt; : Depending on what you want to do with your app, you may want to add certain hardware features to the emulator to more closely simulate an actual device.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The end result, if successful, is the device should now appear in your AVD list.&lt;/p&gt; &lt;h3&gt;Using an Emulator&lt;/h3&gt; &lt;p&gt;For most apps, I recommend using an emulator set to the lowest possible version you want to support, 2.1 is the most common platform target since 2.x makes up roughly 90% of the platform distribution for the Android platform.&lt;/p&gt; &lt;p&gt;To set a certain emulator to run when running the app, you will need to set a &lt;em&gt;Run Configuration&lt;/em&gt; (shown below)&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-DQJkOr8Qhg0/TjTSbu5k0QI/AAAAAAAAAlU/ge2xQ-KNLrc/s1600-h/2011-07-30_2326%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2326" border="0" alt="2011-07-30_2326" src="http://lh4.ggpht.com/-rbjer5ghU2g/TjTScQa-eGI/AAAAAAAAAlY/5lcrqlzOmy8/2011-07-30_2326_thumb%25255B2%25255D.png?imgmax=800" width="286" height="212"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will bring up the &lt;em&gt;Run/Debug Configurations&lt;/em&gt; screen where you can configure the run.&amp;nbsp; For this particular application I have two configurations &lt;em&gt;PayItSquare&lt;/em&gt; and &lt;em&gt;PISDevice&lt;/em&gt;.&amp;nbsp; The second one is more manual and allows me to target an actual device if one is plugged in.&amp;nbsp; The first one is my default and runs my Éclair emulator to emulate a device running Android 2.1-update 1.&lt;/p&gt; &lt;p&gt;Configuration 1&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-XAcCygLPog4/TjTSclVlj2I/AAAAAAAAAlc/Yd5Ji8q2xI4/s1600-h/2011-07-30_2331%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2331" border="0" alt="2011-07-30_2331" src="http://lh5.ggpht.com/-yA8ZzerLCrE/TjTSdWaXVII/AAAAAAAAAlg/oUV_8EtrXRo/2011-07-30_2331_thumb%25255B1%25255D.png?imgmax=800" width="543" height="467"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Configuration 2&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-1CnT_pZO9po/TjTSdmeAlOI/AAAAAAAAAlk/Dk2Bby3ix2M/s1600-h/2011-07-30_2329%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2329" border="0" alt="2011-07-30_2329" src="http://lh6.ggpht.com/-pS9Q86jwoMA/TjTSeId56xI/AAAAAAAAAlo/y78Vphvy3QE/2011-07-30_2329_thumb%25255B2%25255D.png?imgmax=800" width="541" height="470"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We are going to demonstrate the second configuration since it gives the most flexibility.&amp;nbsp; I would encourage a new user to explore the various options on all the tabs (&lt;em&gt;Emulator, Logcat &lt;/em&gt;as well) to get a good feel for how to bring the emulator as close as possible to the device a user will be using.&lt;/p&gt; &lt;p&gt;Hitting &lt;em&gt;Play&lt;/em&gt; with the second configuration selected will bring up the following screen:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-0rVHQ4fRjcU/TjTSeVVvxII/AAAAAAAAAls/mAuJwQCNrY8/s1600-h/2011-07-30_2334%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2334" border="0" alt="2011-07-30_2334" src="http://lh3.ggpht.com/-6j1MB2YMv1M/TjTSe_svkII/AAAAAAAAAlw/9COvUH13INU/2011-07-30_2334_thumb%25255B1%25255D.png?imgmax=800" width="445" height="436"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As you can see, at the current moment I have no Emulators running or devices plugged in.&amp;nbsp; If I press the &lt;em&gt;Launch Emulator &lt;/em&gt;button, I can select which emulator I wish to run the app in (see below).&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-s2b7CDA6_dg/TjTSfMB6PJI/AAAAAAAAAl0/Sjqhe_4o9oE/s1600-h/2011-07-30_2335%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2335" border="0" alt="2011-07-30_2335" src="http://lh4.ggpht.com/-IBQnZuZ48cw/TjTSftQJpUI/AAAAAAAAAl4/SNpvSbz885o/2011-07-30_2335_thumb%25255B1%25255D.png?imgmax=800" width="521" height="443"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This display is even nice enough to tell us which emulators would not be compatible with our projects target SDK.&amp;nbsp; In this case, I would pick the &lt;em&gt;Eclair _HVGA&lt;/em&gt; emulator.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; when you press &lt;em&gt;OK&lt;/em&gt; your app will NOT be deployed to the emulator.&amp;nbsp; You will have to keep the other window open until the emulator instance shows up.&amp;nbsp; I generally wait till the emulator reaches the start screen before hitting &lt;em&gt;Refresh&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;Once you see the emulator instance in the selector window (hit &lt;em&gt;Refresh&lt;/em&gt;) you can select it and indicate to IntelliJ to deploy your app to that emulator:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-laqMSDQpAQc/TjTSgFzvRlI/AAAAAAAAAl8/qj5-sjTtwvg/s1600-h/2011-07-30_2338%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2338" border="0" alt="2011-07-30_2338" src="http://lh4.ggpht.com/-0qkHmwYrfK0/TjTSglxt6CI/AAAAAAAAAmA/BfyEfF8-2EY/2011-07-30_2338_thumb%25255B2%25255D.png?imgmax=800" width="517" height="512"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This will launch your app.&lt;/p&gt; &lt;h3&gt;Using Logcat&lt;/h3&gt; &lt;p&gt;Logcat is the secret weapon of most Android developers, it provides information, straight from the phone, about what is happening (or happened) under the hood.&amp;nbsp; It will even give you stack trace information when an error is encountered, its damn handy, and IntelliJ makes it really easy to use.&lt;/p&gt; &lt;p&gt;Mine is located at the bottom of my development environment&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-DTQi_OdbKgs/TjTSg7sz3uI/AAAAAAAAAmE/q6nBrZs-eN0/s1600-h/2011-07-30_2354%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-30_2354" border="0" alt="2011-07-30_2354" src="http://lh6.ggpht.com/-y7tB3xV3c7w/TjTShBLRVeI/AAAAAAAAAmI/hF2UWwVJBnQ/2011-07-30_2354_thumb%25255B1%25255D.png?imgmax=800" width="585" height="106"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Clicking on this will bring up the Logcat for all connected Android devices and emulators.&amp;nbsp; There does tend to be a lot of data, so look for &lt;strong&gt;Red&lt;/strong&gt; if you trying to determine the cause of an error.&lt;/p&gt; &lt;p&gt;I hope this helps people looking to use IntelliJ as their new development environment over Eclipse.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-5136848584288392347?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3gIHxGDeYd2ZdPXx2aoAZAkZqAc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3gIHxGDeYd2ZdPXx2aoAZAkZqAc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3gIHxGDeYd2ZdPXx2aoAZAkZqAc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3gIHxGDeYd2ZdPXx2aoAZAkZqAc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/x_azQbo9RuE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/5136848584288392347/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=5136848584288392347" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/5136848584288392347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/5136848584288392347?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/x_azQbo9RuE/part-2-intellij-and-android.html" title="Part 2: IntelliJ and Android" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-a1sI3qhOICY/TjTSZpgdTBI/AAAAAAAAAlA/ohaTErXL6B4/s72-c/2011-07-30_2314_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/07/part-2-intellij-and-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0INQn8_eCp7ImA9WhdSFko.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-4297006920661343018</id><published>2011-07-25T23:14:00.002-04:00</published><updated>2011-07-26T07:26:33.140-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-26T07:26:33.140-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Technical" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Upgrade to IntelliJ</title><content type="html">&lt;p&gt;As an Android developer I took the normal road when I started Android development, I used Eclipse and worked with the tools supported by Google through the ADT.  But like many developers, I grew tired of the quirkiness of Eclipse and began looking for a better option.  I found it in IntelliJ from JetBrains, makes of another favorite tool of mine ReSharper.  However, the caveat to IntelliJ is that you wont found as much documentation on setting things up as you will for Eclipse, this blog post is meant to solve that.  Lets get started:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1) Get the Android Tools&lt;/strong&gt; – this may seem like a weird place to start but, it works out b/c the Tools installer will tell you where to find the correct Java Installation, if you don’t already have it.  You can download the installer here: &lt;a title="installer_r12-windows.exe" href="http://dl.google.com/android/installer_r12-windows.exe"&gt;installer_r12-windows.exe&lt;/a&gt; (Windows Only).&lt;/p&gt; &lt;p&gt;If you are special, like me, you will get this lovely message when you try to install it:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-OgkK5vPhCyA/Ti4w0vr656I/AAAAAAAAAjk/xCibl50_eW4/s1600-h/2011-07-25_2109%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2109" border="0" alt="2011-07-25_2109" src="http://lh3.ggpht.com/-E9ZQqN4ef2I/Ti4w1fH3c0I/AAAAAAAAAjo/uyxcCBig-Ks/2011-07-25_2109_thumb%25255B2%25255D.png?imgmax=800" width="531" height="429" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Follow these instructions to get the CORRECT Java SDK, it must support x86.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2) Downloading the JDK&lt;/strong&gt; – I always do it this way to make sure I get any new updates to the path that Google has found.  The key here is to get the x86 version of Java, x64 doesn’t seem to work at this time.  Download the SDK here: &lt;a title="jdk-6u26-windows-i586.exe" href="http://www.oracle.com/technetwork/java/javase/downloads/"&gt;jdk-6u26-windows-i586.exe&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-SqGZMO-uJ1Q/Ti4w1n_NQCI/AAAAAAAAAjs/GnGoJnlWPFY/s1600-h/2011-07-25_2154%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2154" border="0" alt="2011-07-25_2154" src="http://lh6.ggpht.com/-L820qNjfG5w/Ti4w2RWaqwI/AAAAAAAAAjw/LQ-az5ogy6c/2011-07-25_2154_thumb%25255B3%25255D.png?imgmax=800" width="412" height="339" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3) Installing the JDK&lt;/strong&gt; – This step is very simple, just follow the instructions and take all the defaults.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4) Get Android Tools and SDK&lt;/strong&gt; – Now that you have Java, you can run the Installer which will install the SDK and Tools on your machine.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-8eRXRSUNMks/Ti4w22XSAII/AAAAAAAAAj0/MrYjy2Gbf2g/s1600-h/2011-07-25_2232%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2232" border="0" alt="2011-07-25_2232" src="http://lh4.ggpht.com/-OyXHcteJAss/Ti4w3j_Dr6I/AAAAAAAAAj4/iuUQbm981eU/2011-07-25_2232_thumb%25255B1%25255D.png?imgmax=800" width="515" height="415" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You might get this message, even though Java is installed.  This is a weird error within the installer, the workaround is to hit &lt;em&gt;Back&lt;/em&gt;, and then &lt;em&gt;Next&lt;/em&gt;, which should fix the problem&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-eHlpbVYyu_U/Ti4w3yEO92I/AAAAAAAAAj8/nAUBwKWM1V4/s1600-h/2011-07-25_2233%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2233" border="0" alt="2011-07-25_2233" src="http://lh4.ggpht.com/-c-bDLW4I3GI/Ti4w4SMclFI/AAAAAAAAAkA/amvU-GuFZ5M/2011-07-25_2233_thumb%25255B1%25255D.png?imgmax=800" width="479" height="382" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Take the remaining defaults and complete the installer.  Understand that at this point you do NOT have the Android platform, only the tools.  At the end of the Tools installation, the SDK manager will launch and prompt you to download the platforms.  You can pick and choose here, but I always just take everything&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-zqRBHBo_o1E/Ti4w5JdK8fI/AAAAAAAAAkE/Y5q4_xsfFZw/s1600-h/2011-07-25_2235%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2235" border="0" alt="2011-07-25_2235" src="http://lh4.ggpht.com/-faFrL0uB9Fg/Ti4w5z0KcJI/AAAAAAAAAkI/J2BN2_vHn8o/2011-07-25_2235_thumb%25255B2%25255D.png?imgmax=800" width="570" height="418" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Understand that this will take a few hours, depending on your connection speed.  &lt;strong&gt;Alternatively, hit “Cancel” here and choose a package from the “Available Packages” list and install that&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;You can confirm what you have installed by using Windows Explorer to look at &lt;em&gt;c:\Program Files\android\android-sdk\platforms&lt;/em&gt; – there you should see something like this&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-u4_IKNLgPto/Ti4w6WEEB3I/AAAAAAAAAkM/N3BNRFrisEQ/s1600-h/2011-07-25_2255_001_001%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2255_001_001" border="0" alt="2011-07-25_2255_001_001" src="http://lh5.ggpht.com/-7iIcEulGjl4/Ti4w61HzPMI/AAAAAAAAAkQ/77ZBwRvQtdY/2011-07-25_2255_001_001_thumb%25255B1%25255D.png?imgmax=800" width="524" height="405" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;5) Download and Install IntelliJ&lt;/strong&gt;  - While the installation process is proceeding, head over to JetBrains and download IntelliJ Community, here is the link: &lt;a href="http://www.jetbrains.com/idea"&gt;http://www.jetbrains.com/idea&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Using the installer take all the defaults and install the application.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;6) Configure IntelliJ&lt;/strong&gt; – Once the download is complete for Android and you have IntelliJ installed, you can run the application and configure it to support Android.  This is a two step process, all of which can be handled by running the “Create Project Wizard” and select the Android Module as the type.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-vzoS9DZGgLo/Ti4w7tb2cJI/AAAAAAAAAkU/gXcxJi8ix5Y/s1600-h/2011-07-25_2258%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2258" border="0" alt="2011-07-25_2258" src="http://lh6.ggpht.com/-CCeoXh_dtZ0/Ti4w8UUG87I/AAAAAAAAAkY/vXUswUS7Odw/2011-07-25_2258_thumb%25255B2%25255D.png?imgmax=800" width="550" height="482" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The next window you are looking for is &lt;strong&gt;Project JDK&lt;/strong&gt;.  This will be blank and that is a problem, hit &lt;em&gt;Configure&lt;/em&gt; to tell IntelliJ where Java is.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-Sl2yZecBqMc/Ti4w82uUTBI/AAAAAAAAAkc/P0OR0OxAQx4/s1600-h/2011-07-25_2259%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2259" border="0" alt="2011-07-25_2259" src="http://lh5.ggpht.com/-jEirwrotQFg/Ti4w9p4geNI/AAAAAAAAAkg/txcB_d11Zy0/2011-07-25_2259_thumb%25255B2%25255D.png?imgmax=800" width="557" height="489" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Simply select the path you installed Java to (mine is c:\Program Files\Java\jdk1.6.0_26) and hit &lt;em&gt;Ok&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;With this you now have a JDK that IntelliJ can use.  Hitting &lt;em&gt;Next&lt;/em&gt; will take you to the Android specific setup screen. The glaring problem is in red&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-B3Sx1N-v_rM/Ti4w-A5p_LI/AAAAAAAAAkk/uNYnh32sQ98/s1600-h/2011-07-25_2302%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2302" border="0" alt="2011-07-25_2302" src="http://lh6.ggpht.com/-SoUYZ4LU6kE/Ti4w-wjczRI/AAAAAAAAAko/geQ1tuAPnCc/2011-07-25_2302_thumb%25255B2%25255D.png?imgmax=800" width="541" height="473" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;We have no Android SDK to work with&lt;/strong&gt;.  Its no big deal, just need to tell IntelliJ where our Android SDK is, to that hit the &lt;em&gt;…&lt;/em&gt; button to the right of the Android SDK dropdown.&lt;/p&gt; &lt;p&gt;Hitting this will open up the following dialog.  On this dialog hit the + (indicated by the red arrow) to add an Android SDK reference to the &lt;em&gt;classpath&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-N66YiZC1yzM/Ti4w_dQZspI/AAAAAAAAAks/yZqPbP5Lq5s/s1600-h/2011-07-25_2304%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2304" border="0" alt="2011-07-25_2304" src="http://lh5.ggpht.com/-YBGiwL9Hds4/Ti4xAEauzQI/AAAAAAAAAkw/DCrnExeoK1s/2011-07-25_2304_thumb%25255B2%25255D.png?imgmax=800" width="559" height="483" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Select the &lt;em&gt;android-sdk&lt;/em&gt; (mine is &lt;em&gt;C:\Program Files\Android\android-sdk&lt;/em&gt;) folder in your path, this will prompt you with the available platforms at that path.  In our case, we have only Android 2.3.3, take that and hit &lt;em&gt;Ok&lt;/em&gt;.  &lt;em&gt;Note, it may ask for the Java version, select 1.6 in this case (it should be the only one)&lt;/em&gt;.  Below is the completed SDK selection&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-gES-PcYcP-k/Ti4xAirkoqI/AAAAAAAAAk0/kFEOKUlfQrQ/s1600-h/2011-07-25_2306%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-07-25_2306" border="0" alt="2011-07-25_2306" src="http://lh4.ggpht.com/-QV9AewLzIdE/Ti4xBrY7sLI/AAAAAAAAAk4/3t07FL6gYX4/2011-07-25_2306_thumb%25255B2%25255D.png?imgmax=800" width="557" height="487" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Hit &lt;em&gt;Finish&lt;/em&gt; and IntelliJ will setup a default Android Hello World application.  Congrats, you know have an Android enabled IntelliJ installation.  Our next segment will cover getting the emulator going and understanding why we would need multiple emulators (or AVDs).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-4297006920661343018?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Me6nvNyTPA2FwRTLFMqWCbu2TwU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Me6nvNyTPA2FwRTLFMqWCbu2TwU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Me6nvNyTPA2FwRTLFMqWCbu2TwU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Me6nvNyTPA2FwRTLFMqWCbu2TwU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/mCkAalX0BZE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/4297006920661343018/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=4297006920661343018" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/4297006920661343018?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/4297006920661343018?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/mCkAalX0BZE/upgrade-to-intellij.html" title="Upgrade to IntelliJ" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-E9ZQqN4ef2I/Ti4w1fH3c0I/AAAAAAAAAjo/uyxcCBig-Ks/s72-c/2011-07-25_2109_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/07/upgrade-to-intellij.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUMR3kzcSp7ImA9WhdSFU8.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-64170523274021690</id><published>2011-07-24T12:51:00.001-04:00</published><updated>2011-07-24T12:51:26.789-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T12:51:26.789-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>WM .NET UG: SOLID and MVC Safeguards</title><content type="html">&lt;p&gt;This past Tuesday the West Michigan .NET User Group featured two out-of-state speakers presenting for a special meeting.&amp;nbsp; We had Stephen Bohlen out from New York and, as a surprise, Adam Tuliper from Pennsylvania.&amp;nbsp; Steve spoke on the SOLID principles introduced by Martin Fowler and Adam talked about how to secure your ASP .NET sites (both webforms and MVC) against malicious attacks, such as XSS (Cross Site Scripting) and SQL Injection.&lt;/p&gt; &lt;p&gt;How Adam became involved in this was quite interesting, as Steve recommended him to me based on Adam’s interest and that he has family in Rockford, MI.&amp;nbsp; We happily invited Adam to speak, though we could only give him 30m to speak less Steve not have enough time (SOLID is a fairly big topic).&amp;nbsp; The result was impressive.&amp;nbsp; While Adam had to cut quite a bit out he impressed the entire group; so much so that we intend to ask him back next year to give a full talk.&lt;/p&gt; &lt;p&gt;Steve, whom I met when I was consulting in New York last year, presented on a topic of great interest to me: SOLID. Generally speaking, when you talk about Object Oriented programming, you learn about the three pillars on which the paradigm is built: Inheritance, Encapsulation, and Polymorphism.&amp;nbsp; A fourth one could be Composition, given some of the more modern needs of applications, but that is a debatable.&lt;/p&gt; &lt;p&gt;As we have progressed in writing applications certain approaches have been shown to work, while other have shown to be less effective.&amp;nbsp; This has culminated with the rise of the SOLID principles, by Martin Fowler, as a set of guides to writing modern OO applications in an effective and maintainable matter.&amp;nbsp; The principles are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Single Responsibility Principle&lt;/li&gt; &lt;li&gt;Open/Close Principle&lt;/li&gt; &lt;li&gt;Liskov Substitution Principle&lt;/li&gt; &lt;li&gt;Interface Segregation Principle&lt;/li&gt; &lt;li&gt;Dependency Inversion Principle&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Adhering to these five principles will generally lead to better more flexible and maintainable code.&amp;nbsp; I will not be elaborating on what these principles mean, that is simple too much for this simple blog entry.&amp;nbsp; However, a quick Google for &lt;strong&gt;Martin Fowler SOLID principles&lt;/strong&gt; should yield additional information.&lt;/p&gt; &lt;p&gt;Looking forward to our next session (Wednesday) which is our normal meeting time, the topic will be Mango, which is something I am deeply interested in as I continue to build my knowledge of the Windows Phone 7 mobile platform.&lt;/p&gt; &lt;p&gt;Thanks again to Steve and Adam for being willing to travel so far to spread their knowledge and experience to our user group.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-64170523274021690?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O6wAlJP4MMqlwpQLjBSFAkeJb8Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O6wAlJP4MMqlwpQLjBSFAkeJb8Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O6wAlJP4MMqlwpQLjBSFAkeJb8Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O6wAlJP4MMqlwpQLjBSFAkeJb8Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/qpjHUtm1o7I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/64170523274021690/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=64170523274021690" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/64170523274021690?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/64170523274021690?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/qpjHUtm1o7I/wm-net-ug-solid-and-mvc-safeguards.html" title="WM .NET UG: SOLID and MVC Safeguards" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/07/wm-net-ug-solid-and-mvc-safeguards.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEDSX4_eip7ImA9WhdTGUg.&quot;"><id>tag:blogger.com,1999:blog-345842095883056931.post-2402593001306434657</id><published>2011-07-17T23:11:00.001-04:00</published><updated>2011-07-17T23:11:18.042-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-17T23:11:18.042-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Technical" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Augmenting Activities with Dialogs</title><content type="html">&lt;p&gt;One of the difficulties in working on the Pay It Square Android app is the web experience is so rich and fluid. It is always a challenge to bring that fluidity to the mobile device because the experiences are inherently different.&lt;/p&gt; &lt;p&gt;I think there is a tendency amongst Android developers to overuse Activities without consider the user experience and how it is affected by going deep into a stack of activities.&amp;nbsp; This is a problem.&amp;nbsp; Inevitably you will either have to write code to finish a ton of activities, or you will have the user pressing their hardware back button to get back to the screen they want.&lt;/p&gt; &lt;p&gt;One of the ways that you can solve this problem, in some cases, is by creating a custom dialog.&amp;nbsp; Now, that doesn’t mean you should replace all of your activities with dialogs, only where acceptable. This is the same lesson we are learning/have learned on the web with the modal dialog UI effect everyone is favorable towards.&amp;nbsp; Learning where and when to use this, vs an Activity is a crucial skill in mobile application development for Android.&lt;/p&gt; &lt;p&gt;The first task is to extend the Dialog class.&amp;nbsp; Note that there is an AlertDialog class that you can also extend.&amp;nbsp; This will come with a title bar and two buttons for accepting and negating the alert.&amp;nbsp; I have also found it very difficult to theme the default dialogs in Android.&amp;nbsp; For our purpose, we are going to simply extend Dialog and generate the simplest constructor, which takes our current Context.&lt;/p&gt; &lt;p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;package&lt;/span&gt; com.ost.PayItSquare;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;import&lt;/span&gt; android.app.Dialog;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;import&lt;/span&gt; android.content.Context;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyDialog &lt;span style="color: #0000ff"&gt;extends&lt;/span&gt; Dialog&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MyDialog(Context context) {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;super&lt;/span&gt;(context);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Dialogs behave very much like Activities, in fact many of the common calls used in Activities are used here.&amp;nbsp; We can use &lt;em&gt;setContentView&lt;/em&gt; to set a layout for the Dialog, &lt;em&gt;findViewById&lt;/em&gt; to look up Views in that layout.&amp;nbsp; Code update is below:&lt;/p&gt;

&lt;div style="font-family: consolas,; font-size: small" class="java" #ffffff;? background-color: monospace; courier, New?, Courier&gt;&lt;span style="color: #000000; font-weight: bold"&gt;package&lt;/span&gt; &lt;span style="color: #006699"&gt;com.ost.PayItSquare&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.app.Dialog&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.content.Context&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.view.ViewGroup&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.view.Window&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold"&gt;class&lt;/span&gt; MyDialog &lt;span style="color: #000000; font-weight: bold"&gt;extends&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Adialog+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Dialog&lt;/span&gt;&lt;/a&gt;&lt;br&gt;&lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;public&lt;/span&gt; MyDialog&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Acontext+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Context&lt;/span&gt;&lt;/a&gt; context&lt;span style="color: #009900"&gt;)&lt;/span&gt; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;super&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;context&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; requestWindowFeature&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Awindow+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Window&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: #006633"&gt;FEATURE_NO_TITLE&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWindow&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;.&lt;span style="color: #006633"&gt;setLayout&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;ViewGroup.&lt;span style="color: #006633"&gt;LayoutParams&lt;/span&gt;.&lt;span style="color: #006633"&gt;FILL_PARENT&lt;/span&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewGroup.&lt;span style="color: #006633"&gt;LayoutParams&lt;/span&gt;.&lt;span style="color: #006633"&gt;WRAP_CONTENT&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView&lt;span style="color: #009900"&gt;(&lt;/span&gt;R.&lt;span style="color: #006633"&gt;layout&lt;/span&gt;.&lt;span style="color: #006633"&gt;custom_dialog&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;There are two things that I have come to find Android will try to ensure that all dialogs adhere to: wrap sizing and presence of a title bar.&amp;nbsp; For the title bar, simply requesting Window feature &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Awindow+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Window&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: #006633"&gt;FEATURE_NO_TITLE&lt;/span&gt; ensures that there is no title bar for the dialog.&amp;nbsp; The wrap sizing can be a bit hard to understand.&amp;nbsp; No matter how much you adjust your layout code, the dialog will not change.&amp;nbsp; The fix that I have found is to set the width and height programmatically as show above.&lt;/p&gt;
&lt;p&gt;With this, you have a custom dialog that you can do anything with.&amp;nbsp; Lets add two buttons and force the user to make a selection to hide the dialog.&lt;/p&gt;
&lt;div style="font-family: consolas,; font-size: small" class="java" #ffffff;? background-color: monospace; courier, New?, Courier&gt;&lt;span style="color: #000000; font-weight: bold"&gt;package&lt;/span&gt; &lt;span style="color: #006699"&gt;com.ost.PayItSquare&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.app.Dialog&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.content.Context&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.view.View&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.view.ViewGroup&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.view.Window&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;import&lt;/span&gt; &lt;span style="color: #006699"&gt;android.widget.Button&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color: #000000; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold"&gt;class&lt;/span&gt; MyDialog &lt;span style="color: #000000; font-weight: bold"&gt;extends&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Adialog+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Dialog&lt;/span&gt;&lt;/a&gt;&lt;br&gt;&lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;private&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Abutton+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Button&lt;/span&gt;&lt;/a&gt; btnOk&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;private&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Abutton+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Button&lt;/span&gt;&lt;/a&gt; btnCancel&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;public&lt;/span&gt; MyDialog&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Acontext+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Context&lt;/span&gt;&lt;/a&gt; context&lt;span style="color: #009900"&gt;)&lt;/span&gt; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;super&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;context&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; requestWindowFeature&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Awindow+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Window&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: #006633"&gt;FEATURE_NO_TITLE&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWindow&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;.&lt;span style="color: #006633"&gt;setLayout&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;ViewGroup.&lt;span style="color: #006633"&gt;LayoutParams&lt;/span&gt;.&lt;span style="color: #006633"&gt;FILL_PARENT&lt;/span&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewGroup.&lt;span style="color: #006633"&gt;LayoutParams&lt;/span&gt;.&lt;span style="color: #006633"&gt;WRAP_CONTENT&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView&lt;span style="color: #009900"&gt;(&lt;/span&gt;R.&lt;span style="color: #006633"&gt;layout&lt;/span&gt;.&lt;span style="color: #006633"&gt;custom_dialog&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setCancelable&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #000066; font-weight: bold"&gt;false&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initFields&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setFields&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold"&gt;void&lt;/span&gt; initFields&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btnOk &lt;span style="color: #339933"&gt;=&lt;/span&gt; &lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Abutton+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Button&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;findViewById&lt;span style="color: #009900"&gt;(&lt;/span&gt;R.&lt;span style="color: #006633"&gt;id&lt;/span&gt;.&lt;span style="color: #006633"&gt;btnOk&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btnCancel &lt;span style="color: #339933"&gt;=&lt;/span&gt; &lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Abutton+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;Button&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;findViewById&lt;span style="color: #009900"&gt;(&lt;/span&gt;R.&lt;span style="color: #006633"&gt;id&lt;/span&gt;.&lt;span style="color: #006633"&gt;btnCancel&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold"&gt;void&lt;/span&gt; setFields&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btnOk.&lt;span style="color: #006633"&gt;setOnClickListener&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold"&gt;new&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aview+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;View&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: #006633"&gt;OnClickListener&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold"&gt;void&lt;/span&gt; onClick&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aview+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;View&lt;/span&gt;&lt;/a&gt; view&lt;span style="color: #009900"&gt;)&lt;/span&gt; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dismiss&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btnCancel.&lt;span style="color: #006633"&gt;setOnClickListener&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold"&gt;new&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aview+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;View&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: #006633"&gt;OnClickListener&lt;/span&gt;&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000000; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold"&gt;void&lt;/span&gt; onClick&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aview+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span style="color: #003399"&gt;View&lt;/span&gt;&lt;/a&gt; view&lt;span style="color: #009900"&gt;)&lt;/span&gt; &lt;span style="color: #009900"&gt;{&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cancel&lt;span style="color: #009900"&gt;(&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;span style="color: #009900"&gt;)&lt;/span&gt;&lt;span style="color: #339933"&gt;;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&lt;span style="color: #009900"&gt;}&lt;/span&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt;

&lt;p&gt;As a disclaimer, this is a coding style that I have adopted with Android when I cant use View Injection (as is the case with Dialogs), I really do try to avoid calling &lt;em&gt;findViewById&lt;/em&gt; wherever possible.&lt;/p&gt;
&lt;p&gt;Calling the built-in method &lt;em&gt;setCancelable &lt;/em&gt;to false will disallow the user from dismissing the Dialog by hitting the hardware back key; use it when you require the user input.&lt;/p&gt;
&lt;p&gt;One of the very nice conventions I like to use with custom dialogs is to differentiate a cancel action with an accept action by calling &lt;em&gt;cancel&lt;/em&gt; and &lt;em&gt;dismiss&lt;/em&gt; respectively.&amp;nbsp; The reason for this is that &lt;em&gt;Dialog&lt;/em&gt; provides handlers for &lt;em&gt;OnCancel &lt;/em&gt;and &lt;em&gt;OnDismiss&lt;/em&gt;.&amp;nbsp; This is a good way, I have found, to easily differentiate what the user has done.&lt;/p&gt;
&lt;p&gt;At this point, you can treat the Dialog much like the Activity.&amp;nbsp; Remember, it is still a dialog, so overloading it with functionality is never a good idea.&amp;nbsp; Use it for quick contextual editing, such as for list items.&amp;nbsp; It can never fully replace an Activity nor should it be considered such.&amp;nbsp; Think of it as what you would use a modal window for in the web world and generally you will be fine.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/345842095883056931-2402593001306434657?l=www.jfarrell.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lWnUiltSgfLdUQrruEUmmJauV7Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lWnUiltSgfLdUQrruEUmmJauV7Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lWnUiltSgfLdUQrruEUmmJauV7Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lWnUiltSgfLdUQrruEUmmJauV7Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/jfarrell/cdrx/~4/dy8mNptV57Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.jfarrell.net/feeds/2402593001306434657/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=345842095883056931&amp;postID=2402593001306434657" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2402593001306434657?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/345842095883056931/posts/default/2402593001306434657?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jfarrell/cdrx/~3/dy8mNptV57Q/augmenting-activities-with-dialogs.html" title="Augmenting Activities with Dialogs" /><author><name>Jason Farrell</name><uri>https://profiles.google.com/110275668639950956279</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-Nmsf1Ib5kK4/AAAAAAAAAAI/AAAAAAAAAAA/BGECy5x0jDw/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.jfarrell.net/2011/07/augmenting-activities-with-dialogs.html</feedburner:origLink></entry></feed>

