<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Matt O'Keefe</title>
	<atom:link href="http://mattokeefe.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattokeefe.com</link>
	<description>Just this is it</description>
	<lastBuildDate>Wed, 09 Mar 2011 17:20:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mattokeefe.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Matt O'Keefe</title>
		<link>http://mattokeefe.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mattokeefe.com/osd.xml" title="Matt O&#039;Keefe" />
	<atom:link rel='hub' href='http://mattokeefe.com/?pushpress=hub'/>
		<item>
		<title>Erlang Workshop at Flourish 2009</title>
		<link>http://mattokeefe.com/2009/04/05/erlang-workshop-at-flourish-2009/</link>
		<comments>http://mattokeefe.com/2009/04/05/erlang-workshop-at-flourish-2009/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 20:46:12 +0000</pubDate>
		<dc:creator>mattokeefe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flourish Erlang MartinLogan Erlware]]></category>

		<guid isPermaLink="false">http://mattokeefe.com/?p=26</guid>
		<description><![CDATA[I attended an excellent Erlang workshop presented by Martin Logan Friday morning at the Flourish conference hosted by UIC, my alma mater.  Martin is a great presenter who is a lead developer of the Erlware open source project as well as an author of an upcoming Erlang book.  I recorded parts of the workshop using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattokeefe.com&amp;blog=4278349&amp;post=26&amp;subd=mattokeefe&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I attended an excellent <strong><a href="http://erlang.org/">Erlang </a></strong>workshop presented by <strong><a href="http://erllogan.blogspot.com/">Martin Logan</a></strong> Friday morning at the <strong><a href="http://www.flourishconf.com/flourish2009/">Flourish </a></strong>conference hosted by <a href="http://www.uic.edu/index.html/">UIC</a>, my alma mater.  Martin is a great presenter who is a lead developer of the <strong><a href="http://www.erlware.org/">Erlware </a></strong>open source project as well as an author of an upcoming <a href="http://www.manning.com/logan/">Erlang book</a>.  I recorded parts of the workshop using the <a href="http://www.sears.com/shc/s/p_10153_12605_00398400000P?keyword=flip+mino+hd&amp;sLevel=0">Flip Mino HD</a>.  If you missed this event you might want to check the upcoming <strong><a href="http://www.erlang-factory.com/">Erlang Factory</a></strong> conference where Martin will be presenting again.  Otherwise, check out the videos at the end of this post.  There was a great turnout at this event.</p>
<p><img class="alignnone size-full wp-image-59" title="flourish2" src="http://mattokeefe.files.wordpress.com/2009/04/flourish2.png?w=450&#038;h=337" alt="flourish2" width="450" height="337" /></p>
<p>Is it worth your while to learn a new language with such a strange syntax?  IMHO, it certainly is!  I was first convinced after reading <strong><a href="http://www.gotw.ca/publications/concurrency-ddj.htm">The End Of The Free Lunch</a></strong> which explains the paradigm shift in processor design from higher speed to multi-core and the subsequent need for concurrency oriented programming.  I continued to read up on concurrency oriented languages and the <strong><a href="http://en.wikipedia.org/wiki/Actor_model">Actor model</a></strong>, and I found out about <strong><a href="http://www.pragprog.com/articles/erlang">all the fuss about Erlang</a></strong>.  I have had far too much experience with Java applications that crash under load due to concurrency issues related to the <strong><a href="http://java.sun.com/docs/books/jls/third_edition/html/memory.html">Java shared memory model</a></strong>, so Erlang really piqued my interest.</p>
<p>It was pretty easy for me to commit to Erlang/OTP for new distributed services middleware when I worked at Orbitz Worldwide, especially since Martin is employed there as a Technical Manager.  He mentored a very small team of developers who wrote an awesome <strong><a href="http://mattokeefe.com/2009/03/04/javaone-2009/">RESTful web services</a></strong> reverse proxy using Erlang/OTP.  It provides for robust and fault tolerant service registration, request routing and monitoring in only a few hundred lines of code.  Congrats to the team at Orbitz for recently deploying this app to production!  I plan to apply the same design for Sears Holdings&#8217; Online Division as we continue to build out our platform. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='450' height='284' src='http://www.youtube.com/embed/LzulSBC_ZYE?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='450' height='284' src='http://www.youtube.com/embed/SW8jXciE5TY?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='450' height='284' src='http://www.youtube.com/embed/QUmsDoMBl78?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='450' height='284' src='http://www.youtube.com/embed/jGWsljCMV74?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='450' height='284' src='http://www.youtube.com/embed/VwQ4MoeSKMg?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p>I have a couple more videos that I&#8217;ll upload later.</p>
<p>p.s. <strong><a href="http://www.searsholdings.com/careers/">We&#8217;re hiring!</a></strong> If you are interested email me for details @ matt at mattokeefe dot com, or <a href="http://twitter.com/mattokeefe">DM me</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattokeefe.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattokeefe.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattokeefe.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattokeefe.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattokeefe.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattokeefe.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattokeefe.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattokeefe.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattokeefe.com&amp;blog=4278349&amp;post=26&amp;subd=mattokeefe&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mattokeefe.com/2009/04/05/erlang-workshop-at-flourish-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mattokeefe</media:title>
		</media:content>

		<media:content url="http://mattokeefe.files.wordpress.com/2009/04/flourish2.png" medium="image">
			<media:title type="html">flourish2</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaOne 2009</title>
		<link>http://mattokeefe.com/2009/03/04/javaone-2009/</link>
		<comments>http://mattokeefe.com/2009/03/04/javaone-2009/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 17:42:49 +0000</pubDate>
		<dc:creator>mattokeefe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[JavaOne REST ProtocolBuffers ServiceOrientedArchitecture]]></category>

		<guid isPermaLink="false">http://mattokeefe.com/?p=15</guid>
		<description><![CDATA[Last Thursday I received this notification from Sun regarding a JavaOne technical session proposal: Congratulations! Your submission entitled &#8216;RESTful Protocol Buffers&#8217; has been accepted by the JavaOne[sm] Conference Program Committee as an ALTERNATE session for the 2009 JavaOne conference in San Francisco, California, June 2-5, 2009. As an alternate speaker, your badge will allow you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattokeefe.com&amp;blog=4278349&amp;post=15&amp;subd=mattokeefe&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last Thursday I received this notification from Sun regarding a JavaOne technical session proposal:</p>
<blockquote><p>Congratulations! Your submission entitled &#8216;RESTful Protocol Buffers&#8217; has been  accepted by the JavaOne[sm] Conference Program Committee as an ALTERNATE session  for the 2009 JavaOne conference in San Francisco, California, June 2-5, 2009.</p>
<p>As an alternate speaker, your badge will allow you full access to the  Conference sessions, BOFs, Hands-On Labs, and the Pavilion.</p></blockquote>
<p>It is really exciting that I might be called upon to present again.  Last year I learned a lot about how to prepare a technical session, and <a href="http://dsc.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-6048&amp;yr=2008&amp;track=coolstuff">Complex Event Processing at Orbitz</a> was very well received.</p>
<p>Here is the abstract for our proposed presentation:</p>
<p><!--[if gte mso 9]&gt;    &lt;![endif]--><!--[if gte mso 9]&gt;  Normal 0       MicrosoftInternetExplorer4  &lt;![endif]--><!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} pre 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman";} span.EmailStyle16 	{mso-style-type:personal; 	mso-style-noshow:yes; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt; 	font-family:Arial; 	mso-ascii-font-family:Arial; 	mso-hansi-font-family:Arial; 	mso-bidi-font-family:Arial; 	color:windowtext;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --> <!--[endif]--></p>
<blockquote><p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">At Orbitz, Jini has served us well, but at the cost of tight coupling due in part to shared code and Java serialization rules. In order to improve agility, we are migrating to a RESTful web services architecture using Protocol Buffers to define message formats. The result is loosely coupled services with autonomous life cycles supporting evolvability and innovative mashup-style development.</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">This session is intended for experienced architects and tech leads that are familiar with distributed systems and data encoding methods.</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;"> </span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">What you will get from this session:</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">- using document schemas to constitute language neutral contracts</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">- using standard HTTP plumbing and intermediaries</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">- implementing a reverse proxy for request routing based on RESTful URLs</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">- applying OLAs for governance and service isolation</span></span></p>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">- writing automated service layer tests to ensure backward compatibility</span></span></p></blockquote>
<p><span style="font-family:Courier New;font-size:x-small;"><span style="font-size:10pt;">I&#8217;ll see you at JavaOne, with <a href="http://www.linkedin.com/in/alexantonov">Alex Antonov</a>!<br />
</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattokeefe.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattokeefe.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattokeefe.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattokeefe.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattokeefe.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattokeefe.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattokeefe.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattokeefe.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattokeefe.com&amp;blog=4278349&amp;post=15&amp;subd=mattokeefe&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mattokeefe.com/2009/03/04/javaone-2009/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mattokeefe</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello World</title>
		<link>http://mattokeefe.com/2009/01/04/hello-world/</link>
		<comments>http://mattokeefe.com/2009/01/04/hello-world/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 20:32:53 +0000</pubDate>
		<dc:creator>mattokeefe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattokeefe.wordpress.com/?p=5</guid>
		<description><![CDATA[One of my New Year&#8217;s resolutions is to blog on a regular basis.  I plan to write about my professional interests including the Internet, distributed systems, application monitoring and management, event driven architecture, complex event processing and customer driven innovation.  I am involved with a couple of open source projects now, ERMA and Graphite, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattokeefe.com&amp;blog=4278349&amp;post=5&amp;subd=mattokeefe&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of my New Year&#8217;s resolutions is to blog on a regular basis.  I plan to write about my professional interests including the Internet, distributed systems, application monitoring and management, event driven architecture, complex event processing and customer driven innovation.  I am involved with a couple of open source projects now, <a href="http://erma.wikidot.com/" target="_blank">ERMA</a> and <a href="http://graphite.wikidot.com/" target="_blank">Graphite</a>, and I&#8217;d love to share some experiences that might motivate you to check them out.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattokeefe.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattokeefe.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattokeefe.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattokeefe.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattokeefe.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattokeefe.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattokeefe.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattokeefe.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattokeefe.com&amp;blog=4278349&amp;post=5&amp;subd=mattokeefe&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mattokeefe.com/2009/01/04/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mattokeefe</media:title>
		</media:content>
	</item>
	</channel>
</rss>
