<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>mitcho.com » mitcho &gt; </title>
	
	<link>http://mitcho.com</link>
	<description />
	<lastBuildDate>Tue, 31 Aug 2010 23:03:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mitcho" /><feedburner:info uri="mitcho" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>mitcho</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Voicemail from Jesse</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/20vpmVKmPWc/</link>
		<comments>http://mitcho.com/blog/observation/voicemail-from-jesse/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 05:11:24 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[observation]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[Google voice]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[transcription]]></category>

		<guid isPermaLink="false">http://mitcho.com/?p=3822</guid>
		<description><![CDATA[My friend Jesse left me a voicemail on my Google voice number. Here&#8217;s a demo of the fantastic transcription feature. Voicemail from Jesse from mitcho on Vimeo.


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/foxkeh-demos-ubiquity-parser-the-next-generation/' rel='bookmark' title='Permanent Link: Foxkeh demos Ubiquity Parser: The Next Generation'>Foxkeh demos Ubiquity Parser: The Next Generation</a></li>
<li><a href='http://mitcho.com/blog/projects/changes-to-ubiquity-parser-2-and-the-playpen/' rel='bookmark' title='Permanent Link: Changes to Ubiquity Parser 2 and the Playpen'>Changes to Ubiquity Parser 2 and the Playpen</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>My friend <a href="http://20bits.com">Jesse</a> left me a voicemail on my Google voice number. Here&#8217;s a demo of the fantastic transcription feature.</p>

<p><object width="649" height="243"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13051068&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=13051068&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="649" height="243"></embed></object></p>

<p><a href="http://vimeo.com/13051068">Voicemail from Jesse</a> from <a href="http://vimeo.com/mitchoyoshitaka">mitcho</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/20vpmVKmPWc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/observation/voicemail-from-jesse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/observation/voicemail-from-jesse/</feedburner:origLink></item>
		<item>
		<title>Every website has a purpose</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/pnbGj8WrJ5s/</link>
		<comments>http://mitcho.com/blog/projects/every-website-has-a-purpose/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 02:16:13 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[A/B testing]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[ShrimpTest]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://mitcho.com/?p=3714</guid>
		<description><![CDATA[Every website has a purpose. Maybe you want people to buy a product, donate to your cause, download your app, or subscribe to your mailing list. How can you confidently modify your site to make it more effective with respect to this goal? A/B testing is a process by which multiple variants of a website [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/markdown-for-wordpress-and-bbpress/' rel='bookmark' title='Permanent Link: Markdown for WordPress and bbPress'>Markdown for WordPress and bbPress</a></li>
<li><a href='http://mitcho.com/blog/projects/after-the-deadline-for-firefox/' rel='bookmark' title='Permanent Link: After the Deadline for Firefox'>After the Deadline for Firefox</a></li>
<li><a href='http://mitcho.com/blog/how-to/updating-your-zenphoto-theme-for-zenphoto-11/' rel='bookmark' title='Permanent Link: Updating your zenphoto theme for zenphoto 1.1'>Updating your zenphoto theme for zenphoto 1.1</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Every website has a purpose. Maybe you want people to buy a product, donate to your cause, download your app, or subscribe to your mailing list. How can you confidently modify your site to make it more effective with respect to this goal?</p>

<p><strong>A/B testing</strong> is a process by which multiple variants of a website are presented to different users randomly and statistical tools are used to see whether any variant is more <em>effective</em>, according to an overall goal metric such as conversions or revenue.</p>

<p>While various A/B testing products—many free—exist, none are made from the ground up to work within the WordPress ecosystem. I believe a solution made particularly for WordPress could make A/B testing so much easier and more straightforward, and that such a solution could be greatly beneficial to the platform as a whole.</p>

<p>I&#8217;m happy to announce my new project, code-named <strong>ShrimpTest</strong>,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> which is directly aimed at filling this void. I&#8217;ll be working on this project this summer together with the fantastic folks at <a href="http://automattic.com">Automattic</a>.</p>

<p>The best way to keep up with development is on the project&#8217;s development blog, <a href="http://shrimptest.wordpress.com/">the ShrimpTest P2</a>. Most updates will most likely be much shorter than this initial post. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  You can get less frequent, milestone-like updates by <a href="http://twitter.com/shrimptest">following ShrimpTest on twitter</a>. Development will be <a href="http://plugins.svn.wordpress.org/shrimptest/">open</a> so feel free to check it out (haha) and submit patches as well. As I go along, I&#8217;ll also look forward to your feedback.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Five dollars to the first person to correctly guess why I&#8217;m calling it ShrimpTest.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/pnbGj8WrJ5s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/every-website-has-a-purpose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/every-website-has-a-purpose/</feedburner:origLink></item>
		<item>
		<title>Better Linguist List RSS Feeds</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/kGA34DgzdnI/</link>
		<comments>http://mitcho.com/blog/projects/better-linguist-list-rss-feeds/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 23:18:14 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[annoyances]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Linguist List]]></category>
		<category><![CDATA[linguistics]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3555</guid>
		<description><![CDATA[Everyone I know in linguistics uses the LINGUIST List website to a greater or lesser degree. Linguist List began as a mailing list in the 90&#8217;s, with book, job, and dissertation announcements, call-for-papers, and general academic discussions. Nowadays many people follow the various announcements on Linguist List using an RSS feed reader such as Google [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/automating-the-linguists-job/' rel='bookmark' title='Permanent Link: Automating the Linguist&#8217;s Job'>Automating the Linguist&#8217;s Job</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://mitcho.com/blog/wp-content/uploads/2010/04/linguistlist.png"><img src="http://mitcho.com/blog/wp-content/uploads/2010/04/linguistlist.png" alt="" title="linguistlist" width="268" height="99" class="alignright size-full wp-image-3556" /></a></p>

<p>Everyone I know in linguistics uses the <a href="http://linguistlist.org/">LINGUIST List</a> website to a greater or lesser degree. Linguist List began as a mailing list in the 90&#8217;s, with book, job, and dissertation announcements, call-for-papers, and general academic discussions.</p>

<p>Nowadays many people follow the various announcements on Linguist List using an RSS feed reader such as <a href="http://google.com/reader">Google Reader</a> or my personal favorite <a href="http://netnewswireapp.com/">NetNewsWire</a>.</p>

<p>Unfortunately, the Linguist List RSS feeds (at least recently) don&#8217;t include the full text of the articles and have a few other quirks as well. It&#8217;s often hard to judge based on the title whether it&#8217;s really something I&#8217;m interested or not, so I&#8217;ve spent a lot of time frustratedly opening any possibly interesting-looking entry in a separate NetNewsWire tab. Today I decided enough was enough: I just wrote a script which parses each of the Linguist List RSS feeds, finds the actual descriptions and interleaves them.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> It&#8217;s working remarkably well so far:</p>

<p><span id="more-3555"></span></p>

<p><a rel='imagebox' href="http://mitcho.com/blog/wp-content/uploads/2010/04/Screen-shot-2010-04-26-at-6.41.07-PM.png"><img src="http://mitcho.com/blog/wp-content/uploads/2010/04/Screen-shot-2010-04-26-at-6.41.07-PM.png" alt="" title="Screen shot 2010-04-26 at 6.41.07 PM" width="650" height="365" class="alignright size-full wp-image-3557" /></a></p>

<p>Here are all the RSS links for all of you to subscribe to. I plan on keeping this up and maintained for the foreseeable future (or, until Linguist List improves their own RSS feeds!) so feel free to subscribe to it. Please do let me know if you run into any issues or have a suggestion. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<table>
<tr><td><a href="http://feeds.feedburner.com/LinguistListMostRecent" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Most recent issues</a></td><td><a href="http://feeds.feedburner.com/LinguistListMostRecent"><img src="http://feeds.feedburner.com/~fc/LinguistListMostRecent?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListAll" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> All (announcements)</a></td><td><a href="http://feeds.feedburner.com/LinguistListAll"><img src="http://feeds.feedburner.com/~fc/LinguistListAll?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListBooks" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Book announcements</a></td><td><a href="http://feeds.feedburner.com/LinguistListBooks"><img src="http://feeds.feedburner.com/~fc/LinguistListBooks?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListCalls" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Call for papers</a></td><td><a href="http://feeds.feedburner.com/LinguistListCalls"><img src="http://feeds.feedburner.com/~fc/LinguistListCalls?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListConfs" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Conference announcements</a></td><td><a href="http://feeds.feedburner.com/LinguistListConfs"><img src="http://feeds.feedburner.com/~fc/LinguistListConfs?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListDisc" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Discussions</a></td><td><a href="http://feeds.feedburner.com/LinguistListDisc"><img src="http://feeds.feedburner.com/~fc/LinguistListDisc?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListDiss" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Dissertation announcements</a></td><td><a href="http://feeds.feedburner.com/LinguistListDiss"><img src="http://feeds.feedburner.com/~fc/LinguistListDiss?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListFYI" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> FYI</a></td><td><a href="http://feeds.feedburner.com/LinguistListFYI"><img src="http://feeds.feedburner.com/~fc/LinguistListFYI?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListJobs" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Job announcements</a></td><td><a href="http://feeds.feedburner.com/LinguistListJobs"><img src="http://feeds.feedburner.com/~fc/LinguistListJobs?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListMedia" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Topics in the Media</a></td><td><a href="http://feeds.feedburner.com/LinguistListMedia"><img src="http://feeds.feedburner.com/~fc/LinguistListMedia?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListQs" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Queries</a></td><td><a href="http://feeds.feedburner.com/LinguistListQs"><img src="http://feeds.feedburner.com/~fc/LinguistListQs?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListReview" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Book reviews</a></td><td><a href="http://feeds.feedburner.com/LinguistListReview"><img src="http://feeds.feedburner.com/~fc/LinguistListReview?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListSoftware" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Software announcements</a></td><td><a href="http://feeds.feedburner.com/LinguistListSoftware"><img src="http://feeds.feedburner.com/~fc/LinguistListSoftware?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListSum" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Summaries of Query Responses</a></td><td><a href="http://feeds.feedburner.com/LinguistListSum"><img src="http://feeds.feedburner.com/~fc/LinguistListSum?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
<tr><td><a href="http://feeds.feedburner.com/LinguistListSupport" type="application/rss+xml"><img src='http://feedburner.google.com/fb/lib/images/icons/feed-icon-12x12-orange.gif'/> Support for Students</a></td><td><a href="http://feeds.feedburner.com/LinguistListSupport"><img src="http://feeds.feedburner.com/~fc/LinguistListSupport?bg=99CCFF&#038;fg=444444&#038;anim=0" height="26" width="88" style="border:0" alt="" /></a></td></tr>
</table>

<p>You can find descriptions of the content of each of these feeds <a href="http://linguistlist.org/issues/rss/topics.cfm">on Linguist List&#8217;s RSS feeds page</a>.</p>

<p><a href="http://www.feedburner.com" target="_blank"><img src="http://www.feedburner.com/fb/images/pub/i_heart_fb.gif" alt="Powered by FeedBurner" style="border:0"/></a><a href="http://scripts.mit.edu/">
<img alt="powered by scripts.mit.edu"
src="http://scripts.mit.edu/media/powered_by.gif" /></a></p>

<p>Perhaps in the future I&#8217;ll do a &#8220;how to&#8221; post as well with the code I use to make this happen. I&#8217;ll note that it&#8217;s just 70 lines of PHP (including whitespace) and could no doubt be tightened up. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Veteran Linguist List RSS subscribers will also note that I&#8217;m adding the full title to the entry title for the Conferences and Calls lists as well.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/kGA34DgzdnI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/better-linguist-list-rss-feeds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/better-linguist-list-rss-feeds/</feedburner:origLink></item>
		<item>
		<title>Beginning development with Jetpack SDK 0.2</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/hCdc9AUICVQ/</link>
		<comments>http://mitcho.com/blog/how-to/develop-with-jetpack-sdk-0-2/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:20:47 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[Jetpack SDK]]></category>
		<category><![CDATA[Mozilla Labs]]></category>
		<category><![CDATA[Mozilla Planet]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3504</guid>
		<description><![CDATA[This article is a translation of a recent article in Japanese by fellow Jetpack Ambassador Gomita which was published on the Mozilla Labs Jetpack blog. I&#8217;m cross-posting it here for posterity. Mozilla Labs recently released version 0.2 of the Jetpack SDK, which fixes some issues of the 0.1 release such as a glitch regarding development [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/jetpack-ambassadors-in-mv/' rel='bookmark' title='Permanent Link: Jetpack Ambassadors in MV'>Jetpack Ambassadors in MV</a></li>
<li><a href='http://mitcho.com/blog/projects/ubiquity-localization-update/' rel='bookmark' title='Permanent Link: Ubiquity Localization Update'>Ubiquity Localization Update</a></li>
<li><a href='http://mitcho.com/blog/projects/spring-is-for-speaking/' rel='bookmark' title='Permanent Link: Spring is for Speaking: JSConf, WordCamp SF, IACL'>Spring is for Speaking: JSConf, WordCamp SF, IACL</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><em>This article is a translation of a <a href="http://www.xuldev.org/blog/?p=513">recent article in Japanese</a> by fellow Jetpack Ambassador <a href="http://www.xuldev.org/blog/">Gomita</a> which was published <a href="http://mozillalabs.com/jetpack/2010/04/13/develop-with-jetpack-sdk-0-2/">on the Mozilla Labs Jetpack blog</a>. I&#8217;m cross-posting it here for posterity.
</em></p>

<p>Mozilla Labs recently released <a href="http://mozillalabs.com/jetpack/2010/03/26/announcing-jetpack-sdk-0-2/">version 0.2</a> of the Jetpack SDK, which fixes some issues of the 0.1 release such as a glitch regarding development with Windows. SDK 0.2 doesn&#8217;t include the planned APIs for rapid development of new browser functionality, but you can still play with SDK 0.2 to get a flavor for development with the Jetpack SDK.</p>

<p>In this article we begin by setting up an SDK 0.2 development environment and explain the steps required to develop a simple, practical add-on using SDK 0.2. The instructions here are for Windows, but the basic steps are the same in every platform.</p>

<p><span id="more-3504"></span></p>

<h3>Installing Python</h3>

<p>The first step to using the Jetpack SDK is to install Python. How to install Python depends on your OS, but in Windows you can choose the &#8220;Python 2.6.5 Windows installer&#8221; from the <a href="http://www.python.org/download/">Python</a> site and follow the installation wizard. Here, I&#8217;ll use <code>C:\Python26\</code> as the installation path.</p>

<p>After the install, you can activate the <code>python</code> command in your command line by adding <code>C:\Python26</code> to the Windows <code>Path</code> preference. (If there is already another value, delimit with a semicolon: &#8220;;&#8221;.) Run the command &#8220;cmd&#8221; from the Start menu to start the command prompt and run <code>python -V</code> to confirm the Python version, <code>Python 2.6.2</code>:
<pre>C:\&gt;python -V
Python 2.6.2
</pre>
Note, the <a href="https://jetpack.mozillalabs.com/sdk/0.2/docs/#guide/getting-started">Jetpack SDK Docs</a> state that Python 2.5+ is required, but there seem to be some incompatibilities with Python 3.0.1 at this time. In addition, in my experience the SDK worked fine without the &#8220;Python for Windows extensions.&#8221;</p>

<h3>Setting up the Jetpack SDK</h3>

<p>Next, we set up the Jetpack SDK. Download the Jetpack SDK 0.2 package from the <a href="https://jetpack.mozillalabs.com/">Jetpack site</a>, unzip it, and place it somewhere convenient. Here, I used <code>C:\jetpack-sdk-0.2</code>.</p>

<p>To use the Jetpack SDK, it must be &#8220;activated.&#8221; From the command prompt, go to the Jetpack SDK folder and run <code>bin\activate</code>:
<pre>C:\jetpack-sdk-0.2&gt;bin\activate
Welcome to the Jetpack SDK. Run 'cfx docs' for assistance.
(C:\jetpack-sdk-0.2) C:\jetpack-sdk-0.2&gt;
</pre>
Next, run <code>cfx docs</code> to open the SDK documentation in the browser. The SDK documentation starts a local server on port 8888.
<pre>(C:\jetpack-sdk-0.2) C:\jetpack-sdk-0.2&gt;cfx docs
One moment.
Opening web browser to http://127.0.0.1:8888.
</pre></p>

<h3>The package directory structure</h3>

<p>Addons built with the Jetpack SDK are called &#8220;packages.&#8221; Let&#8217;s try building a simple &#8220;hello world&#8221;-style package, but first let&#8217;s see what the final directory structure of this package will look like:</p>

<table style="height: 279px; margin: 0pt 0pt 10px 80px;" width="450">
<tbody>
<tr>
<th><span style="float: left;">directory/file</span></th>
<th><span style="float: left;">Note</span></th>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px;" src="http://www.xuldev.org/common/folder.png" alt="フォルダ" width="16" height="16" />jetpack-sdk-0.2</td>
<td>the Jetpack SDK folder</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:21px;" src="http://www.xuldev.org/common/folder.png" alt="フォルダ" width="16" height="16" />packages</td>
<td>the main packages folder</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:37px;" src="http://www.xuldev.org/common/folder.png" alt="フォルダ" width="16" height="16" />hello-world</td>
<td>package root</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:53px;" src="http://www.xuldev.org/common/file.png" alt="ファイル" width="16" height="16" />package.json</td>
<td>package manifest file</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:53px;" src="http://www.xuldev.org/common/file.png" alt="ファイル" width="16" height="16" />README.md</td>
<td>package documentation</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:53px;" src="http://www.xuldev.org/common/folder.png" alt="フォルダ" width="16" height="16" />lib</td>
<td>the package code directory</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:69px;" src="http://www.xuldev.org/common/file.png" alt="ファイル" width="16" height="16" />main.js</td>
<td>main program code</td>
</tr>
<tr>
<td><img style="float: left; margin: 4px 5px; margin-left:69px;" src="http://www.xuldev.org/common/file.png" alt="ファイル" width="16" height="16" />simple-dialog.js</td>
<td>a custom code library</td>
</tr>
</tbody>
</table>

<p>The package&#8217;s root directory is placed in the &#8220;packages&#8221; directory in the Jetpack SDK folder, and includes the <code>package.json</code> manifest file and the <code>README.md</code> documentation file. The <code>lib</code> folder includes the package&#8217;s main program code and any custom libraries used by our addon.</p>

<h3>Creating the package</h3>

<p>We begin by creating the <code>hello-world</code> directory in <code>C:\jetpack-sdk-0.2\packages</code> . Next the manifest file <code>package.json</code> is created. The manifest file includes metadata about our package in JSON format. If you&#8217;ve ever created a XUL-style addon before, you can think of this as similar to the <code>install.rdf</code> file. Here, I used the following as the manifest:
<pre>{
    "id": "helloworld@xuldev.org",
    "version": "0.1",
    "description": "This is my first package.",
    "author": "Gomita &lt;gomita@xuldev.org&gt;"
}
</pre>
The <code>id</code> property is used as a unique ID for all addons including Jetpack packages and is often formatted as an email address. This corresponds to XUL-based addons&#8217; <code>&amp;lt;em:id&amp;gt;</code> tag.</p>

<p>Next, reload the SDK documentation in the browser and confirm that &#8220;hello-world&#8221; shows up under &#8220;Package Reference.&#8221;</p>

<h3>Writing the main code</h3>

<p>The next step is to add some working code to the hello-world package. Create a <code>lib</code> folder under the package root and create a <code>main.js</code> under <code>lib</code> with the following code:
<pre>exports.main = function(options, callbacks) {
    console.log("Hello, World!");
};
</pre>
The main program code is always loaded as a module called <code>main</code>. This <code>main</code> property is made accessible from outside code using the <a href="http://commonjs.org/">CommonJS</a>-style code <code>exports.main = ...</code>. <code>console.log</code> is a global function made available by Jetpack and the SDK prints the string to the command prompt.</p>

<p>It&#8217;s worth noting that, in the current Jetpack SDK, calling &#8220;<code>console.log("こんにちは");</code>&#8221; doesn&#8217;t yield the expected Japanese output. In the future such output will be handled through the planned <a href="https://wiki.mozilla.org/Labs/Jetpack/Reboot/JEP/113">localization API</a>.</p>

<h3>Testing our package</h3>

<p>With some simple code in our <code>main</code> function, it&#8217;s time to try this code out. To test this code, we run <code>cfx run -a firefox</code> in the command prompt. By running <code>cfx run</code> with the <code>-a firefox</code> option, we load our package into a brand new Firefox profile and launch Firefox.
<pre>(C:\jetpack-sdk-0.2) C:\jetpack-sdk-0.2&gt;cd packages\hello-world</p>

<p>(C:\jetpack-sdk-0.2) C:\jetpack-sdk-0.2\packages\hello-world&gt;cfx run -a firefox
info: Hello, World!
OK
Total time: 1.531000 seconds
Program terminated unsuccessfully.
</pre>
After Firefox loads, confirm that the command prompt reads <code>info: Hello, World!</code> When you quit Firefox, the testing will end.</p>

<h3>Using a standard library</h3>

<p>Now we&#8217;ll edit our code to invoke the timer library which is one of the Jetpack SDK&#8217;s standard libraries. The timer library is a module which abstracts various timer-related functionality, similar to the DOM&#8217;s <code>window.setTimeout</code>, <code>window.clearTimeout</code>. Details on this library are available in the <a href="https://jetpack.mozillalabs.com/sdk/0.2/docs/#module/jetpack-core/timer">SDK documentation</a>. Moreover, although not in the documentation, <code>timer.setInterval</code> and <code>timer.clearInterval</code> also work in this version.</p>

<p>To use this library in our main program code, we first must invoke this library with the CommonJS require function. We modify the <code>main.js</code> file as follows:
<pre>var timer = require("timer");
exports.main = function(options, callbacks) {
    timer.setInterval(function() {
        console.log(new Date().toLocaleTimeString());
    }, 1000);
};
</pre>
After this change, run <code>cfx run -a firefox</code> in the command prompt to test it. Check to make sure that the current time is being printed to the command prompt once a second:
<pre>(C:\jetpack-sdk-0.2) C:\jetpack-sdk-0.2\packages\hello-world&gt;cfx run -a firefox
info: 10:37:21
info: 10:37:22
info: 10:37:23
info: 10:37:24
info: 10:37:25
</pre></p>

<h3>Creating a custom library</h3>

<p>Next we&#8217;ll create a custom library to add some functionality not currently included in the Jetpack standard library. Implementing advanced functionality in add-ons, like filesystem access, involves using <a href="https://developer.mozilla.org/en/XPCOM">XPCOM</a> components. Jetpack encourages seprarating the use of XPCOM components into separate modules which are then used by the main program code. The Jetpack SDK doesn&#8217;t currently disallow direct XPCOM access within Jetpack add-on code, but such a restriction is forthcoming. Modularizing XPCOM code into separate libraries now allow you to easily migrate to equivalent standard libraries in the future.</p>

<p>Let&#8217;s create a <code>simple-dialog</code> library to display a modal dialog much like <code>window.alert</code> does. The Jetpack code&#8217;s runtime environment doesn&#8217;t include access to the regular <code>window</code> or <code>document</code> objects, so just calling <code>window.alert</code> doesn&#8217;t work. To create an alert from this context, we use the <code>&lt;a href="https://developer.mozilla.org/en/nsIPromptService"&gt;nsIPromptService&lt;/a&gt;</code> XPCOM component. In our package&#8217;s <code>lib</code> folder, create a <code>simple-dialog.js</code> file. Just like our main program code, we implement this library as a CommonJS module using <code>exports.&lt;em&gt;methodname&lt;/em&gt; = function(...){...}</code>.</p>

<p>The simple-dialog library will have these two methods:</p>

<table style="margin: 0 0 10px 80px;">
<tbody>
<tr>
<th><span style="float: left;">Method</span></th>
<th><span style="float: left;">Note</span></th>
</tr>
<tr>
<td><code>alert(<em>text</em>)</code></td>
<td>Displays an alert dialog with the string in <em>text</em> and an OK button. Equivalent to the DOM&#8217;s <code>window.alert</code>.</td>
</tr>
<tr>
<td><code>confirmYesNo(<em>text</em>)</code></td>
<td>Displays a confirmation dialog with the string in <em>text</em> and Yes and No buttons. The method returns <code>true</code> if the user presses &#8220;yes&#8221; and <code>false</code> if &#8220;no.&#8221;</td>
</tr>
</tbody>
</table>

<p>Here is the code for <code>simple-dialog.js</code>:
<pre>var promptSvc = Cc["@mozilla.org/embedcomp/prompt-service;1"].
                getService(Ci.nsIPromptService);</p>

<p>exports.alert = function(text) {
    promptSvc.alert(null, "[Jetpack]", text);
};</p>

<p>exports.confirmYesNo = function(text) {
    var pos = promptSvc.confirmEx(
        null, "[Jetpack]", text, promptSvc.STD_YES_NO_BUTTONS,
        null, null, null, null, {}
    );
    return pos == 0;
};
</pre>
Lines 1-2 are for calling <code>nsIPromptService</code>. Note that <code>Cc</code>, <code>Ci</code> are aliases for <code>Components.classes</code> and <code>Components.interfaces</code>, respectively, and are made available by Jetpack as global variables. Lines 4-6 implement the alert method for showing alert dialogs using <code>nsIPromptService</code>&#8217;s <code>alert</code> method. Lines 8-14 implement <code>simple-dialog</code>&#8217;s <code>confirmYesNo</code> method using <code>nsIPromptService</code>&#8217;s <code>confirmEx</code> method to display the dialog with yes and no buttons. <code>nsIPromptservice</code>&#8217;s <code>confirmEx</code> method returns 0 if the user presses &#8220;yes&#8221; and 1 if &#8220;no&#8221;, so we modify this value and return it.</p>

<h3>Using our custom library</h3>

<p>Let&#8217;s call this new custom library from our main program code and verify that it works. Here&#8217;s our updated <code>main.js</code> file:
<pre>var simpleDialog = require("simple-dialog");</p>

<p>exports.main = function(options, callbacks) {
    var adult = simpleDialog.confirmYesNo("Are you over 18 years old?");
    if (adult) {
        simpleDialog.alert("Welcome!");
    }
    else {
        simpleDialog.alert("Good bye!");
    }
};
</pre>
Run <code>cfx run -a firefox</code> and confirm that a confirmation dialog, as seen below, is displayed. Pressing &#8220;yes&#8221; and &#8220;no&#8221; should give you the appropriate alert dialogs as well.</p>

<p><img src="///var/folders/Xr/XrC2E9n7FcWD7pxxv8puwE+++TI/-Tmp-/com.apple.mail.drag-T0x10051fce0.tmp.Ppt6Wu/confirmyesno-en.png" alt="" /></p>

<h3><img src="///Users/mitcho/Desktop/confirmyesno-en.png" alt="" /></h3>

<h3><a href="http://mozillalabs.com/jetpack/files/2010/04/confirmyesno-en.png"><img class="alignnone size-medium wp-image-269" title="confirmyesno-en" src="http://mozillalabs.com/jetpack/files/2010/04/confirmyesno-en-300x111.png" alt="" width="300" height="111" /></a></h3>

<h3>Implementing a network status observer</h3>

<p>Now let&#8217;s use this hello-world package as a foundation for a more practical add-on. Using the <code>&lt;a href="https://jetpack.mozillalabs.com/sdk/0.2/docs/#module/jetpack-core/observer-service"&gt;observer-service&lt;/a&gt;</code> module included with the Jetpack SDK, we can monitor Firefox&#8217;s online/offline network status changes.</p>

<p>Firefox internally broadcasts various application events to observers via the <code>&lt;a href="https://developer.mozilla.org/ja/NsIObserverService"&gt;nsIObserverService&lt;/a&gt;</code> XPCOM component. When Firefox goes offline, a <code>network:offline-status-changed</code> notification is broadcast. To subscribe this notification and act on it, we use the <code>observer-service</code> library&#8217;s <code>add</code> method. <code>add</code>&#8217;s first argument is the name of the notification we want to subscribe to and the second argument is a callback function. The callback function is given two arguments, of which the second is a string equal to either &#8220;online&#8221; or &#8220;offline.&#8221; In our add-on, we&#8217;ll check this value and display an appropriate alert using <code>simple-dialog</code>.
<pre>var simpleDialog = require("simple-dialog");
var observer = require("observer-service");</p>

<p>exports.main = function(options, callbacks) {
    observer.add("network:offline-status-changed", function(sbj, data) {
        if (data == "online") {
            simpleDialog.alert("Firefox is now online.");
        }
        else if (data == "offline") {
            simpleDialog.alert("Firefox is now offline.");
        }
    });
};
</pre>
Launch Firefox by running <code>cfx run -a firefox</code> and then choose &#8220;File&#8221; &gt; &#8220;Work Offline&#8221; and you should get a notification:</p>

<p><a href="http://mozillalabs.com/jetpack/files/2010/04/offline-en.png"><img class="alignnone size-medium wp-image-270" title="offline-en" src="http://mozillalabs.com/jetpack/files/2010/04/offline-en-300x225.png" alt="" width="300" height="225" /></a></p>

<h3>Adding documentation</h3>

<p>If you add documentation to a package, you can view it by clicking that package in the SDK Documentation. To add documentation, create a <code>README.md</code> file in the package root directory. <code>README.md</code> is written in Markdown format which looks like this:</p>

<p><pre>This is my *first* package.
* foo
* bar
* baz
</pre></p>

<p>Now if you load the SDK documentation using <code>cfx docs</code> and click on the &#8220;hello-world&#8221; link, you&#8217;ll see this documentation together with the package metadata.</p>

<h3>Exporting an install package</h3>

<p>Jetpack add-ons which are created in this way can then be exported into Firefox-standard XPI files. To export an XPI, go to the package&#8217;s root directory in the command prompt and run <code>cfx xpi</code>.
<pre>(C:\jetpack-sdk-0.2) C:\jetpack-sdk-0.2\packages\hello-world&gt;cfx xpi
Exporting extension to hello-world.xpi.
</pre>
This creates an XPI file called <code>hello-world.xpi</code>. Opening this file in any Firefox profile will let you install it using the regular add-on install mechanism.</p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/hCdc9AUICVQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/how-to/develop-with-jetpack-sdk-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/how-to/develop-with-jetpack-sdk-0-2/</feedburner:origLink></item>
		<item>
		<title>Spring is for Speaking: JSConf, WordCamp SF, IACL</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/sO_hfIjRG0o/</link>
		<comments>http://mitcho.com/blog/projects/spring-is-for-speaking/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 04:37:04 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[Boston]]></category>
		<category><![CDATA[Chinese language]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[harvard]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[linguistics]]></category>
		<category><![CDATA[Mandarin]]></category>
		<category><![CDATA[Mozilla Planet]]></category>
		<category><![CDATA[San Francisco]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[Washington D.C.]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Planet]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3448</guid>
		<description><![CDATA[I recently confirmed three different very exciting speaking gigs which I&#8217;ll be doing this spring: JSConf.us: I&#8217;ll be putting my Mozilla Jetpack Ambassador hat on to represent Mozilla Labs&#8217; Jetpack project at the premier Javascript conference in North America, JSConf.us, which this year will be April 17-18 in Washington D.C. and has a pirate theme.1 [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/life/wordcamp-boston-2010/' rel='bookmark' title='Permanent Link: WordCamp Boston 2010'>WordCamp Boston 2010</a></li>
<li><a href='http://mitcho.com/blog/life/travel/linguistics-in-%e5%98%89%e7%be%a9/' rel='bookmark' title='Permanent Link: Linguistics in 嘉義'>Linguistics in 嘉義</a></li>
<li><a href='http://mitcho.com/blog/projects/mashing-up-the-browser-in-maine/' rel='bookmark' title='Permanent Link: Mashing up the browser in Maine'>Mashing up the browser in Maine</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I recently confirmed three different very exciting speaking gigs which I&#8217;ll be doing this spring:</p>

<p><span id="more-3448"></span></p>

<p><strong>JSConf.us</strong>:</p>

<p>I&#8217;ll be putting my Mozilla Jetpack Ambassador hat on to represent Mozilla Labs&#8217; <a href="https://jetpack.mozillalabs.com/">Jetpack project</a> at the premier Javascript conference in North America, <a href="http://jsconf.us/2010/">JSConf.us</a>, which this year will be April 17-18 in Washington D.C. and has a pirate theme.<sup id="fnref:2"><a href="#fn:2" rel="footnote">1</a></sup> I&#8217;ll be giving a short talk in the main session and will also lead a hands-on Jetpack workshop in the hacker lounge. I&#8217;ve heard that JSConf is a lot of fun and I&#8217;m really looking forward to it! <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><strong>WordCamp San Francisco</strong>:</p>

<p>I&#8217;m honored to have been invited to give a talk at <a href="http://2010.sf.wordcamp.org/">WordCamp San Francisco 2010</a>. WordCamps are community-organized events for the <a href="http://wordpress.org">WordPress</a> community, and the San Francisco WordCamp is the original and biggest. WordCamp SF will be at the Mission Bay Conference Center on May 1st. <a href="https://2010.sf.wordcamp.org/tickets/">Tickets available</a>.</p>

<p>My talk is tentatively titled &#8220;Abstract Your Code.&#8221;<sup id="fnref:1"><a href="#fn:1" rel="footnote">2</a></sup> WordPress is a great platform to build amazing content-rich applications on, and many of us have written new functionality in the form of plugins. I hope to encourage developers to make their code more portable and reusable after the project is done—or, ideally, to even start with abstraction in mind—to add to the &#8220;life&#8221; of the code and to consider then open-sourcing that functionality.</p>

<p>Hope to see you there!</p>

<p><strong>International Association of Chinese Linguistics (IACL) 18</strong>:</p>

<p>Finally, I&#8217;m thrilled to say that I got a paper accepted to the <a href="http://www.fas.harvard.edu/~iacl18/Site/index.html">annual meeting of the International Association of Chinese Linguistics</a> which this year is at Harvard on May 20-22. IACL is <em>the</em> big conference for Chinese linguistics, with about <a href="http://www.fas.harvard.edu/~IACL18/AcceptList.pdf">180 papers presenting</a>. I&#8217;ll be presenting <em>Two</em> Only<em>s in Mandarin Chinese</em>, my recent work on the formal syntax/semantics of two <em>only</em> words in Chinese: <em>zhǐ</em> (只) and <em>éryǐ</em> (而已). I&#8217;ve put up <a href="http://mitcho.com/academic/handout-20100226.pdf">a handout</a> of some of this material in work-in-progress form which I recently presented at <a href="http://people.fas.harvard.edu/~nicolae/SNEWS_2010/Welcome.html">SNEWS</a>.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:2">
<p>I&#8217;ll <a href="http://beijinghuar.com">fit right in</a>.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:1">
<p>Sexier title suggestions welcome.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/sO_hfIjRG0o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/spring-is-for-speaking/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/spring-is-for-speaking/</feedburner:origLink></item>
		<item>
		<title>Jetpacking in Boston</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/8b41mQQ9FCA/</link>
		<comments>http://mitcho.com/blog/projects/jetpacking-in-boston/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 21:19:06 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[Boston]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[Mozilla Planet]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3424</guid>
		<description><![CDATA[A couple weeks ago I gave a talk at the Boston Javascript meetup introducing Jetpack and filling people in in the latest developments in the project, including the Reboot. Between 20 to 30 people came to the talk which was at Microsoft Cambridge. Here are the slides from the talk:1 Extend the Browser with Jetpack [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/mashing-up-the-browser-in-maine/' rel='bookmark' title='Permanent Link: Mashing up the browser in Maine'>Mashing up the browser in Maine</a></li>
<li><a href='http://mitcho.com/blog/life/wordcamp-boston-2010/' rel='bookmark' title='Permanent Link: WordCamp Boston 2010'>WordCamp Boston 2010</a></li>
<li><a href='http://mitcho.com/blog/projects/extending-wordpress-talk-at-the-boston-wordpress-meetup/' rel='bookmark' title='Permanent Link: Extending WordPress talk at the Boston WordPress Meetup'>Extending WordPress talk at the Boston WordPress Meetup</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>A couple weeks ago I gave a talk at the <a href="http://javascript.meetup.com/2/">Boston Javascript meetup</a> introducing Jetpack and filling people in in the latest developments in the project, including the <a href="http://javascript.meetup.com/2/">Reboot</a>. Between 20 to 30 people came to the talk which was at Microsoft Cambridge. Here are the slides from the talk:<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>

<p><a href="http://www.slideshare.net/mitcho/extend-the-browser-with-jetpack" title="Extend the Browser with Jetpack">Extend the Browser with Jetpack</a></p>

<p><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=bostonjs-100224202650-phpapp02&#038;rel=0&#038;stripped_title=extend-the-browser-with-jetpack" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=bostonjs-100224202650-phpapp02&#038;rel=0&#038;stripped_title=extend-the-browser-with-jetpack" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>

<p><span id="more-3424"></span>I felt the audience was very engaged and we had almost a dozen questions in the question period and throughout. Most of the examples centered around the use of capabilities and the new security model. For example:</p>

<ul>
<li>What level of granularity will the manifests have? Do you have to just say &#8220;I use xhr&#8221; or &#8220;I talk to twitter but not facebook&#8221;?</li>
<li>What will be the review process for capabilities?</li>
<li>What license will capabilities use?</li>
</ul>

<p>Perhaps I simply did not present this material in the clearest manner (it didn&#8217;t help that I didn&#8217;t have any particular slides covering the <a href="http://vimeo.com/10011379">capability and manifest model</a>) but it also reflects the reality that these particulars of the manifests&#8217; security sections are still being fleshed out. I&#8217;m looking forward to <a href="http://jsconf.us/2010/">the next time I speak on Jetpack</a> when hopefully the discussion of the Reboot will be more concrete and I&#8217;ll be able to give a clearer overview and demo of these aspects of the Reboot.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>If anyone would like the Keynote deck, just let me know.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/8b41mQQ9FCA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/jetpacking-in-boston/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/jetpacking-in-boston/</feedburner:origLink></item>
		<item>
		<title>Jetpack Ambassadors in MV</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/JOvuVMGVmTU/</link>
		<comments>http://mitcho.com/blog/projects/jetpack-ambassadors-in-mv/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 20:55:23 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[travelogue]]></category>
		<category><![CDATA[California]]></category>
		<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Mozilla Planet]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3371</guid>
		<description><![CDATA[A couple weeks ago I went out to Mozilla HQ in Mountain View for a Jetpack Ambassador meetup. Jetpack is a project at Mozilla labs intended to make writing Firefox add-ons easier, and shares some ancestry with the Ubiquity project dear to my heart. The Jetpack Ambassadors are a team of Mozilla community members who [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/link/contribute-to-ubiquity-no-coding-required/' rel='bookmark' title='Permanent Link: Contribute to Ubiquity! No Coding Required!'>Contribute to Ubiquity! No Coding Required!</a></li>
<li><a href='http://mitcho.com/blog/projects/spring-is-for-speaking/' rel='bookmark' title='Permanent Link: Spring is for Speaking: JSConf, WordCamp SF, IACL'>Spring is for Speaking: JSConf, WordCamp SF, IACL</a></li>
<li><a href='http://mitcho.com/blog/how-to/develop-with-jetpack-sdk-0-2/' rel='bookmark' title='Permanent Link: Beginning development with Jetpack SDK 0.2'>Beginning development with Jetpack SDK 0.2</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>A couple weeks ago I went out to Mozilla HQ in Mountain View for a Jetpack Ambassador meetup. <a href="http://mozillalabs.com/jetpack">Jetpack</a> is a project at <a href="http://mozillalabs.com">Mozilla labs</a> intended to make writing Firefox add-ons easier, and shares some ancestry with the Ubiquity project dear to my heart. The <a href="http://upload.wikimedia.org/wikipedia/en/c/c0/Super_Friends.jpg">Jetpack Ambassadors</a> are a team of Mozilla community members who will be involved with Jetpack marketing, evangelizing Jetpack and writing about our own experiences working with the exciting new Jetpack architecture.</p>

<p>We spent a good chunk of time with a team from <a href="http://www.ielephant.com/">Invisible Elephant</a> who came in to give us some training on making technical presentations, and then dug into the code on Day 2. It was great to have the geniuses at Mozilla Labs like Atul and Myk show us the latest Jetpack code as well as get the latest project direction from Daniel, Aza, and Nick, from which we could see the amount of careful consideration and effort that&#8217;s gone into <a href="https://wiki.mozilla.org/Labs/Jetpack/Reboot">the Jetpack reboot</a>.</p>

<p><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack45.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack45.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack47.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack47.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack59.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack59.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack67.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack67.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack64.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack64.jpg' /></a></p>

<p>The best part of the whole experience, though, has to be the fellowship with the other Jetpack Ambassadors. The Ambassadors came from all over the world, encompassing Europe, Asia, S. America, and of course N. America. Each are involved with some really exciting projects and have each made a name for themselves in their respective communities. I&#8217;ve put together <a href="http://twitter.com/mitchoyoshitaka/jetpack">a twitter list</a> of all the Jetpack Ambassadors and the core team members and invite you to follow them.</p>

<p><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack05.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack05.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack08.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack08.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack17.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack17.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack20.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack20.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack24.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack24.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack36.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack36.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack38.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack38.jpg' /></a><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack40.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack40.jpg' /></a></p>

<p>We also had the greatest number of <a href="http://mozillalabs.com/ubiquity/">Ubiquity</a> core developers to have ever been in the same place at the same time, which of course had to be documented. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a rel='lightbox[jetpack-ambassadors-in-mv]' href='http://mitcho.com/photos/travel/jetpack2010/image/1000/jetpack63.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/travel/jetpack2010/image/thumb/jetpack63.jpg' /></a></p>

<p>(More photos can be seen in <a href="http://mitcho.com/photos/travel/jetpack2010/">my gallery</a>.)</p>

<p>I had a fantastic time in MV and it was a shame I could only be there for such a short time. I feel honored to be a part of this group and am looking forward to speaking on Jetpack soon <a href="http://javascript.meetup.com/2/calendar/11536445/">at an event near you</a>!</p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/JOvuVMGVmTU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/jetpack-ambassadors-in-mv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/jetpack-ambassadors-in-mv/</feedburner:origLink></item>
		<item>
		<title>After the Deadline for Firefox</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/vxfd1KOOkwc/</link>
		<comments>http://mitcho.com/blog/projects/after-the-deadline-for-firefox/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 01:02:54 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[proofreading]]></category>
		<category><![CDATA[spelling]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3321</guid>
		<description><![CDATA[After the Deadline is a powerful and intelligent proofreading tool which checks for spelling errors, misused words, some grammatical gaffes, and even some stylistic issues. For the past month, I&#8217;ve been working for Automattic, the company behind AtD and the makers of WordPress.com, to create a Firefox add-on which enables this superior technology everywhere on [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/mozilla-by-the-numbers/' rel='bookmark' title='Permanent Link: Mozilla By The Numbers'>Mozilla By The Numbers</a></li>
<li><a href='http://mitcho.com/blog/projects/ubiquity-in-firefox-japanese/' rel='bookmark' title='Permanent Link: Ubiquity in Firefox: Focus on Japanese'>Ubiquity in Firefox: Focus on Japanese</a></li>
<li><a href='http://mitcho.com/blog/link/light-of-firefox-tomoshibi-%e7%81%af-from-mozilla-japan/' rel='bookmark' title='Permanent Link: Light of Firefox (tomoshibi 灯) from Mozilla Japan'>Light of Firefox (tomoshibi 灯) from Mozilla Japan</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://afterthedeadline.com">After the Deadline</a> is a powerful and intelligent proofreading tool which checks for spelling errors, misused words, some grammatical gaffes, and even some stylistic issues. For the past month, I&#8217;ve been working for <a href="http://automattic.com">Automattic</a>, the company behind AtD and the makers of <a href="http://wordpress.com">WordPress.com</a>, to create a Firefox add-on which enables this superior technology everywhere on the web. Words can&#8217;t do justice to the magic that is AtD, so here&#8217;s a video we put together:</p>

<p><embed src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.15" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true" flashvars="guid=n3dZCS7D&amp;width=640&amp;height=360&amp;qc_publisherId=p-18-mFEk4J448M" title="Firefox: Check Spelling, Style, and Grammar"></embed></p>

<p>I invite you all to give it a spin:</p>

<p style='text-align:center'><a title="Add After the Deadline to Firefox" class="button positive significant" href="https://addons.mozilla.org/downloads/latest/58947/addon-58947-latest.xpi?src=external-mitcho"><img src="http://mitcho.com/blog/wp-content/uploads/2010/02/add-add-on.png" alt="add-add-on.png" border="0" width="263" height="36" /></a></p>

<p>Working on After the Deadline for Firefox gave me my first experience creating an add-on from the ground up and I&#8217;ve learned a lot. After working on Ubiquity and dabbling with Jetpack, it&#8217;s given me another perspective on extensibility on the web and I look forward to thinking and writing more about these experiences in the near future.</p>

<p>In the mean time, happy proofreading! <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/vxfd1KOOkwc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/after-the-deadline-for-firefox/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/after-the-deadline-for-firefox/</feedburner:origLink></item>
		<item>
		<title>WordCamp Boston 2010</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/hf9kcqXm6QQ/</link>
		<comments>http://mitcho.com/blog/life/wordcamp-boston-2010/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 02:02:01 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[Boston]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3298</guid>
		<description><![CDATA[This past weekend I gave a couple talks at the inaugural WordCamp Boston. WordCamps are local, community-organized events for WordPress users and enthusiasts. We had about 400 people at the Microsoft Cambridge campus. (I invite you to also check out more photos below as well as my full WordCamp gallery.) My first talk was &#8220;Getting [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/extending-wordpress-talk-at-the-boston-wordpress-meetup/' rel='bookmark' title='Permanent Link: Extending WordPress talk at the Boston WordPress Meetup'>Extending WordPress talk at the Boston WordPress Meetup</a></li>
<li><a href='http://mitcho.com/blog/projects/spring-is-for-speaking/' rel='bookmark' title='Permanent Link: Spring is for Speaking: JSConf, WordCamp SF, IACL'>Spring is for Speaking: JSConf, WordCamp SF, IACL</a></li>
<li><a href='http://mitcho.com/blog/projects/jetpacking-in-boston/' rel='bookmark' title='Permanent Link: Jetpacking in Boston'>Jetpacking in Boston</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img src="http://mitcho.com/blog/wp-content/uploads/2010/01/4096077627_c6d3035124_o.jpg" alt="4096077627_c6d3035124_o.jpg" border="0" width="470" height="246" /></p>

<p>This past weekend I gave a couple talks at the inaugural <a href="http://wordcampboston.com/">WordCamp Boston</a>. <a href="http://central.wordcamp.org/">WordCamps</a> are local, community-organized events for <a href="http://wordpress.org">WordPress</a> users and enthusiasts. We had about 400 people at the Microsoft Cambridge campus.</p>

<p><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp28.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp28.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp31.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp31.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp35.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp35.jpg' /></a></p>

<p><span id="more-3298"></span></p>

<p>(I invite you to also check out more photos below as well as my <a href="http://mitcho.com/photos/boston/wordcamp/">full WordCamp gallery</a>.)</p>

<p>My first talk was &#8220;Getting Into The Loop,&#8221; which gives a quick taste of <a href="http://codex.wordpress.org/The_Loop">The Loop</a> which is a central programming construct in every WordPress application. (<a href="http://speakerrate.com/talks/2000-getting-into-the-loop">SlideShare</a>, <a href="http://speakerrate.com/talks/2000-getting-into-the-loop">SpeakerRate</a>)</p>

<p><embed src="http://blip.tv/play/AYHA938C" type="application/x-shockwave-flash" width="650" height="473" allowscriptaccess="always" allowfullscreen="true"></embed></p>

<p>My second talk was an <a href="http://en.wikipedia.org/wiki/Ignite_(event)">Ignite</a> talk on the importance of beta testing plugins. Ignite talks are five minute lightning talks with 20 slides which auto-advance every 15 seconds. (<a href="http://www.slideshare.net/mitcho/ignite-wordcamp-youd-beta-test-your-plugins">SlideShare</a>, <a href="http://speakerrate.com/talks/2031-ignite-wordcamp-you%E2%80%99d-beta%E2%80%99-test-your-plugins">SpeakerRate</a>)</p>

<p><object width="650" height="384"><param name="movie" value="http://www.youtube.com/v/n3RXpJrSAnw&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/n3RXpJrSAnw&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="650" height="384"></embed></object></p>

<p>The videos for both talks will ultimately go up on <a href="http://wordpress.tv">wordpress.tv</a>.</p>

<p>The event was a huge success and I&#8217;m looking forward to help organize WordCamp Boston 2011 as well! <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp11.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp11.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp13.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp13.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp16.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp16.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp29.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp29.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp60.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp60.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp68.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp68.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp77.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp77.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp78.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp78.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp82.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp82.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp85.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp85.jpg' /></a><a rel='lightbox[wordcamp-boston-2010]' href='http://mitcho.com/photos/boston/wordcamp/image/1000/wordcamp86.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/wordcamp/image/thumb/wordcamp86.jpg' /></a></p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/hf9kcqXm6QQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/life/wordcamp-boston-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/life/wordcamp-boston-2010/</feedburner:origLink></item>
		<item>
		<title>Creating an image-sized iframe overlay with Shadowbox</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/L7IYjib_zDw/</link>
		<comments>http://mitcho.com/blog/how-to/creating-an-image-sized-iframe-overlay-with-shadowbox/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 05:33:50 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MIT]]></category>
		<category><![CDATA[shadowbox]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3293</guid>
		<description><![CDATA[I recently have been working with the Shadowbox JavaScript library for an upcoming revision to the MIT Edgerton Digital Collections website. Shadowbox is a nice lightbox library designed to work with various JavaScript libraries like jQuery, prototype, and mootools with a nice modular design. Shadowbox is organized around different &#8220;players&#8221;—one for each kind of media [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/life/im-seriously-dreaming-of-a-white-christmas/' rel='bookmark' title='Permanent Link: I&#8217;m Seriously Dreaming of a White Christmas'>I&#8217;m Seriously Dreaming of a White Christmas</a></li>
<li><a href='http://mitcho.com/blog/life/the-gift-that-keeps-on-giving/' rel='bookmark' title='Permanent Link: The Gift That Keeps On Giving'>The Gift That Keeps On Giving</a></li>
<li><a href='http://mitcho.com/blog/life/atayal-cultural-festival/' rel='bookmark' title='Permanent Link: Atayal cultural festival'>Atayal cultural festival</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I recently have been working with the <a href="http://www.shadowbox-js.com/">Shadowbox</a> JavaScript library for an upcoming revision to the MIT <a href="http://edgerton-digital-collections.org">Edgerton Digital Collections</a> website. Shadowbox is a nice <a href="http://en.wikipedia.org/wiki/Lightbox (JavaScript)">lightbox</a> library designed to work with various JavaScript libraries like jQuery, prototype, and mootools with a nice modular design.</p>

<p>Shadowbox is organized around different &#8220;players&#8221;—one for each kind of media that will be displayed. The library by default comes with players for Flash, HTML fragments, <code>iframe</code>s, QuickTime, and Windows Media. Some of these players, like those for images and video, automatically recognize the media size and adjust the lightbox accordingly, while others such as the <code>iframe</code> player can use a set size or can fill the screen. For the Edgerton site, though, we had a need for displaying an <code>iframe</code> but in the dimensions of a set image, so that we could display the image with an overlay. Here are some notes on how to implement a custom player for Shadowbox.</p>

<p><span id="more-3293"></span>
The first step to getting Shadowbox to recognize a custom player is to modify the players loaded by <code>shadowbox.js</code>. I called my player &#8220;hybrid,&#8221; as it&#8217;s like a cross between the <code>iframe</code> and <code>img</code> players.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Shadowbox.<span style="color: #660066;">options</span>.<span style="color: #660066;">players</span><span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;html&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;iframe&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;img&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;hybrid&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>


<p>Now Shadowbox will try to look for the file <code>players/shadowbox-hybrid.js</code>. That&#8217;s where we will create our custom player. Start by duplicating the <code>iframe</code> player file. Next, we can make one more change to <code>shadowbox.js</code>. In the <code>getPlayer</code> function, add a line that will return &#8220;<code>hybrid</code>&#8221; when it recognizes a lightbox which should use the hybrid player. I added the following line, which uses the hybrid player when the text &#8220;<code>galleries</code>&#8221; is in the <code>a</code> tag&#8217;s <code>href</code> attribute.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/galleries/</span>.<span style="color: #660066;">test</span><span style="color: #009900;">&#40;</span>content<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">&quot;hybrid&quot;</span><span style="color: #339933;">;</span></pre></div></div>


<p>Finally, you must actually write the new player. There&#8217;s a readme file which describes the interface:</p>

<blockquote>
<p>All players should implement the same interface. This makes it possible for the Shadowbox class to know what methods to call and properties to check on player objects.</p>
<p>The interface is described here, with some simple explanations of how each method and/or property is to be used.</p>
<dl>
<dt><strong>height</strong></dt>
    <dd>(Number) The height of the object (in pixels)</dd>
<dt><strong>width</strong></dt>
    <dd>(Number) The width of the object (in pixels)</dd>
<dt><strong>ready</strong></dt>
    <dd>(optional, Boolean) True if the content is ready to be loaded, false otherwise. Useful when the script should wait until the content loads before proceeding (see below)</dd>
<dt><strong>resizable</strong></dt>
    <dd>(optional, Boolean) True if the content can be dynamically resized by the script (e.g. images, but not most movie formats)</dd>
<dt><strong>append()</strong></dt>
    <dd>Appends this object to the DOM</dd>
<dt><strong>remove()</strong></dt>
    <dd>Removes this object from the DOM</dd>
<dt><strong>onLoad()</strong></dt>
    <dd>(optional) Called after the content is loaded and the loading layer is hidden</dd>
<dt><strong>onWindowResize()</strong></dt>
    <dd>(optional) Called when the window is resized</dd>
</dl>
</blockquote>

<p>I found these directions quite easy to follow. For our purposes, there was also a note on how to set an object&#8217;s height and width based on an image.</p>

<p>Hopefully these notes are helpful for others who hope to take full advantage of this very powerful JavaScript library.</p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/L7IYjib_zDw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/how-to/creating-an-image-sized-iframe-overlay-with-shadowbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/how-to/creating-an-image-sized-iframe-overlay-with-shadowbox/</feedburner:origLink></item>
		<item>
		<title>Disgusting Word-formatted HTML and how to fix it</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/JtShd6hTPTo/</link>
		<comments>http://mitcho.com/blog/projects/disgusting-word-formatted-html-and-how-to-fix-it/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 21:29:44 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[observation]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[MITWPL]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[word]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3287</guid>
		<description><![CDATA[In working on a new website for the MIT Working Papers in Linguistics, I recently inherited a collection of HTML files with all of our books&#8217; abstracts. To my dismay (but not surprise) the markup in these files were horrendous. Here are some of the cardinal sins of markup that I saw committed in these [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/markdown-for-wordpress-and-bbpress/' rel='bookmark' title='Permanent Link: Markdown for WordPress and bbPress'>Markdown for WordPress and bbPress</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>In working on a new website for the MIT Working Papers in Linguistics, I recently inherited a collection of HTML files with all of our books&#8217; abstracts. To my dismay (but not surprise) the markup in these files were horrendous. Here are some of the cardinal sins of markup that I saw committed in these files:</p>

<ol>
<li><strong>Confusing <code>id</code>s and <code>class</code>es.</strong> <code>id</code>s should be unique on the page&#8230; but here&#8217;s an instance of using multiple instances of the same <code>id</code> in order to format them together.<br/></li>
</ol>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;indent&quot;&gt; &lt;div id=&quot;number&quot;&gt;4.2.1&lt;/div&gt; &lt;div id=&quot;page&quot;&gt;161&lt;/div&gt; &lt;div id=&quot;section&quot;&gt;Old French (Adams 1987)&lt;/div&gt;
&lt;/div&gt; &lt;div id=&quot;indent&quot;&gt; &lt;div id=&quot;number&quot;&gt;4.2.2&lt;/div&gt; &lt;div id=&quot;page&quot;&gt;164&lt;/div&gt; &lt;div id=&quot;section&quot;&gt;The evolution of the dialects of northern Italy&lt;/div&gt;</pre></div></div>


<ol>
<li><strong>Putting a class on every instance of something.</strong> Everything paragraph should be formatted equivalently. We get the point.<br/></li>
</ol>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;p class=MsoNormal&gt;&lt;b&gt;The English Noun Phrase in Its Sentential Aspect&lt;/b&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;Steven Paul Abney&lt;/p&gt;
&lt;p class=MsoNormal&gt;May 1987&lt;/p&gt;</pre></div></div>


<ol>
<li><strong>Using blank space for formatting.</strong>  <br/></li>
</ol>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;</pre></div></div>


<ol>
<li><strong>CSS styles that don&#8217;t exist.</strong> Browsers just ignore these anyway&#8230; <br/></li>
</ol>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;p class=MsoNormal&gt;One factor in determining which worlds a modal quantifies
over is the temporal argument of the modal’s accessibility relation.&lt;span
style='mso-spacerun:yes'&gt;  &lt;/span&gt;It is well-known that a higher tense affects
the accessibility relation of modals.&lt;span style='mso-spacerun:yes'&gt; 
&lt;/span&gt;What is not well-known is that there are aspectual operators high enough
to affect the accessibility relation of modals.&lt;span style='mso-spacerun:yes'&gt; 
&lt;/span&amp;gt</pre></div></div>


<h3>The solution</h3>

<p>My solution was to write a perl script which takes care of a number of these issues. It&#8217;s not foolproof and doesn&#8217;t involve any voodoo—for example, it can&#8217;t retypeset things which were formatted using whitespace—but it does a good job as a first pass.</p>

<div class="files">
<div class="file">
<a href="http://mitcho.com/blog/wp-content/uploads/2009/12/cleanwordhtml.pl_.txt">cleanwordhtml.pl</a><br/>
<span class="specs">perl</span>
</div>
</div>

<p>You can run the script by making it executable (<code>chmod +x cleanwordhtml.pl</code>) then specifying a target filename as an argument. For example,</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>cleanwordhtml.pl source.html <span style="color: #000000; font-weight: bold;">&gt;</span> clean.html</pre></div></div>


<p>I used this with a simple bash for loop to run over all my files:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> f <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*/*</span>.html; <span style="color: #000000; font-weight: bold;">do</span> .<span style="color: #000000; font-weight: bold;">/</span>cleanwordhtml.pl <span style="color: #007800;">$f</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #800000;">${f%.html}</span>-clean.html; <span style="color: #000000; font-weight: bold;">done</span>;</pre></div></div>


<p>Hopefully someone else can benefit from my experience.</p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/JtShd6hTPTo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/disgusting-word-formatted-html-and-how-to-fix-it/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/disgusting-word-formatted-html-and-how-to-fix-it/</feedburner:origLink></item>
		<item>
		<title>Mashing up the browser in Maine</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/Yz8qB6jco_4/</link>
		<comments>http://mitcho.com/blog/projects/mashing-up-the-browser-in-maine/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:00:32 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[travelogue]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[Maine]]></category>
		<category><![CDATA[Mozilla Planet]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3233</guid>
		<description><![CDATA[Last week I was invited to give a talk at the TechMaine annual conference in Portland, Maine. Being a longer time slot than I previously have used to talk about Ubiquity, I decided to dedicate a good portion of the talk to Jetpack. Being outside of Mozilla for the past few months, this gave me [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/projects/jetpacking-in-boston/' rel='bookmark' title='Permanent Link: Jetpacking in Boston'>Jetpacking in Boston</a></li>
<li><a href='http://mitcho.com/blog/projects/jetpack-ambassadors-in-mv/' rel='bookmark' title='Permanent Link: Jetpack Ambassadors in MV'>Jetpack Ambassadors in MV</a></li>
<li><a href='http://mitcho.com/blog/projects/spring-is-for-speaking/' rel='bookmark' title='Permanent Link: Spring is for Speaking: JSConf, WordCamp SF, IACL'>Spring is for Speaking: JSConf, WordCamp SF, IACL</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Last week I was invited to give a talk at the <a href="http://www.techmaine.com/ac2009">TechMaine annual conference</a> in Portland, Maine.</p>

<p>Being a longer time slot than I previously have used to talk about Ubiquity, I decided to dedicate a good portion of the talk to <a href="http://jetpack.mozillalabs.com">Jetpack</a>. Being outside of Mozilla for the past few months, this gave me an opportunity to get reacquainted with the Jetpack APIs. I myself was impressed by how easy it was to develop a quick Jetpack. I ended up preparing two to live-code during the talk: one called <a href="http://jetpackgallery.mozillalabs.com/jetpacks/207">Helvetica</a> which, with one click, replaces all fonts on the current page with Helvetica; and <a href="http://jetpackgallery.mozillalabs.com/jetpacks/208">You Are Here</a> which uses an open API from <a href="http://ipinfodb.com/">IPinfoDB</a> to display the physical location of the domain you are currently visiting in the status bar. Both are now on the <a href="http://jetpackgallery.mozillalabs.com/">Jetpack Gallery</a>.</p>

<p><a rel='lightbox' href="http://mitcho.com/blog/wp-content/uploads/2009/12/youarehere.png"><img src="http://mitcho.com/blog/wp-content/uploads/2009/12/youarehere-inset.png" alt="" title="You Are Here" width="464" height="112" class="alignnone size-full wp-image-3237" /></a></p>

<p>Unfortunately there was a bit of a snowstorm leading up to the event, but there was still a nice turnout and I got to meet some fantastic people there. Ken Shoemake of <a href="http://en.wikipedia.org/wiki/slerp">slerp</a> and <a href="http://en.wikipedia.org/wiki/quaternion">quaternion</a> fame came up to me after my talk and said &#8220;the Ubiquity parser reminded me of the dancing bear&#8230; it&#8217;s less surprising that it works well as that it works at all.&#8221; <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I also enjoyed the other great presentations in the technology track, covering the <a href="http://www.nofluffjuststuff.com/conference/speaker/brian_sletten">virtues of REST</a> and basic iPhone development.</p>

<p><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/mitcho/mashup-the-browser-with-ubiquity-and-jetpack" title="Mashup the Browser with Ubiquity and Jetpack">Mashup the Browser with Ubiquity and Jetpack</a><object style="margin:0px" width="600" height="501"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=techmaine-091210174736-phpapp01&#038;stripped_title=mashup-the-browser-with-ubiquity-and-jetpack" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=techmaine-091210174736-phpapp01&#038;stripped_title=mashup-the-browser-with-ubiquity-and-jetpack" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="501"></embed></object></p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/Yz8qB6jco_4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/mashing-up-the-browser-in-maine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/mashing-up-the-browser-in-maine/</feedburner:origLink></item>
		<item>
		<title>My friend Evan bought an iPhone</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/8dfqGiVE76Y/</link>
		<comments>http://mitcho.com/blog/observation/my-friend-evan-bought-an-iphone/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 20:51:16 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[observation]]></category>
		<category><![CDATA[Evan]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=3206</guid>
		<description><![CDATA[




Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://mitcho.com/blog/wp-content/uploads/2009/12/tweeting-3.png" alt="tweeting-3.png" border="0" width="324" height="352" /></center></p>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/8dfqGiVE76Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/observation/my-friend-evan-bought-an-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/observation/my-friend-evan-bought-an-iphone/</feedburner:origLink></item>
		<item>
		<title>Extending WordPress talk at the Boston WordPress Meetup</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/KarSvz4uaYA/</link>
		<comments>http://mitcho.com/blog/projects/extending-wordpress-talk-at-the-boston-wordpress-meetup/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 17:40:19 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[HookPress]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Planet]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=2959</guid>
		<description><![CDATA[Yesterday I gave a talk at the Boston WordPress Meetup. The Boston WordPress Meetup meets monthly at the Microsoft Cambridge Research Center which is a fantastic venue right on the Charles river. Last night we got to be up on the 10th floor which has a great view of Boston right over the river. There [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/life/wordcamp-boston-2010/' rel='bookmark' title='Permanent Link: WordCamp Boston 2010'>WordCamp Boston 2010</a></li>
<li><a href='http://mitcho.com/blog/projects/hookpress-webhooks-for-wordpress/' rel='bookmark' title='Permanent Link: HookPress: Webhooks for WordPress'>HookPress: Webhooks for WordPress</a></li>
<li><a href='http://mitcho.com/blog/projects/jetpacking-in-boston/' rel='bookmark' title='Permanent Link: Jetpacking in Boston'>Jetpacking in Boston</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I <a href="http://www.meetup.com/boston-wordpress-meetup/calendar/11378229/">gave a talk</a> at the <a href="http://www.meetup.com/boston-wordpress-meetup/">Boston WordPress Meetup</a>. The Boston WordPress Meetup meets monthly at the Microsoft Cambridge Research Center which is a fantastic venue right on the Charles river. Last night we got to be up on the 10th floor which has a great view of Boston right over the river. There was pretty good turnout, with about thirty or fourty people there.</p>

<p>My talk was a general introduction to WordPress plugin development, beginning with the concepts of <a href="http://codex.wordpress.org/Plugin_API/Action_Reference">actions</a> and <a href="http://codex.wordpress.org/Plugin_API/Filter_Reference">filters</a>, and concluding with a description of <a href="http://mitcho.com/code/hookpress/">HookPress</a>, my new plugin which enables <a href="http://webhooks.org">webhooks</a> in WordPress. Here are the slides:</p>

<p><span id="more-2959"></span></p>

<div style="width:425px;text-align:left" id="__ss_2084487"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/mitcho/extending-wordpress-with-webhooks" title="Extending WordPress with (Web)Hooks">Extending WordPress with (Web)Hooks</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=extendingwordpress-090928155439-phpapp01&#038;rel=0&#038;stripped_title=extending-wordpress-with-webhooks" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=extendingwordpress-090928155439-phpapp01&#038;rel=0&#038;stripped_title=extending-wordpress-with-webhooks" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/mitcho">Michael Yoshitaka Erlewine</a>.</div></div>

<p>The talk included some live coding which is always dangerous, but it all went off without a hitch.</p>

<p><a href="http://twitter.com/kurteng">Kurt Eng</a> was kind enough to get video of the talk as well which hopefully we&#8217;ll get up on <a href="http://wordpress.tv">wordpress.tv</a> in the near future. Bryan also sent me a link with some <a href="http://www.flickr.com/photos/76505157@N00/">photos on Flickr</a>.</p>

<p>Thank you to all who attended<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> and of course to Microsoft who provided the venue and food! The Boston WordPress Meetup is a great community and I hope to keep supporting it and its activities.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>For anyone who attended, I would greatly appreciate feedback on the talk <a href="http://speakerrate.com/talks/1470-extending-wordpress-with-web-hooks">at SpeakerRate</a>.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/KarSvz4uaYA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/projects/extending-wordpress-talk-at-the-boston-wordpress-meetup/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/projects/extending-wordpress-talk-at-the-boston-wordpress-meetup/</feedburner:origLink></item>
		<item>
		<title>Living in the Stata Center</title>
		<link>http://feedproxy.google.com/~r/mitcho/~3/tm62KNFcpj0/</link>
		<comments>http://mitcho.com/blog/life/living-in-the-stata-center/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 18:49:22 +0000</pubDate>
		<dc:creator>mitcho</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[linguistics]]></category>
		<category><![CDATA[MIT]]></category>
		<category><![CDATA[Stata Center]]></category>

		<guid isPermaLink="false">http://mitcho.com/blog/?p=2914</guid>
		<description><![CDATA[We&#8217;re now three weeks into the semester at MIT where I just started a PhD program in linguistics. The Linguistics and Philosophy department is housed in The Ray and Maria Stata Center, also known as building 32. It&#8217;s a Frank Gehry building and thus crazy looking.1 We see photographers on the street from time to [...]


Related posts:<ol><li><a href='http://mitcho.com/blog/observation/im-busy-to-die/' rel='bookmark' title='Permanent Link: I&#8217;m Busy to Die'>I&#8217;m Busy to Die</a></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re now three weeks into the semester at MIT where I just started a PhD program in <a href="http://web.mit.edu/linguistics/">linguistics</a>. The Linguistics and Philosophy department is housed in The Ray and Maria <a href="http://en.wikipedia.org/wiki/Stata Center">Stata Center</a>, also known as building 32. It&#8217;s a <a href="http://en.wikipedia.org/wiki/Frank Gehry">Frank Gehry</a> building and thus crazy looking.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter02.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter02.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter09.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter09.jpg' /></a></p>

<p><span id="more-2914"></span>
We see photographers on the street from time to time taking pictures of the building. In fact, the first day I got to Boston this fall, I walked into my hotel room and there was a framed photo of Stata on the wall.</p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter15.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter15.jpg' /></a></p>

<p>The department basically occupies the eighth and ninth floors of the <a href="http://en.wikipedia.org/wiki/Alexander W. Dreyfoos, Jr.">Dreyfoos</a> tower side. There&#8217;s a nice common space with some red couches and a spiral staircase.</p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter07.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter07.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter08.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter08.jpg' /></a></p>

<p>All of us first years share an office together on the ninth floor (32-D976). The room is elliptical, with our desks along the side with windows and the other &#8220;wall&#8221; being a series of wooden bookshelves. It&#8217;s great to share an office with the cohort, as we all take all the same classes the first year as well.</p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter04.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter04.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter12.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter12.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter01.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter01.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter03.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter03.jpg' /></a></p>

<p>Here&#8217;s the room for &#8220;Meg Data&#8221; just across the hall from our office. I was really hoping it was a woman named &#8220;Meg Data&#8221;&#8230; marrying her would get me one step closer to becoming &#8220;Dr. Data.&#8221; Alas, &#8220;Meg Data&#8221; or &#8220;MEG Data&#8221; apparently is simply a label for some data store—possibly some servers. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter06.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter06.jpg' /></a></p>

<p>The majority of the building is the <a href="http://www.csail.mit.edu/">Computer Science and Artificial Intelligence Lab (CSAIL)</a> so there are posters up for fun-looking talks that I&#8217;m too busy for.</p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter10.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter10.jpg' /></a></p>

<p>Here&#8217;s my desk (with <a href="http://foxkeh.jp">Foxkeh</a>!) and my new bike which I&#8217;ve been bringing up to the office. The final photo is a photo of me with an &#8220;I ♥ The Web&#8221; poster in commemoration of <a href="http://mozilla.org/onewebday">OneWebDay</a>.</p>

<p><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter13.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter13.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter05.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter05.jpg' /></a><a rel='lightbox[living-in-the-stata-center]' href='http://mitcho.com/photos/boston/statacenter/image/1000/statacenter14.jpg' alt='zenphoto image'><img class='images' src='http://mitcho.com/photos/boston/statacenter/image/thumb/statacenter14.jpg' /></a></p>

<p>We&#8217;ve been getting pretty busy with the readings and work for our classes, as well as occasionally hanging out. I hope to write some more posts both linguistic and non-linguistic in the coming days on life at MIT.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>It also apparently has some structural problems; most notably <a href="http://tig.csail.mit.edu/leaks.pdf">leaks</a>.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<img src="http://feeds.feedburner.com/~r/mitcho/~4/tm62KNFcpj0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mitcho.com/blog/life/living-in-the-stata-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mitcho.com/blog/life/living-in-the-stata-center/</feedburner:origLink></item>
	</channel>
</rss>
