<?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"
	>

<channel>
	<title>Caffeinated Cocoa</title>
	<atom:link href="http://caffeinatedcocoa.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://caffeinatedcocoa.com/blog</link>
	<description>Awesomer than Awesome</description>
	<pubDate>Sun, 19 Jul 2009 02:13:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Updates</title>
		<link>http://caffeinatedcocoa.com/blog/?p=26</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=26#comments</comments>
		<pubDate>Sun, 19 Jul 2009 02:12:20 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Google Importer]]></category>

		<category><![CDATA[People]]></category>

		<category><![CDATA[PhotoBook]]></category>

		<category><![CDATA[randomness]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=26</guid>
		<description><![CDATA[Wow, you all must be so sick of hearing from me. I was really trying to wait another week, until the one year anniversary of my last post before writing this, but I just could not resist.
And thus(ly) I begin a chronological blog-journey of what&#8217;s happened in my ongoing quest for awesomeness:

Epic entrance into the [...]]]></description>
			<content:encoded><![CDATA[<p>Wow, you all must be so sick of hearing from me. I was really trying to wait another week, until the one year anniversary of my last post before writing this, but I just could not resist.</p>
<p>And thus(ly) I begin a chronological blog-journey of what&#8217;s happened in my ongoing quest for awesomeness:</p>
<ul>
<li>Epic entrance into the world that is iPhone with the release of <a href="http://www.caffeinatedcocoa.com/people/">People 1.0</a>, a white pages application. One of the first 500 applications available on day one of the app store</li>
<li>People won the Best iPhone App in the the <a href="http://www.whitepages.com">WhitePages.com</a> API contest, and I got a sweet MacBook Pro out of it.</li>
<li>Did pretty much nothing for the rest of the summer. Just hung out with friends and feared my most certain impeding doom to come in mid August</li>
<li>Started my freshman year at <a href="http://www.mit.edu">MIT</a>. Confirmed my suspicions that I can never be a mechanical engineer, in a single week, before classes even started.</li>
<li>Started classes. Woot exciting GIRs: 18.02, 8.01, 3.091, and 21M.011</li>
<li>Learned what GIRs are (classes all MIT students are required to take) and what those strange numbers mean (Multivar Calc, Physics (Mechanics), Solid State Chem, and Into to Western Music, respectively)  </li>
<li>Unibody MacBook Pros, grrrr&#8230;&#8230;.</li>
<li> Discovered that MIT is not impossible and that people in this horrid society stress way too much</li>
<li>Ahhh problem sets! What ever shall I do&#8253&#8253&#8253 (those are <a href="http://en.wikipedia.org/wiki/Interrobang">interrobangs</a> for those less cultured than I).</li>
<li>Learned to love the amazing efficiency achieved by referring to everything with numbers. I need only say, &#8220;I&#8217;m off to 18.02 in 10-250&#8243;, and everyone will know exactly what I mean and will wish me luck in getting a seat close to the front of the giant lecture hall such that I might get a good view of <a href="http://www-math.mit.edu/~auroux/">Prof. Auroux</a>&#8217;s dreamy eyes.</li>
<li>Finals&#8230; &lt;/pass no record&gt; </li>
<li>Came back for <a href="http://mit.edu/iap/">IAP</a> and competed in the <a href="http://web.mit.edu/6.270/www/">6.270 competition</a> (autonomous lego robots). I had tons of fun and pulled my first work all nighter. We got like 5th place or something. Check out our super cute robot: <a href="http://web.mit.edu/adaml/www/6.270/">http://web.mit.edu/adaml/www/6.270/</a></li>
<li>Second semester: 18.03 (diff eq), 8.02 (e&#038;m), 6.01 (awesome but extremely vague &#8220;Intro to Computer Science and Electrical Engineering&#8221;), STS.003 (rise oF MOdern SCIENCE!!). Hard, but pretty awesome</li>
<li> Declared Course 6-1.  I&#8217;m a CS major. hurrays!</li>
<li>Approaching finals&#8230;.. disliking all those people who stress out too much, getting stressed out and thusly hating myself.</li>
<li>Summer!!! (for 2 weeks). Relaxed, hung out, and started and finished People 2.0.</li>
<li>My life officially begins; I start twittering. Please follow me. It will make me feel super cool and important. <a href="http://www.twitter.com/adamleonard">http://www.twitter.com/adamleonard</a>.</li>
</ul>
<p>Then, I started my internship at Apple. It&#8217;s been incredibly awesome and fun. Sorry, I can&#8217;t say anything about it, but I&#8217;m working on some really cool stuff. It super sucksies that I have to wait like 3 more years before I can start working at Apple (or somewhere as awesome as Apple) full time.</p>
<p>But yes, what inspired me to write today was to announce that finally(!) <a href="http://www.caffeinatedcocoa.com/people">People 2.0</a> is available on the app store. It&#8217;s got some cool new stuff and is compatible with iPhone OS 3.0, so try it out!</p>
<p>I apologize for ignoring my other apps (<a href="http://www.caffeinatedcocoa.com/photobook">PhotoBook</a> and <a href="http://www.caffeinatedcocoa.com/googleimporter">Google Importer</a>). I really do still love them dearly, but understand that I work on these apps in my spare time, for free, just for fun, when I have a cool idea or something. Since said time is quite valuable, I find myself not working on them for months, or even decades (well, not decades).</p>
<p>And to all youz developerz out therez. Photobook is open source, so if you want to add a feature or fix a bug, please do so!</p>
<p>A super special, completely rewritten and ambitious, vaporware edition of Google Importer is also fairly far along, but I really have no idea when I will conjure up enough interest and time to finish it&#8230; I greatly apologize to those who have been persistently asking for it. Again, if there are any developers out there who want to work on it, just <a href="mailto:support@caffeinatedcocoa.com">shoot me an email</a>.</p>
<p>And finally, I will leave you with a detailed outline of my ambitious goals for the rest of my life:</p>
<ul>
<li>Purchase 17&#8243; Unibody MacBook Pro with employee discount</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=26</wfw:commentRss>
		</item>
		<item>
		<title>PhotoBook Has Gone Open Source!</title>
		<link>http://caffeinatedcocoa.com/blog/?p=24</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=24#comments</comments>
		<pubDate>Sun, 27 Jul 2008 20:58:14 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[PhotoBook]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=24</guid>
		<description><![CDATA[I have an exciting announcement today.
I am releasing the source code for PhotoBook.
As you may know, PhotoBook is a Facebook photo browser for Mac.
All code is being released under the MIT license (guess why  ). Unlike the GPL, this license allows for a lot of flexibility with what can be done with the code.
Visit [...]]]></description>
			<content:encoded><![CDATA[<p>I have an exciting announcement today.</p>
<p>I am releasing the source code for <a href="http://www.caffeinatedcocoa.com/photobook/">PhotoBook</a>.<br />
As you may know, PhotoBook is a Facebook photo browser for Mac.</p>
<p>All code is being released under the <a href="http://en.wikipedia.org/wiki/MIT_License">MIT license</a> (guess why <img src='http://caffeinatedcocoa.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). Unlike the GPL, this license allows for a lot of flexibility with what can be done with the code.</p>
<p><b>Visit the <a href="http://code.google.com/p/photobookformac/">Google Code project page</a> for more details and to download the source.</b></p>
<p>I have two main goals in doing this:</p>
<ul>
<li>First, PhotoBook is freeware and I don&#8217;t have a particularly strong reason as to why I should hold onto the source. By releasing it into the wild, I hope other Cocoa developers will find some use for it in their own projects. The license allows pieces of code to be used in other applications (free or for profit) with few restrictions. It is a small thank you for all the other open source code I use and love.</li>
<li>Second, I hope this will help foster faster development. There has not been a new release in nearly seven months due to school and other projects. I know the time I will be able to spend working on PhotoBook will decrease even more next year. So, by making it a community based project, others will be able to help fix bugs, add new features, etc. I have already been in contact with one developer working on an amazing, revolutionary feature that you have never seen before in a photo application.</li>
</ul>
<p>If you are interested in joining the project, <a href="http://code.google.com/p/photobookformac/">checkout the code</a>. Post patches on the Google Code page, or send me an email (adam [at] [this domain].com), and I&#8217;ll add you as a developer so you can make commits.</p>
<p>I should note that I did not originally plan to release the source to PhotoBook, so it is not as commented and such as I would like, and some features are implemented in special (read:lazy) ways. I will work on this soon.</p>
<p>The code currently in the repository is basically the 1.1 source with a few bug fixes.</p>
<p>If the project takes hold, it should be really exciting. I welcome any feedback.</p>
<p>Also, look for some more open source announcements in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=24</wfw:commentRss>
		</item>
		<item>
		<title>What A Deadline Looks Like</title>
		<link>http://caffeinatedcocoa.com/blog/?p=21</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=21#comments</comments>
		<pubDate>Fri, 04 Jul 2008 19:49:39 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=21</guid>
		<description><![CDATA[I love this idea.
The result of one week of work:

(Click to enlarge)

That&#8217;s my brand new MacBook Pro  
Yes, there is a Mathematics and Sex book on my desk. It was a gift, ok?
There is a screenshot of my project in there. See if you can find it!

]]></description>
			<content:encoded><![CDATA[<p>I love <a href="http://outerlevel.com/blog/2008/07/04/what-does-a-deadline-look-like/">this</a> <a href="http://www.cimgf.com/2008/07/04/where-has-cimgf-gone/">idea</a>.</p>
<p>The result of one week of work:<br />
<a href='http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/07/img_0751.jpg'><img src="http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/07/img_0751-300x225.jpg" alt="" title="img_0751" width="300" height="225" class="alignnone size-medium wp-image-22" / style="display:block"></a><br />
(Click to enlarge)</p>
<ul>
<li>That&#8217;s my brand new MacBook Pro <img src='http://caffeinatedcocoa.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Yes, there is a <a href="http://www.amazon.com/Mathematics-Sex-Clio-Cresswell/dp/1741141591">Mathematics and Sex</a> book on my desk. It was a gift, ok?</li>
<li>There is a screenshot of my project in there. See if you can find it!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=21</wfw:commentRss>
		</item>
		<item>
		<title>Antisocial Sudoku Fun</title>
		<link>http://caffeinatedcocoa.com/blog/?p=20</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=20#comments</comments>
		<pubDate>Sat, 24 May 2008 08:00:10 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[randomness]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=20</guid>
		<description><![CDATA[Hurray, I&#8217;m not dead!
Yes, that&#8217;s right. Despite an impossibly long period of total invisibility on the interwebz, I am still here.
Basically, I have been busy with school, and all my programming stuff has been pushed down to a pretty low priority.
(By the way, free iPhones, computers, etc., might very well prevent this from happening again [...]]]></description>
			<content:encoded><![CDATA[<p>Hurray, I&#8217;m not dead!<br />
Yes, that&#8217;s right. Despite an impossibly long period of total invisibility on the interwebz, I am still here.<br />
Basically, I have been busy with school, and all my programming stuff has been pushed down to a pretty low priority.<br />
(By the way, free iPhones, computers, etc., might very well prevent this from happening again :)).</p>
<p>So, you might have noticed that I chose a new theme for this blog. It is called <a href="http://themes.wordpress.net/columns/2-columns/1779/abstractia-10/">Abstracta</a>, and was designed by <a href="http://robgoodlatte.com/">Rob Goodlatte</a>. I love it. Very pretty and clean.</p>
<p>Ok, so update time:</p>
<ul>
<li style="padding-top:5px">I am officially a member of the <a href="http://www.mit.edu">MIT</a> class of 2012! I&#8217;ll be off to Boston in the fall to meet lots of people smarter than me as I learn that I <a href="http://en.wikipedia.org/wiki/MIT_hack#IHTFP">HTFP</a></li>
<li style="padding-top:5px">Almost as exciting, I have not gotten anything done on <a href="http://caffeinatedcocoa.com/blog/?p=14">Web Importer</a> or <a href="http://www.caffeinatedcocoa.com/photobook/">PhotoBook</a>. You&#8217;ll see so many updates this summer, I swear! I have like totally nothing to do until the end of August.</li>
<li style="padding-top:5px">But I have done a little work on <a href="http://www.adiumx.com/">Adium</a>. Look for live contact list searching in the next release (1.3)</li>
</ul>
<p>And now&#8230; story time!</p>
<p>So, a couple of weeks ago, I finished all my AP tests (which, if you don&#8217;t know, are classes+tests high school students take in particular subject areas that are supposed to be &#8220;college level.&#8221; I took AP English Lit, AP Calculus BC, and AP Physics C). After those tests, we have very little work left to do for the last 5ish weeks of school, so my physics teacher gave us a Sudoku (probably to keep us quiet). I have never done a Sudoku before, and needless to say, I could not get the 5 star one she gave us. Frustrated, I sort of forgot about it.</p>
<p>Then, last weekend was Prom. All the girls, and I suppose some of the guys, felt the need to go through the predictable ritual of spending hundreds on hair and plastering themselves in makeup. I was quite bored, and instead of doing something normal like going outside or seeing a movie or something, I decided to revisit that Sudoku. Now, instead of doing something a typical antisocial sudoku player would do, like spending another hour trying to solve it, or something a self-conscious antisocial sudoku player would do, like going online and cheating to find the solution, I decided to be a self-conscious, antisocial, <b>geeky</b> sudoku player and write my own Sudoku solver.</p>
<p>Luckily, I had recently seen <a href="http://xkcd.com/422/">this xkcd comic</a>, so I felt a bit better about myself.</p>
<p>And just before I left for fun pictures and such, I had a working Cocoa sudoku solver that solved the puzzle in about a quarter of a second.</p>
<p>I added some finishing touches this week, so I thought I might as well put it up here and release the code.</p>
<p>Don&#8217;t expect anything amazing or original. This just uses what is basically a brute force algorithm to solve the puzzle. And, even that algorithm is written very poorly and is quite ugly. If you are looking for a useful Sudoku solver, just search Google. There are tons of really good human logic sudoku solvers available.</p>
<p>But mine, of course, is better.</p>
<p><img src='http://www.caffeinatedcocoa.com/sudoku/sudokuScreenshot.png' alt='' style="display:block;margin-right:100%;" /></p>
<p>If you are learning Cocoa, this project demonstrates these topics:</p>
<ul>
<li>Interface Builder and standard controls</li>
<li>Using an NSMatrix to lay out a grid of NSCells (81 Sudoku boxes)</li>
<li>Using NSNumberFormatters (to ensure that only the integers 1-9 can be entered into a box)</li>
<li>Basic threading with NSThread (the solving algorithm runs in the background in its own thread)</li>
</ul>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="margin:0;padding:0;">
<a href="http://www.caffeinatedcocoa.com/sudoku/Sudoku.zip"><img src="http://www.caffeinatedcocoa.com/photobook/images/Down.png"></a>
</td>
<td style="margin:0;padding:0;">
<a href="http://www.caffeinatedcocoa.com/sudoku/Sudoku.zip"><span style="font-size:14px"><b>Download the pre-built application</b></span></a>
</td>
</tr>
<tr>
<td style="margin:0;padding:0;">
<a href="http://www.caffeinatedcocoa.com/sudoku/SudokuSource.zip"><img src="http://www.caffeinatedcocoa.com/photobook/images/Down.png"></a>
</td>
<td style="margin:0;padding:0;">
<a href="http://www.caffeinatedcocoa.com/sudoku/SudokuSource.zip"><span style="font-size:14px"><b>Download the Source Code </b></a><a href="http://en.wikipedia.org/wiki/BSD_License">(BSD License)</a></span>
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=20</wfw:commentRss>
		</item>
		<item>
		<title>iPhone sweetness and Web Importer not-so-sweetness</title>
		<link>http://caffeinatedcocoa.com/blog/?p=18</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=18#comments</comments>
		<pubDate>Sat, 15 Mar 2008 22:06:29 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=18</guid>
		<description><![CDATA[So, first about this supposed I-Phonographer SDK thing.
Ahhh, it is so cool! I was able to get it working on my non-intel iMac thanks to this. I haven&#8217;t looked at it that much, but from what I have seen and tried, it looks really amazing. I am thinking I want to make an iPhone app [...]]]></description>
			<content:encoded><![CDATA[<p>So, first about this supposed <a href="http://www.apple.com/iphone">I-Phonographer</a> <a href="http://developer.apple.com/iphone/program/">SDK thing.</a></p>
<p>Ahhh, it is so cool! I was able to get it working on my non-intel iMac thanks to <a href="http://3by9.com/85/">this</a>. I haven&#8217;t looked at it that much, but from what I have seen and tried, it looks really amazing. I am thinking I want to make an iPhone app this summer. It might be a <a href="http://www.caffeinatedcocoa.com/photobook">PhotoBook Touch</a> that behaves just like the default Photos application. It would also have upload support, so you can snap a photo with the iPhone camera, and upload it instantly to Facebook.</p>
<p>It might also be something totally different. If you have any cool ideas for an application you want to see on the iPhone, let me know, and I might just make it.</p>
<p>Web Importer is coming along, just not as quickly as I would have liked. I have found very little time recently to work on it. I am also going to Eastern Europe for a couple weeks, which should be really fun, but will delay it even longer. So, hold tight.</p>
<p>I have gotten more than enough people who have asked to beta test it. I really appreciate all the support.</p>
<p>Since <a href="http://caffeinatedcocoa.com/blog/?p=14">my last post</a>, I have written an early version of the Facebook Friend plugin, and I have  added plugin preferences (<a href='http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/03/pluginpreferencesscreenshot.png' title='Plugin Preferences Screenshot'>See a screenshot</a>). </p>
<p>Also, I can confirm that &#8220;Web Importer&#8221; will not be the final name. Some other better and more creative names are coming down the pipeline :).</p>
<p>However, there are still just too many little things left to fix, so I don&#8217;t feel comfortable releasing a beta yet. Sorry, but I promise it will be worth it.</p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=18</wfw:commentRss>
		</item>
		<item>
		<title>Web Importer Teaser</title>
		<link>http://caffeinatedcocoa.com/blog/?p=14</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=14#comments</comments>
		<pubDate>Mon, 11 Feb 2008 02:31:18 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Google Importer]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=14</guid>
		<description><![CDATA[The next generation (to be dramatic) of Google Importer is coming along nicely.
Right now, it is code named Web Importer. Whether or not that becomes the final name is dependent solely on if some sudden stroke of creativity hits me (or if anyone else has suggestions, in the spirit of its future fate of being [...]]]></description>
			<content:encoded><![CDATA[<p>The next generation (to be dramatic) of Google Importer is coming along nicely.<br />
Right now, it is code named Web Importer. Whether or not that becomes the final name is dependent solely on if some sudden stroke of creativity hits me (or if anyone else has suggestions, in the spirit of its future fate of being open source).</p>
<p>So, here&#8217;s what is done:</p>
<ul>
<li>The backend (minus a few bugs)- Spotlight menu and Finder searches work, the plugin system is ready, results are saved to disk, Spotlight finds them and imports the metadata, etc.</li>
<li>The Yahoo! Web Search Plugin</li>
<li>The Quick Look Generator- you can use Cover Flow to see thumbnails of all the results, including the logo for the service, the title, and a description. Hit space and you get all the detailed information about the result. Then, double click on the file and it opens instantly in your web browser.</li>
</ul>
<p>And here is what is left:</p>
<ul>
<li>Preferences. I have only worked on the basics, but all plugins will be fully customizable and extendable.</li>
<li>Plugins. Aside from the Yahoo web search plugin, I am planning on shipping it with at least Yahoo image search and Facebook friend plugins
<li>All the polish and little details&#8230;</li>
</ul>
<p>So, I am hoping to have a near feature complete beta available soon. Like really soon. Probably. <img src='http://caffeinatedcocoa.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
If you are interested in being among the first to try it out, just send me an email (support [at] caffeinatedcocoa [.dot]  com)</p>
<p>And what would a teaser post be without some screenshots? (Click for full size)<br />
<br />
<a href="http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/02/webimporterteaserspotlight.png" title='Web Importer Teaser- Spotlight Menu'><img src='http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/02/webimporterteaserspotlight.thumbnail.png' alt='Web Importer Teaser- Spotlight Menu' /></a></p>
<p><a href="http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/02/webimporterteaserfinder.png" title='Web Importer Teaser- Finder Search'><img src='http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/02/webimporterteaserfinder.thumbnail.png' alt='Web Importer Teaser- Finder Search' /></a></p>
<p><a href="http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/02/webimporterteaserquicklook.png" title='Web Importer Teaser- Quick Look'><img src='http://caffeinatedcocoa.com/blog/wp-content/uploads/2008/02/webimporterteaserquicklook.thumbnail.png' alt='Web Importer Teaser- Quick Look' /></a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=14</wfw:commentRss>
		</item>
		<item>
		<title>BREAKING: Caffeinated Cocoa Endorses Barack Obama</title>
		<link>http://caffeinatedcocoa.com/blog/?p=13</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=13#comments</comments>
		<pubDate>Tue, 05 Feb 2008 01:46:11 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[randomness]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=13</guid>
		<description><![CDATA[After Daniel Jalkut&#8217;s endorsement of Barack Obama and its appearance on the front page of the New York Times, I thought I would follow up with my own opinion. On behalf of everyone at Caffeinated Cocoa (i.e., me) I strongly believe Barack Obama is the best candidate for president.
Obama can bring about real change in [...]]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://www.red-sweater.com/blog/461/red-sweater-endorses-barack-obama">Daniel Jalkut&#8217;s endorsement of Barack Obama</a> and its <a href="javascript:alert('Did you actually think I was serious?')">appearance on the front page of the New York Times</a>, I thought I would follow up with my own opinion. On behalf of everyone at Caffeinated Cocoa (i.e., me) I strongly believe <a href="http://www.barackobama.com">Barack Obama</a> is the best candidate for president.</p>
<p>Obama can bring about real change in this country. He is not talking only about policy change (which I&#8217;m sure Hillary could do quite well). He will also change how politics works in Washington. No other candidate has, in recent memory, talked about change like he does.</p>
<p>Even Steve Jobs secretly supports Obama. Seriously, he decided to hide clues all around Apple products. For example, try typing this into Terminal:</p>
<p><code>echo -e '\0126\0117\0124\0105\n\0117\0102\0101\0115\0101'</code></p>
<p>(the numbers correspond to the serial of the yet unreleased Apple Tablet I am typing/tapping this on.)</p>
<p>I guess every bit helps&#8230;.</p>
<p>I&#8217;ll be waiting for a call from Obama inviting me to travel on the campaign trail with him and Kennedy&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=13</wfw:commentRss>
		</item>
		<item>
		<title>Accessibility for The Rest Of Us</title>
		<link>http://caffeinatedcocoa.com/blog/?p=12</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=12#comments</comments>
		<pubDate>Sun, 27 Jan 2008 06:41:06 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=12</guid>
		<description><![CDATA[So, in addition to giving you an update on Google Importer, it is about time for  another Cocoa post.
Google(Web) Importer for Leopard makes extensive use of the Accessibility API. This may seem a bit weird. Most people would think it would be for things like screen readers and speech recognition, but it can be [...]]]></description>
			<content:encoded><![CDATA[<p>So, in addition to giving you an <a href="http://caffeinatedcocoa.com/blog/?p=11"><b>update on Google Importer</b></a>, it is about time for  another Cocoa post.</p>
<p>Google(Web) Importer for Leopard makes extensive use of the <a href="http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXIntro/chapter_1_section_1.html">Accessibility API</a>. This may seem a bit weird. Most people would think it would be for things like screen readers and speech recognition, but it can be used for a lot more. For example, the <a href="http://www.apple.com/macosx/features/300.html#automator">Watch Me Do</a> feature in Automator that lets you record and replay every action you do in an application uses the Accessibility API. Google(Web) Importer will use it to get the search terms from Spotlight and the Finder.</p>
<p>The Accessibility API is great for getting the state of the GUI, such as the location of the mouse, the text typed into a field, or the button a user clicks.  It is also great for controlling the GUI, like actually clicking a button or entering text. So, it can really be used in a lot of applications.</p>
<p>(By the way, the front end to the Accessibility API in Applescript is called UI Scripting. Same idea.) </p>
<p>Also, unlike <a href="http://www.cocoadev.com/index.pl?InputManager">Input Managers</a> (which Google Importer for Tiger used), using the Accessibility API: </p>
<ul>
<li>Is fully supported and documented</li>
<li>Works with practically every application (not just Cocoa apps) </li>
<li>Should not break between releases, if coded carefully</li>
</ul>
<p>Now, I don&#8217;t think it is necessary to write about how to use the API. It is a C API, but just <a href="http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXIntro/chapter_1_section_1.html">read the documentation</a> and <a href="http://developer.apple.com/samplecode/UIElementInspector/">look at this sample code that demonstrates just about everything.</a></p>
<p>Instead, I will focus on something else that probably will be purely for the benefit of the mighty search engines&#8230;</p>
<p>Aside from being really useful, the Accessibility API is also really powerful and therefore subject to abuse. For example, one could very easily write a <a href="http://en.wikipedia.org/wiki/Keylogger">keylogger</a> with it. That is probably why Apple decided to <b>disable it by default</b>. To enable it, the user has to open System Prefrences, click on Universal Access, and check the box labeled &#8220;Enable access for assistive devices.&#8221; Now, there are a couple problems with that approach:</p>
<ul>
<li>It enables access system wide (or user wide, I&#8217;m not sure). That means that any application can use it if that little box is checked. In the keylogger example, if the user checked that box to let Automator use it legitimately, the keylogger can also use it without any sort of notification to the user.
<li>It is annoying. A user should not be asked to change their preferences just to run your application.
</ul>
<p>So, Apple came up with another solution in Tiger that solves these problems: the magic function <a href="http://developer.apple.com/documentation/Accessibility/Reference/AccessibilityLowlevel/AXUIElement/index.html">AXMakeProcessTrusted</a>. That will enable the API just for your application and needs to be called from a process running as root, so it is secure. It is also all automatic, so aside from asking the user for his/her password, there is nothing the user needs to do.<br />
The problem is that it seems <i>no one uses it</i>. Every third party application I have seen and even Automator just asks the user to manually check the box in System Preferences. It is more work to implement and has one huge undocumented bug (the application must be relaunched before it is actually trusted <b>Update: </b>reported as <a href="rdar://problem/5711990">#5711990</a>), but I really think people should be using it. So, I thought I would release the code to make it easy to implement it in your app. It includes a helper agent that you should be able to just drop into your project.</p>
<p><span style="font-size:18px; margin-top:15px"><a href="http://www.caffeinatedcocoa.com/TrustMe.zip">Download TrustMe</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=12</wfw:commentRss>
		</item>
		<item>
		<title>Google Importer. Is it vaperware? Find out at 11.</title>
		<link>http://caffeinatedcocoa.com/blog/?p=11</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=11#comments</comments>
		<pubDate>Sun, 27 Jan 2008 06:34:59 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Google Importer]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=11</guid>
		<description><![CDATA[Yeah, so about this Google Importer for Leopard business.
I am done with college apps and I am now officially a second semester senior! Theoretically, that means more time for programming.
I have started working on it, and it seems to be progressing nicely. Once it is done, I plan to make it completely open source and [...]]]></description>
			<content:encoded><![CDATA[<p>Yeah, so about this <a href="http://www.caffeinatedcocoa.com/googleImporter/index.html">Google Importer</a> for Leopard business.</p>
<p>I am done with college apps and I am now officially a second semester senior! Theoretically, that means more time for programming.<br />
I have started working on it, and it seems to be progressing nicely. Once it is done, I plan to make it completely open source and hopefully have a plugin architecture so developers can make it search information from any website. I am also planning on dropping Google and switching to Yahoo, since they have a much more powerful API (that also means Google Importer will be renamed to something like Web Importer). </p>
<p>So, unfortunately I still cannot tell you when it will be done. I would really appreciate it if people would let me know if they like the path I am taking. If there is a lot of interest for just getting something out, I would be willing to rush a release that has none of these new features, but works on Leopard. Send pleas and candy-flavored bribes to support [at] caffeinatedcocoa[dot]com, or post a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=11</wfw:commentRss>
		</item>
		<item>
		<title>Hurrays For Winter Break!</title>
		<link>http://caffeinatedcocoa.com/blog/?p=10</link>
		<comments>http://caffeinatedcocoa.com/blog/?p=10#comments</comments>
		<pubDate>Sat, 05 Jan 2008 03:57:40 +0000</pubDate>
		<dc:creator>Adam Leonard</dc:creator>
		
		<category><![CDATA[Google Importer]]></category>

		<category><![CDATA[PhotoBook]]></category>

		<category><![CDATA[randomness]]></category>

		<guid isPermaLink="false">http://caffeinatedcocoa.com/blog/?p=10</guid>
		<description><![CDATA[So, I released PhotoBook 1.1 today. 
That&#8217;s right, I finally got some time away from school, college apps, and friends (ha) to code! This release has a few major new features, a bunch of little changes of additions, and a whole lot of bug fixes. Most notably, you can now open almost any Facebook photo or album URL [...]]]></description>
			<content:encoded><![CDATA[<p>So, I released <a href="http://www.caffeinatedcocoa.com/photobook">PhotoBook</a> 1.1 today. 
<p>That&#8217;s right, I finally got some time away from school, college apps, and friends (ha) to code! This release has a few major new features, a bunch of little changes of additions, and a whole lot of bug fixes. Most notably, you can now open almost any Facebook photo or album URL in PhotoBook, and I redesigned the photo viewing window to add easier to use slideshow controls. 
<p>The vast majority of changes in this release were based on suggestions from users like you. So, keep sending me your ideas to support  at caffeinatedcocoa dot com. 
<p>I know a lot of people have been asking about Google Importer for Leopard. I have started working on it, but unfortunately it requires a complete rewrite and Apple didn&#8217;t add in a nice API to make it easy. You should be learning more about the project soon. 
<p>By the way, I got an iPod Touch and it is incredible. I can&#8217;t wait until February when Apple opens it up to developers. I&#8217;m hoping that means <i>all</i> developers, including starving (pre-)college students.  If so, I think PhotoBook Mobile or whatever would be really cool. Let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://caffeinatedcocoa.com/blog/?feed=rss2&amp;p=10</wfw:commentRss>
		</item>
	</channel>
</rss>
