<?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>What is Progress?</title>
	<atom:link href="http://whatisprogress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://whatisprogress.com</link>
	<description>Forward, one word at a time.</description>
	<lastBuildDate>Thu, 16 May 2013 20:16:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='whatisprogress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>What is Progress?</title>
		<link>http://whatisprogress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://whatisprogress.com/osd.xml" title="What is Progress?" />
	<atom:link rel='hub' href='http://whatisprogress.com/?pushpress=hub'/>
		<item>
		<title>Sneak peek at early decisions at HAI</title>
		<link>http://whatisprogress.com/2013/05/16/sneak-peak-at-early-decisions-at-hai/</link>
		<comments>http://whatisprogress.com/2013/05/16/sneak-peak-at-early-decisions-at-hai/#comments</comments>
		<pubDate>Thu, 16 May 2013 19:37:47 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[HAI]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[nlp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[zeromq]]></category>

		<guid isPermaLink="false">http://whatisprogress.com/?p=77</guid>
		<description><![CDATA[Recently launched a site with some basic vision behind HAI. http://hai.io But the tech stack is where the rubber meets the road. I&#8217;ve been coding about two months now. At the very beginning I went through a fair amount of thinking and ended up selecting a language for the backend based on a number of [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=77&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Recently launched a site with some basic vision behind HAI.</p>
<p><a title="HAI - Human Assisted Intelligence" href="http://hai.io" target="_blank">http://hai.io</a></p>
<p>But the tech stack is where the rubber meets the road. <span style="line-height:1.6;">I&#8217;ve been coding about two months now. At the very beginning I went through a fair amount of thinking and ended up selecting a language for the backend based on a number of factors. From languages I knew, C++, Go, PHP, Python, Java/Scala, and Node.js were on the table. Python and Java were the two top contenders, but I ended up going with Python. </span></p>
<iframe src="https://docs.google.com/spreadsheet/pub?key=0AtSfzP3z6m_6dElyYi1xaUpQQUwxNTJwYWVCR3JBYUE&amp;output=html&amp;widget=true" frameborder="0" width="500" height="300"  marginheight="0" marginwidth="0"></iframe>
<p>So far I&#8217;ve been really happy with Python for both flexibility of the language, the available libraries for both web and machine learning, and the developer community. Ruby / Rails has an amazing community and great web stack, but given my own lack of familiarity and less work being done in machine learning, it didn&#8217;t make my list.</p>
<p>Then I started evaluating open source projects that would be the platform. There are 132 on the list below (looked at least 4x that many). It&#8217;s been amazing getting up to speed on the projects that are open source. Although Google, IBM, Amazon and others are clearly going to lead in the machine learning space for the foreseeable future, the open source community is catching up.</p>
<iframe src="https://docs.google.com/spreadsheet/pub?key=0AtSfzP3z6m_6dHdiNWV5S2dPNjNZemE2M052ZHhjREE&amp;output=html&amp;widget=true" frameborder="0" width="500" height="300"  marginheight="0" marginwidth="0"></iframe>
<p>Open source is a moving target, and there&#8217;s no one size fits all when you are piecing together something new. So, I&#8217;ve been using the awesome <a href="http://www.zeromq.org/" target="_blank">ZeroMQ</a> library to connect services between libraries, languages.</p>
<p>Finally, thanks to everyone who has provided feedback so far. Can&#8217;t wait to get what I&#8217;m working on out into the world.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=77&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2013/05/16/sneak-peak-at-early-decisions-at-hai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>More about HAI</title>
		<link>http://whatisprogress.com/2013/03/07/more-hai-skunkworks-sandwiches/</link>
		<comments>http://whatisprogress.com/2013/03/07/more-hai-skunkworks-sandwiches/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 22:08:22 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Boston]]></category>
		<category><![CDATA[HAI]]></category>
		<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://whatisprogress.com/?p=68</guid>
		<description><![CDATA[For a few weeks I&#8217;ve been having meetings with advisors and colleagues. For those I&#8217;ve not been meeting, I&#8217;ve fallen behind in communicating what I&#8217;m working on. Not a stealth startup, but there&#8217;s also a lot that&#8217;s yet to be determined. I&#8217;d prefer to be open, but there are some specifications that I&#8217;ll keep under wraps [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=68&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For a few weeks I&#8217;ve been having meetings with advisors and colleagues. For those I&#8217;ve not been meeting, I&#8217;ve fallen behind in communicating<a href="http://whatisprogress.com/2013/02/24/oh-hai-human-assisted-intelligence/"> what I&#8217;m working on</a>.</p>
<p>Not a stealth startup, but there&#8217;s also a lot that&#8217;s yet to be determined. I&#8217;d prefer to be open, but there are some specifications that I&#8217;ll keep under wraps for a variety of reasons&#8230;. When building a stealth aircraft, at the least you can tell people that you are building an aircraft. Skunkworks doesn&#8217;t make sandwiches.</p>
<p>Company vision and culture will be in large part determined by cofounders. Here&#8217;s where there&#8217;s some definition:</p>
<ul>
<li>HAI means AAI (Artificial Artificial Intelligence)  - humans intelligence built into a process that&#8217;s usable by computer intelligence</li>
<li>Ethical prime directives.  See <a href="http://en.wikipedia.org/wiki/Friendly_artificial_intelligence">Friendly AI</a></li>
<li>a sustainable business model early on</li>
<li>Company culture of sustainable innovation modeled after Google&#8217;s large revenue generating platform supporting R&amp;D.</li>
<li>large, very talented, diverse founding team. Diversity is a no-brainer. Large is about five people; I&#8217;d rather create value from equity by distributing to founders than funders.</li>
<li>Boston still has untapped talent and potential. Even if developers can find jobs easily, what kind of job would an engineer want for the rest of their life?</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=68&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2013/03/07/more-hai-skunkworks-sandwiches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Oh. HAI.</title>
		<link>http://whatisprogress.com/2013/02/24/oh-hai-human-assisted-intelligence/</link>
		<comments>http://whatisprogress.com/2013/02/24/oh-hai-human-assisted-intelligence/#comments</comments>
		<pubDate>Sun, 24 Feb 2013 16:47:16 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[HAI]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[ANN]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Ubiquitous Computing]]></category>

		<guid isPermaLink="false">http://whatisprogress.com/?p=54</guid>
		<description><![CDATA[HAI is the new company I&#8217;m working on. Human Assisted Intelligence. HAI will help computers learn about people. I&#8217;m so excited to be starting a new venture. The future is happening right now. How far in the future will a product be relevant if you start developing it today? Computer software / hardware outperforms humans in many [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=54&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>HAI is the new company I&#8217;m working on. Human Assisted Intelligence. HAI will help computers learn about people. I&#8217;m so excited to be starting a new venture.</p>
<p>The future is happening right now. How far in the future will a product be relevant if you start developing it today?</p>
<p>Computer software / hardware outperforms humans in many specialized tasks today, and will likely surpass humans in categories reserved for our most revered public figures (scientists, politicians, performers) within 10-40 years. After the <a href="http://en.wikipedia.org/wiki/Technological_singularity">Singularity</a>, quoting the WikiPedia main article -“<em>Since the capabilities of such intelligence would be difficult for an unaided human mind to comprehend, the technological singularity is seen as an occurrence beyond which events cannot be predicted</em>.”  Where will humans fit into this future? A question for science fiction, perhaps.</p>
<p>Before the Singularity, what will help us engage effectively with a world increasing its complexity, knowledge, and economic dynamics exponentially? If super computer intelligent systems are used only by the most powerful institutions, what kind of intelligent service represents the individual?</p>
<p>I think these are the most interesting, important challenges around AI. Today, I&#8217;m building a team and product prototypes. If you&#8217;re interested in collaborating, feel free<a href="mailto:jonathan.hendler+hai@gmail.com"> reach out</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=54&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2013/02/24/oh-hai-human-assisted-intelligence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Earning leadership in parenthood and business.</title>
		<link>http://whatisprogress.com/2011/11/29/earning-leadership/</link>
		<comments>http://whatisprogress.com/2011/11/29/earning-leadership/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 04:41:00 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/earning-leadership</guid>
		<description><![CDATA[As a leader, control leaves your hands in one of two ways: by consent, or not by consent. Either way it happens. Choose consent. Maybe this is the opposite of the Steve Jobs. I really don't know, but feels like Jobs had a great sense of timing, ho...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=11&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>As a leader, control leaves your hands in one of two ways: by consent, or not by consent. Either way it happens. Choose consent.</strong></p>
<p>Maybe this is the opposite of the Steve Jobs. I really don&#8217;t know, but feels like Jobs had a great sense of timing, how far he could fight for what he believed, and when to &#8220;give in&#8221;.</p>
<p>Perhaps there is no way to stop people from <a href="http://www.uie.com/brainsparks/2011/07/08/beans-and-noses/">putting beans up their nose</a>. Having insight ignored is painful if you care at all about what you are doing.  If the fight is too extended, no matter if right or wrong, you end up appearing arrogant or stubborn, but if you are right it doesn&#8217;t matter. And if a company needs focus and either way is right, it doesn&#8217;t matter which is chosen, only that something is chosen and committed to.</p>
<p>I read Herman Hesse&#8217;s<a title="Wikipedia Entry" href="http://en.wikipedia.org/wiki/Journey_to_the_East"> &#8220;Journey to the East&#8221;</a> twenty years ago. Summary: leadership is service. As a new parent, I think this is especially true.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=11&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2011/11/29/earning-leadership/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Startups are built with both Undone and Unsung Engineering</title>
		<link>http://whatisprogress.com/2010/05/13/startups-are-built-with-both-undone-and-unsun/</link>
		<comments>http://whatisprogress.com/2010/05/13/startups-are-built-with-both-undone-and-unsun/#comments</comments>
		<pubDate>Thu, 13 May 2010 18:06:00 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/startups-are-built-with-both-undone-and-unsun</guid>
		<description><![CDATA[For me, web engineers are the magicians behind the curtain. That can mean not-a-lot of glory. But for engineers like myself, undone engineering is more painful than unsung engineering. One of the most difficult aspects of being a good engineer is ...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=6&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div>For me, web engineers are the magicians behind the curtain. That can mean not-a-lot of glory.</div>
<p />
<div>But for engineers like myself, undone engineering is more painful than unsung engineering.??One of the most difficult aspects of being a good engineer is knowing when to sacrifice good engineering. ??Startups, are by definition, challenging the established way of doing business, so the established way of doing great engineering sometimes isn&#8217;t good enough to survive. ??</div>
<p />
<div><em>( Although this is a topic pretty well covered in writing about startups , I try translate the constraints of a startup into what a priority list for technical leadership might look like. )??</em></div>
<p />
<div>Everything in a startup changes fast.??Engineering is managed chaos.??There are new team members, new customers, new data, new open source libraries, etc. Good engineering can accommodate change, but usually change is unexpected. As a side effect, the non-technical team begins to depend on the shortcuts, and the shortcuts begin to show their weaknesses. The design team has new ideas, and you can&#8217;t say yes as often as you used to.??</div>
<p />
<div>But you survive.??</div>
<p />
<div>Here are the priorities I use to keep everything moving for a web application startup (follows an 80 / 20 rule pretty well):</div>
<p />
<div>
<ol class="MailOutline">
<li><strong>protect the data (files/database, etc)</strong>
<ol>
<li>back it up</li>
<li>make sure data is valid (ideally some smoke tests, unit tests, regression tests on the data layer of an application)</li>
<li>back it up</li>
<li>source control with easy to understand policies and branching</li>
<li>back it up</li>
<li>automate backing it up</li>
</ol>
</li>
<li><strong>fix problems with the user experiences</strong>
<ol>
<li>small visual problems can make people &#8230; disgusted. Fonts, cross browser issues take a lot of time, but matter to people who expect things to work.??</li>
<li>client (browser) speed &#8211; a small javascript issue can cause a page load to appear to take 5 seconds. <em>Perceived</em> performance is all that matters.??</li>
<li>fix display issues &#8211; if they think data is lost, then it is??</li>
<li>integrated QA team &#8211; make everyone on the team test the site, but not their own work.</li>
</ol>
</li>
<li><strong>make coding fast</strong>
<ol>
<li>establish team communication that makes product iteration rapid</li>
<li>use frameworks, existing but stable libraries (open source so you can fix critical problems yourself)</li>
<li>keep version control and deployment as automated as possible for the whole team</li>
<li>write easy to understand code</li>
<li>document code and best practices (wiki style)</li>
<li>track problems (bugs and backlogs)</li>
<li>write test code (on critical areas)</li>
</ol>
</li>
<li><strong>housekeeping</strong>
<ol>
<li>refactor</li>
<li>cleanup</li>
<li>more test code</li>
</ol>
</li>
<li><strong>new features/ scaling/performance</strong>??- probably the most fun for an engineer, but last on the list. This has been the hardest for me. ??Engineers need to think about scaling when the system is architected&#8230;. maybe. But when you have just a 10 customers and the entire database fits in memory&#8230; why worry?
<ol>
<li>database ??- a typical bottleneck. NoSQL and distributed architectures are making this easier</li>
<li>separate web server from application layer. Concentrate core application logic into languages that are better suited for scaling and concurrency issues</li>
<li>load balance, messaging queues, etc</li>
</ol>
</li>
</ol>
<p />
<div>Because of the list above, not every engineer out of a great tech school or amazing high tech corporation adjusts to startup life well. But when the above begins to pay dividends, engineers appreciate the big picture.</div>
<p /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=6&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2010/05/13/startups-are-built-with-both-undone-and-unsun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>The divorce: Adobe Vs. Apple</title>
		<link>http://whatisprogress.com/2010/04/09/the-divorce-adobe-vs-apple/</link>
		<comments>http://whatisprogress.com/2010/04/09/the-divorce-adobe-vs-apple/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 22:00:00 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/the-divorce-adobe-vs-apple</guid>
		<description><![CDATA[Apple and Adobe are both claiming a moral high-ground. At first Adobe was the bad-guy for allegedly blocking further development of open standards like HTML5 and not opening up Flash. Now, according to Adobe, Apple is the bad guy for not including...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=10&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Apple and Adobe are both claiming a moral high-ground.</p>
<p>At first <a href="http://www.macrumors.com/2010/01/31/steve-jobs-at-apple-town-hall-meeting-google-adobe-next-iphone-2010-macs-and-more/">Adobe was the bad-guy</a> for allegedly blocking further development of open standards <a href="http://www.appleinsider.com/articles/10/02/14/adobe_working_to_sabotage_html5.html">like HTML5</a> and <a href="http://www.digitaltrends.com/computing/steve-jobs-unleashes-his-fury-during-town-hall-meeting/">not opening up Flash</a>.</p>
<div>Now, according to Adobe, <a href="http://theflashblog.com/?p=1888">Apple is the bad guy</a> for not including flash and limiting development options for the iPhone (and iPad).</div>
<div></div>
<div>These are sad times because many are feeling like children of divorcees. Adobe and Apple have long provided shelter for creative geeks. Now the shelter is a crumbling, confusing world. Business and technology, especially when mixed, are sufficiently complex as to seem like magic. No magic here. Each company is changing, and getting over each other. Sorry lads. While tech-magic is love (translate: we will pay for magic, but nothing else) the magic eventually fades. The beginning of the fade is what I&#8217;ll call the magic line &#8211; the line between illusion, and disillusion. Adobe&#8217;s magic may be disappearing.</div>
<div></div>
<div>
<div>Is Adobe keeping up with demand for product improvements? Certainly, with software like Adobe&#8217;s, it is extremely difficult to sustainably write such complex software that runs the same, and well, on platforms you don&#8217;t control.</div>
<div>Perhaps, Apple has more power and responsibility than it realizes. As leaders in tech, Apple straddles the most thorny complex issues like copyright, DRM, hardware, open source; as both an under-dog and monopoly of tech.</div>
<div></div>
<div>There are reasons for the divorce, but they may not matter.</div>
<p>Open source, open platforms, and open standards are really the only sustainable way forward.</p>
<p>I say this not to take sides. As developers and creatives we must make choices that protect our future. Protect does not mean &#8220;defend&#8221;. Protect here means &#8220;ensures sustainable happiness for all involved&#8221;. Our destinies are already intertwined, but intertwined should not feel like a lock-in, trap or prison. Freedom can co-exist with interdependence.</p>
<div></div>
<div>At the least &#8211; businesses come and go, but openness wins.</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=10&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2010/04/09/the-divorce-adobe-vs-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Thank you XEROX (for not Patenting the GUI)</title>
		<link>http://whatisprogress.com/2010/04/05/thank-you-xerox-for-not-patenting-the-gui/</link>
		<comments>http://whatisprogress.com/2010/04/05/thank-you-xerox-for-not-patenting-the-gui/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:22:38 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/thank-you-xerox-for-not-patenting-the-gui</guid>
		<description><![CDATA[Dear XEROX (PARC), Thank you for not patenting the Graphic User Interface. Conventional wisdom has been that XEROX missed out on a huge opportunity - and maybe that's true. However, maybe Microsoft and Apple (and Linux for that matter) would have ...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=7&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Dear XEROX (PARC),
<p /> Thank you for not patenting the Graphic User Interface.
<p /> Conventional wisdom has been that XEROX missed out on a huge opportunity &#8211; and maybe that&#8217;s true. However, maybe Microsoft and Apple (and Linux for that matter) would have never been such great successes. Maybe we would all have had to wait for the Newton or the IPad before the innovation could have been surpassed. <br />Windows 7 was not my idea.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=7&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2010/04/05/thank-you-xerox-for-not-patenting-the-gui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Soliciting Advice: highly concurrent, available, non-blocking server</title>
		<link>http://whatisprogress.com/2010/03/26/soliciting-advice-highly-concurrent-available/</link>
		<comments>http://whatisprogress.com/2010/03/26/soliciting-advice-highly-concurrent-available/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 22:32:00 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[scalability]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/soliciting-advice-highly-concurrent-available</guid>
		<description><![CDATA[I'm seeking feedback on a language or platform for a highly reliable and low latency web service / application. Assumption Bottlenecks in a web service are usually related to data retrieval and storage, and eventually bandwidth and latency. Highly...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=8&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div>I&#8217;m seeking feedback on a language or platform for a highly reliable and low latency web service / application.</div>
<p />
<div><strong>Assumption</strong></div>
<p />
<div>Bottlenecks in a web service are usually related to data retrieval and storage, and eventually bandwidth and latency.&nbsp;</div>
<div>Highly concurrent, lightweight threads provide options for reliability, load distribution, and perceived performance that would otherwise not be available.&nbsp;</div>
<p />
<div><strong>General Requirements&nbsp;</strong></div>
<p />
<div>
<ul class="MailOutline">
<li>Easy to use (build, deploy, monitor)</li>
<li>Plentiful external, stable, pre-integrated Libraries</li>
<li>Use case: distributed, non-blocking web services</li>
<li>Quite a bit of message and job queueing&nbsp;</li>
<li>multiple databases , caching</li>
</ul>
</div>
<p />
<div><strong>Top candidates</strong></div>
<p />
<div>Very incomplete list of pros and cons, but some of my thoughts, highlighted.&nbsp;</div>
<p />
<div>
<ul class="MailOutline">
<li><strong><em><a href="http://www.scala-lang.org/">Scala</a></em></strong>
<ul>
<li>pros
<ul>
<li>assume it will take great advantage of Java 1.7 concurrency, multi-core</li>
<li>fairly trivial import of external java libs (except for non-thread safe?)
<ul>
<li>e.g. ZooKeeper &#8211; <a href="http://hadoop.apache.org/zookeeper/docs/r3.0.0/index.html">http://hadoop.apache.org/zookeeper/docs/r3.0.0/index.html</a></li>
</ul>
</li>
</ul>
</li>
<li>cons
<ul>
<li>new language syntax, paradigm learning curve</li>
<li>doubts about JVM memory efficiency and stability as resources are constrained</li>
</ul>
</li>
</ul>
</li>
<li><strong><em>Server Side Javascript</em></strong> &#8211; via&nbsp;<a href="http://nodejs.org/"> node.js</a>&nbsp;&nbsp;
<ul>
<li>pros
<ul>
<li>redis integration for caching</li>
<li>fast, lightweight, easy language.&nbsp;</li>
<li>some custom js would be portable to browsers (coolness)</li>
</ul>
</li>
<li>cons
<ul>
<li>very new</li>
<li>performance</li>
<li>not as many external libs?</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://www.tornadoweb.org/">Tornado</a>
<ul>
<li>pros
<ul>
<li>Python
<ul>
<li>as many libs as Scala</li>
</ul>
</li>
</ul>
</li>
<li>cons
<ul>
<li>narrower use cases</li>
<li>performance</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<p />
<div>&nbsp;Would love comments, but a more complete list is presented in a survey:</div>
<p />
<div>
<div><span class="Apple-tab-span"> </span><a href="http://www.surveymonkey.com/s/ZGQP6YJ" target="_blank">http://www.surveymonkey.com/s/ZGQP6YJ</a></div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=8&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2010/03/26/soliciting-advice-highly-concurrent-available/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Field Collapsing in SOLR</title>
		<link>http://whatisprogress.com/2010/03/26/field-collapsing-in-solr/</link>
		<comments>http://whatisprogress.com/2010/03/26/field-collapsing-in-solr/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 19:34:00 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[solr]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/field-collapsing-in-solr</guid>
		<description><![CDATA[Field Collapsing Field collapsing allows something akin to a "group by" in SOLR, so that the number of results returned reflect a logical grouping rather than another total. Faceting can be used in conjunction. Facet counts reflect subsets within ...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=5&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div><span style="font-weight:bold;">Field Collapsing</span></div>
<div></div>
<div><a href="http://wiki.apache.org/solr/FieldCollapsing" target="_blank">Field collapsing</a> allows something akin to a &#8220;group by&#8221; in <a href="http://lucene.apache.org/solr/" target="_blank">SOLR</a>, so that the number of results returned reflect a logical grouping rather than another total.??</div>
<div>Faceting can be used in conjunction. Facet counts reflect subsets within results, where-as collapse counts are <em>group by</em> counts.</div>
<div></div>
<div>This means that Field Collapsing could be used for certain analytics, as well as the common use-case of nesting and grouping results. To use effectively, I found it helpful to &#8220;pre-collapse&#8221; certain fields, so that a new, unique string was created that could be used to easily group, since I believe you can only field collapse on a single field. (If I&#8217;m wrong, please let me know!)</div>
<div></div>
<div><strong>Special Setup</strong></div>
<div></div>
<div>This assumes you are or will be running a development version of SOLR (trunk via SVN).</div>
<div>Field collapsing is not yet available in SOLR trunk and you must apply a patch file to SOLR and build again.</div>
<div>If pulling in from trunk, download the patch found at <a href="https://issues.apache.org/jira/browse/SOLR-236">https://issues.apache.org/jira/browse/SOLR-236</a> in to your solr source code directory.</div>
<p><em>wget <a href="https://issues.apache.org/jira/secure/attachment/12440108/SOLR-236-trunk.patch">https://issues.apache.org/jira/secure/attachment/12440108/SOLR-236-trunk.patch</a><br />
patch -p 1 -i SOLR-236-trunk.patch</em></p>
<div>And rebuild using supplied Apache Ant scripts.</div>
<div></div>
<div>Read more on these sites or in the comprehensive &#8220;<a href="http://www.packtpub.com/solr-1-4-enterprise-search-server/book" target="_blank">Solr 1.4, Enterprise Search Server</a>&#8221; page 191.</div>
<div>
<div><a href="http://wiki.apache.org/solr/FieldCollapsing">http://wiki.apache.org/solr/FieldCollapsing</a></div>
<div><a href="http://blog.jteam.nl/2009/10/20/result-grouping-field-collapsing-with-solr/">http://blog.jteam.nl/2009/10/20/result-grouping-field-collapsing-with-solr/</a></div>
</div>
<div></div>
<div>
<div><strong>Why SOLR</strong></div>
<div></div>
<div>SOLR has a been a great tool for <a href="http://BetterLesson.org">BetterLesson.org</a>. Because our primary database is MySQL, we looked at around 8 full-text indexers &#8211; but the two finalists were Sphinx [1] and SOLR. Sphinx had very tight integration with MySQL, so the learning curve seemed less. ??SOLR required a JVM, an app server, and quite a lot of configuration.</div>
<div></div>
<div>When we were deciding, an <a href="http://www.packtpub.com/solr-1-4-enterprise-search-server/book" target="_blank">excellent SOLR book</a> came out just when we were choosing. Further the SOLR IRC channel and mailing list for SOLR are friendly and quite active. We even had the option for commercial support through Massachusetts&#8217; own Lucid Imagination. So I dove in.??While the configuration is non-trivial, but the configuration parameters have proven very powerful.??</div>
<div></div>
<div><strong>More background:</strong></div>
<div></div>
<div>I had written a half-dozen or so custom faceted search interfaces &#8211; almost entirely using MySQL, and even one used <a href="http://www.openrdf.org/" target="_blank">Sesame</a> (an RDF store &#8211; and it eventually worked pretty well). Skipping the stories of pain, confusion and suffering on the road to enlightenment &#8211; SOLR has been great.??Used extensively at <a href="http://Netflix.com">Netflix.com</a>, <a href="http://Zappos.com">Zappos.com</a>, <a href="http://CitySearch.com">CitySearch.com</a>, <a href="http://Reddit.com">Reddit.com</a>, <a href="http://Wego.com">Wego.com</a>, <a href="http://Whitehouse.gov">Whitehouse.gov</a>, <a href="http://Drupalgardens.com">Drupalgardens.com</a> and others [2], ??supported by Apache, based on Lucene, SOLR provides a scalable, distributed search and has good data import from MySQL, including delta queries.</div>
</div>
<div></div>
<div>[1] &#8211; Sphinx is used by Craigslist and <a href="http://www.sphinxsearch.com/powered.html">http://www.sphinxsearch.com/powered.html</a></div>
<div>[2] &#8211; <a href="http://wiki.apache.org/solr/PublicServers">http://wiki.apache.org/solr/PublicServers</a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=5&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2010/03/26/field-collapsing-in-solr/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
		<item>
		<title>Why I&#8217;m starting a personal tech blog</title>
		<link>http://whatisprogress.com/2010/03/25/why-im-starting-a-personal-tech-blog/</link>
		<comments>http://whatisprogress.com/2010/03/25/why-im-starting-a-personal-tech-blog/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 19:58:00 +0000</pubDate>
		<dc:creator>Jonathan Hendler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[internet startups]]></category>

		<guid isPermaLink="false">http://supercalafragilisticexpialadocio.us/why-im-starting-a-personal-tech-blog</guid>
		<description><![CDATA[Welcome. Supercalafragilisticexpialadocio.us is for technologists, like myself, who enjoy the challenges that come with taking interesting ideas and bringing them to a wide audience. Currently I'm the CTO of a "lean" startup - http://betterlesson....<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=9&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div><em>Note &#8211; I&#8217;ve merged a couple of blogs and this post was from another site.</em></div>
<div></div>
<div>Welcome.</div>
<p>&nbsp;</p>
<div><a href="http://Supercalafragilisticexpialadocio.us">Supercalafragilisticexpialadocio.us</a> is for technologists, like myself, who enjoy the challenges that come with taking interesting ideas and bringing them to a wide audience.</div>
<div>Currently I&#8217;m the CTO of a &#8220;lean&#8221; startup &#8211; <a href="http://betterlesson.org">http://betterlesson.org</a>.</div>
<p>&nbsp;</p>
<div>The work I&#8217;ll be posting is done in the context of startups. Startups are great. The definition l&#8217;ll use of &#8220;startup&#8221; is informal. By my definition, a startup is the adventure of working to make a sufficiently new idea self sustaining.</div>
<p>&nbsp;</p>
<div>Building a laboratory and having a fair shot at a large audience is no longer a barrier to entry.<strong>**</strong> Often, technologist&#8217;s education is almost entirely from peers on the Internet &#8211; piecing together technology that yesterday may have been out of reach.  With low barriers to entry comes a tremendous amount of competition.  What differentiates is not only technical skill, but ability to successfully navigate the technology world. Propaganda, pain, tunnel vision, and joy dot the fast-changing technology blogosphere. Execution is tough when the more ambitious ideas you have would be obsolete by the time you finish them. When do you keep exploring? When do you settle on a technology and dive in?</div>
<p>&nbsp;</p>
<div>I plan to dive into technology specifics, so this post is to set the tone. If I stray from my own ideas, tell me. I need your help.</div>
<p>&nbsp;</p>
<div>
<ul class="MailOutline">
<li>Technology alone is not enough:
<ul>
<li>Make sure you love something you consider to be <em>not</em> technology. Loving code and assembling lego blocks works for some of the best &#8211; but for mortals, having other interests can serve as a compass to guide the &#8220;why&#8221; you do what to do.</li>
<li>
<div>Courage is not only in tackling cutting edge technologies, but also in shepherding the transition to new technology for the larger world we serve. Yes, I believe that world domination is a goal of every startup. But domination means we want to serve as many people possible, and do it well. &#8220;Don&#8217;t be evil&#8221; is a mantra I reflect on in this context.</div>
</li>
</ul>
</li>
<li>Be open:
<ul>
<li>Isolation is dangerous. Open source, open communities, and open style of development keep you healthy. Some &#8220;enemy&#8221; may occasionally out-calcuate you because you showed your hand. But you&#8217;ll lose a few games of poker in order to win the innovation game. Chances are if your idea is something some one _can_ steal simply by sharing the idea with them, then some one else is going independently invent it anyway.  Don&#8217;t live in fear that some one might be doing something newer or better.</li>
<li>Your reputation is important, but if some one can trash your idea easily it&#8217;s either because the idea is actually bad, or they are simply wrong.</li>
</ul>
</li>
</ul>
<div>Looking forward to sharing the adventure.</div>
<p>&nbsp;</p>
<div>Cheers,</div>
<div>Jonathan</div>
<p>&nbsp;</p>
<div><em><strong>** </strong>at least with sufficiently modern computer and a high speed internet. </em></div>
<p>&nbsp;</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hendler.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hendler.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=whatisprogress.com&#038;blog=47339107&#038;post=9&#038;subd=hendler&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://whatisprogress.com/2010/03/25/why-im-starting-a-personal-tech-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/434eb124117b44ad5ddec8288dea50f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hendler</media:title>
		</media:content>
	</item>
	</channel>
</rss>
