<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Reed Olsen</title>
	<atom:link href="http://www.reedolsen.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.reedolsen.com</link>
	<description>technical musings</description>
	<lastBuildDate>Thu, 22 Apr 2010 21:53:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Develop Achievements for iPhone Games</title>
		<link>http://www.reedolsen.com/how-to-develop-achievements-for-iphone-games/</link>
		<comments>http://www.reedolsen.com/how-to-develop-achievements-for-iphone-games/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 16:44:51 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=150</guid>
		<description><![CDATA[I thought for a long time about an easy way to track achievements for my latest game Hippo Blast. The game is built using Cocos2d and uses OpenFeint for leaderboards and achievements. This turned out to be a very simple process with a SQLite database, and I thought I should share it with the community.
To [...]]]></description>
			<content:encoded><![CDATA[<p>I thought for a long time about an easy way to track achievements for my latest game <a href="http://bit.ly/hippoblast">Hippo Blast</a>. The game is built using Cocos2d and uses OpenFeint for leaderboards and achievements. This turned out to be a very simple process with a SQLite database, and I thought I should share it with the community.</p>
<p>To understand my solution, you need to realize that it’s all about statistics. Achievements are unlocked when our statistics reach a certain value. If you think about Modern Warfare 2, the game is tracking tons of stats! How many shots have you taken with the SCAR-H? How many miles have you sprinted while using the Lightweight perk?</p>
<p>It’s the same thing in Hippo Blast: When a user jumps on 50 bats, they unlock the “Dinner With Ozzy” achievement. So our primary goal should be to create a statistics engine, and define achievements that can be conditionally unlocked.</p>
<p>1. <strong>Create your achievements on OpenFeint</strong>. The <a href="http://api.openfeint.com/">Developer Portal</a> allows you to define all of your achievements. You simply set the name, description, and specify how many OpenFeint points the player will receive upon earning the achievement. Icons are optional, but they add a little extra flare to your app.</p>
<p>2. <strong>Create your database</strong>. I use <a href="http://menial.co.uk/software/base/">Base</a> to maintain my databases. We only need two tables:</p>
<p>Statistics – Name value pairs of metrics that we want to track, and their current value. For example, I have a “bat” statistic, and every time the player jumps on a bat, the value is increased by one.</p>
<p>Achievement – This is where we define our achievements. The primary key is our OpenFeint Achievement ID. We specify which statistic this achievement is based on, and the condition required to unlock it. Finally, we store a boolean value for whether the player has already unlocked the achievement.</p>
<p>3. <strong>Track your statistics</strong>. Every time the user performs a relevant action, we need to record it in the database. I created a singleton class called “StatisticsManager” with a few helpful methods:<br />
<code>- (void) increaseStatisticByOne:(NSString *)statID;<br />
- (void) increaseStatistic:(NSString *)statID byValue:(int)value;</code><br />
I can quickly call these from anywhere to update the user’s statistics as needed. Finally, when the round is over, we need to see which achievements have been unlocked:</p>
<p>4. <strong>Get the unlocked achievements</strong>. Using a simple structure like this allows us to retrieve all unlocked achievements with a single SQL select statement:<br />
<code>SELECT openfeintid FROM achievement, statistic WHERE achievement.statisticid = statistic.statisticid AND statistic.count &amp;gt;= achievement.condition AND achievement.iscompleted = 0</code><br />
Finally, update your database to indicate that the user has already completed the recently unlocked achievement.</p>
<p>All done! Hopefully this has helped you create a simple statistics engine for use in managing your OpenFeint achievements. Please let me know if you find improvements on my method. Happy coding <img src='http://www.reedolsen.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/how-to-develop-achievements-for-iphone-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hippo Blast Hits the App Store</title>
		<link>http://www.reedolsen.com/hippo-blast-hits-the-app-store/</link>
		<comments>http://www.reedolsen.com/hippo-blast-hits-the-app-store/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 16:44:20 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=146</guid>
		<description><![CDATA[
As of March 20th, Hippo Blast is available world wide for download via Apple’s App Store. The app is free while we compete in the Omniture iPhone App Competition. We’re trying to get as many unique users every day as possible, so if you want to help out, download it http://bit.ly/hippoblast and open it every day [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-147 alignright" title="Hippo Blast" src="http://www.reedolsen.com/wp-content/uploads/2010/03/hippo_icon_185.png" alt="" width="185" height="185" /></p>
<p>As of March 20th, Hippo Blast is available world wide for download via Apple’s App Store. The app is free while we compete in the Omniture iPhone App Competition. We’re trying to get as many unique users every day as possible, so if you want to help out, download it <a href="http://bit.ly/hippoblast">http://bit.ly/hippoblast</a> and open it every day until April 9.</p>
<p>The feedback that we’ve gotten from you all has been great. Please keep it coming, and look for updates soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/hippo-blast-hits-the-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compress PDF files in Snow Leopard</title>
		<link>http://www.reedolsen.com/compress-pdf-files-in-snow-leopard/</link>
		<comments>http://www.reedolsen.com/compress-pdf-files-in-snow-leopard/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 01:38:54 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Scanning]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=139</guid>
		<description><![CDATA[I recently needed to scan and email a 5 page document to a friend. Unfortunately, the scanned document weighed in at over 30 MB, and I couldn&#8217;t find a good way to compress it. I tried SmallImage, which doesn&#8217;t take PDF documents as an input file. After fiddling around with Preview, and Googling around to [...]]]></description>
			<content:encoded><![CDATA[<p>I recently needed to scan and email a 5 page document to a friend. Unfortunately, the scanned document weighed in at over 30 MB, and I couldn&#8217;t find a good way to compress it. I tried SmallImage, which doesn&#8217;t take PDF documents as an input file. After fiddling around with Preview, and Googling around to solve the issue, I finally found this Automator workflow written by Paul Scott. Works like a charm!</p>
<p><a href="http://www.apple.com/downloads/macosx/automator/compresspdfworkflow.html">http://www.apple.com/downloads/macosx/automator/compresspdfworkflow.html</a></p>
<p>Enjoy!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1201608972275519";
/* 468x60, created 5/20/08 */
google_ad_slot = "3717748190";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/compress-pdf-files-in-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speed Charades gets mentioned on O&#8217;Reilly Best iPhone Apps website</title>
		<link>http://www.reedolsen.com/speed-charades-gets-mentioned-on-orilley-best-iphone-apps-website/</link>
		<comments>http://www.reedolsen.com/speed-charades-gets-mentioned-on-orilley-best-iphone-apps-website/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 23:13:06 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=136</guid>
		<description><![CDATA[I just got word from O&#8217;Reilly that Speed Charades was mentioned as one of the best iPhone Parlor games. Thanks, guys!
http://iphoneapps.oreilly.com/2009/11/parlor-games.html
]]></description>
			<content:encoded><![CDATA[<p>I just got word from O&#8217;Reilly that Speed Charades was mentioned as one of the best iPhone Parlor games. Thanks, guys!</p>
<p><a href="http://iphoneapps.oreilly.com/2009/11/parlor-games.html">http://iphoneapps.oreilly.com/2009/11/parlor-games.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/speed-charades-gets-mentioned-on-orilley-best-iphone-apps-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP All in One Scanning in Snow Leopard</title>
		<link>http://www.reedolsen.com/hp-all-in-one-scanning-in-snow-leopard/</link>
		<comments>http://www.reedolsen.com/hp-all-in-one-scanning-in-snow-leopard/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 22:59:04 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=134</guid>
		<description><![CDATA[When I upgraded my wife&#8217;s iMac to Snow Leopard, we were sad to find out that her HP PSC 2110 couldn&#8217;t scan anymore. However, Apple recently released updated drivers that fix scanning in Mac OS X 10.6.

To make it work, we must first remove any previous drivers. First, uninstall and delete all HP files in [...]]]></description>
			<content:encoded><![CDATA[<p>When I upgraded my wife&#8217;s iMac to Snow Leopard, we were sad to find out that her HP PSC 2110 couldn&#8217;t scan anymore. However, Apple recently released updated drivers that fix scanning in Mac OS X 10.6.</p>
<ul>
<li>To make it work, we must first remove any previous drivers. First, uninstall and delete all HP files in your Applications folder. Next, delete all files in Volume/Library/Printers/hp</li>
<li>Then, we must install Apple&#8217;s latest HP drivers. These can be found at this site: http://support.apple.com/kb/DL907</li>
</ul>
<p>Restart, and presto! You&#8217;re scanning like a champ. I prefer to use Preview to do my scanning. This is simple. Open Preview, choose File &gt; Import From Scanner.</p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/hp-all-in-one-scanning-in-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Turn off Multiple Windows in Snow Leopard Dictionary</title>
		<link>http://www.reedolsen.com/turn-off-multiple-windows-in-snow-leopard-dictionary/</link>
		<comments>http://www.reedolsen.com/turn-off-multiple-windows-in-snow-leopard-dictionary/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 21:51:24 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=129</guid>
		<description><![CDATA[Since Mac OS X Leopard, I have become hooked on using Spotlight to look up word definitions and find related words using the thesarus. However, with Snow Leopard, the default behavior of the Dictionary App is to open up a new window for each word query. Some people love this functionality but it doesn&#8217;t fit [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-130 alignright" title="Snow Leopard Dictionary" src="http://www.reedolsen.com/wp-content/uploads/2009/10/dictionary.png" alt="Snow Leopard Dictionary" width="338" height="140" />Since Mac OS X Leopard, I have become hooked on using Spotlight to look up word definitions and find related words using the thesarus. However, with Snow Leopard, the default behavior of the Dictionary App is to open up a new window for each word query. Some people love this functionality but it doesn&#8217;t fit my workflow. Thankfully, a friend turned me on to this Apple default that you can use to make Apple Dictionary use a single window whenever you open it.</p>
<p>For the fix, simply open Terminal (in Applications/Utilities), and  enter the following command:</p>
<p><code>defaults write com.apple.Dictionary ProhibitNewWindowForRequest -bool TRUE</code></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/turn-off-multiple-windows-in-snow-leopard-dictionary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BYU Info Systems Students Win Big at National Comp</title>
		<link>http://www.reedolsen.com/byu-info-systems-students-win-big-at-national-comp/</link>
		<comments>http://www.reedolsen.com/byu-info-systems-students-win-big-at-national-comp/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 05:38:57 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=123</guid>
		<description><![CDATA[PROVO, Utah – Jun 24, 2009 – Brigham Young University information systems students reeled in eight awards this spring with their problem-solving strategies and technological expertise at the National Collegiate Conference for the Association for Information Technology Professionals in Oklahoma City.
Competing against 61 other universities, some with more than 20 student entrants, the six BYU [...]]]></description>
			<content:encoded><![CDATA[<p>PROVO, Utah – Jun 24, 2009 – Brigham Young University information systems students reeled in eight awards this spring with their problem-solving strategies and technological expertise at the National Collegiate Conference for the Association for Information Technology Professionals in Oklahoma City.</p>
<div id="attachment_124" class="wp-caption alignright" style="width: 360px"><img class="size-full wp-image-124" title="2009-AITP-Winners-1_article" src="http://www.reedolsen.com/wp-content/uploads/2009/06/2009-AITP-Winners-1_article.jpg" alt="From left to right: Reed Olsen, Dave Wilson, Robert Mount,  Devin Collier, Landon Cope and Bryce Clark stand with the awards they won at the competition." width="350" height="200" /><p class="wp-caption-text">From left to right: Reed Olsen, Dave Wilson, Robert Mount,  Devin Collier, Landon Cope and Bryce Clark stand with the awards they won at the competition.</p></div>
<p>Competing against 61 other universities, some with more than 20 student entrants, the six BYU seniors held their own, leaving with more awards than any other school. The two-man teams won: first and second place in the business intelligence competition; second place in the office solutions competition; third place and honorable mention in the system analysis and design competition; third place and honorable mention in the java competition; and third place in the application development competition.</p>
<p>&#8220;Our core experience really preps BYU students for high-pressure, quick-turn-around competitions,&#8221; says Craig Lindstrom, assistant professor of information systems and adviser for the competition. &#8220;The depth of the subject material taught in information systems courses helped them do well.&#8221;</p>
<p>Students who competed were Bryce Clark, from Calgary, Alberta; Landon Cope, from Tucson, Ariz.; Devin Collier, from Provo; Robert Mount, from Provo; Reed Olsen, from Weston, Mass.; and Dave Wilson, from Highland, Utah.</p>
<p>While most teams only registered for two to three competitions, BYU&#8217;s teams signed up for all six time slots. This schedule made the competition even more rigorous with some students spending as many as 13 hours competing in a single day.</p>
<p>&#8220;The entire competition was a test of mental endurance,&#8221; says Olsen. &#8220;After eight hours of competing, I could hardly think straight. However, we just pushed through for the remaining five hours of the contests and it paid off.&#8221;</p>
<p>The Marriott School is located at Brigham Young University, the largest privately owned, church-sponsored university in the United States. The school has nationally recognized programs in accounting, business management, public management, information systems and entrepreneurship. The school&#8217;s mission is to prepare men and women of faith, character and professional ability for positions of leadership throughout the world. Approximately 3,000 students are enrolled in the Marriott School&#8217;s graduate and undergraduate programs.</p>
<p>(From <a href="http://marriottschool.byu.edu/news/release.cfm?article=462">http://marriottschool.byu.edu/news/release.cfm?article=462</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/byu-info-systems-students-win-big-at-national-comp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leopard Hotkey to open Help Menu</title>
		<link>http://www.reedolsen.com/leopard-hotkey-to-open-help-menu/</link>
		<comments>http://www.reedolsen.com/leopard-hotkey-to-open-help-menu/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 03:45:18 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=115</guid>
		<description><![CDATA[One of my favorite new features in Leopard is the ability to search all of the menus in a given application. This is extremely helpful when you don&#8217;t want to dig through a whole much of nested menus to find the item you&#8217;re looking for.

If you&#8217;ve read my other posts, you know that I&#8217;m big [...]]]></description>
			<content:encoded><![CDATA[<p>One of my favorite new features in Leopard is the ability to search all of the menus in a given application. This is extremely helpful when you don&#8217;t want to dig through a whole much of nested menus to find the item you&#8217;re looking for.</p>
<p><img class="alignright size-full wp-image-116" title="help" src="http://www.reedolsen.com/wp-content/uploads/2009/04/help.png" alt="help" width="687" height="398" /></p>
<p>If you&#8217;ve read my other posts, you know that I&#8217;m big into keyboard shortcuts and hotkeys. Here&#8217;s how to open up the help-menu without using your mouse <img src='http://www.reedolsen.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Command + Shift + /</p>
<p>Or you can think of it as</p>
<p>Command + ?</p>
<p>Note that this doesn&#8217;t work in some applications (e.g. FireFox, which is just one more reason for me to switch over to Safari&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/leopard-hotkey-to-open-help-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BYU at AITP 2009</title>
		<link>http://www.reedolsen.com/byu-at-aitp-2009/</link>
		<comments>http://www.reedolsen.com/byu-at-aitp-2009/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 05:24:33 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=109</guid>
		<description><![CDATA[This year, I was selected to travel with six other ISYS students to represent BYU at the AITP National Collegiate Conference in scenic Oklahoma City. We flew out on Thursday, and competed in 6 different competitions for three days straight:

GIS/Business Intelligence
Microsoft Office Solutions
Systems Analysis &#38; Design
Database Design
Application Development
Java Development

The trip was awesome, and we competed [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_110" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-110" title="App Dev MISM" src="http://www.reedolsen.com/wp-content/uploads/2009/04/100_2531-300x169.jpg" alt="Devin, Dave and I working on our submission for the App Dev contest." width="300" height="169" /><p class="wp-caption-text">Devin, Dave and I working on our submission for the App Dev contest.</p></div>
<p>This year, I was selected to travel with six other ISYS students to represent BYU at the AITP National Collegiate Conference in scenic Oklahoma City. We flew out on Thursday, and competed in 6 different competitions for three days straight:</p>
<ul>
<li>GIS/Business Intelligence</li>
<li>Microsoft Office Solutions</li>
<li>Systems Analysis &amp; Design</li>
<li>Database Design</li>
<li>Application Development</li>
<li>Java Development</li>
</ul>
<p>The trip was awesome, and we competed well in many of the events. Here are some photo highlights. (Thanks to Landon Cope for being the VP of trip documentation.)</p>
<div id="attachment_111" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-111 " title="Bryce Landon" src="http://www.reedolsen.com/wp-content/uploads/2009/04/100_2534-300x169.jpg" alt="Bryce, Landon and Robbi (not pictured) made us proud and brought home a lot of awards." width="300" height="169" /><p class="wp-caption-text">Bryce, Landon and Robbi (not pictured) made us proud and brought home a lot of awards.</p></div>
<div id="attachment_112" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-112 " title="Awards" src="http://www.reedolsen.com/wp-content/uploads/2009/04/100_2582-300x169.jpg" alt="At the Awards Banquet with our spoils. 9 awards for 6 students in 6 contests!" width="300" height="169" /><p class="wp-caption-text">At the Awards Banquet with our spoils. 9 awards for 6 students in 6 contests!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/byu-at-aitp-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation on Speed Charades</title>
		<link>http://www.reedolsen.com/presentation-on-speed-charades/</link>
		<comments>http://www.reedolsen.com/presentation-on-speed-charades/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 07:25:29 +0000</pubDate>
		<dc:creator>Reed</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Speed Charades]]></category>

		<guid isPermaLink="false">http://www.reedolsen.com/?p=106</guid>
		<description><![CDATA[I know, I know. Enough with the Speed Charades already! But someone asked me to post this presentation that I did, entitled &#8220;Speed Charades: From Start to Finish&#8221;. It&#8217;s a really brief overview of some of the challenges that I faced while writing it, and the resources that I turned to to get help.
The meat [...]]]></description>
			<content:encoded><![CDATA[<p>I know, I know. Enough with the Speed Charades already! But someone asked me to post this presentation that I did, entitled &#8220;Speed Charades: From Start to Finish&#8221;. It&#8217;s a really brief overview of some of the challenges that I faced while writing it, and the resources that I turned to to get help.</p>
<p>The meat of the presentations isn&#8217;t really in the slides, but here they are for reference!</p>
<p><a href="http://www.reedolsen.com/presentations/scpreso.html ">http://www.reedolsen.com/presentations/scpreso.html </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.reedolsen.com/presentation-on-speed-charades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
