<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Ryan Rampersad</title>
	
	<link>http://blog.ryanrampersad.com</link>
	<description>Thoughts, Ideas &amp; Opinions</description>
	<lastBuildDate>Thu, 17 May 2012 17:11:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-beta4-20725</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ryanrampersadblog" /><feedburner:info uri="ryanrampersadblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>★ Modifying WordPress Feed Titles</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/fDCq7e6vAAw/</link>
		<comments>http://blog.ryanrampersad.com/2012/05/17/modifying-wordpress-feed-titles/#comments</comments>
		<pubDate>Thu, 17 May 2012 17:11:53 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[feeds]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4910</guid>
		<description><![CDATA[The-Nexus.tv feeds currently display just the episode title. This creates an ambiguity when visitors either subscribe to the Master Feed or when a user subscribes to multiple singular series feeds. Today, I made a minor change that adds both the series name and the episode number. The WordPress API is a travesty, but despite that, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://the-nexus.tv/">The-Nexus.tv</a> feeds currently display <em>just</em> the episode title. This creates an ambiguity when visitors either subscribe to the Master Feed or when a user subscribes to multiple singular series feeds. Today, I made a minor change that adds both the <em>series name</em> and the <em>episode number</em>.</p>
<p><a href="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/wp-original-title-feed.png"><img src="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/wp-original-title-feed-580x116.png" alt="" title="Original Feed" width="580" height="116" class="aligncenter size-medium wp-image-4911" /></a></p>
<p><a href="https://twitter.com/#!/ryanmr/status/202880092723085313">The WordPress API is a travesty</a>, but despite that, it&#8217;s actually very easy to change feeds. I used <code>the_title_rss</code> filter.</p>
<pre class="brush: php; title: ; notranslate">
add_filter('the_title_rss', 'convergence_feed_title_filter');
</pre>
<p>My function is called <code>convergence_feed_title_filter</code>.</p>
<pre class="brush: php; title: ; notranslate">
function convergence_feed_title_filter($content) {
  global $wp_query;
  $post_id = $wp_query-&gt;post-&gt;ID;
  $permalink = get_permalink($post_id);
  $categories = get_the_category($post_id);
  $category = $categories[0];
  $string = $category-&gt;cat_name . ' #' . get_episode_number($permalink) . &quot;: &quot; . $content;
  return $string;
}
</pre>
<p><a href="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/wp-title-feed-changed.png"><img src="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/wp-title-feed-changed-580x113.png" alt="Modified Title in Feed" title="Modified Title in Feed" width="580" height="113" class="aligncenter size-medium wp-image-4912" /></a></p>
<p>First, we need to know what the current query is, then we need to get the <code>post_id</code> out of it. Episode numbers at <a href="http://the-nexus.tv/">The-Nexus.tv</a> are stored conveniently in the permalinks, so I get the permalink and then <em>categories</em>. Why? Because <a href="http://codex.wordpress.org/Function_Reference/single_cat_title">single_cat_title</a> does not work well or as advertised. Running <a href="http://codex.wordpress.org/Function_Reference/get_the_category">get_the_category</a> works, but because there could be multiple categories, I just pulled the data from the first choice. That data is the <code>cat_name</code>, and then I concatenated everything into a neat string: series name, episode number and then original title.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/fDCq7e6vAAw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/05/17/modifying-wordpress-feed-titles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/05/17/modifying-wordpress-feed-titles/</feedburner:origLink></item>
		<item>
		<title>★ Centralization</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/qMSVic9At8o/</link>
		<comments>http://blog.ryanrampersad.com/2012/05/16/centralization/#comments</comments>
		<pubDate>Wed, 16 May 2012 14:23:00 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Abstract]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[centralization]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4900</guid>
		<description><![CDATA[It might appear that I am totally neglecting this blog. I am. My podcast is much more interesting for me in terms of use and design right now. I read the tech news daily and I am writing about it elsewhere. For instance, prior to clearing out my spam filters this morning, I wrote briefly [...]]]></description>
			<content:encoded><![CDATA[<p>It might appear that I am totally neglecting this blog. I am. My <a href="http://the-nexus.tv/">podcast</a> is much more interesting for <em>me</em> in terms of use and design right now. I read the <em>tech news</em> daily and I am writing about it elsewhere. For instance, prior to clearing out my spam filters this morning, I wrote briefly on the <a href="http://www.winsupersite.com/blog/supersite-blog-39/windows8/windows-8-pro-pc-upgrade-cost-15-143077">Microsoft Summer Upgrade plan</a>. I posted this news back to <a href="https://plus.google.com/u/0/103163894873322469147/posts/hPihYrwA943">my Google+ feed</a>. Why? Because I have integration in Chrome that is so easy it let&#8217;s me quickly get in and write a quick nit-picks or praising about it. It&#8217;s quick and easy.</p>
<p><a href="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/googleplus-feed-story.png"><img src="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/googleplus-feed-story-580x446.png" alt="Google+ - My story brief" title="Google+ - My story brief" width="580" height="446" class="aligncenter size-medium wp-image-4901" /></a></p>
<p>Now, I don&#8217;t expect any other alternative to be that easy. I <a href="http://mini.ifupdown.com/">have</a> <a href="http://blog.the-nexus.tv/">used</a> Tumblr but I don&#8217;t like that they host it and they <em>force</em> me to use the same log in for every single different blog I have on their service. <a href="http://twitter.com/ryanmr">Twitter</a> doesn&#8217;t make the cut either since it&#8217;s again not hosted by me and there&#8217;s some word limit or something that prevents me from actually writing about anything.</p>
<p>No, instead, I propose more of a <em>centralization</em>. Such that my brief commentaries and my extended technological postings can exist in a single unified location. It would be wonderous to import my tweets every so infrequently like I had in <a href="http://blog.ryanrampersad.com/2011/03/27/weekly-twitter-chronicles-for-2011-03-27/" title="Weekly Twitter Chronicles for 2011-03-27">the old days</a> too. It would be nice to have these musings to be posted to not only Twitter, but simultaneously to also Google+ and Facebook.</p>
<p><a href="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/google-reader-testing-results.png"><img src="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/google-reader-testing-results-580x131.png" alt="Testing the feeds via Reader" title="Testing the feeds via Reader" width="580" height="131" class="aligncenter size-medium wp-image-4905" /></a></p>
<p>If you&#8217;re an avid feed reader, you might have noticed a couple of mysterious entires a couple weeks ago. If you had followed through on those links, you would have found one of two things: either that the link brought you to the site I was actually talking about or more likely that the post simply did not exist on the site itself and was only present in the feeds. That was my secret testing phase and while it did not work as I had intended, since then I have become versed in the arts of feed manipulation and foul WordPressian treachery. If I were reading my feeds in the future, I would keep in mind things might look different and are probably going to be changing slightly (and by slightly, I mean considerably).</p>
<p>So that&#8217;s the plan. Stay tuned.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/qMSVic9At8o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/05/16/centralization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/05/16/centralization/</feedburner:origLink></item>
		<item>
		<title>★ Fall Schedule 2012</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/FEBFyqUgSGA/</link>
		<comments>http://blog.ryanrampersad.com/2012/05/01/fall-schedule/#comments</comments>
		<pubDate>Tue, 01 May 2012 15:43:01 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[schedule]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4878</guid>
		<description><![CDATA[After meeting with my adviser a few days ago, I picked my classes for the Fall Semester of 2012. You can pick up a feed of the schedule here, if you&#8217;d like. I have three lectures Monday, Wednesday and Friday: Statistics, Machine Architecture and History of Science. I have the lectures for Linear Algebra Monday [...]]]></description>
			<content:encoded><![CDATA[<p>After meeting with my <a href="http://blog.ryanrampersad.com/2012/04/26/spring-advising/">adviser a few days ago</a>, I picked my classes for the Fall Semester of 2012. You can pick up a <a href="https://www.google.com/calendar/feeds/moiml7058mvvulk7ra4qv06bd8%40group.calendar.google.com/public/basic">feed of the schedule here</a>, if you&#8217;d like.</p>
<p><a href="https://www.google.com/calendar/embed?src=moiml7058mvvulk7ra4qv06bd8%40group.calendar.google.com&amp;ctz=America/Chicago"><img src="http://blog.ryanrampersad.com/wp-content/uploads/2012/05/fall-schedule-2012-cal-580x195.png" alt="Fall Schedule 2012 Calendar" title="Fall Schedule 2012 Calendar" width="580" height="195" class="aligncenter size-medium wp-image-4881" /></a></p>
<p>I have three lectures Monday, Wednesday and Friday: Statistics, Machine Architecture and History of Science. I have the lectures for Linear Algebra Monday and Wednesday. The discussions are all neatly placed on Thursdays, so that would be for Machine Architecture, History of Science and Linear Algebra. Despite the Linear Algebra lectures and discussion being late, I did this my first semester at the University of Minnesota so it&#8217;s not such a big deal. Plus, it gives me time to do some homework.</p>
<p>But the jewel of this schedule is that I have no classes on Tuesdays.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/FEBFyqUgSGA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/05/01/fall-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/05/01/fall-schedule/</feedburner:origLink></item>
		<item>
		<title>★ Spring Advising</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/wXL_niNSopE/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/26/spring-advising/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 19:10:40 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4874</guid>
		<description><![CDATA[Just finished my advisor meeting for next fall. The recommendations were two math courses, Linear Algebra and Statistics with Calculus, one technical course, Machine Architecture and Organization, and some liberal education. I just finished meeting with my academic advisor for classes next fall. His recommendations were two math courses, one technical course and one liberal [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished my advisor meeting for next fall. The recommendations were two math courses, Linear Algebra and Statistics with Calculus, one technical course, Machine Architecture and Organization, and some liberal education.</p>
<p>I just finished meeting with my academic advisor for classes next fall. His recommendations were two math courses, one technical course and one liberal education course:</p>
<ul>
<li><strong>Stat 3021</strong> Applied Statistics</li>
<li><strong>CSci 2033</strong> Elementary Computational Linear Algebra</li>
<li><strong>CSci 2021</strong> Machine Architecture and Organization</li>
<li>Either <strong>Geog 1403</strong> or <strong>HSCI</strong>
</ul>
<p>So that was a great meeting.</p>
<p>Oh, and I can also apply to my major. <em>Today</em>.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/wXL_niNSopE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/26/spring-advising/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/26/spring-advising/</feedburner:origLink></item>
		<item>
		<title>★ Restart HP TouchPad</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/xyCjpDx43Vo/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/18/restart-hp-touchpad/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:53:25 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[touchpad]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4867</guid>
		<description><![CDATA[I haven&#8217;t been using my HP TouchPad in the past few weeks. So much so, that the power had completely drained. When I returned this afternoon, it wouldn&#8217;t power on despite having charged for nearly eight hours. From this state, it&#8217;s easy to fix. holding the power and center button for 15 seconds or until [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t been using my HP TouchPad in the past few weeks. So much so, that the power had completely drained. When I returned this afternoon, it wouldn&#8217;t power on despite having charged for nearly eight hours.</p>
<p>From this state, <a href="http://forums.hpwebos.com/t5/HP-TouchPad-Software-Hardware/HP-Touchpad-Black-Screen-won-t-start-up/td-p/354176">it&#8217;s easy to fix</a>.</p>
<blockquote><p>
holding the power and center button for 15 seconds or until HP logo appears
</p></blockquote>
<p>It worked for me this time, but then again, at only $99 I don&#8217;t exactly expect too much.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/xyCjpDx43Vo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/18/restart-hp-touchpad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/18/restart-hp-touchpad/</feedburner:origLink></item>
		<item>
		<title>★ BestBuy’s Great Potential</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/Z3CuyEGwiPo/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/17/best-buys-great-potential/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 17:23:07 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[bestbuy]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4870</guid>
		<description><![CDATA[BestBuy is closing 50 stores by sometime in May. One reason must be that the Internet has diffused the need to have so many stores in such close proximity. Another is what I assume to be the bigger problem with BestBuy right now: nobody actually enjoys going into the stores. Focus is difficult. But I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cbsnews.com/8301-505144_162-57414889/best-buys-store-closing-list-is-yours-on-it/">BestBuy is closing 50 stores by sometime in May</a>. One reason must be that the Internet has diffused the need to have so many stores in such close proximity. Another is what I assume to be the bigger problem with BestBuy right now: nobody <em>actually</em> enjoys going into the stores.</p>
<p><a href="http://daringfireball.net/linked/2012/04/15/sony">Focus is difficult.</a></p>
<p>But I see a great opportunity. BestBuy has the infrastructure in place be an acomadating host for visitors and a source of wisdom. BestBuy has the chance to be Sony&#8217;s focus. It could be HP&#8217;s, Dell&#8217;s, Asus&#8217;, Acer&#8217;s focus too. While we&#8217;re waiting for all those manufuactering companies to catch up with the world and <em>focus</em>, BestBuy could focus for them &#8211; for us.</p>
<p>BestBuy could discard their place as just another <em>electronics</em> retailer. They could assert there physical presence with supplemented experience with electronics and actually be helpful for regular people. Instead of having more, they could have less.</p>
<p>BestBuy has the chance be the <em>arbiter</em> and not just another <em>conduit</em>.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/Z3CuyEGwiPo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/17/best-buys-great-potential/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/17/best-buys-great-potential/</feedburner:origLink></item>
		<item>
		<title>★ Do-While Loop in Python</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/Jemc4R7shiQ/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/15/do-while-loop-in-python/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 17:04:59 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[do]]></category>
		<category><![CDATA[loops]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4861</guid>
		<description><![CDATA[There is honestly no do ... while loop in python. But you can simulate the behavior. The do-while loop is useful when the first iteration of a loop will usually suffice, the condition will be met, but not always. You can break out early. It&#8217;s not a perfect do-while clone, but it works great.]]></description>
			<content:encoded><![CDATA[<p>There is honestly no <code>do ... while</code> loop in python. But you can simulate the behavior. The do-while loop is useful when the first iteration of a loop will usually suffice, the condition will be met, but not <em>always</em>. You can <em>break out</em> early.</p>
<pre class="brush: python; title: ; notranslate">
while True:
  if 5 == input(&quot;enter a number, 1-10&quot;):
    print &quot;you got it&quot;
    break
  else:
    print &quot;keep trying&quot;
</pre>
<p>It&#8217;s not a perfect do-while clone, but it works great.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/Jemc4R7shiQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/15/do-while-loop-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/15/do-while-loop-in-python/</feedburner:origLink></item>
		<item>
		<title>★ New At The Nexus &amp; Nexus Special</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/ScRAd0zaQDU/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/11/new-at-the-nexus-nexus-special/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 17:44:16 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[at the nexus]]></category>
		<category><![CDATA[nexus special]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4864</guid>
		<description><![CDATA[We&#8217;ve had a fun weekend. On Saturday evening, I sat down with my father and we discussed his normal person impressions of Windows, Best Buy&#8217;s store closings, and lots more. It was a lot of fun having my dad in studio actually speaking this time. I&#8217;m Not Into Skirting On Easter eve, Ray and Ryan [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve had a fun weekend. On Saturday evening, I sat down with <a href="http://rayrampersad.com">my father</a> and we discussed his <em>normal person</em> impressions of Windows, Best Buy&#8217;s store closings, and lots more. It was a lot of fun having my dad in studio <em>actually speaking</em> this time.</p>
<h3><a href="http://the-nexus.tv/episode/ns4">I&#8217;m Not Into Skirting</a></h3>
<blockquote><p>
On Easter eve, Ray and Ryan Rampersad enter the basement and chat about Android’s ignorance of the normal, animal travesties, types of cheese, Target’s layout, Windows 8, Best Buy’s impending doom and possible solutions, brief covers of this week’s news and more!</p></blockquote>
<p>On Sunday evening, <a href="http://matthewpetschl.com/">Matthew Petschl</a> and I actually created a podcast covering everything from <a href="http://blog.ryanrampersad.com/2012/04/06/motorola-triumph-review/" title="Motorola Triumph Review">my phone review</a>, to Facebook&#8217;s patents, to OS/2 Warp&#8217;s 25th anniversary.</p>
<h3><a href="http://the-nexus.tv/episode/atn20">It&#8217;s Not Called Quacking</a></h3>
<blockquote><p>Matthew Petschl and Ryan Rampersad manage to throw a show together a show and talk about Wifigate, the Java-Mac virus, the words from the seer, the real review of Ryan’s new phone, more lawsuits galore, Yahoo versus Facebook, the OS/2 celebration and so much more!</p></blockquote>
<p>Two great podcasts ready for your listening pleasure.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/ScRAd0zaQDU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/11/new-at-the-nexus-nexus-special/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/11/new-at-the-nexus-nexus-special/</feedburner:origLink></item>
		<item>
		<title>★ Random Integers in Python</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/vlzPQZRdtXI/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/09/random-integer-python/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 17:50:01 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[integer]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4859</guid>
		<description><![CDATA[If you need to get a random number in python, and it just needs to be an integer, try importing randint from the random library and then using the inclusive bounds. For instance, if you want numbers between 1 and 6 for a six-sided die, the parameters are simply a &#60;= x &#60;= b, so [...]]]></description>
			<content:encoded><![CDATA[<p>If you need to get a random number in python, and it just needs to be an integer, try importing <code>randint</code> from the random library and then using the inclusive bounds. For instance, if you want numbers between 1 and 6 for a six-sided die, the parameters are simply <code>a &lt;= x &lt;= b</code>, so simply 1 and 6. How intuitive.</p>
<pre class="brush: python; title: ; notranslate">
from random import randint

def get_die():
  die = randint(1,6)
  return die
</pre>
<p>When I learned python years ago, I was scared by the mountain of libraries available.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/vlzPQZRdtXI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/09/random-integer-python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/09/random-integer-python/</feedburner:origLink></item>
		<item>
		<title>★ Motorola Triumph Review</title>
		<link>http://feedproxy.google.com/~r/ryanrampersadblog/~3/5X4LAq4uxEQ/</link>
		<comments>http://blog.ryanrampersad.com/2012/04/06/motorola-triumph-review/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 19:33:26 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Phones]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[motorola]]></category>
		<category><![CDATA[triumph]]></category>
		<category><![CDATA[virgin]]></category>

		<guid isPermaLink="false">http://blog.ryanrampersad.com/?p=4850</guid>
		<description><![CDATA[Let&#8217;s talk about the Motorola Triumph. It&#8217;s still the &#8220;best&#8221; phone you can get on Virgin Mobile and likely elsewhere that is also prepaid barring the slightly less fantastic Exhibit. Two weeks ago I forked over an arm and a leg to ditch my year-old long over-used Optimus V for this behemoth of a phone. [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s talk about the Motorola Triumph. It&#8217;s still the <em>&#8220;best&#8221;</em> phone you can get on Virgin Mobile and likely elsewhere that is also prepaid barring the slightly less fantastic Exhibit. Two weeks ago I forked over an arm and a leg to ditch my year-old long over-used Optimus V for this behemoth of a phone. So let&#8217;s talk about the Motorola Triumph.</p>
<p><a href="http://blog.ryanrampersad.com/wp-content/uploads/2011/07/motorola-triumph-large.jpg"><img src="http://blog.ryanrampersad.com/wp-content/uploads/2011/07/motorola-triumph-large-424x580.jpg" alt="Motorola Triumph" title="Motorola Triumph" width="424" height="580" class="aligncenter size-medium wp-image-3667" /></a></p>
<p>We already remember the first weeks &#8211; the glory of getting the newest phone in the market and praising how wonderful it was to finally have an actual smartphone. That&#8217;s how it was when the Triumph came out in Summer of 2011. It was short-lived though as quality control issues came to light through numerous blogs, forums and just about everywhere else. That tarnished my enthusiasm for the phone and <span title="though my father still bought it anyway">I held off from buying it</span>. I had been using my <a href="http://blog.ryanrampersad.com/2011/03/09/dust-under-screen-lg-optimus-v/">replaced</a> Optimus V from February 2011, and was nearing the practical limits of what it could do, and only by deleting messages, application caches and just about everything to keep it from displaying the dreaded <em>low on spasce</em> notification, was I able to prolong its life.</p>
<p>The build quality problems I knew about were screen flickering issues, super-weak GPS signals and general system instability. If only I had a source for these uncited problems!</p>
<p>My particular handset does not exhibit the GPS problem, the flickering problem is more likely a software bug and even at that, it&#8217;s less noticeable overtime as you learn how to avoid it (wait at least four seconds between pressing the power button into sleep and then out of sleep). So my problems at the very least are not the usually reported problems, are at least not among those that were reported at release of the Triumph.</p>
<h3>The Big Problem &#8211; Wi-Fi</h3>
<p>No, my problem is with <strong>wifi</strong>. Yes, wifi, the very point of having a smartphone is Internet connectivity and through wifi at that. So what does my Motorola Triumph handset do? It crashes and then restarts.</p>
<p>Here&#8217;s the deal. At the University of Minnesota, we have a wifi network called &#8220;UofM Secure&#8221; because you need your &#8220;<a href="http://en.wikipedia.org/wiki/X.500">X500</a>&#8221; credentials to login, which is simply a username and password. This is technically a <a href="http://en.wikipedia.org/wiki/IEEE_802.1X">802.1</a> <a href="http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol">EAP</a> network, which is all just a fancy authentication system based on WPA and WPA2. It&#8217;s secure and wonderful, and definitely beats having to authenticate through an open wifi network login page.</p>
<p>So with the Motorola Triumph, if I&#8217;m in an area with wifi, and it is already connected without going into <code>Settings &gt; Wireless &amp; networks &gt; Wi-Fi settings</code>, there&#8217;s a low chance of the crash. But if I do have go through settings to select the network (essentially forcing wifi to connect), it will often become unresponsive and then just crash! But then it gets better. It can do this multiple times if the network does not come back on its own without going through settings. The saving grace now is the phone is fast enough to restart in less than 30 seconds, but still. It is ridiculous to have a phone that crashes because it has connected to wifi.</p>
<p>But the problem does not end there, oh no. In fact, wifi problems continue. If I am connected and either downloading a page, podcast or using some sufficient amount of wifi data transfer, there&#8217;s a large possibility that I will lose the connection to the network. And you know that means &#8211; more chances to restart. Typically, this is rarer than the previous restarting problem, but it certainly does happen in places where the Optimus V (at the university) had no problems on the network. I can be reading in Google Reader and suddenly, <em>bam!</em> no wifi. But here&#8217;s the kicker &#8211; and a confusing point &#8211; it&#8217;s not just 802.1 EAP in this case. It happens at home to in my <a href="http://en.wikipedia.org/wiki/802.11n">802.11n</a> network, the connection will suddenly drop out &#8211; just like that, in the blink of an eye.</p>
<p>To explain that better, let me contrast with the Optimus V. At home, I never had a wifi drop out, if it had gone to sleep and turned wifi off, it would reconnect seconds after waking up, no problem, and while using the phone itself, it would stay on perfectly for extended periods of time to the point it never actually dropped out while I was watching. Ever. For instance, my favorite podcast player, Listen by Google, would allow me to <em>listen</em> and download podcasts at the same time. The Motorola Triumph <em>cannot</em> do this because it will often drop out, and Listen even insists that when I try to listen/stream while downloading &#8211; especially while the download is incomplete, it will state, &#8220;An error occurred while playing this episode.&#8221; That error never came up on the Optimus V. It may not be related to the wifi, but the staggering amount <em>&#8220;Error (file not found)&#8221;</em> and <em>&#8220;Error (connection timed out)&#8221;</em> notices I receive from Listen is surely a sign of the wifi problem &#8211; it simply cannot keep up a stable connection for an entire 60MB file.</p>
<p>But it&#8217;s not just Listen, it&#8217;s something as simple as browsing. I can be checking my bus schedule and be <em>unsurprised</em> that what I thought was just slow Internet on campus was actually due to the phone losing the connection yet again.</p>
<p>There are certainly lesser problems in the phone, but this is the one I demand to be fixed. It absolutely must be solved. Either by software or hardware or <em>magic</em>.</p>
<p>Let&#8217;s talk about some other observations. I have had this phone for two weeks; long enough to get a feel for oddities.</p>
<h3>Battery Life</h3>
<p>Let&#8217;s begin with the battery life. In a normal school day, I clock in at 6am and clock out around 3pm (and by clock in and out, I mean take off and put on the phone from the charger). By noon, I usually from down to 55% with light to moderate usage, though with heavier usage it goes to 40%. That&#8217;s no a big deal. Now, if for some reason wifi is being <em>insane inane</em> on any given day and it disconnects and reconnects continuously, well, say goodbye to that battery &#8211; 40% by 9am! Great. Actually, barring that exception, I&#8217;m pleased with the battery life in the phone. I have not had a close call yet, and I feel like I need to keep more battery life for a longer day (like Wednesday with my physics lab through 5pm), I go into Airplane mode with cuts me off from the celluar network (and who needs that during lab?) Since I only read and despise games, this works fine for me. No problems there.</p>
<h3>The Keyboard</h3>
<p>Now how about that keyboard? Here&#8217;s an example of my poor typing with the stock Android keyboard.</p>
<blockquote><p>
Now, how abiut rhat keyboars. This keybaord isbso easyto use becuas it ahs no ictiondarg. Revooutinary right? This is ibsabity.
</p></blockquote>
<p>Why did it come out like this? Because <em>autocomplete</em> does not exist on this phone naturally. Oh no, somehow, there is no dictionary except for your previously imported list of contacts and built-in names. So the words, &#8220;about&#8221;, &#8220;keyboard&#8221;, &#8220;easy&#8221;, &#8220;because&#8221; and more are unintelligible because it cannot correct them, it doesn&#8217;t know them. This demonstrates a lack of &#8230; what, I don&#8217;t even know? Who decides to sell a phone without an autocorrection dictionary? Who&#8217;s fault is this? Motorola&#8217;s? Google&#8217;s? The World&#8217;s? My solution was to install the <a href="https://play.google.com/store/apps/details?id=inputmethod.latin.ported#?t=W251bGwsMSwxLDUwMSwiaW5wdXRtZXRob2QubGF0aW4ucG9ydGVkIl0">ICS Keyboard</a> that was simply too slow on the Optimus V (and immature at the time). But do normal people even know they can do this? My father certainly does not and his messages look like they were often written by birds (that may be angry).</p>
<h3>Speed &amp; Stability</h3>
<p>Speed and stablity are interesting topics. Barring the occasional wifi-restart, the phone is generally stable. I run LauncherPro as the homescreen, and it runs with minimal effects enabled (none of that cubic nonsense) without any problems, the apps drawer scrolls smoothly, webpages, long lists and everything scrolls just fine. Stability wise, I&#8217;ve rarely had an app crash on its own and if it did, it was Facebook, and that didn&#8217;t work well on the Optimus V anyway. Switching from portrait to landscape works fast and flawlessly, where on the Optimus V, it was quite slow. On the Triumph, the phone is pretty much always responsive to the touch, but a problem is the capacitive menu, home and back buttons are <em>less</em> responsive than the actual screen, so I have to hit them multiple times quite often to know I registered a response. The haptic feedback helps, but it&#8217;s minimal.</p>
<h3>Comfort</h3>
<p>I&#8217;ve spoken about comfort before. Comfort is in terms of being able to swipe with one&#8217;s thumb from corner to corner of the phone. That is <em>kinda</em> possible but not easy with this Motorola Triumph&#8217;s huge 4.1&#8221; diagonal screensize. In fact, it almost hurts. Actually, it does hurt to overextend; with two hands the problem is solved, because you can hold with one hand and swipe with the other. So now I know why everyone claims smaller phones are better. The screensize is great and all, but the pixel density is more important for me compared with actually being able to interact with the controls. If you&#8217;re holding the Triumph in one hand, it&#8217;ll be a tricky maneuver to hit that notifications bar, which apparently is something you do pretty often. </p>
<h3>The Network</h3>
<p>Initially, I heard various reports of weak 3G reception and that reasoning isn&#8217;t condemned by the fact there is visually 4 bars on the Motorola Triump while there are 5 on the Optimus V. I&#8217;m not exactly sure what that means, but in my experience, the Motorola Triumph is fine in the University of Minnesota, Saint Paul region. The bars are a bad indicator of 3G service, and as far as I know, I have always been able to send and receive text messages in all but the deepest depths of the great buildings at the university.</p>
<h3>The OS &#8211; Android 2.2.2</h3>
<p>What else is there? How about the operating system itself? Android 2.2.2 isn&#8217;t bad; but it has no more to offer than my already year-old phone, the Optimus V, running the same. 2.3.5 I believe is the leading version of Gingerbread but I don&#8217;t even remember what it could do; let alone improve performance. It doesn&#8217;t matter either way, every app functions perfectly &#8211; nobody can drop 2.2 support because, well, there are 96% of all Android phones running that. Oh yeah. That said, after having experienced the glorious Ice Cream Sandwich, well, it&#8217;s a shame this phone will <em>never</em> support either an official build or completely a self-installed variant. Hacking the TouchPad to support CM9 was easy enough but on the phone it&#8217;s a slightly different story.</p>
<h3>Wrap Up</h3>
<p>So, how about a numeric score? I like the 1-5 scoring system, but let me explain how I broke the score down all down.</p>
<ul>
<li><strong>-1</strong> for the many and consistent wifi connectivity problems</li>
<li><strong>-0.1</strong> for the outdated version of Android despite being available for more than a year and half, software wise and hardware wise</li>
<li><strong>-0.1</strong> for the insane screensize and minor discomfort</li>
<li><strong>-0.2</strong> for a completely broken stock keyboard
</li>
</ul>
<p>Despite those cons, I liked that the phone is suitably fast for a 1GHz processor and modern phone smartphone; it actually feels fast enough to be smart, and that goes for being responsive too. And of course, for having more storage space even after twice as many apps as I had on the Optimus V at the end of its life. So my <em>final score</em> is 3.6 out of 5. So that&#8217;s a 72% satisfaction rate, which is considered a B+ in my physics courses; a C- in the curvless world.</p>
<h3>Bonus</h3>
<p>While writing this, I did a little more testing. Using my favorite <a href="https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&#038;hl=en">Wifi Analyzer</a> and Listen to download an episode of Tech News Today. The episode in question was only 25MB. While it was downloading in the background, I was watching the Analyzer. My office is about 8 feet away from the n-router, and that&#8217;s separated by a single wall. In that time, the wifi dropped out from a nearly -30 dbm signal to a mere -80 dbm signal and of course the download was interrupted; my laptop was still receiving wifi perfectly right next to the phone. Wikipedia explains that anything around <a href="http://en.wikipedia.org/wiki/DBm">-10 dbm is the ceiling on wifi signal</a> but anywhere from -30 to -70 are fair game for wifi. A drop from -30 dbm to -80 dbm is definitely unusual as this is a logarithmic scale and that&#8217;s like dropping 50 orders of magnitude. So I don&#8217;t think I&#8217;m making all of this up.</p>
<p>Despite all of this, I consider myself lucky as there were no restarts while writing.</p>
<img src="http://feeds.feedburner.com/~r/ryanrampersadblog/~4/5X4LAq4uxEQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.ryanrampersad.com/2012/04/06/motorola-triumph-review/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.ryanrampersad.com/2012/04/06/motorola-triumph-review/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.468 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-17 13:31:42 -->

