<?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>Tilo Mitra</title>
	<atom:link href="http://tilomitra.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tilomitra.com</link>
	<description>Front End Engineering &#124; UI Development</description>
	<lastBuildDate>Wed, 16 May 2012 23:31:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>New Zealand and Bora Bora Trip Photos</title>
		<link>http://tilomitra.com/new-zealand-trip-photos/</link>
		<comments>http://tilomitra.com/new-zealand-trip-photos/#comments</comments>
		<pubDate>Sun, 06 May 2012 07:14:30 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=458</guid>
		<description><![CDATA[I was in New Zealand a few days ago, and am in Bora Bora right now! Check out the best pictures from both places here! Best of New Zealand View New Zealand Album Best of Bora Bora, Tahiti View Bora &#8230; <a href="http://tilomitra.com/new-zealand-trip-photos/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was in New Zealand a few days ago, and am in Bora Bora right now! Check out the best pictures from both places here!</p>
<h2>Best of New Zealand</h2>
<div id="attachment_505" class="wp-caption aligncenter" style="width: 610px"><a href="http://tilomitra.com/wp-content/uploads/2012/05/newzealand1.jpg"><img class="size-medium wp-image-505" title="newzealand1" src="http://tilomitra.com/wp-content/uploads/2012/05/newzealand1-600x450.jpg" alt="" width="600" height="450" /></a><p class="wp-caption-text">View of Auckland from Mount Eden Summit</p></div>
<p><a title="best of nz" href="https://www.facebook.com/media/set/?set=a.10150827821111692.435415.501146691&amp;type=1&amp;l=f5a112e4c4"><button class="clean-gray">View New Zealand Album</button></a></p>
<h2>Best of Bora Bora, Tahiti</h2>
<div id="attachment_504" class="wp-caption aligncenter" style="width: 610px"><a href="http://tilomitra.com/wp-content/uploads/2012/05/borabora1.jpg"><img class="size-medium wp-image-504" title="borabora1" src="http://tilomitra.com/wp-content/uploads/2012/05/borabora1-600x398.jpg" alt="" width="600" height="398" /></a><p class="wp-caption-text">Over-water bungalows at Four Seasons Resort, Bora Bora</p></div>
<p><a title="best of bora bora" href="https://www.facebook.com/media/set/?set=a.10150883129306692.436766.501146691&amp;type=1&amp;l=ee537bd9f4"><button class="clean-gray">View Bora Bora Album</button></a></p>
<h2>Underwater video of me swimming amongst the fish in the coral reefs</h2>
<p><object width="400" height="224" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="src" value="http://www.facebook.com/v/10150891653206692" /><embed width="400" height="224" type="application/x-shockwave-flash" src="http://www.facebook.com/v/10150891653206692" allowfullscreen="true" /></object></p>
<h2>Underwater video of me swimming with sharks </h2>
<p><object width="400" height="224" ><param name="allowfullscreen" value="true" /><param name="movie" value="http://www.facebook.com/v/10150891747871692" /><embed src="http://www.facebook.com/v/10150891747871692" type="application/x-shockwave-flash" allowfullscreen="true" width="400" height="224"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/new-zealand-trip-photos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cricketainment iPad App Sneak Peek</title>
		<link>http://tilomitra.com/cricketainment-ipad-app-sneak-peek/</link>
		<comments>http://tilomitra.com/cricketainment-ipad-app-sneak-peek/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 21:13:13 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Cricket]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=485</guid>
		<description><![CDATA[Some shots of a native iPad app that I have been making. I finished designing most of it, and have implemented the screens below. More details coming soon.]]></description>
			<content:encoded><![CDATA[<p>Some shots of a native iPad app that I have been making. I finished designing most of it, and have implemented the screens below. More details coming soon.</p>

<a href='http://tilomitra.com/cricketainment-ipad-app-sneak-peek/newsview/' title='NewsView'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/NewsView-284x150.png" class="attachment-thumbnail" alt="NewsView" title="NewsView" /></a>
<a href='http://tilomitra.com/cricketainment-ipad-app-sneak-peek/landscapeview/' title='landscapeView'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/landscapeView-284x150.png" class="attachment-thumbnail" alt="landscapeView" title="landscapeView" /></a>
<a href='http://tilomitra.com/cricketainment-ipad-app-sneak-peek/coverphoto/' title='coverphoto'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/coverphoto-284x150.png" class="attachment-thumbnail" alt="coverphoto" title="coverphoto" /></a>
<a href='http://tilomitra.com/cricketainment-ipad-app-sneak-peek/readingnews/' title='ReadingNews'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/ReadingNews-284x150.png" class="attachment-thumbnail" alt="ReadingNews" title="ReadingNews" /></a>
<a href='http://tilomitra.com/cricketainment-ipad-app-sneak-peek/livecommentaryview/' title='LiveCommentaryView'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/LiveCommentaryView-284x150.png" class="attachment-thumbnail" alt="LiveCommentaryView" title="LiveCommentaryView" /></a>

]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/cricketainment-ipad-app-sneak-peek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Investment books worth reading</title>
		<link>http://tilomitra.com/investment-books-worth-reading/</link>
		<comments>http://tilomitra.com/investment-books-worth-reading/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 02:43:43 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=477</guid>
		<description><![CDATA[I&#8217;ve been catching up on some reading now that my university is done. I&#8217;ve been learning about investments and the stock market &#8211; something I knew very little about a few days ago. I just finished reading these two books. &#8230; <a href="http://tilomitra.com/investment-books-worth-reading/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been catching up on some reading now that my university is done. I&#8217;ve been learning about investments and the stock market &#8211; something I knew very little about a few days ago.</p>
<p>I just finished reading these two books. They were very easy to understand and quite inspiring. I recommend them to anyone who is interested in learning more about investing. Start with the first, then read the second.</p>
<p><a title="How I made $2,000,000 in the stock market" href="http://www.amazon.com/How-Made-000-Stock-Market/dp/0818403969">How I Made $2,000,000 in the stock market</a> by Nicolas Darvas<br />
<a href="http://www.amazon.ca/How-Make-Money-Stocks-Winning/dp/0071614133"> How to Make Money in Stocks: A Winning System in Good Times and Bad</a> by William O&#8217;Neil</p>
<p>The reason I particularly like these books is that they go against the whole notion of listening to Wall Street analysts. Darvas&#8217; book is mostly a story about how he made it rich on the market in the 50s and 60s. O&#8217;Neil is widely regarded as one of the best investors of the last century, and he&#8217;s the founder of www.investors.com. His book is extremely focussed on the math behind a stock&#8217;s rise. He encourages you to pay attention to charts, graphs and numbers and less on analysts, news and rumours.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/investment-books-worth-reading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choose for Change</title>
		<link>http://tilomitra.com/choose-for-change/</link>
		<comments>http://tilomitra.com/choose-for-change/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 18:18:07 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=459</guid>
		<description><![CDATA[For the last few days, I&#8217;ve been volunteering my time on designing and developing &#8220;Choose For Change&#8221; with a few of my friends. The site aims to educate people on global poverty, and has the concept of placing footprints in &#8230; <a href="http://tilomitra.com/choose-for-change/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the last few days, I&#8217;ve been volunteering my time on designing and developing &#8220;Choose For Change&#8221; with a few of my friends. The site aims to educate people on global poverty, and has the concept of placing footprints in the name of one&#8217;s friends. It&#8217;s still very much a work in progress.</p>
<p>Thought I&#8217;d share a few mockups that I designed. I&#8217;m not sure if we&#8217;ll be using these, and they may go through some modifications but anyway, here they are!</p>
<p>A lot of people think I&#8217;m a designer but I&#8217;m not. I can make some nice-looking designs but at the end of a day, I&#8217;m an engineer. <img src='http://tilomitra.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<a href='http://tilomitra.com/choose-for-change/chooseforchangeplacefootprint/' title='chooseForChangePlaceFootprint'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/chooseForChangePlaceFootprint-284x150.png" class="attachment-thumbnail" alt="chooseForChangePlaceFootprint" title="chooseForChangePlaceFootprint" /></a>
<a href='http://tilomitra.com/choose-for-change/chooseforchangemap/' title='chooseForChangeMap'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/chooseForChangeMap-284x150.png" class="attachment-thumbnail" alt="chooseForChangeMap" title="chooseForChangeMap" /></a>
<a href='http://tilomitra.com/choose-for-change/screen-shot-2012-04-19-at-10-39-28-pm/' title='chooseforchange_home_v1'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-19-at-10.39.28-PM-284x150.png" class="attachment-thumbnail" alt="chooseforchange_home_v1" title="chooseforchange_home_v1" /></a>
<a href='http://tilomitra.com/choose-for-change/chooseforchangemap_modal_v2/' title='chooseForChangeMap_modal_v2'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/04/chooseForChangeMap_modal_v2-284x150.png" class="attachment-thumbnail" alt="chooseForChangeMap_modal_v2" title="chooseForChangeMap_modal_v2" /></a>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/choose-for-change/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Presenting Peekaboo</title>
		<link>http://tilomitra.com/presenting-peekaboo/</link>
		<comments>http://tilomitra.com/presenting-peekaboo/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 23:31:46 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=425</guid>
		<description><![CDATA[Today, we presented our final year design project, Peekaboo, to the University of Waterloo. I thought it was only fair that I post it online on the same day as well.

Peekaboo is an iOS app that lets you find out more about people around you. It accomplishes this by using facial detection and recognition. Simply snap a picture and Peekaboo tries to find out who the people in it are.  <a href="http://tilomitra.com/presenting-peekaboo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today, we presented our final year design project, Peekaboo, to the University of Waterloo. I thought it was only fair that I post it online on the same day as well.</p>
<p>Peekaboo is an iOS app that lets you find out more about people around you. It accomplishes this by using facial detection and recognition. Simply snap a picture and Peekaboo tries to find out who the people in it are. You can login to the app using Facebook, and it goes through your tagged Facebook photos to create a model of your face. Don&#8217;t have or don&#8217;t want to connect with Facebook? Peekaboo can train you using your phone&#8217;s front-facing camera.</p>
<h2>Watch the short video</h2>
<p>I thought a video would explain it better than words can. This was taken on my iPhone 4S and recorded using AirPlay. It&#8217;s a slightly old build.</p>
<p><iframe src="http://player.vimeo.com/video/38665774" frameborder="0" width="500" height="313"></iframe></p>
<h2>The idea</h2>
<p>We started with the idea of wanting to know more about people in university. If you think about it, there are 10,000 like-minded students in a university campus but I only know 0.01% of them, due to a random moment that made me meet them. That 0.01% is responsible for most of the joy and friendships that I have created in the last 4 years. So what if this 0.01% was larger? We felt that there should be a better way of knowing more about people around you, so that you can meet more like-minded individuals. Is Peekaboo the right approach? I&#8217;m not totally sure, and it certainly has polarizing aspects, but it sure was fun to make.</p>
<h2>The technology</h2>
<p>I mentioned how I designed Peekaboo&#8217;s system architecture in an <a title="How we used free + open source tools to build a facial recognition app" href="http://tilomitra.com/architecture-facial-recognition-system/">earlier post</a>. Some things have changed since then. We found <a title="face.com" href="http://www.face.com">face.com</a> provided us improved facial recognition and had a faster execution time, so we went with that. This allowed us to simplify a lot of the code on the C++ side, effectively making the system a combination of the iOS app and a Node.js server on Heroku that acted as an API that linked to the various services, <a title="Parse" href="http://www.parse.com">Parse</a> and <a title="Face.com" href="http://www.Face.com">Face.com</a>.</p>
<p>I was responsible for coding the majority of the Node.js server and the iOS app. My goal throughout this process was to become proficient with Objective-C and the iOS SDK and I think I&#8217;ve got close.</p>
<h2>Some pictures</h2>
<p>Here are some screenshots and Instagrams of Peekaboo and the design symposium.</p>

<a href='http://tilomitra.com/presenting-peekaboo/img_0534-copy/' title='peekabooSplash'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/IMG_0534-copy-284x150.png" class="attachment-thumbnail" alt="peekabooSplash" title="peekabooSplash" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/img_0535-copy/' title='peekabooAnalyzing'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/IMG_0535-copy-284x150.png" class="attachment-thumbnail" alt="peekabooAnalyzing" title="peekabooAnalyzing" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/img_0536-copy/' title='peekabooRecognized'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/IMG_0536-copy-284x150.png" class="attachment-thumbnail" alt="peekabooRecognized" title="peekabooRecognized" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/img_0537-copy/' title='peekabooProfile'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/IMG_0537-copy-284x150.png" class="attachment-thumbnail" alt="peekabooProfile" title="peekabooProfile" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/poster-thumbnail/' title='poster-thumbnail'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/poster-thumbnail-284x150.png" class="attachment-thumbnail" alt="poster-thumbnail" title="poster-thumbnail" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/faces/' title='faces'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/faces-284x150.jpg" class="attachment-thumbnail" alt="faces" title="faces" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/peekaboo1/' title='peekaboo1'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/peekaboo1-284x150.jpg" class="attachment-thumbnail" alt="peekaboo1" title="peekaboo1" /></a>
<a href='http://tilomitra.com/presenting-peekaboo/peekaboo2/' title='peekaboo2'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/03/peekaboo2-284x150.jpg" class="attachment-thumbnail" alt="peekaboo2" title="peekaboo2" /></a>

]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/presenting-peekaboo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apple&#8217;s Philosophy</title>
		<link>http://tilomitra.com/apples-philosophy/</link>
		<comments>http://tilomitra.com/apples-philosophy/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 09:15:57 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=420</guid>
		<description><![CDATA[From a recent interview with Jonathan Ive of Apple: Something I found very interesting was Ive&#8217;s response to the question,&#8221;When you are coming up with product ideas such as the iPod, do you try to solve a problem?&#8221; His reply: &#8230; <a href="http://tilomitra.com/apples-philosophy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>From a recent <a title="Sir Jonathan Ive: The iMan cometh " href="http://www.thisislondon.co.uk/lifestyle/london-life/sir-jonathan-ive-the-iman-cometh-7562170.html" target="_blank">interview</a> with Jonathan Ive of Apple:</p>
<p>Something I found very interesting was Ive&#8217;s response to the question,&#8221;<em>When you are coming up with product ideas such as the iPod, do you try to solve a problem?&#8221;</em></p>
<p>His reply:</p>
<blockquote><p>
There are different approaches &#8211; sometimes things can irritate you so you become aware of a problem, which is a very pragmatic approach and the least challenging.</p>
<p>What is more difficult is when you are intrigued by an opportunity. That, I think, really exercises the skills of a designer. It’s not a problem you’re aware of, nobody has articulated a need. But you start asking questions, what if we do this, combine it with that, would that be useful? This creates opportunities that could replace entire categories of device, rather than tactically responding to an individual problem. That’s the real challenge, and that’s what is exciting.
</p></blockquote>
<p>Now this is fascinating for me, because we are taught to always ask the question, &#8220;<em>What&#8217;s the problem that this is trying to solve</em>&#8220;, when designing or developing something new. Ive says revolutionary products come when you ask &#8220;<em>What can we do with this?</em>&#8220;. </p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/apples-philosophy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Objective-C literals for NSDictionary, NSArray, and NSNumber</title>
		<link>http://tilomitra.com/objective-c-literals-for-nsdictionary-nsarray-and-nsnumber/</link>
		<comments>http://tilomitra.com/objective-c-literals-for-nsdictionary-nsarray-and-nsnumber/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 17:47:44 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Tidbits]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=418</guid>
		<description><![CDATA[From CocoaHeads: To sum it up, you can create an NSDictionary through the following: dict = @{ k1 : o1, k2 : o2, k3 : o3 }; Similarly for an NSArray: array = @[ a, b, c ]; and for &#8230; <a href="http://tilomitra.com/objective-c-literals-for-nsdictionary-nsarray-and-nsnumber/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>From <a title="Cocoaheads" href="http://cocoaheads.tumblr.com">CocoaHeads</a>:</p>
<p>To sum it up, you can create an NSDictionary through the following:</p>
<p><code>dict = @{ k1 : o1, k2 : o2, k3 : o3 };</code></p>
<p>Similarly for an NSArray:</p>
<p><code>array = @[ a, b, c ];</code></p>
<p>and for NSNumber:</p>
<p><code>NSNumber *number;<br />
number = @'X';<br />
number = @12345;<br />
number = @12345ul;<br />
number = @12345ll;<br />
number = @123.45f;<br />
number = @123.45;<br />
number = @YES;<br />
</code><span id="more-418"></span><!--more--></p>
<p>Find the entire article at <a href="http://cocoaheads.tumblr.com/post/17757846453/objective-c-literals-for-nsdictionary-nsarray-and">CocoaHeads • Objective-C literals for NSDictionary, NSArray, and NSNumber</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/objective-c-literals-for-nsdictionary-nsarray-and-nsnumber/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get absolute position of a UITableViewCell</title>
		<link>http://tilomitra.com/get-absolute-position-of-a-uitableviewcell/</link>
		<comments>http://tilomitra.com/get-absolute-position-of-a-uitableviewcell/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 18:15:40 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Tidbits]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=415</guid>
		<description><![CDATA[Here&#8217;s something that helped me when I was working with WEPopover to implement a popover in my iPhone app a la the iPad. If your popover is being instantiated from a UIViewController with a UITableView in it that does not &#8230; <a href="http://tilomitra.com/get-absolute-position-of-a-uitableviewcell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s something that helped me when I was working with <a href="https://github.com/werner77/WEPopover">WEPopover</a> to implement a popover in my iPhone app a la the iPad.</p>
<p>If your popover is being instantiated from a <code>UIViewController</code> with a <code>UITableView</code> in it that does not fill up the whole window, then you may have some issues getting the popover to align properly. </p>
<p>To get the alignment to work, you need to get the <code>UITableViewCell</code>&#8216;s absolute position on screen.</p>
<p>You can achieve that through the following code:</p>
<p><code><br />
CGRect rectInTableView = [tableView rectForRowAtIndexPath:indexPath];<br />
CGRect rectInSuperview = [tableView convertRect:rectInTableView toView:[tableView superview]];<br />
</code></p>
<p>And then&#8230;<br />
<code></p>
<p>[self.popoverController presentPopoverFromRect:rectInSuperview<br />
												inView:self.view<br />
							  permittedArrowDirections:(UIPopoverArrowDirectionUp|UIPopoverArrowDirectionDown|<br />
														UIPopoverArrowDirectionLeft|UIPopoverArrowDirectionRight)<br />
											  animated:YES];</p>
<p></code></p>
<p>Thanks to Nick Weaver at <a href="http://stackoverflow.com/questions/5926554/get-uitableviewcell-position-from-visible-area-or-window">this</a> StackOverflow question for explaining this. Took some finding.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/get-absolute-position-of-a-uitableviewcell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Waterloo Life</title>
		<link>http://tilomitra.com/waterloo-life/</link>
		<comments>http://tilomitra.com/waterloo-life/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 16:25:39 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=375</guid>
		<description><![CDATA[I finish my undergrad in less than 2 months. That&#8217;s less than 60 days. I&#8217;m going to miss it. I think I already do.]]></description>
			<content:encoded><![CDATA[<p>I finish my undergrad in less than 2 months. That&#8217;s less than 60 days. I&#8217;m going to miss it. I think I already do.</p>

<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-9/' title='waterloo-life-large-9'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-9-284x150.jpg" class="attachment-thumbnail" alt="Counting pennies at William&#039;s" title="waterloo-life-large-9" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-2/' title='waterloo-life-large-2'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-2-284x150.jpg" class="attachment-thumbnail" alt="Tactical advice during basketball time out" title="waterloo-life-large-2" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-11/' title='waterloo-life-large-11'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-11-284x150.jpg" class="attachment-thumbnail" alt="Starbucks at the corner of King and University" title="waterloo-life-large-11" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-1/' title='waterloo-life-large-1'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-1-284x150.jpg" class="attachment-thumbnail" alt="Basketball intramurals at CIF" title="waterloo-life-large-1" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-4/' title='waterloo-life-large-4'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-4-284x150.jpg" class="attachment-thumbnail" alt="Painting assignments" title="waterloo-life-large-4" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-7/' title='waterloo-life-large-7'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-7-284x150.jpg" class="attachment-thumbnail" alt="Chapters" title="waterloo-life-large-7" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-8/' title='waterloo-life-large-8'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-8-284x150.jpg" class="attachment-thumbnail" alt="Halloween 2011" title="waterloo-life-large-8" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-15/' title='waterloo-life-large-15'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-15-284x150.jpg" class="attachment-thumbnail" alt="Data mining class" title="waterloo-life-large-15" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-12/' title='waterloo-life-large-12'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-12-284x150.jpg" class="attachment-thumbnail" alt="Chinese food from plaza" title="waterloo-life-large-12" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-5/' title='waterloo-life-large-5'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-5-284x150.jpg" class="attachment-thumbnail" alt="Bubble tea menu from Sweet Dreams Tea Shop" title="waterloo-life-large-5" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-14/' title='waterloo-life-large-14'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-14-284x150.jpg" class="attachment-thumbnail" alt="Late night working on campus" title="waterloo-life-large-14" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-16/' title='waterloo-life-large-16'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-16-284x150.jpg" class="attachment-thumbnail" alt="Engineering notes" title="waterloo-life-large-16" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-17/' title='waterloo-life-large-17'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-17-284x150.jpg" class="attachment-thumbnail" alt="Wing nights at Morty&#039;s" title="waterloo-life-large-17" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-6/' title='waterloo-life-large-6'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-6-284x150.jpg" class="attachment-thumbnail" alt="Testing out an early prototype of Peekaboo" title="waterloo-life-large-6" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-13/' title='waterloo-life-large-13'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-13-284x150.jpg" class="attachment-thumbnail" alt="Design optimization under probabilistic uncertainty" title="waterloo-life-large-13" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-10/' title='waterloo-life-large-10'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-10-284x150.jpg" class="attachment-thumbnail" alt="Iron ring info session" title="waterloo-life-large-10" /></a>
<a href='http://tilomitra.com/waterloo-life/waterloo-life-large-3/' title='waterloo-life-large-3'><img width="284" height="150" src="http://tilomitra.com/wp-content/uploads/2012/02/waterloo-life-large-3-284x150.jpg" class="attachment-thumbnail" alt="SLC at dawn on my way to cricket games" title="waterloo-life-large-3" /></a>

]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/waterloo-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How we used free + open source tools to build a facial recognition app</title>
		<link>http://tilomitra.com/architecture-facial-recognition-system/</link>
		<comments>http://tilomitra.com/architecture-facial-recognition-system/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 06:16:12 +0000</pubDate>
		<dc:creator>Tilo</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://tilomitra.com/?p=334</guid>
		<description><![CDATA[A look into my final year design project, and some of the tools and architectures used to create it.  <a href="http://tilomitra.com/architecture-facial-recognition-system/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h4>Update: See my new post <a title="Presenting Peekaboo" href="http://tilomitra.com/presenting-peekaboo/">introducing Peekaboo</a>.</h4>
<p>Here&#8217;s a post I&#8217;ve been meaning to write for a while, but just never got around to it.</p>
<p>As a Waterloo Engineering student, we have to complete a final year design project under the guidance of a supervisor in groups of three.</p>
<h2>What have I been making?</h2>
<p>My project is called Peekaboo. It uses facial detection and recognition to allow a user to find out more about people around them.</p>
<p>I&#8217;ve been working on this for about 5 months now with my group members. We&#8217;ve made sufficient progress and are now at a stage where I can talk about our systems architecture and some of the design decisions that we made.</p>
<h2>System Overview</h2>
<p>Peekaboo is comprised of 3 components, shown in the diagram below.</p>
<div id="attachment_342" class="wp-caption aligncenter" style="width: 610px"><a href="http://tilomitra.com/architecture-facial-recognition-system/system-diagram/" rel="attachment wp-att-342"><img class="size-medium wp-image-342" title="system-diagram" src="http://tilomitra.com/wp-content/uploads/2012/02/system-diagram-600x299.png" alt="" width="600" height="299" /></a><p class="wp-caption-text">System Overview</p></div>
<h2>iOS App + Face Detection + Parse</h2>
<p>We have a native iOS app that uses <a title="Parse" href="http://www.parse.com">Parse</a> for it&#8217;s mobile backend. We&#8217;ve been very happy with Parse, and it was painless to set up. Face detection is performed on the device itself through <a title="Face.com API" href="http://developer.face.com">Face.com&#8217;s API</a>. We went with Face.com over OpenCV&#8217;s Face detection due to higher accuracy and the availability of more data. Face.com is able to give us JSON back with eye positions, mouth posiitions, head tilt and yaw, gender, and more.</p>
<p>I strongly believe user experience should be important to any project. We use a lot of great open source iOS UI components available at <a href="http://www.cocoacontrols.com">Cocoa Controls</a>.</p>
<h2>Web Server on Heroku</h2>
<p>We wrote a web server in Node.js deployed over <a title="Heroku" href="http://www.heroku.com">Heroku</a> to act as an API. Once again, Heroku makes this painless to set up and deploy. The web server is the mediator used by the iOS app and the desktop C++ code. The web server talks to Parse to get information and feeds it to the C++ code (and vice versa). It uses standard authentication.</p>
<p>The web server has a MySQL database which we usually query instead of directly querying Parse. This way, we stay below the rate limits. Parse is only queried when there is a face that needs recognition.</p>
<ul>
<li>We found <a href="http://sequelizejs.com/">Sequelize</a> to be a good ORM for MySQL (available as an npm module)</li>
<li>We found <a title="Request NPM Module Github" href="https://github.com/mikeal/request">Request</a> to be a useful module for simplifying HTTP Requests.</li>
</ul>
<h2>Facial Recognition Algorithms</h2>
<p>I won&#8217;t lie, I&#8217;m not the best at C++. I find web languages and Objective-C a lot easier to code in. Nonetheless, when doing Face Recognition, we had to use C++. It&#8217;s mainstream and fast. Of course, we went with <a title="OpenCV" href="http://opencv.willowgarage.com/wiki/">OpenCV</a>, one of the most popular computer vision libraries out there (<a href="http://tilomitra.com/opencv-on-mac-osx/">See my post</a> on how to set up OpenCV on Mac).</p>
<p>Like I said, we don&#8217;t use OpenCV for Face detection. We use it to work with images, do some basic image processing (histogram equalization) and use OpenCV&#8217;s Eigenfaces implementation. We have also implemented another Facial Recognition algorithm known as LDA (Linear Discriminant Analysis). This was done mostly through reading research papers and contacting people smarter than us. Google Scholar is a useful resource. LDA gives us a 10-15% improved recognition rate over EigenFaces.</p>
<h2>Communication Layer</h2>
<address>Since I&#8217;m not a big C++ guy, I wrote a pretty thin Objective-C layer on top of the C++ code that communicates with the web server and figures out when to execute the facial recognition code. I was able to leverage a lot of my iOS knowledge for this, using standard libraries such as <a href="http://allseeing-i.com/ASIHTTPRequest/">ASIHTTPRequest</a> and <a href="http://stig.github.com/json-framework/">SBJSON</a> (ASIHTTPRequest has recently been stopped being maintained, but for our project, it does the job).</address>
<h3>System diagram of how facial recognition works</h3>
<p><a href="http://tilomitra.com/architecture-facial-recognition-system/face-rec-diagram/" rel="attachment wp-att-341"><img class="aligncenter size-medium wp-image-341" title="face-rec-diagram" src="http://tilomitra.com/wp-content/uploads/2012/02/face-rec-diagram-600x338.png" alt="" width="600" height="338" /></a></p>
<h2>Final Thoughts</h2>
<p>Some parts of our code are a little hacked together. This is partly due to the time crunch we are under and partly due to the fact that we are still learning. However, I am pretty proud of what we have achieved so far. We can accurately (over 70%) recognize a person who has been trained by our system (database size is 70 people currently). We&#8217;ve used $0 on this project, which is a testament to how open and amazing our software engineering industry is. We have learned a lot through out this process. I&#8217;ll put another post up with a live demo sometime soon.</p>
<p>If you have questions, ask them below!</p>
]]></content:encoded>
			<wfw:commentRss>http://tilomitra.com/architecture-facial-recognition-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.349 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-16 19:41:42 -->
<!-- Compression = gzip -->
